security

2 min read

Controls deletion protection, namespace protection, and admission webhooks for the Katalog.

security:
  serviceName: orkestra-svc    # Kubernetes Service where Orkestra is deployed

  deletionProtection:
    enabled: true
    failurePolicy: Fail
    cleanupOnShutdown: false

  namespaceProtection:
    enabled: true
    restrictedNamespaces:
      - kube-system
      - production
    allowedNamespaces:
      - dev
      - staging
    failurePolicy: Fail
    cleanupOnShutdown: false

  webhooks:
    admission:
      enabled: true
    failurePolicy: Fail
    serviceName: orkestra-svc
    cleanupOnShutdown: false

  conversion:
    enabled: true
    conversionWindow: 100

deletionProtection

Registers a ValidatingWebhookConfiguration that blocks deletion of CRs managed by this Katalog.

FieldDefaultDescription
enabledtrue (when block declared)Activate the deletion protection webhook.
failurePolicyFailFail — block deletion on webhook error; Ignore — allow deletion on error.
cleanupOnShutdownfalseDelete the ValidatingWebhookConfiguration on graceful shutdown.

namespaceProtection

Blocks CRs from being created in forbidden namespaces via a ValidatingWebhookConfiguration.

FieldDefaultDescription
enabledtrue (when block declared)Activate namespace protection.
restrictedNamespacesList of namespaces where CRs are denied.
allowedNamespacesList of namespaces where CRs are allowed. All others are denied.
failurePolicyFailFail or Ignore on webhook error.
cleanupOnShutdownfalseDelete the webhook config on graceful shutdown.

Declare restrictedNamespaces OR allowedNamespaces — not both. Override per-CRD via crd-entry.md#restrictedNamespaces.

webhooks

Global admission webhook settings used by validation and mutation rules.

FieldDefaultDescription
admission.enabledfalseRegister ValidatingWebhookConfiguration for declarative rules.
failurePolicyFailFail or Ignore on webhook error.
serviceNameKubernetes Service the webhook calls back to.
cleanupOnShutdownfalseDelete webhook config on shutdown.

Per-CRD overrides: spec.crds.<name>.webhooks.

conversion

Enables the /convert endpoint for multi-version CRD support.

FieldDefaultDescription
enabledfalseRegister the /convert endpoint.
conversionWindow100Rolling window size for conversion stats.

Requires conversion to be declared on the CRD entry. → See conversion.md.


→ Next: katalog-notification.md