Skip to main content

zen-agent Chart

The primary chart for deploying Zen Mesh edge components into your cluster.

Prerequisites

  • Kubernetes 1.24+
  • Helm 3.8+

Install

helm repo add zenmesh https://zenmesh.github.io/helm-charts
helm repo update

helm upgrade --install zen-agent zenmesh/zen-agent \
--namespace zen-mesh \
--create-namespace \
--set saas.endpoint="https://api.zen-mesh.io" \
--set agent.enrollment.secretRef.name="zen-enrollment-bundle"

What Gets Installed

ComponentKindPurpose
zen-agentDeploymentEnrollment, heartbeat, config sync with control plane
zen-egressDeploymentDelivers events to private services via mTLS
zen-lockDeployment + MutatingWebhookZero-knowledge secret management

Values

Global

ParameterTypeDefaultDescription
global.imageRegistrystring""Override global image registry
global.imagePullSecretslist[]Image pull secrets for private registries
saas.endpointstringhttps://api.zen-mesh.ioControl plane API endpoint

Agent

ParameterTypeDefaultDescription
agent.enabledbooltrueDeploy zen-agent
agent.image.repositorystringzenmesh/zen-agentContainer image
agent.image.tagstringChart appVersionImage tag
agent.image.pullPolicystringIfNotPresentImage pull policy
agent.replicasint1Number of replicas
agent.resources.requests.cpustring100mCPU request
agent.resources.requests.memorystring128MiMemory request
agent.resources.limits.cpustring500mCPU limit
agent.resources.limits.memorystring256MiMemory limit
agent.enrollment.secretRef.namestringRequired. Name of the enrollment Secret
agent.enrollment.secretRef.namespacestringRelease namespaceNamespace of the enrollment Secret
agent.logLevelstringinfodebug, info, warn, error
agent.extraEnvlist[]Additional environment variables
nodeSelectorobject{}Node selection constraints
tolerationslist[]Tolerations for taints

Egress

ParameterTypeDefaultDescription
egress.enabledbooltrueDeploy zen-egress
egress.image.repositorystringzenmesh/zen-egressContainer image
egress.image.tagstringChart appVersionImage tag
egress.replicasint1Number of replicas
egress.tls.enabledbooltrueEnable mTLS for delivery
egress.hmac.enforcebooltrueEnforce HMAC validation on delivered events
egress.resources.requests.cpustring100mCPU request
egress.resources.requests.memorystring128MiMemory request

zen-lock

ParameterTypeDefaultDescription
zenLock.enabledbooltrueDeploy zen-lock
zenLock.image.repositorystringzenmesh/zen-lockContainer image
zenLock.image.tagstringChart appVersionImage tag
zenLock.resources.requests.cpustring50mCPU request
zenLock.resources.requests.memorystring64MiMemory request

Examples

Production (High Availability)

# values-production.yaml
saas:
endpoint: "https://api.zen-mesh.io"

agent:
replicas: 2
resources:
requests:
cpu: 200m
memory: 256Mi
limits:
cpu: "1"
memory: 512Mi

egress:
replicas: 2
tls:
enabled: true
hmac:
enforce: true
helm upgrade --install zen-agent zenmesh/zen-agent \
--namespace zen-mesh \
-f values-production.yaml

Private Registry

helm upgrade --install zen-agent zenmesh/zen-agent \
--namespace zen-mesh \
--set global.imageRegistry=my-registry.example.com/zenmesh \
--set global.imagePullSecrets[0].name=registry-creds \
--set saas.endpoint="https://api.zen-mesh.io" \
--set agent.enrollment.secretRef.name="zen-enrollment-bundle"

Upgrading

helm repo update
helm upgrade zen-agent zenmesh/zen-agent \
--namespace zen-mesh \
--reuse-values

Uninstalling

helm uninstall zen-agent --namespace zen-mesh
kubectl delete namespace zen-mesh