Installation

There are two ways to run the Stackable Secret Operator:

  1. Helm managed Docker container deployment on Kubernetes

  2. Build from source

Prerequisites

You will need:

  • a Kubernetes cluster

  • kubectl

  • Helm

Resource sizing depends on cluster type(s), usage and scope, but as a starting point we recommend a minimum of the following resources for this operator:

  • 0.2 cores (e.g. i5 or similar)

  • 256MB RAM

Helm

Helm allows you to download and deploy Stackable operators on Kubernetes and is by far the easiest installation method. First ensure that you have installed the Stackable Operators Helm repository:

$ helm repo add stackable https://repo.stackable.tech/repository/helm-stable/

Then install the Stackable Secret Operator

$ helm install secret-operator stackable/secret-operator

Helm will deploy the operator in Kubernetes containers and apply the CRDs. You’re now ready to deploy secrets!

Microk8s

Microk8s uses a non-standard Kubelet state directory. Installing secret-operator on Microk8s requires the argument --set kubeletDir=/var/snap/microk8s/common/var/lib/kubelet to be added to the helm install command.

HUAWEI cloud

In some cases HUAWEI cloud has the kubelet directory located at /mnt/paas/kubernetes/kubelet, resulting in the following error:

failed to publish volume error=status: Unavailable, message: "failed to create secret parent dir /mnt/paas/kubernetes/kubelet/pods/<POD_ID>/volumes/kubernetes.io~csi/pvc-<PVC_ID>/mount: No such file or directory (os error 2)"

In case you are encountering the mentioned error (or secret-operator does not work on your HUAWEI cloud at all), you need to add the argument --set kubeletDir=/mnt/paas/kubernetes/kubelet to the helm install command.

IBM cloud

In some cases IBM cloud has the kubelet directory located at /var/data/kubelet/, resulting in the following error:

failed to publish volume error=status: Unavailable, message: "failed to create secret parent dir /var/data/kubelet/pods/<POD_ID>/volumes/kubernetes.io~csi/pvc-<PVC_ID>/mount: No such file or directory (os error 2)"

In case you are encountering the mentioned error (or secret-operator does not work on your IBM cloud at all), you need to add the argument --set kubeletDir=/var/data/kubelet to the helm install command.

Building the operator from source

See Building the Operator for more information.