Skip to content

Packaging of Waldur as Helm application

License

Notifications You must be signed in to change notification settings

waldur/waldur-helm

Repository files navigation

Waldur Helm

Waldur is a platform for creating hybrid cloud solutions. It allows building enterprise-grade systems and providing self-service environment for the end-users.

Introduction

This chart bootstraps a Waldur deployment on a Kubernetes cluster using the Helm package manager.

Installing prerequisites

  1. Install Kubernetes server, for example, using minikube
  2. Install Kubernetes client, i.e. kubectl
  3. Install Helm

Installing the chart

  1. Add the Waldur Helm repository

      helm repo add waldur-charts https://waldur.github.io/waldur-helm/
  2. Install dependencies or enable them in Helm values

    Setup database using one of:

    Install MinIO (for database backups): instructions

    Install RabbitMQ for task queue: instructions

  3. Install the Helm chart

      helm install my-waldur waldur-charts/waldur -f path/to/values.yml

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:

  1. Create test namespace:

      kubectl create namespace test
  2. 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.

Adding admin user

Open waldur-mastermind-worker shell and execute the following command:

  1. 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
  2. Connect to pod via shell

      # Example:
      kubectl exec -it deployment/waldur-mastermind-worker -- /bin/bash
  3. Execute command to add admin user

      waldur createstaffuser -u user -p password -e admin@example.com

Waldur Helm chart release upgrading

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

Private registry setup

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 docs

Configuration documentation: index