Skip to content

[APPSEC-68250] Document automated ingress-nginx App and API Protection setup#37258

Open
eliottness wants to merge 2 commits into
masterfrom
eliott.bouhana/ingress-nginx-aap-injector
Open

[APPSEC-68250] Document automated ingress-nginx App and API Protection setup#37258
eliottness wants to merge 2 commits into
masterfrom
eliott.bouhana/ingress-nginx-aap-injector

Conversation

@eliottness
Copy link
Copy Markdown
Contributor

What does this PR do? What is the motivation?

Fixes APPSEC-68250

Adds documentation for enabling App and API Protection on ingress-nginx using the AppSec injector (the Datadog Cluster Agent injects the nginx-datadog module into ingress-nginx controller pods), with Datadog Operator and Helm configuration. This mirrors the existing Envoy Gateway and Istio setup pages. The existing manual configuration is preserved as an alternative.

Merge instructions

Merge readiness:

  • Ready for merge

Additional notes

Document the AppSec injector method for ingress-nginx (Datadog Operator and Helm) alongside the existing manual configuration, mirroring the Envoy Gateway and Istio setup pages.

Confidence: high
Scope-risk: narrow
@eliottness eliottness requested a review from a team as a code owner June 4, 2026 14:19
@eliottness eliottness requested a review from e-n-0 June 4, 2026 14:20
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 4, 2026

Preview links (active after the build_preview check completes)

Modified Files

name: datadog
annotations:
agent.datadoghq.com/appsec.injector.enabled: "true"
agent.datadoghq.com/appsec.injector.proxies: '["ingress-nginx"]'
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This line is not required

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in 50ab3da — removed. injector.autoDetect (default true) already covers ingress-nginx, so injector.enabled alone is enough.

Comment on lines +79 to +80
proxies:
- ingress-nginx
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one is also not required, remote it

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done in 50ab3da — removed from the Helm tab as well.

@eliottness
Copy link
Copy Markdown
Contributor Author

@codex review

…pets

injector.autoDetect is enabled by default and includes ingress-nginx, so injector.enabled alone is sufficient. Addresses PR review feedback.
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ab1deb5fbe

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

This setup requires:

- The Datadog Cluster Agent `v7.79.0` or later.
- For the Helm method, the Datadog Helm chart `v3.217.0` or later.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Use a released Helm chart version

This prerequisite points users to Datadog Helm chart v3.217.0, but the public Datadog Helm chart releases I checked for June 4, 2026 only go up to datadog-3.215.1; helm upgrade ... datadog/datadog --version 3.217.0 therefore cannot resolve. Until that chart is published, anyone following the new automated Helm setup is blocked before they can enable the ingress-nginx injector, so this should either name the first released chart that contains the values or wait for the release before publishing.

Useful? React with 👍 / 👎.

@datadog-official
Copy link
Copy Markdown
Contributor

Pipelines

Fix all issues with BitsAI

⚠️ Warnings

🚦 1 Pipeline job failed

DataDog/documentation | build_preview   View in Datadog   GitLab

See error Job exceeded the execution time limit of 1h0m0s seconds due to timeout.

Useful? React with 👍 / 👎

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 50ab3da | Docs | Datadog PR Page | Give us feedback!

Copy link
Copy Markdown
Contributor

@OliviaShoup OliviaShoup left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hey, thanks for the PR! requesting two small changes (also can you tell me more about that Codex comment? is the Helm chart version going to be updated before we published these docs?)


<div class="alert alert-danger">
We provide a specific init container **for each ingress-nginx controller version**, starting with <code>v1.10.0</code>. This is crucial because **each** init container must match the underlying nginx version. To ensure compatibility, ensure the version of the Datadog init container matches your ingress-nginx version.
Datadog provides a specific init container **for each ingress-nginx controller version**, starting with <code>v1.10.0</code>. This is crucial because **each** init container must match the underlying NGINX version. To confirm compatibility, verify that the version of the Datadog init container matches your ingress-nginx version.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Datadog provides a specific init container **for each ingress-nginx controller version**, starting with <code>v1.10.0</code>. This is crucial because **each** init container must match the underlying NGINX version. To confirm compatibility, verify that the version of the Datadog init container matches your ingress-nginx version.
Datadog provides a specific init container <b>for each ingress-nginx controller version</b>, starting with <code>v1.10.0</code>. This is crucial because <b>each</b> init container must match the underlying NGINX version. To confirm compatibility, verify that the version of the Datadog init container matches your ingress-nginx version.

{{% /tab %}}
{{< /tabs >}}

After you enable this, the Datadog Cluster Agent:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
After you enable this, the Datadog Cluster Agent:
After you enable automatic configuration, the Datadog Cluster Agent:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants