Skip to main content

Configuration Reference

Complete reference for values.yaml in the watchlight-beacon umbrella chart. All values can be overridden with --set flags or custom values files.

Global Settings

KeyDefaultDescription
global.imageRegistryghcr.io/watchlight-ai-beaconContainer image registry
global.imageTag0.3.0-previewDefault image tag for all services
global.imagePullPolicyIfNotPresentImage pull policy
global.imagePullSecrets[]List of image pull secret names
global.namespacewatchlightTarget namespace
global.createNamespacetrueCreate namespace if it does not exist
global.storageClass""Default storage class (empty = cluster default)
global.externalDatabase.url""BYO database connection string
global.ingress.className""Default ingress class
global.ingress.annotations{}Default ingress annotations

Subchart Toggles

Control which services are deployed. These map to the three deployment tiers.

KeyDefaultTierDescription
wl-registry.enabledtrue1AI Agent and MCP Registry backend
wl-registry-frontend.enabledtrue1Registry dashboard
wl-discover.enabledtrue1MCP/agent discovery DaemonSet
postgresql.enabledtrue1Built-in PostgreSQL (disable for BYO)
wl-apdp.enabledfalse2Cedar authorization engine
wl-apdp-frontend.enabledfalse2Authorization dashboard
wl-proxy.enabledfalse3Agent governance proxy
wl-secrets-broker.enabledfalse3Secret management broker

wl-registry

The registry backend API service.

Image

KeyDefaultDescription
wl-registry.image.repositorywl-registryImage name (appended to global.imageRegistry)
wl-registry.image.tag0.3.0-previewImage tag (falls back to global.imageTag)
wl-registry.image.pullPolicyIfNotPresentPull policy

Deployment

KeyDefaultDescription
wl-registry.replicaCount2Number of replicas
wl-registry.resources.requests.cpu100mCPU request
wl-registry.resources.requests.memory256MiMemory request
wl-registry.resources.limits.cpu500mCPU limit
wl-registry.resources.limits.memory512MiMemory limit
wl-registry.deploymentStrategy.typeRollingUpdateUpdate strategy
wl-registry.terminationGracePeriodSeconds30Shutdown grace period

Service and Ingress

KeyDefaultDescription
wl-registry.service.typeClusterIPService type
wl-registry.service.port8080Service port
wl-registry.ingress.enabledfalseEnable ingress
wl-registry.ingress.className""Ingress class
wl-registry.ingress.hosts[]Ingress host rules
wl-registry.ingress.tls[]TLS configuration

Database

KeyDefaultDescription
wl-registry.database.url""Direct database URL (stored in chart-managed Secret)
wl-registry.database.urlSecret""Name of existing Secret containing DATABASE_URL

Environment

KeyDefaultDescription
wl-registry.env.HOST0.0.0.0Bind address
wl-registry.env.PORT8080Listen port
wl-registry.env.LOG_LEVELinfoLog level (trace, debug, info, warn, error)
wl-registry.env.CORS_ORIGINS*Allowed CORS origins
wl-registry.env.AGENT_REGISTRATION_MODEopenAgent registration mode (open, token_required, disabled)

Scaling and Availability

KeyDefaultDescription
wl-registry.hpa.enabledfalseEnable Horizontal Pod Autoscaler
wl-registry.hpa.minReplicas2Minimum replicas
wl-registry.hpa.maxReplicas10Maximum replicas
wl-registry.hpa.targetCPUUtilizationPercentage80CPU target for scaling
wl-registry.hpa.targetMemoryUtilizationPercentage80Memory target for scaling
wl-registry.pdb.enabledtrueEnable Pod Disruption Budget
wl-registry.pdb.minAvailable1Minimum available pods
wl-registry.podAntiAffinity.enabledtrueSpread pods across nodes
wl-registry.podAntiAffinity.typepreferredAnti-affinity type (preferred or required)

TLS

KeyDefaultDescription
wl-registry.tls.enabledfalseEnable TLS termination at the pod
wl-registry.tls.cert""TLS certificate (PEM)
wl-registry.tls.key""TLS private key (PEM)
wl-registry.tls.port8443HTTPS port

Monitoring

