Skip to content

fix(gateway): decouple outbound CA trust store from tls.enabled; add README examples#320

Merged
nic-6443 merged 4 commits into
release/3.9from
docs/gateway-readme-examples-3.9
Jul 14, 2026
Merged

fix(gateway): decouple outbound CA trust store from tls.enabled; add README examples#320
nic-6443 merged 4 commits into
release/3.9from
docs/gateway-readme-examples-3.9

Conversation

@jarvis9443

@jarvis9443 jarvis9443 commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Fix: outbound CA trust store was gated on the inbound TLS listener

apisix.ssl.ssl_trusted_certificate is the gateway's outbound trust store — it verifies the TLS certificates of services the gateway dials (etcd/Control Plane, openid-connect IdPs, loggers, ...). It has nothing to do with the inbound HTTPS listener (gateway.tls.enabled).

But gateway.tls.existingCASecret and gateway.tls.additionalTrustedCAs (added in #318) were both gated on gateway.tls.enabled. So with the HTTPS listener disabled, the trust store and its Secret mounts silently disappeared — even though etcd.auth.tls.verify: true or an openid-connect ssl_verify: true still needs them.

This gates the ssl_trusted_certificate rendering and the CA Secret mounts on whether a CA is actually configured, not on gateway.tls.enabled:

  • No change for the default (gateway.tls.enabled: true).
  • Only fixes the gateway.tls.enabled: false case.

Docs: configuration examples

Also adds a Configuration examples section to README.md.gotmpl (regenerated into README.md). Covers additionalTrustedCAs, exposing via LoadBalancer, replicas/resources, and extra env vars.

Chart version bumped 3.9.63.9.7 (functional fix). 3.9 line of #319.

The README only had the auto-generated values table, which does not show how
to actually use multi-field values like additionalTrustedCAs. Add a
Configuration examples section (rendered from README.md.gotmpl) covering:
trusting additional outbound CAs, exposing via LoadBalancer, setting
replicas/resources, and injecting extra env vars.

3.9 line of the main-branch change.
@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: cf81a434-86f5-49f0-9792-3dd1d40a476d

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/gateway-readme-examples-3.9

Comment @coderabbitai help to get the list of available commands.

ct lint runs with --charts (explicit list), which disables version-increment
checking, so a docs-only README change does not require a Chart.yaml bump.
ssl_trusted_certificate is the gateway's OUTBOUND trust store (used to verify
etcd/Control Plane, openid-connect, loggers and other services the gateway
dials). It has nothing to do with the inbound HTTPS listener, but existingCASecret
and additionalTrustedCAs were gated on gateway.tls.enabled, so with the listener
disabled the trust store (and its Secret mounts) silently disappeared even though
etcd.auth.tls.verify or an openid-connect ssl_verify still needs it.

Gate the config rendering and the Secret mounts on whether a CA is actually
configured, not on gateway.tls.enabled. No change for the default (tls.enabled
true); only fixes the tls.enabled=false case. Also revert the misleading
tls.enabled note added to the README examples.
@jarvis9443 jarvis9443 changed the title docs(gateway): add configuration examples to chart README (3.9) fix(gateway): decouple outbound CA trust store from tls.enabled; add README examples Jul 14, 2026
@nic-6443
nic-6443 merged commit 799770f into release/3.9 Jul 14, 2026
3 checks passed
@nic-6443
nic-6443 deleted the docs/gateway-readme-examples-3.9 branch July 14, 2026 14:20
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