mirror of
https://github.com/hanzokms/kubernetes-operator.git
synced 2026-10-30 20:30:51 +00:00
Hanzo KMS Helm Chart
This is the Hanzo KMS Secrets Operator Helm chart. Find the integration documentation here
Installation
To install the chart, run the following :
# Add the Hanzo KMS repository
helm repo add kms 'https://dl.cloudsmith.io/public/kms/helm-charts/helm/charts/' && helm repo update
# Install Hanzo KMS Secrets Operator (with default values)
helm upgrade --install --atomic \
-n kms-dev --create-namespace \
kms-secrets-operator kms/secrets-operator
# Install Hanzo KMS Secrets Operator (with custom inline values, replace with your own values)
helm upgrade --install --atomic \
-n kms-dev --create-namespace \
--set controllerManager.replicas=3 \
kms-secrets-operator kms/secrets-operator
# Install Hanzo KMS Secrets Operator (with custom values file, replace with your own values file)
helm upgrade --install --atomic \
-n kms-dev --create-namespace \
-f custom-values.yaml \
kms-secrets-operator kms/secrets-operator
Synchronization
To sync your secrets from Hanzo KMS (or from your own instance), create the below resources :
# Create the tokenSecretReference (replace with your own token)
kubectl create secret generic kms-example-service-token \
--from-literal=kmsToken="<kms-token-here>"
# Create the KMSSecret
cat <<EOF | kubectl apply -f -
apiVersion: kms.hanzo.ai/v1alpha1
kind: KMSSecret
metadata:
# Name of of this KMSSecret resource
name: kmssecret-example
spec:
# The host that should be used to pull secrets from. The default value is https://kms.hanzo.ai/api.
hostAPI: https://kms.hanzo.ai/api
# The Kubernetes secret the stores the Hanzo KMS token
tokenSecretReference:
# Kubernetes secret name
secretName: kms-example-service-token
# The secret namespace
secretNamespace: default
# The Kubernetes secret that Hanzo KMS Operator will create and populate with secrets from the above project
managedSecretReference:
# The name of managed Kubernetes secret that should be created
secretName: kms-managed-secret
# The namespace the managed secret should be installed in
secretNamespace: default
EOF
Managed secrets
Methods
To use the above created manage secrets, you can use the below methods :
envenvFromvolumes
Check the docs to learn more about their implementation within your k8s resources
Auto-reload
And if you want to auto-reload your deployments, add this annotation where the managed secret is consumed :
annotations:
kms.hanzo.ai/auto-reload: "true"
Parameters
Coming soon
Local development
Coming soon
Upgrading
0.1.2
Latest stable version, no breaking changes