github haproxytech/kubernetes-ingress v3.4.0
HAProxy Ingress Controller v3.4.0

44 minutes ago

Changelog

  • 5018a34 DOC/MINOR: documentation: announce the 3.4 release lifecycle
  • 2004905 BUILD/MINOR: go.mod: update Go indirect packages
  • 84b9247 BUILD/MINOR: go.mod: update andybalholm/brotli to v1.2.7
  • d8814cc BUG/MINOR: env: resolve relative paths from the configuration directory
  • 60ac025 TEST/MINOR: e2e: cover a Secret shared by an Ingress and a TCP resource
  • e2e31ed TEST/MINOR: certs: cover a Secret shared by an Ingress and a TCP resource
  • c4d59bf BUG/MINOR: certs: address CA files with the CA file commands
  • c210a01 BUG/MEDIUM: certs: do not assume a crt-list to delete a certificate
  • 7ed7d80 BUG/MINOR: tcp-cr: only point a bind at a certificate that was written
  • ed2530f BUG/MINOR: secret: write a certificate once per kind
  • f177c22 BUILD/MINOR: go.mod: update client-native v5, client-native v6
  • 15a69a8 BUILD/MINOR: go.mod: update golang.org/x packages
  • a2e0a07 MAJOR: annotations: announce the annotation deprecations
  • 0dfc6e4 BUG/MINOR: instance: fix a data race on the pending reload flag
  • cd8aae7 BUILD/MINOR: build: ship the released gopherd binary instead of building it
  • 0b63c67 TEST/MINOR: e2e: make the per-pod distribution checks deterministic
  • 4db6d34 BUILD/MINOR: go.mod: update client-native to v6.4.3
  • 690d961 CLEANUP/MINOR: docs: drop controller options from their version_max
  • 2a31a3d BUILD/MAJOR: haproxy: use HAProxy 3.4 version
  • c8f1163 BUG/MINOR: job: do not panic on a CRD version annotation that cannot be parsed
  • 1b8e40a BUG/MINOR: store: keep every TLS secret of an ingress for the same host
  • 99a6944 BUG/MINOR: annotations: clear frontend custom annotations when emptied
  • b4b3bbb BUG/MINOR: e2e: avoid a panic when a request fails in different-ports
  • 2b8b549 MINOR: annotations: accept the built-in duration and boolean spellings
  • e20c3f1 BUG/MINOR: annotations: render frontend custom annotations in priority order
  • 52f47dd CLEANUP/MAJOR: controller: remove Gateway API support
  • 8d484dc DOC/MINOR: annotations: record the config snippets as available up to 3.2
  • 14dc66c BUILD/MINOR: ci: update pinned Go tools
  • d082c93 TEST/MINOR: e2e: restore the base Global resource after the rejection test
  • a14dcc9 TEST/MINOR: e2e: write the base Global resource with the v3 CRD shape
  • 82c3b72 MAJOR: annotations: drop support for config snippets
  • 0058623 BUILD/MINOR: go.mod: keep kube-openapi at the revision required by k8s v0.37.x
  • 5d7516f BUILD/MINOR: go.mod: update k8s.io packages
  • e3fbf02 BUILD/MINOR: go.mod: update golang.org/x packages
  • 4614c27 MINOR: metrics: report the custom resources set aside as a gauge
  • a3ca8bd DOC/MINOR: custom-resources: describe what happens when HAProxy rejects one
  • e26462d MINOR: tcp: set aside a TCP custom resource HAProxy rejects
  • e952d9d MINOR: frontend: set aside a Frontend custom resource HAProxy rejects
  • f8e8d2f MINOR: global: set aside Global and Defaults custom resources HAProxy rejects
  • 9bef753 MEDIUM: store: track every custom resource kind for the rejection handling
  • a80c927 MEDIUM: crs: set aside a Backend custom resource HAProxy rejects
  • a20add6 BUILD/MINOR: go.mod: update pinned packages
  • e064fe1 BUILD/MEDIUM: deps: update client-native to v6.4.2
  • bf02083 BUILD/MINOR: go.mod: move to renameio v2
  • 3c44f77 BUILD/MINOR: cr: regenerate clients for the updated k8s libraries
  • 8e77087 BUILD/MINOR: go.mod: update k8s.io packages
  • f93ccf3 CLEANUP/MINOR: ci: return to regular kind image for tests
  • 0000339 DOC/MINOR: lifecycle: show the tested kubernetes range as min and max
  • 515496b BUILD/MINOR: e2e: update kubernetes versions in tests
  • 9f53463 TEST/MINOR: e2e: serve PROXY protocol from the http-echo test image
  • 4aaf31b BUG/MINOR: ci: ask the backport question only once per merge request
  • 7775380 CLEANUP/MINOR: server: shorter server names, dead code and comment trims
  • 600aadb TEST/MEDIUM: e2e: verify cookie persistence on runtime-created servers
  • aa8d036 MEDIUM: annotations: retire the server-slot annotations
  • c8e6506 MEDIUM: crs: drop server switching rules from the Backend custom resource
  • 432b08b OPTIM/MINOR: server: pick maintenance servers from memory instead of re-parsing the file
  • 5bcccd1 MAJOR: server: create and delete backend servers through the runtime API
  • bd69397 BUILD/MINOR: build: update gopherd to 1.3.0
  • 1ef5036 BUILD/MINOR: go.mod: update golang.org/x packages
  • 5fd5622 BUG/MINOR: e2e: open a fresh connection for every request
  • 4cc55e7 BUILD/MINOR: tools: update the Go tools to their latest releases
  • d7395db BUILD/MEDIUM: crs: generate the custom resource code with the current code generator
  • c7b3775 BUILD/MEDIUM: build: move the project to Go 1.27
  • 96f153c CLEANUP/MINOR: annotations: skip empty elements in allow-list and deny-list
  • fe5ffaf MEDIUM: frontend: amend the ssl frontend with a custom resource
  • e904182 BUG/MINOR: main: exit with non-zero code on panic
  • 98ed57d BUG/MINOR: e2e: build host-port addresses with net.JoinHostPort
  • c2cac64 BUILD/MINOR: ci: trigger the Docker Hub description update on master
  • cba7fb8 BUILD/MINOR: ci: stop persisting the token in the checkout of every workflow
  • ca5ad68 BUILD/MINOR: ci: restrict the token permissions of every workflow
  • 71fe88c BUILD/MINOR: strip the symbol table and trim the build path from the binary
  • 3726f32 TEST/MINOR: cover the two flags a sync consumes
  • 897dc32 BUG/MINOR: store: consume the request to publish every ingress
  • 26a2cd7 TEST/MEDIUM: cover what Update resolves and what it consumes
  • 2360e1e MEDIUM: status: decide what to publish for every ingress, not only on a full sweep
  • 71a219f TEST/MEDIUM: cover the ingestion path, the class exemption and the status updates
  • 1a77792 BUG/MINOR: store: reset ClassUpdated when cleaning the store
  • bcc88c0 TEST/MEDIUM: cover the class predicate, the admission latch and what neither covers
  • 558cb3d CLEANUP/MEDIUM: ingress: split the class predicate from the admission it records
  • 78289b1 BUG/MEDIUM: k8s: stop filtering ingresses on the IngressClass name at ingestion
  • 42c9f6b BUILD/MINOR: ci: block documentation links that break the documentation site
  • 4e816fb DOC/MINOR: annotations: stop linking repository files from tips
  • 65784da DOC/MINOR: annotations: reword a tip that broke links on the documentation site
  • e60b58d DOC/MINOR: add related documentation links to controller arguments and annotations
  • a578750 DOC/MINOR: controller: document localpeer port and supervisor arguments
  • db5f3fc DOC/MINOR: controller: document bind thread, stats and healthz arguments
  • 3e06f8e DOC/MINOR: annotations: add custom resource annotations
  • 8805ae6 DOC/MINOR: annotations: add prometheus-endpoint-auth-secret
  • 17a7087 DOC/MINOR: controller: document --controller-port and fix --job-check-crd description
  • 1c4e5bd DOC/MINOR: controller: document --initial-sync-period, --experimental and --custom-validation-rules
  • cb3f83c DOC/MINOR: annotations: add abortonclose and cors-respond-to-options
  • f4dc0a4 BUILD/MINOR: ci: raise the kernel watch limits before building a cluster
  • 4b301a3 BUILD/MINOR: ci: accept the crash loop jargon in the spell check
  • 1b03cf3 BUILD/MINOR: ci: skip pipelines in forks without registry access
  • 559d450 BUILD/MINOR: ci: give e2e retries two hours to reuse the built image
  • 8a7858c BUILD/MINOR: ci: stop kube-proxy from touching shared kernel settings
  • 3bb4259 BUILD/MINOR: ci: capture cluster state when an e2e job fails
  • 4ec38e3 BUILD/MAJOR: replace s6-overlay with gopherd in Docker images
  • 3c95396 BUILD/MINOR: ci: check discovery against a second scan, not a count
  • 8f4ba00 BUILD/MINOR: ci: generate the two API packages at the same time
  • ea28f25 BUILD/MINOR: ci: run diff-crd only when generation inputs change
  • a411222 BUILD/MINOR: ci: stop the kind control plane from restarting mid test
  • eedc263 BUILD/MINOR: ci: build the kind cluster while the image is still building
  • 49e0317 BUILD/MINOR: ci: discover the e2e tests instead of declaring them
  • afc1c4f BUILD/MINOR: ci: spread e2e jobs across runners with a child pipeline
  • da14123 BUILD/MINOR: go.mod: update Go indirect packages
  • 3120157 BUILD/MINOR: go.mod: update k8s.io packages
  • 358671b BUILD/MINOR: go.mod: update golang.org/x packages
  • 8bb632d TEST/MEDIUM: ssl-passthrough: cover allow-list on https with cluster passthrough
  • 48cd024 BUG/MEDIUM: ssl-passthrough: keep allow/deny-list on the https frontend
  • 0d5582f BUG/MEDIUM: controller: stop duplicating default local backend config snippet
  • 2aa26b8 TEST/MEDIUM: cover a default backend whose service asks for ssl-passthrough
  • 373a5fa MINOR: controller: report that ssl-passthrough cannot reach a default backend
  • 4583184 TEST/MEDIUM: cover the service scope of ssl-passthrough
  • 58bc8ac MINOR: ingress: apply ssl-passthrough at the service scope
  • b0df0cc TEST/MEDIUM: cover the declaration of frontend rules against the routes
  • 6711c9a BUG/MINOR: ingress: declare frontend rules only once a route carries their ids
  • 2d3c0a7 TEST/MEDIUM: cover the backend annotation names and what an ingress loses
  • 3e9f50c MINOR: ingress: name the backend annotations an ingress loses to the owner of a backend
  • 4b800d2 TEST/MEDIUM: cover backend ownership, the walk order and the ordered set direction
  • ca4f352 BUG/MINOR: controller: make the merge path walk deterministic, oldest ingress first
  • c6db72e MEDIUM: ingress: let the first ingress to constitute a backend own it
  • 2346ddd BUG/MEDIUM: controller: walk ingresses by age, in a deterministic order
  • 97706e0 TEST/MEDIUM: cover the ssl-passthrough backend permanence
  • 8250082 BUG/MEDIUM: handler: apply the ssl-passthrough invariant before anything that can fail
  • af0a9e4 BUG/MINOR: handler: reconcile the ssl-passthrough binds instead of creating them
  • f775948 BUG/MEDIUM: handler: re-assert the ssl-passthrough backend on every sync
  • 16342bd BUG/MEDIUM: haproxy: keep controller-owned backend state across a failed transaction
  • 9fd9e53 BUILD/MINOR: update CHECK_COMMIT version to 5.8.1
  • 2ba6bd4 DOC/MINOR: remove Go Report Card badge from README
  • bd6de51 BUILD/MINOR: ci: migrate to helm/kind-action for kind cluster setup
  • b8ab05e TEST/MEDIUM: cover the report of routing key collisions
  • 5fa75ca MINOR: ingress: report two ingresses colliding on a routing map key
  • a69dae2 CLEANUP/MINOR: route: describe a route as the map rows it produces
  • 7c7b552 CLEANUP/MINOR: maps: name the order in which the rows of a map file are matched
  • 8fc818a BUG/MAJOR: service: deep-copy cr-backend spec to fix cross-service server contamination
  • e93ff2e BUG/MINOR: rules: apply SSL redirect before basic auth on ingress frontend
  • 6f28612 BUG/MEDIUM: haproxy: stop overriding HAProxy default SSL bind options and ciphers
  • b1ba3bd BUG/MINOR: gracefully handle missing RBAC for Gateway API CRDs
  • a1dea9c TEST/MEDIUM: controller: cover deterministic default backend selection
  • f56e919 BUG/MEDIUM: controller: select ingress default backend deterministically
  • fc12067 BUILD/MINOR: go.mod: update k8s.io packages
  • 1ea9d6e BUG/MEDIUM: block_secrets stability regression
  • dd0f2e7 TEST/MINOR: controller: cover ssl-passthrough mode resolution
  • 79d754a BUG/MEDIUM: ssl-passthrough: resolve passthrough mode before building rules
  • 5d2b684 BUILD/MINOR: go.mod: update golang.org/x packages
  • d431c32 BUG/MINOR: prevent continuous reloads on default log config
  • 2fa2ea6 BUG/MEDIUM: service: resolve cookie-persistence at service level only
  • 642eda4 TEST/MINOR: certs: add a test with a running haproxy and runtime command
  • 1f6fb28 TEST/MINOR: service: add unit tests for getRuntimeBackend
  • 8b77d5f BUG/MINOR: service: ExternalName backend resolution bypassed by orphan EndpointSlices
  • 2ee40de BUILD/MINOR: go.mod: update golang.org/x packages
  • ab32820 BUILD/MINOR: go.mod: update k8s.io packages
  • 39b2a08 BUILD/MINOR: bump golang base image to 1.26-alpine
  • 8b658ef BUILD/MINOR: go.mod: update k8s.io packages
  • 5053b62 BUILD/MINOR: go.mod: update golang.org/x packages
  • 5b0c43f MAJOR: feature and security improvements for haproxy wrapper
  • e6c0123 MAJOR: feature and security improvements for block secrets protection
  • 19eb217 BUG/MINOR: improve error handling and early validation checks
  • d5da0df CLEANUP/MINOR: correct error messages for HTTP response rules
  • 2adc583 CLEANUP/MINOR: apply formatting to the code using latest gofumpt
  • 7a91f7b TEST/MINOR: add e2e test for Backend CRD covering most rule-list fixes
  • bf15d9e BUG/MINOR: add support for HTTP checks, error rules, log targets and TCP checks in Backend CRD
  • 4b16cda BUG/MINOR: use filters in Backend CRD
  • 0283e95 BUG/MINOR: use TCP requests and responses in Backend CRD
  • 5492066 BUG/MINOR: add support for stick rules configuration in Backend CRD
  • a2e9de9 BUG/MINOR: add support for server switching rules in Backend CRD
  • 88614f0 TEST/MINOR: add unit tests for backend HTTP response rules
  • c23ea30 BUG/MINOR: implement HTTP after response rule management
  • 90a58a8 BUILD/MINOR: ci: update CHECK_COMMIT version to 5.5.3
  • ebc61be BUG/MEDIUM: crd/backend: populate http-response rules and fix reload
  • 5837273 BUILD/MINOR: ci: bump GO_VERSION to 1.26
  • b34f5bc BUG/MEDIUM: fix periodic reload due to wrong log target changes in Global CR
  • 09a2785 BUG/MEDIUM: handle different endpoint ports
  • 860bb75 BUILD/MINOR: go.mod: update k8s.io packages
  • db87496 BUILD/MINOR: go.mod: update golang.org/x packages
  • 3662de8 BUG/MAJOR: certs: redact PEM content from runtime error logs
  • 1c92c28 DOC/MINOR: update client-ca annotation to specify CA certificate requirements
  • 4882c04 CLEANUP/MINOR: ci: avoid installing kind and kubectl in the CI
  • bfa7675 DOC/MINOR: update request-capture documentation to clarify header handling
  • a239db2 BUG/MINOR: normalize certificates to fix renewal with multiple newlines
  • 5e9e36f CLEANUP/MINOR: ci: use new internal registry for gitlab
  • 70d58bb BUILD/MINOR: go.mod: update k8s.io packages
  • 46b1a9a BUILD/MINOR: go.mod: update golang.org/x packages
  • c914fe9 BUILD/MINOR: crd: do not require name for backend crd
  • e1e7b1c CLEANUP/MINOR: ci: use temporary directory for additional tools
  • f0371c5 DOC/MEDIUM: update examples with v3 CRD for TCP CR
  • a68a1c4 BUG/MEDIUM: fix error on rate-limit-requests
  • 802f5d2 BUG/MINOR: do not create a user in userlist with empty password for basic authentication
  • 106c021 MINOR: go: update go version to go1.25
  • 7d96c0a BUILD/MINOR: ci: add more wait time on k8s starting to avoid fails
  • 22badbd BUILD/MINOR: ci: add extra job to indicate if someone used static check override
  • 086f5f6 BUILD/MINOR: ci: add extra job to indicate if someone used revive override
  • a67717c CLEANUP/MINOR: ci: use better check for large files
  • 7414086 BUILD/MEDIUM: ci: use revive and static check for linting code
  • 32550c6 MINOR: rate-limit: Update minimum version requirement to 3.2
  • 49e03f9 MINOR: rate-limit: add rate-limit-whitelist annotation to exclude IPs
  • d6a4e3b BUG/MINOR: fix unnecessary restarts when using multiple log targets
  • 8e5c702 BUG/MEDIUM: fix reloads Prometheus metrics for success and failure
  • 7553a1e MINOR: add from to all Frontends and Backends
  • 7657f70 MINOR: remove default tune.ssl.default-dh-param
  • fc2b679 MINOR: bind admin port to ipv6
  • 754cc75 MEDIUM: respect the order for ACLs and HTTP_Request_Rules for Backend CR
  • 642ede4 DOC/MEDIUM: remove the support for ingress.class annotation from the documentation
  • 6908326 BUG/MEDIUM: handle properly max_version for doc generation
  • c15d105 BUG/MEDIUM: TCP CR, avoid wrong reloads due wrongly detected default backend changed
  • 69deaf2 BUG/MINOR: job: on crd upgrade account that validation rules have different annotation for version
  • 06fc1b4 CLEANUP/MINOR: reduce number of unnecessary logs
  • ea49073 BUG/MEDIUM: write certificates on disk even if the runtime update failed
  • eac5717 DOC/MINOR: add controller argument to the tutorial about custom annotations
  • 924e298 MEDIUM: reactivate annotations prefixes
  • 226cc3d BUG/MINOR: copy ConfigMap annotations only for the Main ConfigMap
  • eebeaa6 BUILD/MINOR: ci: due to issues with runners auto retry to pick another runner
  • 302a0dc MINOR: improve startup time of ingress controller
  • 9bdefb9 BUILD/MINOR: add startup, liveness and readiness probe to testing environment
  • 0f46130 BUILD/MINOR: use bigger runner for builds on github
  • a54f492 BUG/MEDIUM: errorfile configmap deletion should trigger an update
  • cf6817c CLEANUP/MINOR: remove error message about gateway API
  • 4558e2a BUG/MEDIUM: healthz: do not lose binds for healthz frontend

Don't miss a new kubernetes-ingress release

NewReleases is sending notifications on new releases.