Waldur is a platform for creating hybrid cloud solutions. It allows building enterprise-grade systems and providing self-service environment for the end-users.
This chart bootstraps a Waldur deployment on a Kubernetes cluster using the Helm package manager.
- Install Kubernetes server, for example, using minikube
- Install Kubernetes client, i.e. kubectl
- Install Helm
- Clone waldur-helm repository
git clone https://github.com/waldur/waldur-helm.git
cd waldur-helm
- Add the stable repository
helm repo add stable https://charts.helm.sh/stable
-
Setup database: 3.1 Setup single PostgreSQL DB: instructions or 3.2 Setup PostgreSQL HA DB: instructions or 3.3 Integrate with external DB: instructions
NB Only one of these two options should be used. Otherwise, DB will be unavailable.
-
Install minio (for database backups): instructions
-
Install RabbitMQ for task queue: instructions
-
Install Helm package:
helm install waldur waldur
NB After this command, Waldur release will run in default
namespace.
Please, pay attention in which namespace which release is running.
For instance, you can install Waldur release
in test
namespace in the following way:
- Create
test
namespace:
kubectl create namespace test
- Install release:
helm install waldur waldur --namespace test
However, postgresql release and waldur should be installed in the same namespace in order to share a common secret with DB credentials.
Open waldur-mastermind-worker shell and execute the following command:
- Get waldur-mastermind-worker pod name
# Example:
kubectl get pods -A | grep waldur-mastermind-worker # -->
# default waldur-mastermind-worker-6d98cd98bd-wps8n 1/1 Running 0 9m9s
- Connect to pod via shell
# Example:
kubectl exec -it deployment/waldur-mastermind-worker -- /bin/bash
- Execute command to add admin user
waldur createstaffuser -u user -p password -e admin@example.com
Delete init-whitelabeling job (if exists):
kubectl delete job waldur-mastermind-init-whitelabeling-job || true
Delete load features job (if exists):
kubectl delete job load-features-job || true
Upgrade Waldur dependencies and release:
helm dep update waldur/
helm upgrade waldur waldur/
Restart deployments to apply configmaps changes:
kubectl rollout restart deployment waldur-mastermind-beat
kubectl rollout restart deployment waldur-mastermind-api
kubectl rollout restart deployment waldur-mastermind-worker
kubectl rollout restart deployment waldur-homeport
A user can use private registry for Docker images.
For this, the corresponding credentials should be registered in a secret,
name of which should be placed in .Values.imagePullSecrets
.
A secret can be created trough CLI.
Configuration documentation: index