Installing from Bundled Helm Charts

AI Tools

Installing the Lightbits CSI Plugin

helm install --namespace=kube-system lb-csi helm/lb-csi

Installing in a Different Namespace

You can install the lb-csi-plugin in a different namespace (ex: lb-csi-ns) by creating a namespace yourself or using the shortcut to let Helm create a namespace for you:

helm install -n lb-csi-ns --create-namespace lb-csi helm/lb-csi/

Listing Installed Releases

helm list --namespace=kube-system NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION lb-csi kube-system 1 2025-05-25... deployed lb-csi-plugin-1.19.0 1.19.0

Uninstalling the Lightbits CSI Plugin

helm uninstall --namespace=kube-system lb-csi

Using A Custom Docker Registry

A custom Docker registry can be used as the source of the container image. Before "helm install" is run, a Secret of type docker-registry should be created with the proper credentials.

The secret has to be created in the same namespace where the workload gets deployed.

The imagePullSecrets Helm value can then be set to the name of the docker-registry Secret to cause the private Docker Registry to be used.

Both lb-csi-controller StatefulSet and lb-csi-node DaemonSet use images that might come from a private registry.

The pod authenticates with the registry using credentials stored in a Kubernetes secret called github-docker-registry, which is specified in spec.imagePullSecrets in the name field.

Custom Docker Registry Example: Github Packages

Github Packages can be used as a custom Docker registry.

First, a Github personal access token must be created. See the instructions for that here.

Second, the access token will be used to create the Secret:

kubectl create secret docker-registry --namespace kube-system github-docker-registry \ --docker-username=USERNAME \ --docker-password=ACCESSTOKEN \ --docker-server docker.pkg.github.com

To see how the secret is stored in Kubernetes, you can use this command:

kubectl get secret -n kube-system github-docker-registry --output="jsonpath={.data.\.dockerconfigjson}" | base64 --decode

Replace USERNAME with the GitHub username and ACCESSTOKEN with the personal access token.

We can now run "helm install" with the override value for imagePullSecrets. This is often used with an override value for an image so that a specific tag can be selected.

Note

imagePullSecrets is an array, so it should be expressed as such with curly brackets.

helm install \ --set imageRegistry=docker.pkg.github.com/lightbitslabs \ --set image=lb-csi-plugin:1.21.0 \ --set imagePullSecrets={github-docker-registry} \ lb-csi ./helm/lb-csi