Skip to main content
The operator includes an optional validating admission webhook that intercepts Deployment CREATE and UPDATE operations. It runs the same validation checks as the controller but at admission time, before the change is persisted.

How it works

The webhook looks up the matching ApplicationPersona by the deployment’s app.kubernetes.io/name label. If no label is present or no matching persona exists, the deployment is allowed without validation.

Modes

Advisory mode (default)

All deployments are allowed. Validation issues are returned as Kubernetes admission warnings, which appear in kubectl output:

Enforcing mode

Deployments with validation errors are denied. Warnings are still attached to allowed responses.
Enforcing mode can block deployments and rollouts. Test thoroughly in advisory mode before switching to enforcing in production.

Validation checks

The webhook runs four validation functions: The distinction matters in enforcing mode: errors cause denial, warnings are attached but do not block.

Enabling the webhook

Via Helm

Via CLI flag

TLS certificates

The webhook server requires TLS certificates. Options:
  1. cert-manager (recommended) — The Helm chart supports cert-manager annotations for automatic certificate provisioning
  2. Manual certificates — Provide certificates via flags:
  3. Self-signed — controller-runtime generates self-signed certificates automatically for development

Fail-open behavior

The webhook is designed to fail open:
  • If the operator is down, Kubernetes skips the webhook (when configured with failurePolicy: Ignore)
  • If the ApplicationPersona lookup fails (API error), the deployment is allowed with a log message
  • If no app.kubernetes.io/name label is present, the deployment is allowed without validation
  • If no matching persona exists, the deployment is allowed
This ensures the webhook never blocks deployments due to operator issues.

Controller validation

Continuous validation via the reconciliation loop

Configuration

All webhook configuration options