Skip to content

Document Opaque secret support in NGINX Ingress Controller - #2307

Open
promptless[bot] wants to merge 1 commit into
nic-release-nextfrom
promptless/nic-opaque-secrets-release-5.7
Open

promptless[bot] wants to merge 1 commit into
nic-release-nextfrom
promptless/nic-opaque-secrets-release-5.7

Conversation

@promptless

@promptless promptless Bot commented Sep 23, 2026

Copy link
Copy Markdown
Contributor

Proposed changes

Documents F5 NGINX Ingress Controller's new type-agnostic secret validation, from source PR nginx/kubernetes-ingress#10935 ("Update examples to use opaque secrets") and its feature PR nginx/kubernetes-ingress#10816 ("Add opaque secret support"). This behavior is unreleased: both source PRs are open against a feature branch (~v5.7.0). Please hold or retarget this PR until the feature ships, and replace the <VERSION> placeholder with the confirmed release.

From that release, NGINX Ingress Controller validates a referenced Kubernetes Secret by its data keys and role rather than by the Secret type field. A standard Opaque secret carrying the required keys is accepted anywhere a secret is referenced, and existing nginx.org/*, nginx.com/*, and kubernetes.io/tls typed secrets keep working unchanged and are not deprecated. This lets users reuse secrets that cert-manager, External Secrets Operator, a GitOps pipeline, or Vault already produce, without converting them to NGINX-specific types (originating request: nginx/kubernetes-ingress#10639).

What changed:

  • Policy reference: reframed the APIKey, BasicAuth, JWT (and its JWKS CA), IngressMTLS, EgressMTLS, ExternalAuth, OIDC, OIDCNative, and WAF secret fields to accept a standard Opaque secret (shown as primary) or the existing typed secret, keyed on the required data key(s). Replaced the "must be of type ... otherwise rejected" wording with data-key-based validation, and added one shared note explaining the reject-and-fix behavior. The APIKey, IngressMTLS, and CRL YAML examples now lead with type: Opaque.
  • WAF bundle sources, NGINX Plus license secret, management ConfigMap, and Helm and install guides: the same Opaque-primary, key-based framing; the kubectl create secret commands drop the --type flag.
  • Architecture design page: a minor accuracy touch that describes secrets by the data keys they carry.
  • Standard kubernetes.io/tls secrets were intentionally kept on their standard type.

Notes for review:

  • The docs use a literal <VERSION> placeholder for the introducing release. Please confirm and replace it.
  • The source change looks release-note worthy. The changelog and release-notes pages were left untouched.

Checklist

Before sharing this pull request, I completed the following checklist:

Footnotes

  1. Potentially sensitive information includes personally identify information (PII), authentication credentials, and live URLs. Refer to the style guide for guidance about placeholder content.

Document that NGINX Ingress Controller now validates referenced
Kubernetes Secrets by their data keys and role instead of by the
Secret type field, so a standard Opaque secret with the required
keys is accepted for API-key, basic-auth, JWT/JWK, OIDC, CA/mTLS,
WAF-bundle, and NGINX Plus license use cases. Existing nginx.org/*,
nginx.com/*, and kubernetes.io/tls typed secrets keep working and
are not deprecated.

Reframe each policy secret field in the Policy reference to accept
an Opaque or typed secret keyed on its required data key(s), add a
shared explanatory note, and apply the same key-based framing to the
WAF bundle sources, license secret, management ConfigMap, and Helm
and install guides. Keep standard kubernetes.io/tls secrets on their
standard type. Minor accuracy touch to the architecture design page.

Documents source PRs nginx/kubernetes-ingress#10935 and #10816.
Unreleased: version left as a <VERSION> placeholder pending
confirmation.
@promptless
promptless Bot requested a review from a team as a code owner September 23, 2026 09:39
@github-actions github-actions Bot added documentation Improvements or additions to documentation product/nic Issues related to NGINX Ingress Controller labels Sep 23, 2026
@github-actions

Copy link
Copy Markdown

Deploy Preview will be available once build job completes!

Name Link
😎 Deploy Preview https://frontdoor-test-docs.nginx.com/previews/docs/2307/

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

Labels

documentation Improvements or additions to documentation product/nic Issues related to NGINX Ingress Controller

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants