[AAP] Configure the Kubernetes AppSec injector through DatadogAgent CRD fields - #39958
Draft
eliottness wants to merge 1 commit into
Draft
eliottness wants to merge 1 commit into
eliottness wants to merge 1 commit into
Conversation
Contributor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Moves every Datadog Operator example and reference entry for the Kubernetes AppSec injector from the
agent.datadoghq.com/appsec.*annotations to thespec.features.appsec.injectorfields of theDatadogAgentCRD.Pages updated:
containers/kubernetes/appsec.mdsecurity/application_security/setup/kubernetes/istio.mdsecurity/application_security/setup/kubernetes/envoy-gateway.mdinjector.mode: externalinstead of theDD_CLUSTER_AGENT_APPSEC_INJECTOR_MODEenv overridesecurity/application_security/setup/nginx/ingress-controller.mdMotivation
The Datadog Operator now configures the AppSec injector from the CRD. The
agent.datadoghq.com/appsec.*annotations are deprecated in Operatorv1.31.0— the first release that carriesspec.features.appsec.injector— and removed inv1.32.0. The two sources are mutually exclusive — whenspec.features.appsec.injectoris set, annotations are ignored entirely, including for fields the CRD leaves unset — which the docs now state explicitly so nobody migrates one field at a time and silently turns the feature off.Mapping used (from the Operator's
docs/deprecated_configs.md):agent.datadoghq.com/appsec.injector.enabledspec.features.appsec.injector.enabled…/appsec.injector.mode…injector.mode…/appsec.injector.autoDetect…injector.autoDetect…/appsec.injector.proxies…injector.proxies…/appsec.injector.processor.address…injector.processor.address…/appsec.injector.processor.port…injector.processor.port…/appsec.injector.processor.service.name…injector.processor.service.name…/appsec.injector.processor.service.namespace…injector.processor.service.namespace…/appsec.sidecar.image…injector.sidecar.image…/appsec.sidecar.image_tag…injector.sidecar.imageTag…/appsec.sidecar.port…injector.sidecar.port…/appsec.sidecar.health_port…injector.sidecar.healthPort…/appsec.sidecar.body_parsing_size_limit…injector.sidecar.bodyParsingSizeLimit…/appsec.sidecar.resources.{requests,limits}.{cpu,memory}…injector.sidecar.resources.{requests,limits}.{cpu,memory}…/appsec.nginx.module_mount_path…injector.nginx.moduleMountPathDo not merge before the Datadog Operator release that contains
spec.features.appsec.injectoris published. Until then these snippets would not work for customers. Note:v1.30.0was released on 2026-09-08 without this field (verified withgit tag --contains— the v1.30 release branch was cut before PR #3337 merged), so the diff saysv1.31.0. Before merging:v1.31.0everywhere in the diff if it changedv1.32.0) in the deprecation noteNot in this PR
hugo/content/es/...translations of the Istio and Envoy Gateway pages, which still carry the annotations and are handled by the localization pipelinespec.features.appsec.injector.gke.gatewayClasses, a new capability with no annotation equivalent (requires Cluster Agent7.82.0+) — worth its own PR