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, ie kubetcl
- Install Helm
Instructions for TLS configuration: doc
You can configure SAML2 for Waldur release: instructions
- Add the stable repository
helm repo add stable https://kubernetes-charts.storage.googleapis.com
- Install Chart dependencies:
helm dep update waldur
-
Setup postgresql database:
3.1 Setup simple postgresql db: instructions, or
3.2 Setup postgres-ha db: instructions
NB Only one of these two options could be run. Otherwise, db will be unavailable.
-
Install minio (for media): instructions
-
Install RabbitMQ for task queue: instructions
-
Install Helm package:
# in 'waldur-helm-poc/'
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
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 waldur-mastermind-worker-6d98cd98bd-wps8n -- /bin/bash
- Execute command to add admin user
waldur createstaffuser -u user -p password -e admin@example.com
Instructions for PostgreSQL backups management: doc
Instructions for while-labeling: doc
Instructions for template configuration: doc
Instructions for HPA configuration: doc
Instructions for EFL configuration: doc
Instructions for bootstrap: doc
Instructions for stress testing configuration using Locust: doc
Delete initdb job (if exitsts):
kubectl delete job waldur-mastermind-initdb-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