The FLAME Node Deployment contains all files to deploy a FLAME Node.
For the deployment of a FLAME Node, you need to have the following software:
Make sure you have the following installed and setup:
- Docker
- Minikube (or a different kubernetes distribution such as microk8s)
- For extra security a Network Policy Controller like Calico
- kubectl
- Helm
To deploy a FLAME Node, you need to follow these steps (details below):
- Clone the repository.
- Adjust the values in the
values_min.yamlfile to your needs- (Optional) Create a copy of the
values_min.yamlfor your own custom values. - NOTE: The
values.yamlcontains all the available helm chart options and is used for advanced configuration
- (Optional) Create a copy of the
- Deploy the FLAME Node
- Using
helmor the providedsetup.shscript
- Using
- Access the FLAME Node using your browser
NOTE: This step is only required if you just installed Minikube and are administrating it.
Start Minikube with the following command:
minikube start --driver=docker --nodes 1 --memory=8192 --cpus=2 --network-plugin=cni --cni=calico --addons=dashboard --addons=ingress --profile=node1Clone the repository and change into the directory:
git clone https://github.com/PrivateAIM/node-deployment.git
cd node-deployment(Optional) Create a copy of the values_min.yaml file:
cp values_min.yaml values_min_node1.yamlOpen the values_min_node1.yaml file and modify the values for your installation. At minimum, you will need to
enter the node robot "ID" and "Secret" for the robotUser and robotSecret values, respectively.
These can obtained from the Hub:
global:
hub:
endpoints:
auth: https://auth.privateaim.dev
core: https://core.privateaim.dev
messenger: https://messenger.privateaim.dev
storage: https://storage.privateaim.dev
auth:
robotUser: "" # <-- Modify this line with the robot "ID"
robotSecret: "" # <-- Modify this line with the robot "Secret"If you have a hostname that you'd like to use for your instance, change all instances of "localhost" in the values file to your hostname. Be sure to leave the text (e.g. "https://") before and after "localhost" the same. Be sure this hostname is properly configured in your DNS settings and your reverse proxy to point to your kubernetes cluster.
Initial deployment will take some time (minutes) to pull of the images, execute the jobs, and to populate the containers. Please be patient during the installation process.
Once you have your configured values YAML file, you can perform installation using helm:
helm dependency build
helm install flame-node . -f values_min_node1.yamlOR using the setup script:
chmod +x setup.sh
bash setup.shSee the setup script instructions for details on how to use this script.
NOTE: The values_min_node1.yaml should be substituted with whichever values file you modified with your values.
If you did not replace "localhost" in the values file with a hostname, then to access the FLAME Node, you need to port-forward the minikube ingress service (or minikube ip) to your local machine:
kubectl port-forward -n ingress-nginx service/ingress-nginx-controller 80:80Open a browser and navigate to http://localhost to access the FLAME Node UI.