Webhook configuration
Webhook parameters:
Enable or disable the webhook
Controls whether the Applier uses a mutating admission webhook to apply recommendations.
| Parameter | Default value |
|---|---|
webhook.enabled |
true |
Description
By default, the Applier can use a mutating admission webhook to apply recommendations. This setting also grants the additional RBAC permissions required for webhook operation to the Applier.
When disabled, recommendations are still generated and can be applied as patches, but webhook-based apply methods (WebhookImmediateRollout, WebhookHybridRollout, WebhookDeferredRollout) will not work.
Teams can set live.stormforge.io/apply.method on individual namespaces or workloads to use a webhook-based method. For annotation syntax details, see Apply method in the Apply Settings topic.
Continuous reconciliation, if enabled, doesn’t run for workloads using a webhook-based apply method. Webhook methods rely on admission-time mutation rather than continuous patching.
Valid values
true(default)false
Namespace allow and deny lists
Restrict webhook use to specific namespaces.
| Parameter | Default value |
|---|---|
webhook.allowNamespaces |
[] |
webhook.denyNamespaces |
["kube-system"] |
Description
You can restrict webhook use to specific namespaces:
- To allow webhook use on specific namespaces, configure the
webhook.allowNamespaceslist. - To deny webhook use on specific namespaces, configure the
webhook.denyNamespaceslist.
If both webhook.allowNamespaces and webhook.denyNamespaces are configured, the denyNamespaces list is ignored and only the allow list is enforced.
If a namespace or workload uses a webhook-based apply method but the webhook is disabled or a namespace list restricts access, recommendations are still generated, but can’t be applied via webhook. In this case, UI and CLI values may differ from the values on Pods.
Valid values
An array of strings or regular expressions to match against namespace names.
To explicitly unset either of these values, use null.
Examples
webhook:
denyNamespaces:
- ".*-system"
or
webhook:
denyNamespaces: null
allowNamespaces:
- "monitoring"
- "frontend"
- ".ecommerce-*"
TLS configuration
Configure TLS for the webhook.
| Parameter | Default value |
|---|---|
webhook.tlsSecretName |
"" |
webhook.caBundle |
"" |
Description
By default, StormForge uses an integrated cert-controller to provision and rotate TLS certificates for the webhook automatically.
- Set
webhook.tlsSecretNameto the name of an existing TLS Secret to disable the integrated cert-controller and use your own certificate. - Set
webhook.caBundleto provide the CA bundle directly when managing your own TLS certificates without the integrated cert-controller.
Failure policy
Controls what happens if the webhook is unavailable or returns an error.
| Parameter | Default value |
|---|---|
webhook.failurePolicy |
Ignore |
Description
Ignore (default): If the webhook fails, the admission request proceeds — workloads are created and updated normally, but recommendations won’t be applied at admission time.
Fail: If the webhook fails, the admission request is rejected. Use with caution — a webhook outage will block Pod creation in namespaces covered by the webhook.
Valid values
Ignore(default)Fail