KeyDefaultDescription
wl-registry.serviceMonitor.enabledfalseCreate Prometheus ServiceMonitor
wl-registry.serviceMonitor.interval30sScrape interval
wl-registry.serviceMonitor.scrapeTimeout10sScrape timeout

wl-registry-frontend

Nginx-based frontend serving the registry dashboard.

KeyDefaultDescription
wl-registry-frontend.replicaCount1Number of replicas
wl-registry-frontend.image.repositorywl-registry-frontendImage name
wl-registry-frontend.image.tag""Tag (defaults to global.imageTag)
wl-registry-frontend.service.typeClusterIPService type
wl-registry-frontend.service.port80Service port
wl-registry-frontend.ingress.enabledfalseEnable ingress
wl-registry-frontend.ingress.hosts[]Ingress host rules
wl-registry-frontend.ingress.tls[]TLS configuration
wl-registry-frontend.backend.serviceName""Override backend service name
wl-registry-frontend.backend.port8080Backend service port
wl-registry-frontend.resources.requests.cpu50mCPU request
wl-registry-frontend.resources.requests.memory32MiMemory request
wl-registry-frontend.resources.limits.cpu200mCPU limit
wl-registry-frontend.resources.limits.memory128MiMemory limit

wl-discover

MCP server and AI agent discovery daemon. Deployed as a DaemonSet.

Discovery Configuration

KeyDefaultDescription
wl-discover.config.registryUrl""Registry endpoint URL (required)
wl-discover.config.agentId""Discovery agent ID (required)
wl-discover.config.agentKey.secretName""Secret containing the agent key
wl-discover.config.agentKey.secretKeyagent-keyKey within the Secret

Discovery Modes

KeyDefaultDescription
wl-discover.ebpf.enabledtrueeBPF network observation (requires Linux 5.8+ with BTF)
wl-discover.kubernetes.enabledtrueKubernetes API discovery
wl-discover.kubernetes.passiveDiscoverytrueEnumerate pod ports and probe for MCP servers
wl-discover.docker.enabledfalseDocker socket discovery

Security Context

KeyDefaultDescription
wl-discover.securityContext.runAsUser0Must be root for eBPF capabilities
wl-discover.securityContext.capabilities.add[BPF, PERFMON, SYS_RESOURCE]Required Linux capabilities
wl-discover.hostNetworktrueRequired for eBPF network observation
wl-discover.hostPIDtrueRequired for eBPF process correlation

Resources

KeyDefaultDescription
wl-discover.resources.requests.cpu50mCPU request
wl-discover.resources.requests.memory64MiMemory request
wl-discover.resources.limits.cpu200mCPU limit
wl-discover.resources.limits.memory256MiMemory limit

TLS

KeyDefaultDescription
wl-discover.tls.caCertPath""CA certificate path for registry TLS verification

wl-apdp

Agentic Policy Decision Point (Tier 2).

Deployment

KeyDefaultDescription
wl-apdp.image.repositorywl-apdpImage name
wl-apdp.image.tag0.2.0Image tag
wl-apdp.replicaCount2Number of replicas
wl-apdp.resources.requests.cpu100mCPU request
wl-apdp.resources.requests.memory128MiMemory request
wl-apdp.resources.limits.cpu500mCPU limit
wl-apdp.resources.limits.memory512MiMemory limit

Service and Ingress

KeyDefaultDescription
wl-apdp.service.typeClusterIPService type
wl-apdp.service.port8081Service port
wl-apdp.ingress.enabledfalseEnable ingress

Environment

KeyDefaultDescription
wl-apdp.env.HOST0.0.0.0Bind address
wl-apdp.env.PORT8081Listen port
wl-apdp.env.LOG_LEVELinfoLog level
wl-apdp.env.POLICY_VALIDATIONtrueValidate Cedar policy syntax on create
wl-apdp.env.AUDIT_LOGGINGtrueEnable authorization audit logs

Scaling and Availability

KeyDefaultDescription
wl-apdp.hpa.enabledfalseEnable HPA
wl-apdp.hpa.minReplicas2Min replicas
wl-apdp.hpa.maxReplicas10Max replicas
wl-apdp.pdb.enabledtrueEnable PDB
wl-apdp.pdb.minAvailable1Min available

Monitoring

KeyDefaultDescription
wl-apdp.serviceMonitor.enabledfalseCreate Prometheus ServiceMonitor
wl-apdp.serviceMonitor.interval30sScrape interval

