Helm Values Reference
Configuration reference for zen-lock Helm charts. The main zen-lock chart deploys the webhook and controller; the zen-lock-csi-provider chart deploys the CSI driver.
Adding the Chart Repository
helm repo add zenmesh https://zenmesh.github.io/helm-charts
helm repo update
Main zen-lock Chart
Deploys the mutating webhook and controller.
helm install zen-lock zenmesh/zen-lock \
--namespace zen-lock-system \
--create-namespace
Values
| Value | Default | Description |
|---|---|---|
namespace | zen-lock-system | Target namespace |
image.repository | zenmesh/zen-lock | Container image repository |
image.tag | 0.1.0-beta | Image tag |
image.pullPolicy | IfNotPresent | Image pull policy |
Webhook Configuration
| Value | Default | Description |
|---|---|---|
webhook.replicas | 2 | Number of webhook replicas |
webhook.failurePolicy | Fail | Fail or Ignore on webhook unavailable |
webhook.timeoutSeconds | 10 | Admission timeout |
webhook.resources.requests.cpu | 100m | CPU request |
webhook.resources.requests.memory | 128Mi | Memory request |
webhook.resources.limits.cpu | 500m | CPU limit |
webhook.resources.limits.memory | 512Mi | Memory limit |
Controller Configuration
| Value | Default | Description |
|---|---|---|
controller.replicas | 1 | Controller replicas (leader-elected) |
controller.resources.requests.cpu | 100m | CPU request |
controller.resources.requests.memory | 128Mi | Memory request |
controller.resources.limits.cpu | 500m | CPU limit |
controller.resources.limits.memory | 512Mi | Memory limit |
Private Key Configuration
| Value | Default | Description |
|---|---|---|
privateKey.createPlaceholder | true | Create placeholder secret if missing |
privateKey.existingSecret | zen-lock-master-key | Secret name containing the key |
privateKey.activeKey | key.txt | Key in the Secret for active identity |
privateKey.previousKey | age-previous | Key in the Secret for previous identity (rotation) |
Network Policy
| Value | Default | Description |
|---|---|---|
networkPolicy.enabled | false | Enable egress lockdown |
networkPolicy.apiServerCIDRs | [] | Allowed API server CIDRs |
networkPolicy.dnsServers | [] | Allowed DNS servers |
RBAC
| Value | Default | Description |
|---|---|---|
rbac.create | true | Create RBAC resources |
serviceAccount.create | true | Create service account |
serviceAccount.name | zen-lock | Service account name |
Metrics
| Value | Default | Description |
|---|---|---|
metrics.enabled | true | Enable Prometheus metrics |
metrics.serviceMonitor.enabled | false | Create ServiceMonitor |
Probes
| Value | Default | Description |
|---|---|---|
probes.startup.periodSeconds | 5 | Startup probe period |
probes.startup.failureThreshold | 30 | Startup probe failure threshold |
probes.liveness.periodSeconds | 10 | Liveness probe period |
probes.liveness.failureThreshold | 3 | Liveness probe failure threshold |
probes.readiness.periodSeconds | 5 | Readiness probe period |
probes.readiness.failureThreshold | 3 | Readiness probe failure threshold |
Full Example
image:
repository: zenmesh/zen-lock
tag: "0.1.0-beta"
pullPolicy: IfNotPresent
webhook:
replicas: 3
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 512Mi
controller:
resources:
requests:
cpu: 100m
memory: 128Mi
�P1�requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 512Mi
privateKey:
createPlaceholder: false
existingSecret: zen-lock-master-key
activeKey: key.txt
previousKey: age-previous
rbac:
create: true
metrics:
enabled: true
serviceMonitor:
enabled: true
zen-lock-csi-provider Chart
Deploys the CSI provider for Secrets Store integration.
helm install zen-lock-csi-provider zenmesh/zen-lock-csi-provider \
--namespace zen-lock-system
Values
| Value | Default | Description |
|---|---|---|
image.repository | zenmesh/zen-lock-csi-provider | Image repository |
image.digest | "" | Image digest (recommended over tag) |
Age Identity
| Value | Default | Description |
|---|---|---|
ageIdentity.secretName | zen-lock-master-key | Secret containing age keys |
ageIdentity.activeKey | key.txt | Active key within Secret |
ageIdentity.previousKey | "" | Previous key for rotation |
ageIdentity.rotationRevision | 1 | Rotation revision number |
Provider
| Value | Default | Description |
|---|---|---|
provider.socketPath | /var/run/secrets-store-csi-providers/zen-lock.sock | CSI socket path |
provider.metricsBindAddress | :8080 | Metrics endpoint |
provider.healthProbeBindAddress | :8081 | Health endpoint |
provider.audience | zen-lock | Token audience for TokenReview |
Trusted Node Configuration
| Value | Default | Description |
|---|---|---|
trustedNodeLabel.key | zen-lock.security.zen-mesh.io/csi-trusted | Node label key |
trustedNodeLabel.value | true | Node label value |
scheduleOnControlPlane | false | Run on control plane nodes |
Service Account
| Value | Default | Description |
|---|---|---|
serviceAccount.create | true | Create service account |
serviceAccount.name | zen-lock-csi-provider | Service account name |
serviceAccount.automountServiceAccountToken | false | Auto-mount token |
RBAC
| Value | Default | Description |
|---|---|---|
rbac.create | true | Create RBAC resources |
Probes
| Value | Default | Description |
|---|---|---|
probes.startup.periodSeconds | 5 | Startup probe period |
probes.startup.failureThreshold | 12 | Startup probe failures |
probes.liveness.periodSeconds | 10 | Liveness probe period |
probes.liveness.failureThreshold | 3 | Liveness probe failures |
probes.readiness.periodSeconds | 5 | Readiness probe period |
probes.readiness.failureThreshold | 3 | Readiness probe failures |
Resources
| Value | Default | Description |
|---|---|---|
resources.requests.cpu | 50m | CPU request |
resources.requests.memory | 64Mi | Memory request |
resources.limits.cpu | 500m | CPU limit |
resources.limits.memory | 512Mi | Memory limit |
Metrics
| Value | Default | Description |
|---|---|---|
metrics.service.enabled | false | Create metrics service |
metrics.serviceMonitor.enabled | false | Create ServiceMonitor |
Network Policy
| Value | Default | Description |
|---|---|---|
networkPolicy.enabled | false | Enable egress lockdown |
networkPolicy.apiServerCIDRs | [] | Allowed API server CIDRs |
networkPolicy.apiServerNamespaceSelector | {} | Alternative to CIDRs |
networkPolicy.dnsServers | [] | Allowed DNS servers |
networkPolicy.metricsNamespaceSelector | {} | Namespaces for metrics |
Update Strategy
| Value | Default | Description |
|---|---|---|
updateStrategy.type | RollingUpdate | Update strategy |
updateStrategy.rollingUpdate.maxUnavailable | 1 | Max unavailable pods |
Full Example
image:
repository: zenmesh/zen-lock-csi-provider
digest: "sha256:..."
ageIdentity:
secretName: zen-lock-master-key
activeKey: key.txt
previousKey: age-previous
provider:
socketPath: /var/run/secrets-store-csi-providers/zen-lock.sock
metricsBindAddress: ":8080"
healthProbeBindAddress: ":8081"
audience: "zen-lock"
trustedNodeLabel:
key: zen-lock.security.zen-mesh.io/csi-trusted
value: "true"
scheduleOnControlPlane: false
resources:
requests:
cpu: 50m
memory: 64Mi
limits:
cpu: 500m
memory: 512Mi
networkPolicy:
enabled: true
apiServerCIDRs:
- ipBlock:
cidr: 10.96.0.1/32
updateStrategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 1