Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(ingress-nginx): bump to v1.12.0 #141

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from
Draft

Conversation

ralgozino
Copy link
Member

@ralgozino ralgozino commented Mar 14, 2025

Summary 💡

  • bump Ingress nginx to v1.12.0
  • add new "performance" dashboard
  • update docs
  • update kustomization projects for 5.6.0 compatibility

Closes https://github.com/sighupio/product-management/issues/573

Relates:

Description 📝

Notice that updating the kustomize projects to drop deprecated fields (like commonLabels and patchesJson6902) had a side-effect that I could not solve.

The side effect is the following changes:

@@ metadata.labels @@
# v1/ConfigMap/ingress-nginx/ingress-nginx-controller-external
! + one map entry added:
+   type: external

@@ metadata.labels @@
# cert-manager.io/v1/Certificate/ingress-nginx/ingress-nginx-admission-external
! + one map entry added:
+   type: external

and the same for the internal ingress controller:

@@ metadata.labels @@
# v1/ConfigMap/ingress-nginx/ingress-nginx-controller-internal
! + one map entry added:
+   type: internal

@@ metadata.labels @@
# cert-manager.io/v1/Certificate/ingress-nginx/ingress-nginx-admission-internal
! + one map entry added:
+   type: internal

THESE CHANGES ARE APPLIED BY kapp WITHOUT RECREATING THE OBJECTS, SO THEY SHOULD NOT HAVE ANY IMPACT.

Breaking Changes 💔

Upstream has introduced some breaking changes in v1.12.0, I don't think they have direct impact on how we use it, but it may affect some end-users of KFD.

Breaking changes that I think are relevant to our end-users:

  • Remove global-rate-limit feature. This removes the following configuration options:

    • global-rate-limit-memcached-host
    • global-rate-limit-memcached-port
    • global-rate-limit-memcached-connect-timeout
    • global-rate-limit-memcached-max-idle-timeout
    • global-rate-limit-memcached-pool-size
    • global-rate-limit-status-code

    It also removes the following annotations:

    • global-rate-limit
    • global-rate-limit-window
    • global-rate-limit-key
    • global-rate-limit-ignored-cidrs
  • Remove 3rd party lua plugin support. This removes the following configuration options:

    • plugins

    It also removes support for user provided Lua plugins in the /etc/nginx/lua/plugins directory.

I mentioned these changes in the the unreleased.md file too.

Tests performed 🧪

Future work 🔧

@ralgozino ralgozino self-assigned this Mar 14, 2025
- bump Ingress nginx to v1.12.0
- add new "performance" dashboard
- update docs
Update kustomize projects to v5, dropping depreated fields like
`commonLabels`, `patchesJson6902`, and `patchesStrategicMerge`.

I found a bug (IMO) with kustomize v5: `patches` are applied before
`commonLabels` (and `labels`) where `patchesJson6902` were applied after
`commonLabels` (and `labels`).
Ref: kubernetes-sigs/kustomize#5875

This has the side effect that the configmap and certificate now have an
additional label `type: external` (or `type: internal`, respectively).
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.

1 participant