wl-proxy

Agent Runtime Enforcement Proxy (Tier 3).

Deployment

KeyDefaultDescription
wl-proxy.image.repositorywl-proxyImage name
wl-proxy.replicaCount2Number of replicas
wl-proxy.resources.requests.cpu200mCPU request
wl-proxy.resources.requests.memory256MiMemory request
wl-proxy.resources.limits.cpu1000mCPU limit
wl-proxy.resources.limits.memory1GiMemory limit

Proxy Configuration

KeyDefaultDescription
wl-proxy.config.modegatewayDeployment mode: gateway, sidecar, or forward_proxy
wl-proxy.config.failClosedtrueDeny requests on policy evaluation errors
wl-proxy.config.apdpEndpoint""WL-APDP authorization endpoint
wl-proxy.config.wsbEndpoint""WL Secrets Broker endpoint
wl-proxy.config.listenAddr0.0.0.0:8080Proxy listen address
wl-proxy.config.healthAddr0.0.0.0:8079Health endpoint listen address
wl-proxy.config.routes[]Upstream route definitions
wl-proxy.config.scrubbing.enabledtrueEnable response scrubbing
wl-proxy.config.scrubbing.removeFields[]JSON fields to strip from responses
wl-proxy.config.scrubbing.piiPatterns[]PII detection regex patterns

Service

KeyDefaultDescription
wl-proxy.service.typeClusterIPService type
wl-proxy.service.port8080Proxy port
wl-proxy.service.healthPort8079Health check port

wl-secrets-broker

Secrets management broker for credential injection (Tier 3).

KeyDefaultDescription
wl-secrets-broker.image.repositorywl-secrets-brokerImage name
wl-secrets-broker.replicaCount2Number of replicas
wl-secrets-broker.service.port8082Service port
wl-secrets-broker.config.port8082Listen port
wl-secrets-broker.config.apdpEndpoint""WL-APDP endpoint for authorization
wl-secrets-broker.config.backendTypeenvBackend type: env, vault, or kubernetes
wl-secrets-broker.config.vaultEndpoint""Vault endpoint (required when backendType=vault)
wl-secrets-broker.config.enforcementModeobserveMode: enforce or observe
wl-secrets-broker.resources.requests.cpu100mCPU request
wl-secrets-broker.resources.requests.memory128MiMemory request
wl-secrets-broker.resources.limits.cpu500mCPU limit
wl-secrets-broker.resources.limits.memory512MiMemory limit

postgresql

Built-in PostgreSQL 16 database. Disable this when using a managed database service.

KeyDefaultDescription
postgresql.enabledtrueDeploy built-in PostgreSQL
postgresql.image.repositorypostgresImage name
postgresql.image.tag16-alpineImage tag
postgresql.auth.databasebeaconDatabase name
postgresql.auth.usernamebeaconDatabase username
postgresql.auth.existingSecret""Existing Secret with postgres-password key
postgresql.persistence.enabledtrueEnable persistent storage
postgresql.persistence.size10GiVolume size
postgresql.persistence.storageClass""Storage class (empty = global.storageClass or cluster default)
postgresql.service.port5432PostgreSQL port
postgresql.resources.requests.cpu250mCPU request
postgresql.resources.requests.memory256MiMemory request
postgresql.resources.limits.cpu1000mCPU limit
postgresql.resources.limits.memory1GiMemory limit

Cloud-Specific Values Files

Pre-configured overrides are available for each major cloud provider:

FileIngress ClassStorage ClassNotes
values-aws.yamlalbgp3AWS ALB Controller, ACM certificate support
values-gcp.yamlgcestandardGKE ingress, Google-managed certificates
values-azure.yamlazure/application-gatewaymanaged-premiumApp Gateway ingress

Usage:

helm install beacon ./deploy/helm/watchlight-beacon \
-f ./deploy/helm/watchlight-beacon/values-aws.yaml \
--namespace watchlight

Override individual values on top of a cloud file:

helm install beacon ./deploy/helm/watchlight-beacon \
-f ./deploy/helm/watchlight-beacon/values-aws.yaml \
--set wl-registry.replicaCount=3 \
--set wl-apdp.enabled=true \
--namespace watchlight