Skip to content

fix(ingress-controller): align listener port matching default - #1002

Open
kayx23 wants to merge 1 commit into
masterfrom
fix/ingress-listener-port-match-default
Open

fix(ingress-controller): align listener port matching default#1002
kayx23 wants to merge 1 commit into
masterfrom
fix/ingress-listener-port-match-default

Conversation

@kayx23

@kayx23 kayx23 commented Aug 26, 2026

Copy link
Copy Markdown
Member

Summary

  • change the APISIX Ingress Controller chart default from listenerPortMatchMode: auto to off, matching the controller 2.2.0 safety default
  • change the ConfigMap fallback to off and bump the chart to 1.3.1
  • document the upgrade impact and how to retain auto or explicit
  • add a rendered-config regression test for both the default and an explicit auto override
  • regenerate the chart README and run the regression test in CI

Why

APISIX Ingress Controller changed its omitted-field default to off in apache/apisix-ingress-controller#2804 after review reproduced a common mismatch: a Gateway listener declares port 80, Kubernetes maps Service port 80 to APISIX port 9080, and an injected server_port == 80 predicate causes the route to miss.

Chart 1.3.0 still explicitly renders auto, so Helm users never receive the controller's safer fallback. This PR aligns the dedicated chart with the released controller contract.

Users who intentionally rely on listener-port matching can preserve the old chart behavior with:

config:
  listenerPortMatchMode: auto

The APISIX umbrella chart still pins controller chart 1.3.0. Its dependency should be updated after 1.3.1 is published; it cannot safely reference the unpublished remote chart in this PR.

Validation

  • bash -n test/ingress-controller-config-defaults.sh
  • bash test/ingress-controller-config-defaults.sh
  • default, auto, and explicit helm template renders
  • helm package charts/apisix-ingress-controller
  • helm-docs@v1.11.0 regeneration is idempotent
  • upstream CI chart-testing image:
    ct lint --validate-maintainers=false \
      --charts charts/apisix-ingress-controller
    Result: 1 chart linted, 0 failed
  • workflow YAML parse and git diff --check

Closes #1001.

Related: api7/api7-ingress-controller#462, #997.

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.

fix(ingress-controller): align listenerPortMatchMode chart default with controller

1 participant