Files

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 :

  • env
  • envFrom
  • volumes

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