Community

Changelog

The changelog shows you an in-depth list of changes included in HAProxy Kubernetes Ingress Controller.

Version 1.11 Jump to heading

1.11.3 - 2024-04-04

Changes:

  • TEST/MINOR: allow 2048 pods per node on Kind

  • BUG/MINOR: runtime: use correct check when calculating max byte size

1.11.2 - 2024-03-22

Changes:

  • CLEANUP/MINOR: runtime: unite bufSize used in maps and runtime communication

  • MINOR: runtime: update whole backend at once

  • BUG/MINOR: prevents unconditional reloads when prometheus is enabled

  • BUG/MINOR: prevents unnecessary reloads due to CRD defaults.name

1.11.1 - 2024-03-18

Changes:

  • BUG/MEDIUM: crd: fix checking of existing CRD definitions in k8s

  • MINOR: add aditional logging on informers

  • MEDIUM: amend server slots management to reserve at least required number

1.11.0 - 2024-03-08

Changes:

  • DOC/MAJOR: set latest ingress controller version to v1.11

  • BUILD/MINOR: update versions of haproxy go packages

  • BUILD/MINOR: ci: increase timeout for golangci-lint

  • BUILD/MINOR: update go version to 1.22

  • BUILD/MAJOR: remove support for linux/386 images

  • MINOR: add scheme support in HTTP(S) redirects

  • TEST: make mapupdate test resilient to starting number of maps entries

  • DOC: prometheus access outside pod

  • MINOR: prometheus access outside pod

  • MEDIUM: runtime: be more resilient when starting controller

  • BUILD/MINOR: update client-native library

  • CLEANUP/MINOR: ci: reconfigure gitlab scheduled rules

  • MINOR: add quic-bind-port command line parameter

  • DOC: fix typo in quic-announce-port command line parameter

  • BUG: fix typo in quic-announce-port command line parameter

  • DOC: documentation for quic protocol

  • MINOR: add quic support

  • BUILD/MINOR: go.mod: update k8s.io packages

  • BUILD/MINOR: go.mod: update golang.org/x packages

  • BUG/MINOR: crd: do not convert if zero value is set for value

  • MAJOR: change http and https default ports to 8080 and 8443

  • MEDIUM: Upgrade s6 overlay to v3 (3.1.6.2)

  • BUG/MINOR: build: if tag does not exist use dev as tag

  • BUG/MEDIUM: display correct version of ingress controller in logs

  • BUILD/MAJOR: test: add 1.29 k8s version

  • BUILD/MINOR: go.mod: update k8s.io packages

  • BUILD/MINOR: go.mod: update golang.org/x packages

  • CLEANUP/MINOR: crd: clean crs documentation

  • BUILD/MINOR: update client native and config parser

  • BUILD/MINOR: update client-go to v0.29.1

  • MINOR: add PointerIfNotDefault function

  • BUG: fix listner missing on CR if CRDs added after controller startup

  • MINOR: add reload in gateway

  • BUG: remove unnecessary reload from handleDefaultService

  • MINOR: use copy instead of loops in CRD converters

  • BUG: manage TuneOptions and SSL default dh param

  • TEST: add e2e tests for Global CR

  • CLEANUP/MINOR: ci: remove deprecated gitlab token usage

  • MINOR: fix controller-gen version to v0.13.0

  • BUILD: order api pkgs for code-generator consistency

  • MINOR: 6060 as default controller port, fix pprof missing in maps, add e2e tests

  • BUG/MINOR: fix panic in Global CR DeppCopy for v1

  • MAJOR: crd: add v1 crd and deprecate alpha2

  • BUG/MINOR: fix panic in Global CR DeepCopy

  • BUG: recovers global and frontend config snippets after a faulty transaction

  • TEST: make access control e2e tests more robust

  • BUG: fix cluster ip from publish service

  • BUG/MINOR: logs: do not add brackets to logs that do not have any labels

  • BUILD/MINOR: update commit commit check tool

  • BUILD/MINOR: ci: increase timeout for golang linters

  • MAJOR: crd: add job for custom resource definition handling

  • BUILD/MINOR: go.mod: update k8s.io packages

  • BUILD/MINOR: go.mod: update golang.org/x packages

  • MINOR: move version.go to package version

  • MINOR: align permissions needed for techdump for consistency

  • MINOR: various logger amendments

  • MINOR: add reload/restart configuration manager

  • DOC: document incompatibilty between route-acl annotation and multiple matches path in Ingress

  • MINOR: ensure both ClusterIP and ExternalIPs are added in publish service

  • BUG: propagate the Ingress Controller LB external address to all ingresses

  • BUG/MINOR: revert changes in EventPublishService done in commit f39d5c81cb19c75483c5f9e131e5bec1958f8ba8

  • BUG/MINOR: fix logic for detecting updates on namespace events

  • MINOR: add transactionID in all logs

  • BUILD/MEDIUM: github: use latest patch version of go

  • BUILD/MINOR: go.mod: update k8s.io packages

  • BUILD/MINOR: go.mod: update golang.org/x packages

  • BUG/MINOR: prevents port conflicts on startup when using hostNetwork

  • BUG/MINOR: fix k8s resync for all objects expect endpoints, endpointslices. Endpoint and endpointslices fix is done in a previous commit. With informers, resync are sent as Update, not Create. We were doing nothing on an Update on a resync. If an event was skipped for any reason, we were never resyncing.

  • MINOR: add k8s logs and fix k8s resync for endpoints and endpointslices

  • DOC/MINOR: fix wrong annotation timeout-server-fin vs timeout-server for ing,svc

  • MINOR: upgrade CRD generated code (k8s.io/code-generator to v0.28.2)

  • TEST/MINOR: ci: run only tests with tags

  • BUILD/MINOR: test: test on k8s 1.28 version

  • BUG/MINOR: resolve implicit memory aliasing in for loop.

  • BUILD/MAJOR: haproxy: increase version to 2.8

  • BUILD/MAJOR: go: use 1.21 version

  • CLEANUP/MINOR: fix typo in several licence headers

  • MINOR: add annotation on Service and Ingress for timeout server

  • TEST/MINOR: rename some test file with _test.go

  • MINOR: exec pebble to be a PID 1 process

  • MINOR: add master socket

  • BUILD/MINOR: go.mod: update Go packages

  • BUILD/MINOR: go.mod: update k8s.io packages

  • BUILD/MINOR: go.mod: update golang.org/x packages

  • BUG/MINOR: avoid hard restarts when the number of endpoints reaches zero

  • BUILD/MINOR: ci: display more info on e2e tests

  • BUG/MINOR: prevents clash on custom routes names to avoid unecessary restarts

  • MINOR: pebble markdown documentation

  • MINOR: add pebble supervisor

  • DOC: documentation for log-format-tcp

  • MINOR: add tcp frontend log format

  • TEST/MINOR: add integration tests for disabling snippet configs.

  • TEST/MINOR: move test to new test folder

  • MINOR: arguments: add IC arg to allow disabling one or several config snippet types

  • BUILD/MINOR: ci: use docker version 24

  • BUILD/MEDIUM: lint: increase golangcilint version to v1.54.1

  • DOC/MEDIUM: arguments: use docs.haproxy.org documentation links

  • DOC/MEDIUM: arguments: reorganize documentation arguments examples

  • BUG: remove default service not existing message

  • BUG/MEDIUM: support alternative healthcheck endpoint

  • MINOR: remove any config snippet from pprof backend

  • MINOR: remove configmap annotations from default local service

  • MINOR: add config snippet validation

  • BUG: pprof handler should be run once

  • TEST/MINOR: increase kind version

  • BUG: Handle Cgroups v2 memory limit set to 0 or max

  • BUG: wait for k8s events from default local service

  • BUG/MINOR: goreleaser: fix release note generation. Previously, the release notes were edited manually

  • OPTIM/MINOR: goreleaser: don’t use deprecated field to generate archive names

  • BUG: makefile should launch all tests with e2e_parallel and e2e_https tags

  • BUG/MINOR: rbac: Add missing RBAC for customresourcedefinitions

  • BUG/MINOR: add TuneOptions if is missing

  • BUG: fix ingressclass reload

  • BUG: ingress status update with others controllers

  • DOC: deprecate whitelist and black list in favor of allow-list and deny-list

  • MINOR: deprecate whitelist and black list in favor of allow-list and deny-list

  • BUG: add resources limit to yaml files for deployment and daemonset

  • TEST/MINOR: e2e: supporting dual stack services

  • TEST/MINOR: github: running IC e2e in dual-stack mode

  • TEST/MINOR: gitlab: running IC e2e in dual-stack mode

  • BUG/MINOR: quit after printing version when invoked with -v

  • BUG/MINOR: prevent crash in external mode without external option set

  • MINOR: keep https when ssl passthrough is removed

  • MINOR: make docker image sha1 repeatable

  • MINOR: update client native library

  • MINOR: update to management of ingress statuses

  • DOC: annotation standalone-backend documentation

  • MINOR: add ‘standalone-backend’ annotation on ingress/service to create a separate backend for this ingress

  • MINOR: don’t need referencegrant if tcproute and backendref are in same namespace

  • MINOR: update status if ingressclass is accepted after an ingress modification

  • MINOR: check GW API crd version

  • BUILD/MINOR: go.mod: update k8s.io packages

  • DOC: describe every options for each load-balance algorithm

  • BUG: correct parsing of url_param option for load-balance algorithm

  • BUILD/MINOR: go.mod: update Go packages

  • BUILD/MINOR: go.mod: update k8s.io packages

  • BUILD/MINOR: go.mod: update golang.org/x packages

  • BUILD/MINOR: ci: Enable GHCR packages for auto, manual and nightly builds

  • BUILD/MINOR: go.mod: update k8s.io packages

  • MINOR: prevent running informers from GW API when unnecessary

  • MINOR: settings for deep comparison to consider nil and empty as the same.

  • BUILD/MINOR: go.mod: update k8s.io packages

  • BUILD/MINOR: go.mod: update github.com/valyala/fasthttp v1.46.0, github.com/go-openapi/spec v0.20.9

  • BUG/MINOR: ci: resolve goreleaser build procedure

Version 1.10 Jump to heading

1.10.13 - 2024-03-18

Changes:

  • BUILD/MINOR: go.mod: update golang.org/x packages

1.10.12 - 2024-03-11

Changes:

  • BUILD/MAJOR: remove support for linux/386 images

  • BUILD/MINOR: go.mod: update golang.org/x packages

1.10.11 - 2024-02-13

Changes:

  • BUILD/MINOR: go.mod: update golang.org/x packages

  • BUILD/MINOR: go.mod: update golang.org/x packages

  • CLEANUP/MINOR: ci: remove deprecated gitlab token usage

  • MINOR: 6060 as default controller port, fix pprof missing in maps, add e2e tests

  • BUG/MINOR: fix panic in Global CR DeepCopy

  • BUILD/MINOR: go.mod: update golang.org/x packages

1.10.10 - 2023-11-15

Changes:

  • MAJOR: crd: add job for custom resource definition handling

  • BUILD/MINOR: ci: increase timeout for golang linters

  • BUILD/MINOR: update commit commit check tool

  • BUILD/MINOR: go.mod: update golang.org/x packages

  • BUG: propagate the Ingress Controller LB external address to all ingresses

  • MINOR: ensure both ClusterIP and ExternalIPs are added in publish service

  • BUG/MINOR: fix logic for detecting updates on namespace events

  • BUG/MINOR: fix k8s resync for all objects expect endpoints, endpointslices.

  • BUG/MINOR: add k8s logs and fix k8s resync for endpoints and endpointslices

1.10.9 - 2023-10-11

Changes:

  • BUILD/MEDIUM: github: use latest patch version of go

  • BUILD/MINOR: go.mod: update github.com/google/go-cmp, github.com/prometheus/client_model

  • BUILD/MINOR: go.mod: update golang.org/x packages

1.10.8 - 2023-09-27

Changes:

  • BUILD/MINOR: go.mod: update Go packages

  • BUILD/MINOR: go: use Go version 1.21

  • BUG/MINOR: resolve implicit memory aliasing in for loop.

  • BUG/MINOR: avoid hard restarts when the number of endpoints reaches zero

  • BUG/MINOR: prevents clash on custom routes names to avoid unecessary restarts

  • BUILD/MINOR: ci: use docker version 24

  • BUILD/MEDIUM: lint: increase golangcilint version to v1.54.1

  • BUG/MEDIUM: support alternative healthcheck endpoint

  • BUG: pprof handler should be run once

1.10.7 - 2023-09-06

Changes:

  • BUILD/MINOR: go.mod: update golang.org/x packages

  • BUILD/MINOR: go.mod: update golang.org/x packages

1.10.6 - 2023-07-31

Changes:

  • BUG: Handle Cgroups v2 memory limit set to 0 or max

1.10.5 - 2023-07-24

Changes:

  • BUILD/MINOR: go.mod: update golang.org/x packages

  • BUG: wait for k8s events from default local service

  • BUG/MINOR: goreleaser: fix release note generation. Previously, the release notes were edited manually

  • OPTIM/MINOR: goreleaser: don’t use deprecated field to generate archive names

  • BUG: makefile should launch all tests with e2e_parallel and e2e_https tags

  • BUG/MINOR: rbac: Add missing RBAC for customresourcedefinitions

  • BUG/MINOR: add TuneOptions if is missing

  • BUG: fix ingressclass reload

  • BUG: ingress status update with others controllers

  • BUG: add resources limit to yaml files for deployment and daemonset

  • BUG/MINOR: quit after printing version when invoked with -v

1.10.4 - 2023-06-20

Changes:

  • BUG/MINOR: prevent crash in external mode without external option set

  • MINOR: keep https when ssl passthrough is removed

  • MINOR: make docker image sha1 repeatable

  • MINOR: update client native library

  • MINOR: update to management of ingress statuses

  • MINOR: don’t need referencegrant if tcproute and backendref are in same namespace

  • MINOR: update status if ingressclass is accepted after an ingress modification

1.10.3 - 2023-05-26

Changes:

  • MINOR: check GW API crd version

  • DOC: describe every options for each load-balance algorithm

  • BUG: correct parsing of url_param option for load-balance algorithm

  • BUILD/MINOR: go.mod: update Go packages

  • BUILD/MINOR: go.mod: update k8s.io packages

  • BUILD/MINOR: go.mod: update k8s.io packages

  • BUILD/MINOR: go.mod: update k8s.io packages

1.10.2 - 2023-05-10

Changes:

  • BUILD/MINOR: go.mod: update Go packages

  • BUILD/MINOR: ci: Enable GHCR packages for auto, manual and nightly builds

  • MINOR: prevent running informers from GW API when unnecessary

  • MINOR: settings for deep comparison to consider nil and empty as the same.

  • BUILD/MINOR: go.mod: update golang.org/x packages

  • BUILD/MINOR: go.mod: update k8s.io packages

  • BUILD/MINOR: go.mod: update golang.org/x packages

  • BUILD/MINOR: go.mod: update github.com/valyala/fasthttp v1.47.0

  • BUILD/MINOR: go.mod: update k8s.io packages

  • BUILD/MINOR: go.mod: update github.com/valyala/fasthttp v1.46.0, github.com/go-openapi/spec v0.20.9

  • BUILD/MINOR: go.mod: update k8s.io packages

1.10.1 - 2023-04-17

Changes:

  • BUG/MINOR: ci: resolve goreleaser build procedure

1.10.0 - 2023-04-17

Changes:

  • DOC/MAJOR: change latest version to 1.10

  • DOC/MINOR: gateway: add gateway-controller-name to docs

  • BUILD/MINOR: go.mod: update github.com/klauspost/compress v1.16.5

  • BUILD/MINOR: go.mod: update k8s.io packages

  • BUILD/MINOR: go.mod: update Go packages

  • BUILD/MINOR: go.mod: update golang.org/x packages

  • BUILD/MINOR: go.mod: update k8s.io packages

  • BUILD/MINOR: go.mod: update k8s.io packages

  • CLEANUP/MEDIUM: tls: improve ssl default bind ciphers

  • BUILD/MAJOR: ci: test only on maintained k8s versions

  • BUILD/MINOR: ci: increase haproxy version to 2.7 for unit tests

  • BUILD/MINOR: ci: increase docker version to 23.0

  • BUG/MINOR: Correct error output message for whitelis/blacklist CIDR

  • BUILD/MINOR: go.mod: update k8s.io packages

  • MINOR: update config parser to v4.0.0

  • BUILD/MINOR: go.mod: update golang.org/x packages

  • BUILD/MINOR: go.mod: update k8s.io packages

  • BUILD/MEDIUM: update k8s.io/api to v0.26.3

  • BUG/MINOR: fix config snippet management with default local backend

  • BUG/MINOR: fix multiple insertion of config snippet from service referenced by several ingresses

  • OPTIM/MAJOR: go: Optimize struct field alignments

  • BUG/MINOR: fix ingress with same path and different ports

  • BUILD/MEDIUM: update k8s.io/api to v0.26.2

  • MAJOR: drop support for beta versions of ingress objects

  • BUILD/MEDIUM: security: update golang.org/x/net package

  • BUG/MINOR: backends should be reprocessed after fixing a failed transaction

  • BUILD/MAJOR: ci: update Kind version to 0.17.0

  • BUILD/MAJOR: haproxy: increase version to 2.7

  • BUILD/MAJOR: go: increase Go version to 1.20

  • CLEANUP/MINOR: add initial default timeouts

  • BUILD/MINOR: lint: use new linter that does not have issue with Go 1.20

  • CLEANUP/MINOR: remove server state save

  • DOC/MEDIUM: gwapi: add gateway API documentations

  • BUG/MINOR: fix formating of log message for default backend service

  • BUILD: example: add example-experimental-gwapi

  • MINOR: add status management

  • MINOR: use Generation field for comparison of updated resource

  • BUG/MINOR: ns should not be inserted/updated if previous instance present in store

  • MAJOR: gateway controller implementation

  • MINOR: docker: Additionally tag Docker images with branch

  • BUG/MINOR: configsnippets from different ingresses pointing to same service

  • BUG/MINOR: wrong config state file path in external mode

  • BUG/MINOR: remove unnecessary reloads because of error files.

  • CLEANUP/MINOR: ci: update docker image versions

  • BUILD/MAJOR: ci: apply new linting rules

  • BUILD/MEDIUM: update linters, use local version

  • BUILD: ci: increase available memory for POD

  • BUG/MINOR: remove newline if present in server state file

  • DOC/MINOR: Fixed formatting of path-rewrite in docs

  • MINOR: Update dep with vulnerabilities

  • BUG/MINOR: don’t set srv.Cookie

  • MINOR: Automatically set GOMAXPROCS to match pod CPU quotas

Version 1.9 Jump to heading

1.9.15 - 2024-03-11

Changes:

  • BUILD/MAJOR: remove support for linux/386 images

  • BUILD/MINOR: go.mod: update golang.org/x packages

1.9.14 - 2024-02-12

Changes:

  • BUILD/MINOR: go.mod: update golang.org/x packages

  • BUILD/MINOR: go.mod: update Go indirect packages

  • BUILD/MINOR: go.mod: update golang.org/x packages

  • CLEANUP/MINOR: ci: remove deprecated gitlab token usage

  • MINOR: 6060 as default controller port, fix pprof missing in maps, add e2e tests

  • BUG/MINOR: fix panic in Global CR DeepCopy

  • BUILD/MINOR: go.mod: update golang.org/x packages

1.9.13 - 2023-11-15

Changes:

  • MAJOR: crd: add job for custom resource definition handling

  • BUILD/MINOR: ci: increase timeout for golang linters

  • BUILD/MINOR: update commit commit check tool

  • BUILD/MINOR: go.mod: update golang.org/x packages

  • BUG/MINOR: fix k8s resync for all objects except endpoints, endpointslices. Endpoint and endpointslices fix is done in a previous commit. With informers, resync are sent as Update, not Create. We were doing nothing on an Update on a resync. If an event was skipped for any reason, we were never resyncing.

  • BUG/MINOR: add k8s logs and fix k8s resync for endpoints and endpointslices

1.9.12 - 2023-10-10

Changes:

  • BUILD/MINOR: go.mod: update github.com/google/go-cmp, github.com/prometheus/client_model

  • BUILD/MINOR: go.mod: update golang.org/x packages

1.9.11 - 2023-09-27

Changes:

  • BUILD/MINOR: go.mod: update Go packages

  • BUILD/MINOR: go: use Go 1.21 version

  • BUG/MINOR: avoid hard restarts when the number of endpoints reaches zero

  • BUILD/MINOR: ci: use docker version 24

  • BUILD/MEDIUM: lint: increase golangcilint version to v1.54.1

  • BUG/MEDIUM: support alternative healthcheck endpoint

  • BUG: pprof handler should be run once

1.9.10 - 2023-09-06

Changes:

  • BUILD/MINOR: go.mod: update golang.org/x packages

  • BUILD/MINOR: go.mod: update golang.org/x packages

  • BUILD/MINOR: go.mod: update golang.org/x packages

1.9.9 - 2023-07-31

Changes:

  • BUILD/MINOR: go.mod: update Go packages

  • BUILD/MINOR: go.mod: update golang.org/x packages

  • BUG: Handle Cgroups v2 memory limit set to 0 or max

  • BUG: wait for k8s events from default local service

  • BUG/MINOR: goreleaser: fix release note generation. Previously, the release notes were edited manually

  • OPTIM/MINOR: goreleaser: don’t use deprecated field to generate archive names

  • BUG: makefile should launch all tests with e2e_parallel and e2e_https tags

  • BUG/MINOR: rbac: Add missing RBAC for customresourcedefinitions

  • BUG/MINOR: add TuneOptions if is missing

  • BUG: add resources limit to yaml files for deployment and daemonset

  • BUG/MINOR: quit after printing version when invoked with -v

  • BUG/MINOR: prevent crash in external mode without external option set

1.9.8 - 2023-05-26

Changes:

  • BUG: correct parsing of url_param option for load-balance algorithm

  • BUILD/MINOR: go.mod: update github.com/prometheus/common v0.44.0

  • BUILD/MINOR: go.mod: update github.com/prometheus/procfs v0.10.0

1.9.7 - 2023-05-10

Changes:

  • MINOR: settings for deep comparison to consider nil and empty as the same.

  • BUG/MINOR: Correct error output message for whitelis/blacklist CIDR

  • BUILD/MINOR: go.mod: update Go packages

  • BUILD/MINOR: go.mod: update golang.org/x packages

  • BUILD/MINOR: go.mod: update golang.org/x packages

  • BUILD/MINOR: go.mod: update github.com/prometheus/client_golang v1.15.1

  • BUILD/MINOR: go.mod: update github.com/valyala/fasthttp v1.47.0

  • BUILD/MINOR: go.mod: update github.com/valyala/fasthttp v1.46.0, github.com/go-openapi/spec v0.20.9

  • BUILD/MINOR: go.mod: update github.com/klauspost/compress v1.16.5

  • BUILD/MINOR: go.mod: update Go packages

  • BUILD/MINOR: go.mod: update golang.org/x packages

1.9.6 - 2023-03-30

Changes:

  • BUG/MEDIUM: sec: update config parser to v4.0.0

  • BUG/MINOR: fix config snippet management with default local backend

  • BUG/MINOR: fix multiple insertion of config snippet from service referenced by several ingresses

1.9.5 - 2023-03-10

Changes:

  • BUG/MINOR: use project go version in go release

1.9.4 - 2023-03-09

Changes:

  • BUILD/MINOR: security: update golang.org/x/net package

  • BUG/MINOR: fix ingress with same path and different ports

  • BUG/MINOR: backends should be reprocessed after fixing a failed transaction

  • BUILD/MAJOR: go: increase Go version to 1.20

  • BUILD/MINOR: lint: use new linter that does not have issue with Go 1.20

  • CLEANUP/MINOR: ci: update docker image versions

  • BUILD/MAJOR: ci: apply new linting rules

  • BUILD/MEDIUM: update linters, use local version

  • CLEANUP/MINOR: remove server state save

  • BUG/MINOR: fix formating of log message for default backend service

  • MINOR: docker: Additionally tag Docker images with branch

1.9.3 - 2023-02-10

Changes:

1.9.2 - 2023-02-10

Changes:

  • BUILD/MINOR: go: use Go version 1.20

  • BUILD/MINOR: ci: raise docker version used in ci

  • BUG/MINOR: configsnippets from different ingresses pointing to same service

  • BUG/MINOR: wrong config state file path in external mode

  • BUG/MINOR: remove unnecessary reloads because of error files.

1.9.1 - 2023-01-18

Changes:

  • BUILD/MINOR: update package versions to avoid vulnerabilities

  • MINOR: Update dep with vulnerabilities

  • BUG/MINOR: don’t set srv.Cookie

  • MINOR: Automatically set GOMAXPROCS to match pod CPU quotas

1.9.0 - 2022-10-24

Changes:

  • BUILD/MAJOR: ci: change latest branch to 1.9

  • DOC/MAJOR: update doc to reflect latest version

  • MINOR: removal of unused ingresschan

  • DOC/MEDIUM: #489 allow multiple rewrites in single annotation

  • MEDIUM: config: #489 allow multiple rewrites in single annotation

  • CLEANUP/MINOR: format test yaml files

  • MEDIUM: crd: leave support for v1alpha1 crds

  • MEDIUM: cr: Update global, defaults and backend Custom Resource Definitions to v1alpha2

  • MINOR: cr: Update helper script for CR spec

  • MINOR: cr: fix plural name of defaults CR

  • BUG/MINOR: properly set default value for queue timeout

  • BUG/MAJOR: set hard-stop-after with default value of 30m

  • TEST: ci: add additional info on CI for number of parallel tests

  • BUILD/MEDIUM: ci: update k8s version to v1.25.2

  • MINOR: set src-ip-header on default backend

  • BUILD/MAJOR: haproxy: upgrade release to 2.6

  • BUILD/MAJOR: raise minimum Go version to 1.19

  • BUG/MINOR: upgrade golang.org/x/sys and golang.org/x/net modules

  • BUG/MINOR: ci: add push rule to all jobs

  • TEST: ci: in scheduled mode, run only one k8s cluster per time

  • TEST: gitlab: increase artefact expiration time

  • CLEANUP/MINOR: s6: do not double stop signal

  • TEST/MINOR: ci: combine two tags for go parallel testing

  • BUG/MINOR: s6: React to SIGUSR1 when pod is getting deleted

  • TEST: ci: extract https tests to separate ci job on github

  • BUG/MINOR: e2e: use correct configmap.yaml file

  • BUILD: ci: speed up ci with parallel start e2e stages

  • BUG/MINOR: service: do not override service status

  • DOC/MINOR: add a missing licence to file

  • TEST/MEDIUM: Use the builtin HTTP server as default backend

  • TEST: Fix failing e2e tests with kubernetes < v1.23

  • MEDIUM: Add Cgroups v1 and v2 limits to MEMLIMIT and GOMEMLIMIT calculation

  • TEST/MAJOR: Use networking.k8s.io/v1 instead of v1beta1

  • BUG/MINOR: avoid hard restarts when using a Global CRD

  • DOC/MINOR: Upgrade Ingress API version in Canary example

  • TEST: modification of custom resource poc integration test

  • MEDIUM: Add GOMEMLIMIT support and switch Go runtime to 1.19

  • TEST: add non regression test for use_backend multiplication

  • MINOR: add event processed channel to monitoring

  • BUG: BackendSwitchingRuleDeleteAll does not delete all rules

  • BUG: fix ssl-redirect precedence order with configmap and ingress

  • BUG/MINOR: Prevent unnecessary reloads when cookie-persistence is enabled

  • DOC/MEDIUM: add http-connection-mode and deprecate http-server-close and http-keep-alive

  • MEDIUM: merge HTTPConnectionMode annotations into one.

  • BUG/MINOR: triggers a reload if an Ingress is deleted

  • BUG: fixes ssl passthrough disable redirect

  • BUG: fixes error on recreation of default local backend

  • MINOR: add trace logs for endpoints and servers

  • BUG/MINOR: prevents unnecessary reloading when the attribute client-ca is not used.

  • MINOR: fixes log message

  • MINOR: copies controller binary last, to favor caching and speed up the image build

  • BUG/MINOR: prevents unecessary restart when using multiple syslog servers

  • MINOR: allow custom ports for local peer, stats and healthz

  • BUG/MINOR: fix segfault because ingressclass API is absent (pre v1.18 k8s)

  • BUG/MINOR: process multiple backends per service

  • BUG/MINOR: Add -m to HAProxy arguments to set memory limit to 2/3 of RAM

  • BUG/MINOR: fix missing pidfile reconfiguration when in external mode

  • BUG/MINOR: fix missing pidfile reconfiguration when in external mode

  • BUG: this commit fixes issues: ip addresses of ingresses updating, creation of ingress delayed

  • BUG: this commit fixes issues: ip addresses of ingresses updating, creation of ingress delayed

Version 1.8 Jump to heading

1.8.13 - 2023-03-30

Changes:

  • BUG/MEDIUM: sec: update config parser to v4.0.0

  • BUG/MINOR: fix config snippet management with default local backend

  • BUG/MINOR: fix multiple insertion of config snippet from service referenced by several ingresses

1.8.12 - 2023-03-09

Changes:

  • BUG/MINOR: fix ingress with same path and different ports

  • BUILD/MINOR: security: update golang.org/x/net package

  • BUG/MINOR: backends should be reprocessed after fixing a failed transaction

  • BUILD/MINOR: lint: use new linter that does not have issue with Go 1.20

  • CLEANUP/MINOR: remove server state save

  • BUG/MINOR: fix formating of log message for default backend service

  • MINOR: docker: Additionally tag Docker images with branch

1.8.11 - 2023-02-10

Changes:

1.8.10 - 2023-02-10

Changes:

  • BUILD/MINOR: go: use Go version 1.20

  • BUILD/MINOR: ci: raise docker version used in ci

  • BUG/MINOR: configsnippets from different ingresses pointing to same service

  • BUG/MINOR: wrong config state file path in external mode

  • BUG/MINOR: remove unnecessary reloads because of error files.

1.8.9 - 2023-01-18

Changes:

  • BUG/MINOR: don’t set srv.Cookie

  • BUILD/MEDIUM: update linters, use local version

  • BUILD/MINOR: update package versions to avoid vulnerabilities

  • MINOR: Automatically set GOMAXPROCS to match pod CPU quotas

1.8.8 - 2022-10-31

Changes:

  • MINOR: removal of unused ingresschan

  • BUILD: update packages that was reported to have vulnerabilities

1.8.7 - 2022-10-19

Changes:

  • BUG/MINOR: properly set default value for queue timeout

  • BUG/MAJOR: set hard-stop-after with default value of 30m

  • MINOR: set src-ip-header on default backend

1.8.6 - 2022-09-15

Changes:

  • BUG/MINOR: s6: React to SIGUSR1 when pod is getting deleted

1.8.5 - 2022-09-13

Changes:

  • TEST: ci: extract https tests to separate ci job on github

  • BUG/MINOR: e2e: use correct configmap.yaml file

  • BUILD: ci: speed up ci with parallel start e2e stages

  • TEST/MEDIUM: Use the builtin HTTP server as default backend

  • BUG/MINOR: service: do not override service status

  • BUG/MINOR: avoid hard restarts when using a Global CRD

  • BUG: BackendSwitchingRuleDeleteAll does not delete all rules

  • MEDIUM: Add Cgroups v1 and v2 limits to MEMLIMIT and GOMEMLIMIT calculation

  • MEDIUM: Changes for Go 1.19 runtime

  • MEDIUM: Add GOMEMLIMIT support and switch Go runtime to 1.19

1.8.4 - 2022-08-04

Changes:

  • BUG: fix ssl-redirect precedence order with configmap and ingress

  • BUG/MINOR: Prevent unnecessary reloads when cookie-persistence is enabled

  • BUG/MINOR: triggers a reload if an Ingress is deleted

  • BUG: fixes ssl passthrough disable redirect

  • BUG: fixes error on recreation of default local backend

  • MINOR: add trace logs for endpoints and servers

  • BUG/MINOR: prevents unnecessary reloading when the attribute client-ca is not used.

  • MINOR: fixes log message

  • BUG/MINOR: prevents unecessary restart when using multiple syslog servers

  • BUG/MINOR: fix segfault because ingressclass API is absent (pre v1.18 k8s)

  • BUG/MINOR: process multiple backends per service

  • BUG/MINOR: fix segfault because ingressclass API is absent (pre v1.18 k8s)

  • BUG/MINOR: process multiple backends per service

  • BUG/MINOR: Add -m to HAProxy arguments to set memory limit to 2/3 of RAM

  • BUG/MINOR: Add -m to HAProxy arguments to set memory limit to 2/3 of RAM

  • BUG/MINOR: fix missing pidfile reconfiguration when in external mode

  • BUG/MINOR: fix missing pidfile reconfiguration when in external mode

  • BUG: this commit fixes issues: ip addresses of ingresses updating, creation of ingress delayed

  • BUG: this commit fixes issues: ip addresses of ingresses updating, creation of ingress delayed

1.8.3 - 2022-06-20

Changes:

  • BUG/MINOR: fix segfault because ingressclass API is absent (pre v1.18 k8s)

1.8.2 - 2022-06-17

Changes:

  • BUG/MINOR: process multiple backends per service

1.8.1 - 2022-06-15

Changes:

  • BUG/MINOR: Add -m to HAProxy arguments to set memory limit to 2/3 of RAM

  • BUG/MINOR: fix missing pidfile reconfiguration when in external mode

  • BUG/MINOR: fix missing pidfile reconfiguration when in external mode

  • BUG: this commit fixes issues: ip addresses of ingresses updating, creation of ingress delayed

  • BUG: this commit fixes issues: ip addresses of ingresses updating, creation of ingress delayed

1.8.0 - 2022-06-02

Changes:

  • BUG/MINOR: fix missing pidfile reconfiguration when in external mode

  • BUG: this commit fixes issues: ip addresses of ingresses updating, creation of ingress delayed

  • DOC/MAJOR: update doc to 1.8 version as preparation for the release

  • BUILD/MAJOR: ci: update latest build branch to 1.8

  • DOC: metrics: add default-backend-port, prometheus, pprof to the list of available arguments

  • MINOR: prometheus: set controller port to default if not specified

  • BUG/MINOR: set controller port only if its not set

  • BUG/MINOR: pprof: preserve backwards compatibility with 1.7 setup of pprof

  • CLEANUP/MINOR: extract local services setup to separate functions

  • MAJOR: add default server service behavior to k8s services

  • MAJOR: combine prometheus and pprof on same port

  • TEST: Add a sequential e2e test for map updates

  • OPTIM: Enable dynamic update of HAProxy map files

  • DOC/MEDIUM: annotations: move annotations to separate file

  • BUILD/MAJOR: cn: update client native to v3

  • REORG/MINOR: remove haproxy.Config package

  • REORG/MEDIUM: Process ActiveBackends in haproxy.api package

  • REORG/MINOR: Use an interface in haproxy.maps package

  • REORG/MINOR: Use an interface in haproxy.certs package

  • REORG/MINOR: Use an interface in haproxy.rules package

  • MINOR: add customer resource manager and afferent test

  • REORG/MINOR: add main interface to annotatins package

  • MINOR: add HAProxyClient to controller builder

  • MINOR: add haproxy.Process to controller builder

  • REORG/MAJOR: Move all HAProxy config under haproxy package

  • REORG/MINOR: move annotations package to top level

  • REORG/MINOR: move service and route packages out of controller

  • REORG/MAJOR: Extract k8s dependency from controller struct

  • REORG/MAJOR: Refactor custom resources management into k8s package

  • REORG/MEDIUM: Make controller fields private

  • MEDIUM: Add controller builder

  • REORG/MAJOR: move packages at top level.

  • BUG/MINOR: fix clean-certs default behavior

  • BUG/MINOR: fix client-ca annotation removal

  • BUILD/MAJOR: Upgrade HAProxy version to 2.5

  • BUG/MINOR: Minor spelling mistake fix.

  • MAJOR: Add CAP_NET_BIND to haproxy binary and remove privileged sysctl

  • BUG/MINOR: Fix parsing for load balancing algorithm params

  • BUG/MINOR: Use slice instead of static sized arrays

  • TEST: add CORS configmap e2e tests

  • TEST: add CORS e2e tests

  • BUG: fix removed ACL condition in CORS configuration

  • BUG: reenable cors-allow-credentials annotation

  • BUG: fix reloading haproxy when deletion of rules

  • MINOR: add setting for channels size

  • BUG: fix the name of cors-allow-methods annotation

  • BUG: fix missing cors-enable annotation treatment

  • MINOR: add prometheus endpoint for ingress controller

  • BUG: fix ingress status at creation

  • DOC: Add initial custom resource documentation

  • BUG/MINOR: remove backend cfgSnippet state when backend is deleted

  • BUILD/MINOR: Dockerfile: Warn when TARGETPLATFORM undeclared

  • BUILD/MINOR: Add .dockerignore file

  • MEDIUM: Don’t skip any Ingress event

  • BUG/MINOR: Fix skipped reloads when processing tcp services.

  • BUG/MINOR: Don’t initialize Backend.DefaultServer when not used

  • MINOR: make scale-server-slots annotation available at all scopes

  • BUG/MINOR: Don’t override default-server params in ExternalName services.

  • MINOR: wait for started process with Run call

  • MINOR: expect any podname format in GetPodPrefix

  • BUG: fix frontends management with rules

  • MINOR: add client-strict-sni annotation

  • BUG/MINOR: fixes podprefix test in maxconn calculation after names changed with Helm naming adoption.

  • MINOR: Accept patternfiles in whitelist/blacklists

  • BUG/MINOR: test: haproxy-ingress is in haproxy-controller namespace

  • BUG/MINOR: sync default backend name with config argument

  • BUG/MINOR: sync cm name with config argument

  • BUG/MEDIUM: ssl-passthrough: Fix default delay value

  • BUG/MINOR: fixes ingressclass comparison in modification case

  • TEST/MINOR: Prevent nil pointer dereference.

  • DOC/MINOR: update ingress eligibility rules in documentation

  • MINOR: support default IngressClass

  • DOC/MINOR: update cookie-persistence to describe current implementation

  • BUG/MINOR: Fix an incorrect lookup of the Endpoints corresponding to a Service Port

  • BUG/MINOR: EndpointSlices: ignore non ready endpoints

  • TEST: Add e2e test for non ready endpoints

  • MINOR: skip default service check if absent

  • BUILD: Add configuration for github stale bot

  • BUG/MEDIUM: do not pull echo image from dockerhub, build it locally

  • BUILD/MINOR: ci: Improve autodetection of latest branch

  • BUILD/MINOR: ci: Tag 1.7 branch as latest

  • BUG/MINOR: ingress rule default frontend

  • MINOR: switch default namespace to haproxy-controller in yaml files

  • MINOR: sync k8s resources names with Helm project

  • BUG/MINOR: Fix nil pointer dereference in IngressServiceBackend

  • TEST/MEDIUM: e2e: Retry upon connection failures

  • TEST: add e2e test for proxy-proctol on haproxy side

  • TEST: Add e2e test for errorfiles and patternfiles

  • TEST: e2e: merge DeployYamlTemplate and DeployYalm methods into Apply

  • TEST: e2e: fix https offload to check the right certificate

  • REORG/MINOR: split ErrorFiles handler in smaller functions

  • BUG/MINOR: when ConfigMap is removed, corresponding annotations should be deleted

  • BUG/MEDIUM: Fix inconsistent processing of haproxy files

  • BUG/MEDIUM: Fix relative path of haproxy files.

  • MINOR: fix zombie haproxy process in direct control mode

  • REORG/MINOR: Group informers per resource types

  • BUG/MINOR: Check for EndpointSlicesMirroring before ignoring Endpoints.

  • BUILD/MINOR: ci: build nightly images only on original repo

  • BUILD/MINOR: Enable linters in deploy/test dir

  • DOC/MINOR: Add goreport badge

  • REORG/MINOR: reduce complexity in function called ‘supported’

  • DOC: Add Ingress Controller version to main doc page

  • BUG/MINOR: Fix ingress accepted with ingressClassName set to unexisting ingressclass.

  • BUG/MINOR: Fix nil pointer dereference in Ingress PathType

  • BUG/MINOR: Fix configuration of backend model

  • DOC: Add an IngressClass section

  • BUG/MINOR: Fix IngressClass filtering

  • BUG/MEDIUM: Update only status of assigned Ingress resources

  • REORG: move Ingress handler in a seperate pacakge

  • REORG: Reorganize service handler in controller/service

  • BUG/MINOR: restart haproxy when aux config file added

  • BUILD/MEDIUM: Go: update version to Go 1.17

  • BUILD/MINOR: gitlab: update go version in e2e tests

  • BUILD/MINOR: update client-go library to v0.22.2

  • BUILD/MINOR: update client-native nad config-parser libraries

  • REORG/MINOR: move haproxy certs under haproxy/certs

  • REORG/MINOR: move haproxy rules under haproxy/rules

  • REORG/MINOR: move haproxy maps to haproxy/maps

  • DOC: add contributors and license badges

  • MINOR: CR: Remove ‘nullable: false’ from CRDs

  • BUG/MINOR: Fix backend runtime sync

  • BUILD/MINOR: rbac: Set resources to endpointslices in discovery.k8s.io

  • MINOR: use undercore instead of hyphen for backend names

Version 1.7 Jump to heading

1.7.12 - 2022-05-31

Changes:

1.7.11 - 2022-05-31

Changes:

  • BUG: this commit fixes the two following related issues:

1.7.10 - 2022-04-22

Changes:

  • TEST: add CORS configmap e2e tests

  • TEST: add CORS e2e tests

  • BUG: fix removed ACL condition in CORS configuration

  • BUG: reenable cors-allow-credentials annotation

  • BUG: fix reloading haproxy when deletion of rules

  • MINOR: add setting for channels size

  • BUG: fix the name of cors-allow-methods annotation

1.7.9 - 2022-04-12

Changes:

  • BUG: fix missing cors-enable annotation treatment

1.7.8 - 2022-03-25

Changes:

  • BUG: fix ingress status at creation

  • DOC: Add initial custom resource documentation

  • BUG/MINOR: remove backend cfgSnippet state when backend is deleted

1.7.7 - 2022-03-15

Changes:

  • MEDIUM: Don’t skip any Ingress event

  • BUG/MINOR: Fix skipped reloads when processing tcp services.

  • BUG/MINOR: Don’t initialize Backend.DefaultServer when not used

  • MINOR: make scale-server-slots annotation available at all scopes

  • BUG/MINOR: Don’t override default-server params in ExternalName services.

  • BUG/MINOR: fix frontends management with rules

  • MINOR: expect any podname format in GetPodPrefix

  • MINOR: wait for started process with Run call

1.7.6 - 2022-03-02

Changes:

  • BUG/MINOR: fixes ingressclass comparison in modification case

  • TEST/MINOR: Prevent nil pointer dereference.

  • MINOR: add client-strict-sni annotation

  • BUG/MINOR: fixes podprefix test in maxconn calculation after names changed with Helm naming adoption.

  • MINOR: Accept patternfiles in whitelist/blacklists

  • BUG/MINOR: test: haproxy-ingress is in haproxy-controller namespace

  • BUG/MINOR: sync default backend name with config argument

  • BUG/MINOR: sync cm name with config argument

1.7.5 - 2022-01-31

Changes:

  • BUG/MEDIUM: ssl-passthrough: Fix default delay value

  • DOC/MINOR: update cookie-persistence to describe current implementation

1.7.4 - 2022-01-13

Changes:

  • BUG/MINOR: Fix an incorrect lookup of the Endpoints corresponding to a Service Port

  • BUG/MINOR: EndpointSlices: ignore non ready endpoints

  • TEST: Add e2e test for non ready endpoints

  • MINOR: skip default service check if absent

  • BUG/MEDIUM: do not pull echo image from dockerhub, build it locally

  • BUILD/MINOR: ci: Improve autodetection of latest branch

  • BUILD/MINOR: ci: Tag 1.7 branch as latest

  • BUG/MINOR: ingress rule default frontend

  • MINOR: switch default namespace to haproxy-controller in yaml files

  • MINOR: sync k8s resources names with Helm project

1.7.3 - 2021-12-01

Changes:

  • BUG/MINOR: Fix nil pointer dereference in IngressServiceBackend

  • TEST/MEDIUM: e2e: Retry upon connection failures

  • TEST: add e2e test for proxy-proctol on haproxy side

  • TEST: Add e2e test for errorfiles and patternfiles

  • TEST: e2e: merge DeployYamlTemplate and DeployYalm methods into Apply

  • TEST: e2e: fix https offload to check the right certificate

  • REORG/MINOR: split ErrorFiles handler in smaller functions

  • BUG/MINOR: when ConfigMap is removed, corresponding annotations should be deleted

  • BUG/MEDIUM: Fix inconsistent processing of haproxy files

  • BUG/MEDIUM: Fix relative path of haproxy files.

  • MINOR: fix zombie haproxy process in direct control mode

  • REORG/MINOR: Group informers per resource types

  • BUG/MINOR: Check for EndpointSlicesMirroring before ignoring Endpoints.

  • BUILD/MINOR: ci: build nightly images only on original repo

1.7.2 - 2021-11-12

Changes:

  • BUILD/MINOR: Enable linters in deploy/test dir

  • REORG/MINOR: reduce complexity in function called ‘supported’

  • DOC: Add Ingress Controller version to main doc page

  • BUG/MINOR: Fix ingress accepted with ingressClassName set to unexisting ingressclass.

  • BUG/MINOR: Fix nil pointer dereference in Ingress PathType

1.7.1 - 2021-11-05

Changes:

  • BUG/MINOR: Fix configuration of backend model

  • DOC: Add an IngressClass section

  • BUG/MINOR: Fix IngressClass filtering

  • BUG/MEDIUM: Update only status of assigned Ingress resources

  • REORG: move Ingress handler in a seperate pacakge

  • REORG: Reorganize service handler in controller/service

  • BUG/MINOR: restart haproxy when aux config file added

  • BUILD/MEDIUM: Go: update version to Go 1.17

  • BUILD/MINOR: gitlab: update go version in e2e tests

  • BUILD/MINOR: update client-go library to v0.22.2

  • BUILD/MINOR: update client-native nad config-parser libraries

  • REORG/MINOR: move haproxy certs under haproxy/certs

  • REORG/MINOR: move haproxy rules under haproxy/rules

  • REORG/MINOR: move haproxy maps to haproxy/maps

  • MINOR: CR: Remove ‘nullable: false’ from CRDs

  • BUG/MINOR: Fix backend runtime sync

  • BUILD/MINOR: rbac: Set resources to endpointslices in discovery.k8s.io

1.7.0 - 2021-10-08

Changes:

  • BUILD/MINOR: ci: rework github actions

  • MINOR: Reload if dynamic update of endpoints fail

  • TEST/MINOR: Set max-endpoints-per-slice to 5 for easier testing of slices

  • MEDIUM: Add support for endpoint slices

  • DOC/MAJOR: update active version to 1.7

  • DOC/MINOR: fix tls-alpn version availability

  • MINOR: use dynamic cookies

  • MINOR: CR: enable config-snippets even with CR usage

  • MAJOR: CR: Add core.haproxy.org/v1alpha1.Backend for backend config

  • MEDIUM: backend: move server options to default-server

  • BUILD/MINOR: CI: add support for CI and CR commit subjects in check-commit

  • MINOR: Run Global Cfg handler before haproxy startup

  • MINOR: remove defaults section from stock config

  • MINOR: CR: assign global and defaults CR via global annotations

  • MEDIUM: CR: Add LogTargets to Global CR

  • BUG/MINOR: CR: fix redundant RuntimeAPI field in Global CR

  • MINOR: CR: Log available CRs instead of missing ones

  • MINOR: CR: Pin code-generator version to k8s.io/api one

  • MINOR: configSnippets: use go-test/deep instead of reflect for deep equal

  • MEDIUM: handle annotations parsing in annotations package

  • REORG/MINOR: Remove “GetAnnotations” Prefix in annotations methods

  • MINOR: add TARGETPLATFORM to docker build in Makefile

  • MINOR: add rbac for haproxy crds

  • BUG/MINOR: Prevent crash when POD_NAME is not correctly formatted

  • MINOR: add distribution of connections setting

  • BUG/MINOR: process template placeholders in log line

  • DOC: Added quotes to ‘scale-server-slots’ value.

  • DOC/MINOR: docs: update configmap docs

  • MEDIUM: https: Implement tls-alpn configuration

  • BUG/MINOR: Remove goproxy from Dockerfile

  • BUG/MINOR: fix incorrect dependency in go.mod

  • MINOR: Reload instead of restarting when frontend cfg snippet is updated

  • MINOR: Set default values for defaults HAProxy config section

  • MAJOR: Custom Resource: Add core.haproxy.org/v1alpha1.Defaults

  • MINOR: Set default values for global HAProxy config

  • MAJOR: Custom Resource: Add core.haproxy.org/v1alpha1.Global

  • MINOR: api: return global model by pointer and add logging

  • MEDIUM: Custom Resource: Document CR creation workflow and add code generators

  • MEDIUM: Custom Resource: add CR manager

  • TEST/MINOR: e2e: set maxconn value in configmaps

  • MINOR: reorg auxiliary config file management

  • MINOR: add recover in main.go to report silent error

  • BUILD/MEDIUM: go: use Go 1.17

  • BUILD/MINOR: gitlab: perform go mod tidy check

  • BUILD/MINOR: github: perform go mod tidy check

  • BUG/MINOR: annotations: Fix cfgSnippets update

  • TEST/MINOR: check for unnecessary reload

  • REORG/MEDIUM: annotations: move Ingress annoations to annotation package

  • MINOR: basic auth: handle userList creation/deletion in the haproxy package

  • REORG/MEDIUM: HAProxy rules: handle ingress rule IDs at the controller level

  • BUG/MEDIUM: server annotations triggering update all the time

  • BUG/MINOR: annotations: log targets updates are not loaded

  • BUG/MINOR: annotations: cfgSnippet updates are not loaded

  • REORG/MEDIUM: annotations: move annotations related methods from store package to annotation package

  • REORG/MEDIUM: annotations: group annotations in separate packages

  • MEDIUM: annotations: merge Parse and Update methods

  • CLEANUP/MINOR: ci: HAProxy binary is no longer needed for e2e tests

  • CLEANUP/MINOR: ci: HAProxy is no longer needed for unit tests

  • MINOR: doc: add info that some arguments are only available in external mode

  • CLEANUP/MINOR: remove debug line from doc generation

  • DOC: fix documentation from commit a2e574be

  • Add proxy-v2-ssl and proxy-v2-ssl-cn

  • BUG/MINOR: fix balance management

  • DOC: add TARGETPLATFORM as now needed due to support of multiplatform image

  • MAJOR: use client-go v0.21.3

  • BUG/MINOR: remove unused file from workflow

  • TEST: ci: unify github and gitlab test env

  • MEDIUM: S6 unprivileged mode fixes

  • REORG: test: add TARGETPLATFORM required for s6 int system

  • MINOR: Remove -x argument from HAProxy s6 service run

  • MEDIUM: s6 related Docker image modifications

  • OPTIM/MEDIUM: Update Ingress status in a seperate goroutine

  • MINOR: use Deep Equal method from “github.com/go-test/deep”

  • BUG/MEDIUM: CN models should be passed by reference when compared via DeepEqual

  • REORG/MINOR: ci: add flag to ci build to stop process if fail happen

  • MINOR: add implementation specific path type in ingress rules

  • BUILD: ci: remove two k8s environments

  • BUILD: makefile: add example-rebuild

  • MINOR: configuration: always create default cfg file on start

  • BUG/MINOR: logFormat: put value between quotes to escape spaces

  • OPTIM/MAJOR: Convert annotations type to simple string

  • OPTIM/MINOR: Ignore “Status” in TLS authentication annotations

  • OPTIM/MINOR: Ignore “Status” in TCP Services annotations

  • OPTIM/MEDIUM: Rewrite ErrorFiles and PatternFiles handlers

  • OPTIM/MINOR: Ignore “Status” in routeACL annotation

  • OPTIM/MEDIUM: Ignore “Status” in ingress annotations

  • OPTIM/MEDIUM: Ignore “Status” from server, backend and global annotations

  • MINOR: No need to return secret status in HandleTLSSecret

  • MINOR: Remove default server weight value: 128

  • CLEANUP/MINOR: remove Selector from Service

  • BUG/MINOR: path type according api version

  • MEDIUM: add support for s6 init system

  • REORG/MINOR: haproxy: move logic to control HAProxy into a separate package

  • MINOR: upgrade config parser to v4

  • MAJOR: add option to disable forwarding to ExternalName Services

  • BUILD: ci: use local k8s images to avoid rate limit

  • BUILD: add action for goreleaser that releases on every tag

  • TEST: kind: update to v0.11.1

  • BUG/MINOR: fix header value handling in request-set-header and response-set-header

  • BUG/MINOR: fix name inversion with annotation timeout-check

  • MINOR: Add ‘client-crt-optional’ global annotation to make client certificate verification optional

  • BUG/MINOR: tcp service should respect --disable-ipv4/ipv6 flags

  • BUG/MINOR: synchronize servers when Endpoints ports change

  • BUG/MAJOR: external mode: set all paths

  • BUILD: docker: Make sure to do a deep clone for nightly builds.

  • BUILD: docker: Add building nightly from master/main branch.

  • BUG/MINOR: support protocol h1 with backend SSL

  • BUILD/MAJOR: haproxy: upgrade release to 2.4

  • MINOR: annotations: print annotation name in error logs

  • MAJOR: Client-Native: Use validation

  • MINOR: Remove Unit tests for global annotations

  • MAJOR: api: use client-native instead of config-parser for global config/annotations

  • BUILD/MAJOR: Upgrade Client-Native to v2.4.0

  • BUG/MINOR: remove cookie keyword from backend section if the annotation was deleted

  • BUILD: docker: Remove linux/ppc64le target to have parity with HAProxy Alpine images

  • BUILD: docker: Remove GOOS and GOARCH and use dumb-init from distro

  • BUG/MINOR: bind TCP services on adresses passed via flags --ipv4-bind-address and --ipv6-bind-address

  • BUG/MINOR: pprof handler should be called in sync loop

  • BUG/MINOR: external mode: copy haproxy.cfg form usr/local/etc/haproxy

  • CLEANUP/MINOR: move slice items to sepparate lines

  • BUILD: CI: Add Docker Hub Readme autogen Github Action

  • DOC: Generalizes the ‘backend-config-snippet’ example

  • BUILD: docker: Add Github actions for auto and manual multiarch builds for Docker Hub.

  • BUILD: docker: use usr/local/etc/haproxy as base dir

  • BUILD/MINOR: add go releaser for outside of cluster ingress controller

  • DOC: proxy-protocol: document 0.0.0.0/0 CIDR

  • DOC: Add doc guide for the secondary haproxy config file

  • BUG/MINOR: whitelist misconfigured if CM namespace not also whitelisted

  • DOC: Add IngressClass description

  • BUG/MINOR: Update config on ConfigMap added event

  • BUG/MEDIUM: Fix nil pointer dereference in EventEndpoints

  • DOC: update frontend-config-snippet

Version 1.6 Jump to heading

1.6.9 - 2022-01-13

Changes:

  • BUG/MINOR: Fix an incorrect lookup of the Endpoints corresponding to a Service Port

  • BUILD/MINOR: ci: Improve autodetection of latest branch

  • BUILD/MINOR: ci: Tag 1.7 branch as latest

1.6.8 - 2021-12-01

Changes:

  • BUG/MINOR: Fix nil pointer dereference in IngressServiceBackend

  • BUG/MEDIUM: Update only status of assigned Ingress resources

  • MINOR: Run Global Cfg handler before haproxy startup

  • BUG/MINOR: process template placeholders in log line

  • TEST/MINOR: e2e: set maxconn value in configmaps

  • MAJOR: use client-go v0.21.3

1.6.7 - 2021-09-07

Changes:

  • MINOR: reorg auxiliary config file management

  • MINOR: add recover in main.go to report silent error

  • BUILD/MEDIUM: go: use Go 1.17

  • BUG/MINOR: remove unused file from workflow

1.6.6 - 2021-08-05

Changes:

  • TEST: Kind: update to v0.11.1

  • OPTIM/MEDIUM: Update Ingress status in a seperate goroutine

1.6.5 - 2021-07-15

Changes:

  • MAJOR: add option to disable forwarding to ExternalName Services

  • BUILD: add action for goreleaser that releases on every tag

1.6.4 - 2021-07-12

Changes:

  • BUG/MINOR: fix header value handling in request-set-header and response-set-header

  • BUG/MINOR: fix name inversion with annotation timeout-check

1.6.3 - 2021-06-16

Changes:

  • MINOR: annotations: print annotation name in error logs

  • BUG/MINOR: tcp service should respect --disable-ipv4/ipv6 flags

  • BUG/MINOR: synchronize servers when Endpoints ports change

  • BUG/MAJOR: external mode: set all paths

  • BUG/MINOR: support protocol h1 with backend SSL

1.6.2 - 2021-05-27

Changes:

  • BUG/MINOR: remove cookie keyword from backend section if the annotation was deleted

  • BUILD: docker: Remove linux/ppc64le target to have parity with HAProxy Alpine images

  • BUILD: docker: Remove GOOS and GOARCH and use dumb-init from distro

  • BUG/MINOR: bind TCP services on adresses passed via flags --ipv4-bind-address and --ipv6-bind-address

  • BUG/MINOR: pprof handler should be called in sync loop

  • BUG/MINOR: external mode: copy haproxy.cfg form usr/local/etc/haproxy

  • DOC: Generalizes the ‘backend-config-snippet’ example

  • BUILD: docker: Add Github actions for auto and manual multiarch builds for Docker Hub.

1.6.1 - 2021-05-17

Changes:

  • BUILD: docker: use usr/local/etc/haproxy as base dir

  • BUILD/MINOR: add go releaser for outside of cluster ingress controller

  • DOC: proxy-protocol: document 0.0.0.0/0 CIDR

  • DOC: Add doc guide for the secondary haproxy config file

  • BUG/MINOR: whitelist misconfigured if CM namespace not also whitelisted

  • DOC: Add IngressClass description

  • BUG/MINOR: Update config on ConfigMap added event

  • BUG/MEDIUM: Fix nil pointer dereference in EventEndpoints

  • DOC: update frontend-config-snippet

1.6.0 - 2021-05-03

Changes:

  • DOC/MINOR: update documentation - curent released version is 1.6

  • MEDIUM: Add auxiliary HAProxy config file

  • REORG/MINOR: add reload/restart attributes to Controller sruct

  • MEDIUM: Add ConfigMap for PatternFiles

  • REORG/MINOR: provide osArgs at controller creation

  • REORG/MEDIUM: Move config update done at startup to handlers module

  • CLEANUP/MINOR: Remove unused field serverlessPods

  • BUG/MINOR: Fix incorrect parsing of certificate file name

  • BUG/MINOR: enable ingress multi configurations for same path and distinct path types

  • REORG/MEDIUM: Move controller handlers to seperate module

  • REORG/MINOR: use sections names from controller confi struct

  • REORG/MAJOR: Move controller configuration to a seperate module.

  • REORG/MINOR: define haproxy map names in haproxy/maps.go

  • BUILD/MINOR: check-commit: pin version of image

  • BUILD/MINOR: check-commit: trigger only on pull requests

  • BUILD/MEDIUM: Go: update version to Go 1.16

  • BUG/MINOR: Fix address parsing in proxy-protocol annotation

  • BUG/MEDIUM: reset ActiveBackends when cleaning controller config

  • BUG/MEDIUM: certs refresh: fix nil pointer dereference

  • MINOR: Add clean-certs annotation to toggle certificates clean up

  • DOC: Provide commands for secret creation

  • BUG/MINOR: Fix regression when loading multiple cert formats

  • BUG/MINOR: Controller should populate refreshed maps.

  • DOC: Add route-acl description and instructions to use canary deployment

  • TEST: e2e: Add canary deployment test

  • MEDIUM: Add service annotation “route-acl”

  • REORG/MINOR: Rename HAProxy vars used for backendSwitching

  • DOC: Add clarification about annotations scope

  • TEST: e2e: update test application and README

  • TEST: e2e: move global-config to sequential pipeline

  • MINOR: disable naked return linter (nakedret)

  • BUILD: github-ci: adjust fetch-depth

  • BUG/MINOR: fix blacklist and proxy protocol duplication

  • BUG/MINOR Increase hash from 32 to 128 bits

  • BUG/MINOR: fix whitelist duplication

  • DOC/MINOR: spell check docs and remove excess spacing

  • TEST/MINOR: e2e test: increase tickDuration for rate-limiting

  • MINOR: add empty-ingress-class ingress controller option

  • MINOR: fix secret type in default certificate management

  • OPTIM/MINOR: remove TODO in code and enable godox linter

  • REORG/MINOR: move code handling global config to a seperate file global.go

  • REORG/MAJOR: handle ingress routes and services seperately

  • REORG/MINOR: Move all controller types, vars, consts to types.go

  • REORG/MINOR: strip HAProxy prefix from controllers vars

  • REORG/MAJOR: move configmaps from map struct to dedicated fields

  • TEST/MEDIUM: e2e: add gobal-config test suite

  • TEST/MINOR: e2e rate-limiting: adjust thresholds

  • BUG/MINOR: rate-limiting: preserve counters after reload

  • DOC/MINOR: Fix bug in doc generation

  • MINOR: Add stats-config-snippet support

  • TEST: e2e: Add config-snippet tests

  • DOC: Add frontend-config-snippet description

  • MEDIUM: Add frontend-config-snippet support

  • TEST/MINOR: tlsAuth e2e test: expect tls alert(116)

  • MINOR: don’t blacklist kube-system namespace

  • REORG/MINOR: move code handling readiness endpoint to a seperate function

  • REORG/MEDIUM: move updateHAProxySrvs function to api module

  • CLEANUP/MINOR: remove unused github actions directory

  • BUILD/MINOR: update check-commit to v2.0.0

  • MINOR: Add debug logs to trace reload related actions

  • OPTIM/MINOR: decrease log severity of verbose logs from debug to trace

  • BUG/MINOR: don’t reload when the order of map entries change in HAProxy map files.

  • TEST/MINOR: gitlab: checking diff for generated code

  • BUILD/MEDIUM: makefile: add makefile to project to grup common tasks

  • CLEANUP/MINOR: clean with go mod tidy

  • MINOR: ci: update check-commit msg action

  • DOC: Improve TLS offloading documentation

  • DOC/MINOR: changes ‘configmap-errorfile’ to ‘configmap-errorfiles’ docs

  • TEST/MINOR: github: checking for generated files diff

  • TEST: Add client TLS authentication

  • DOC: add client TLS Authentication

  • MEDIUM: add mtls client side

  • TEST/MINOR: Deploy default-backend in IC Namespace

  • BUG/MINOR: tcp-services: add additional input validation to avoid nil pointer dereference

  • REORG: contract “Service” to “Svc” in IngressPath fields

  • REORG: endpoints: getEndpoints() now returns errors instead of logging them

  • BUG/MINOR: Fix failure in port lookup when servicePort different from containerPort.

  • TEST/MINOR: port_discovery: adjust http port to make test more accurate

  • OPTIM/MAJOR: k8s events: remove intermediate channels

  • REORG/MINOR: k8s events: Move handling Ingress informers to seperate function

  • MEDIUM: k8s events: don’t wait for Main ConfigMap Processing

  • REORG/MINOR: monitor.go: Move handling configMapArgs and WhitelistedNamespaces in seperate functions

  • DOC/MINOR: Document building External Ingress Controller

  • DOC/MINO: Improve tcp-services doc

  • BUG/MINOR: Fix regression regarding k8s servicePort lookup

  • TEST: Add e2e test for servicePort discovery

  • BUG/MEDIUM: sslPassthrough: “accept tcp rule” stops rules processing.

  • BUG/MEDIUM: incorrect http rules configuration with SSLPassthrough

  • TEST: https: Add more SSLPassthrough tests

  • TEST/MEDIUM: Seperate sequential and parallel e2e tests

  • TEST: Cleanup unused code

  • TEST: Reorg set header test

  • TEST: Reorg send proxy test

  • TEST: Reorg rate limiting test

  • TEST: Reorg ingress match test

  • TEST: Reorg https tests

  • TEST: Reorg source ip test

  • TEST: Reorg basic auth test

  • TEST: Reorg IngressClass test

  • TEST: Reorg endpoints-update

  • TEST/MAJOR: Boilerplate code to reorg e2e tests and use testify/suite

  • TEST/MEDIUM: Change tests path from deploy/kind/tests to deploy/tests/e2e

  • BUG/MINOR: healthz: listen on IPv6 too

  • BUG/MEDIUM: stats frontend: listen IPv6 if possible

  • BUILD/MINOR: gitlab-ci: update test lint stages

  • BUG/MEDIUM: drop dynamic map update

  • BUG/MEDIUM: haproxy rules should be mapped to ingress.Namespace+ingress.Name

  • MINOR: Make src-ip-header annotation available by Ingress

  • BUG/MEDIUM: services: don’t create frontend if corresponding default_backend is not ready

  • BUG/MEDIUM: servicePort should be resolved before constructing backendName

  • BUG/MEDIUM: http rules: ineffectual delete operation when refreshing rules

  • MEDIUM: map file: flush content to disk

  • MINOR: Add tracing logs

  • BUG/MINOR: Don’t mix controller logger and k8s client logger

  • OPTIM/MEDIUM: Don’t watch multiple Ingress APIs at the same time

  • BUG/MINOR: maps: use Warningf instead of Warning

  • MINOR: external mode: if stock haproxy.cfg not found check in config-dir

  • DOC: Document External Controller mode

  • REORG/MINOR: rename OutOfCluster controller arg to External

  • MINOR: log panic errors in kubernetes.go

  • BUILD: gitlab-ci: use CI registry via CI_REGISTRY_GO env variable

  • BUG/MINOR: Delete certificates as soon as tls secrets are deleted

  • OPTIM/MINOR: Don’t process Ingress with DELETED status

  • BUG/MEDIUM: need to reload when failing dynamic map update

  • BUILD/MINOR: Update Client-Native module

  • MINOR: controller: handle graceful shutdown

  • OPTIM/MINOR: Enable readiness endpoint after first config sync

  • REORG/MINOR: use client-native to configure bind lines

  • BUG/MINOR: Add haproxy txn.base var to stats frontend

  • BUILD/MINOR: linter: Fix ‘nakedret’ check

  • BUILD/MINOR: linter Fix ‘maligned’ check

  • BUILD/MINOR: linter Fix ‘prealloc’ check

  • BUILD/MINOR: linter: Fix ‘gosec’ check

  • BUILD/MINOR: linter Fix ‘nolintlint’ check

  • BUILD/MINOR: linter Fix ‘errorlint’ check

  • BUILD/MINOR: linter: Fix ‘testpackage’ check

  • BUILD/MINOR: linter: Fix ‘misspell’ check

  • BUILD/MINOR: linter: Fix ‘whitespace’ check

  • BUILD/MINOR: linter: Fix ‘commentFormatting’ check

  • BUILD/MEDIUM: Upgrade linter to 1.33

  • BUILD/MINOR: docker: upgrade dumb-init to latest version

  • CLEANUP/MINOR: build: remove unused openrc when building image

  • BUG/MINOR: fix source map file of acl in proxy protocol

  • BUILD/MINOR: deploy files: fix typo in ingressclasses name

  • DOC: Set active_version to 1.5

Version 1.5 Jump to heading

1.5.6 - 2021-04-29

Changes:

  • BUG/MEDIUM: Fix nil pointer dereference in EventEndpoints

  • BUG/MINOR: Controller should populate refreshed maps.

  • BUILD/MINOR: check-commit: pin version of image

  • BUILD/MINOR: check-commit: trigger only on pull requests

  • BUILD/MINOR: ci: update check-commit msg action

  • BUG/MINOR: Fix incorrect parsing of certificate file name

  • BUG/MINOR: enable ingress multi configurations for same path and distinct path types

1.5.5 - 2021-04-12

Changes:

  • BUG/MINOR: Fix address parsing in proxy-protocol annotation

  • BUG/MEDIUM: certs refresh: fix nil pointer dereference

  • BUG/MINOR: Fix regression when loading multiple cert formats

  • BUG/MINOR: fix blacklist and proxy protocol duplication

  • BUG/MINOR: fix whitelist duplication

  • TEST/MAJOR: e2e: update test application and README

  • TEST/MINOR: e2e test: increase tickDuration for rate-limiting

  • TEST/MINOR: e2e rate-limiting: adjust thresholds

  • BUG/MINOR: fix secret type in default certificate management

  • BUG/MINOR: rate-limiting: preserve counters after reload

1.5.4 - 2021-03-20

Changes:

  • MINOR: emit a warning if Main ConfigMap is not found

  • MINOR: Add debug logs to trace reload related actions

  • OPTIM/MINOR: decrease log severity of verbose logs from debug to trace

  • BUG/MINOR: don’t reload when the order of map entries change in HAProxy map files.

1.5.3 - 2021-03-10

Changes:

  • BUG/MINOR: tcp-services: add additional input validation to avoid nil pointer dereference

  • REORG: contract “Service” to “Svc” in IngressPath fields

  • REORG: endpoints: getEndpoints() now returns errors instead of logging them

  • BUG/MINOR: Fix failure in port lookup when servicePort different from containerPort.

  • TEST/MINOR: port_discovery: adjust http port to make test more accurate

  • BUILD: Fix gitlab-ci linting directive

  • DOC/MINOR: Document building External Ingress Controller

  • DOC/MINO: Improve tcp-services doc

1.5.2 - 2021-03-05

Changes:

  • BUG/MINOR: Fix regression regarding k8s servicePort lookup

  • TEST: Add e2e test for servicePort discovery

  • BUG/MEDIUM: sslPassthrough: “accept tcp rule” stops rules processing.

  • BUG/MEDIUM: incorrect http rules configuration with SSLPassthrough

  • TEST: https: Add more SSLPassthrough tests

  • TEST/MEDIUM: Seperate sequential and parallel e2e tests

  • TEST: Cleanup unused code

  • TEST: Reorg set header test

  • TEST: Reorg send proxy test

  • TEST: Reorg rate limiting test

  • TEST: Reorg ingress match test

  • TEST: Reorg https tests

  • TEST: Reorg source ip test

  • TEST: Reorg basic auth test

  • TEST: Reorg IngressClass test

  • TEST: Reorg endpoints-update

  • TEST/MAJOR: Boilerplate code to reorg e2e tests and use testify/suite

  • TEST/MEDIUM: Change tests path from deploy/kind/tests to deploy/tests/e2e

  • BUG/MINOR: healthz: listen on IPv6 too

  • BUG/MEDIUM: stats frontend: listen IPv6 if possible

  • BUILD/MINOR: gitlab-ci: update test lint stages

  • BUG/MEDIUM: drop dynamic map update

  • BUG/MEDIUM: haproxy rules should be mapped to ingress.Namespace+ingress.Name

  • MINOR: Make src-ip-header annotation available by Ingress

  • BUG/MEDIUM: services: don’t create frontend if corresponding default_backend is not ready

  • BUG/MEDIUM: servicePort should be resolved before constructing backendName

  • BUG/MEDIUM: http rules: ineffectual delete operation when refreshing rules

  • MEDIUM: map file: flush content to disk

  • MINOR: Add tracing logs

  • BUG/MINOR: Don’t mix controller logger and k8s client logger

  • OPTIM/MEDIUM: Don’t watch multiple Ingress APIs at the same time

  • BUG/MINOR: maps: use Warningf instead of Warning

  • MINOR: external mode: if stock haproxy.cfg not found check in config-dir

  • DOC: Document External Controller mode

  • REORG/MINOR: rename OutOfCluster controller arg to External

  • MINOR: log panic errors in kubernetes.go

  • BUILD: gitlab-ci: use CI registry via CI_REGISTRY_GO env variable

  • BUILD/MINOR: linter Fix ‘maligned’ check

  • BUG/MINOR: Delete certificates as soon as tls secrets are deleted

  • OPTIM/MINOR: Don’t process Ingress with DELETED status

1.5.1 - 2021-02-03

Changes:

  • BUG/MEDIUM: need to reload when failing dynamic map update

  • BUILD/MINOR: Update Client-Native module

  • MINOR: controller: handle graceful shutdown

  • OPTIM/MINOR: Enable readiness endpoint after first config sync

  • REORG/MINOR: use client-native to configure bind lines

  • BUG/MINOR: Add haproxy txn.base var to stats frontend

  • BUG/MINOR: fix source map file of acl in proxy protocol

  • BUILD/MINOR: deploy files: fix typo in ingressclasses name

  • DOC: Set active_version to 1.5

1.5.0 - 2021-01-21

Changes:

  • BUG/MINOR: Don’t fail if ExternalName Service is not resolving

  • BUG/MAJOR: clean controller state even when HAProxy sync fails

  • DOC: Add CORS annotations

  • MEDIUM: Add CORS support via HAProxy response rules

  • REORG/MINOR: Frontend annotations: reorg handlers

  • DOC/MEDIUM: Fixed doc formatting

  • REORG/MEDIUM: haproxy rules: handle Ingress ACL at the api client level

  • BUG/MEDIUM: don’t clear ruleIDs buffer when handling ingress rules

  • DOC: fix typos in --configmap-errorfile argument

  • DOC: add auth-realm annotation

  • MINOR: add auth-realm annotation

  • MINOR: basic-auth: ignoring last character ‘\n’ in password

  • MINOR: basic-auth: keep haproxy auth rule even if auth-secret is not available

  • REVERT: commit 2ebd7ef4008fb42d251e9fa8627bfe0c17d5079c

  • BUILD/MINOR: update check-commit action

  • DOC/MEDIUM: Replaced

     tags with Markdown code blocks. Put code keyword backticks around some keywords. Improved grammar in a few descriptions. Changed the ‘auth-secret’ definition so that the description of the values is under the values key instead of the description key. This makes the table where we show the description only more succinct. For ‘auth-type’ and ‘auth-secret’, the example now shows both of these keys together because they are dependant upon one another.

  • DOC/MINOR: Edit config-snippet description

  • DOC: recover --configmap-errorfile doc lost in b1d44b902

  • BUG/MEDIUM: avoid nil pointer dereference in k8s versions < 1.14

  • BUG/MINOR: avoid nil pointer dereference in basic-auth handling

  • DOC: add documentation of request-redirect and request-redirect-code annotations

  • MINOR: Add HTTP redirection with annotation “request-redirect”

  • DOC: Add more details about basic-auth

  • OPTIM/MINOR: basic-auth optimizations

  • BUG/MINOR: basic-auth: haproxy needs to be reloaded after credentials update

  • CLEANUP/MINOR: haproxy module: remove unused code left from refactor in 80839ac88

  • CLEANUP/MINOR: cleanup when handling deleted ingress annotations

  • DOC: Update cookie persistence description

  • REORG/MINOR: simplify handling of cookie persistence

  • BUILD/MEDIUM: e2e tests: use k8s versions ‘v1.19.3’, ‘v1.18.6’, ‘v1.17.5’.

  • BUILD/MINOR: update RBAC in deploy files to fetch ingressclasses

  • TEST: Add IngressClass e2e test

  • BUG/MEDIUM: Fixing IngressClass support

  • MINOR: Rely on APIResourceList for Ingress API Discovery

  • TEST/MEDIUM: Set waitDuration to 15s and tickDuration to 2s

  • REORG/MINOR: haproxy rules: handle RuleIDs inside haproxy module

  • REORG/MINOR: split annotations.go in different files

  • CLEANUP/MINOR: remove cfgsnippet code left from refactor on 80839ac88

  • DOC: add ssl-redirect-port annotation documentation

  • MINOR: HTTPS redirection port freely adjustable in HTTP to HTTPS redirection.

  • DOC: split config-snippet into global and backend declinations

  • REORG/MAJOR: refactor global and backend annotations

  • MINOR: HandleTLSSecret returns an error type instead of store.Status

  • CLEANUP/MINOR: Maps: Remove unused code

  • DOC: server-ca/server-crt/server-proto documentation

  • MEDIUM: add server-ca and server-crt annotations.

  • REFACTOR/MEDIUM: refactor secrets handling code and move it to haproxy package

  • MINOR: Servers: add server-proto annotation

  • MINOR: formatting startup logs

  • BUG/MINOR: Endpoints: trigger a reload if dynamic update fails

  • MINOR: use numbers instead of random string in server names

  • REORG/MEDIUM: Use array instead of map for endpoints

  • DOC: add scale-server-slots annotation

  • MEDIUM: endpoints: don’t limit haproxy backend scaling

  • REORG/MINOR: Endpoints: remove AddrsUsed field

  • BUG/MEDIUM: Endpoints: addresses should be passed by value to PortEndpoints

  • BUG/MEDIUM: endpoints state is not synced when they scale down to zero

  • BUG/MINOR: Prevent aligning of backends for externalName services

  • MINOR: replace shell processes with system calls

  • MAJOR: build: using by default GODEBUG=madvdontneed=1

  • DOC: Update documentation link

  • BUG/MINOR: Srv annotations: preserve reload status

  • MEDIUM: runtime-maps: dynamic update

  • BUILD/MINOR: client-native: update to latest

  • MEDIUM: remove MapID and use simple string instead

  • MINOR: maps: add preserve flag

  • MINOR: HAProxy Backend: reload only when creating new backends

  • MEDIUM: HAProxy rules: reload only when creating new rules

  • TEST/MINOR: PathTypeExact is not available before k8s 1.18

  • MINOR: Fix linting issues

  • CLEANUP/MINOR: No need for ACL in X-Forwarded-Proto

  • MINOR: Ingres rules: support Prefix PathType.

  • MINOR: Ingress rules: support Host wildcard

  • TEST/MINOR: Test Ingress rules matching

  • CLEANUP/MINOR: maps: remove unused error functions

  • BUILD/MAJOR: unprivileged container: use k8s securityContext

  • BUILD/MINOR: update deploy files to include networking.k8s.io

  • TEST/MINOR: enable HAProxy stdout logging

  • REORG/MINOR: Add missing new lines at the end of some files

  • DOC/MINOR: add example how kind environment can be run

  • CLEANUP/MINOR: kind: lock k8s version to be more consistent

  • CLEANUP/MINOR: rephrase HAProxy config sync log message

  • BUILD/MAJOR: allow go optimisations

  • BUG/MINOR: Remove lowercasing on path

  • BUILD/MEDIUM: Use InitContainers to configure unprivileged ports

  • BUILD/MAJOR: Run ingress controller in Rootless container

  • BUILD/MEDIUM: dockerfile: reducing container image layers with optimization

  • BUILD/MINOR: haproxy: bumping to release 2.3

  • TEST/MINOR: Merge Host and Path ingress match tests

  • TEST/MEDIUM: Use the same deployment image for all tests

  • TEST/MINOR: Add multiple Ingress rules to a new Ingress

  • TEST/MINOR: No need for release parameter

  • TEST/MINOR: Fix some naming issues.

  • BUG/MINOR: Removed secrets are not deleted from store

  • BUG/MINOR: Don’t replicate HAProxy rules

  • MAJOR: change HAProxy rules matching

  • MAJOR: backend switching: use Haproy Map Files

  • BUG/MINOR: The FORWARDED_PROTO rule should be a request rule and not a response one.

  • MINOR: handle multiple default routes

  • MINOR: api: avoid a nil pointer dereference with APIStartTransaction

  • MINOR: use HAProxyBinary variable instead of hardcoded “haproxy”

  • BUG/MEDIUM: all backend servers are deleted when there are more servers than server-slots

  • BUG/MINOR: user defined default backends should be marked on activeBackends.

  • BUG/MINOR: ssl-passthroug: uses incorrend backend name.

  • TEST/MINOR: Check if Namespace exists before creation

  • BUG/MEDIUM: endpoints: set BackendName

  • TEST: Run tests in specific NS

  • REORG/MINOR: handlers: add refresh handler

  • MAJOR: refactor and move Ingress routes related task to a different package.

  • REORG/MAJOR: ingress: use ingressRoute struct storing the context of an IngressPath

  • MINOR: logging: change formatting of few logs

  • DOC/MINOR: backport hard-stop-after annotation to v1.4

  • DOC/MINOR: backport server-slots annotation to v1.4

  • BUG/MEDIUM: endpoints: Mixing addresses related to different ports

  • OPTIM/MEDIUM: restrict backend servers to server-slots value

  • BUILD/MINOR: github: bumping up golangci-lint GitHub action

  • BUILD/MINOR: github: Upgrading KinD action due to deprecation path

  • DOC/MINOR: documenting Basic Authentication Ingress annotations

  • CLEANUP/MINOR: fmt: resolving goimports formating

  • TEST/MINOR: integration test for Basic Auth

  • TEST/MINOR: failing in case of unrecoverable error

  • REORG/MINOR: test: giving more context on kind of Secret creating

  • MEDIUM: frontend: supporting Basic Authentication

  • BUILD/MINOR: increasing golang-ci lint timeout

  • TEST: reorg: avoiding nil pointer dereference and naming uniformity

  • DOC/MINOR: annotation rate-limit-size is handled at Ingress level too

  • DOC: fixing typo on indentation

  • MINOR: HAProxy maps: simplify content management.

  • CLEANUP: haproxy rules: no need for MapID index.

  • REORG: group in same file functions of same logic

  • DOC/MINOR: Fix ambiguous whitelist description

  • TEST/MAJOR: tests: add kind tests to gitlab ci

  • DOC: hard-stop-after annotation

  • MINOR: Add global annotation: hard-stop-after

  • MINOR: typo: various grammatical typo

  • TEST/MINOR: testing set-src-ip and blacklist annotations

  • DOC/MINOR: documenting the src-ip-header global annotation

  • MINOR: adding set source rule as global annotation

  • TEST/MINOR: set-host as Ingress annotation

  • TEST/MINOR: testing set header for request and response

  • TEST/MINOR: Ingress rate limiting (requests, period, custom code)

  • BUG/MEDIUM: access control: fixing rules order

  • BUG/MEDIUM: rate-limite: tracking tables not created

  • BUG/MEDIUM: crash if no controller class provided.

  • MINOR: properly handle transaction dir in test suite

  • BUG/MINOR: deleting frontend rules in f69b22a may leave old rules.

  • MINOR: Add “program” controller arg.

  • MAJOR: Configure an HAProxy instance outside of k8s.

  • MINOR: Setup HAProxy config directory when running out of k8s cluster

  • REORG: make HAProxyCfgDir a global variable

  • BUILD: upgrade to config-parser v3

  • MINOR: Change initial socket path for bind lines

  • REORG: Remove “Set” prefix from global API funcs

  • MINOR: ingress: using GetValueFromAnnotations for ingress class name retrieval

  • BUILD/MINOR: supporting networking.k8s.io ingress and ingressclass

  • MEDIUM: fixing e6dd2b3 and making IngressClass no more mandatory

  • MINOR: ingress: handling exact path matching

  • MINOR: ingress: supporting IngressClass by networking.k8s.io

  • DOC/MINOR: typo on docs and source code

  • MEDIUM: supporting kubernetes 1.19 (networking.k8s.io ingress)

  • OPTIM/MINOR: controller: using struct events channel

  • MINOR: Add stacking errors

  • MAJOR: Refactor HAProxy Rules and move them to a seperate package.

  • REORG: maps: rename key to mapID

  • TEST/MINOR: kind: run create.sh from any directory

  • BUILD: github: too many white-spaces

  • BUILD: github: decoupling lint and commit subject

  • TEST/MAJOR: reorg and fixing various test cases

  • TEST/MINOR: upstream proxy-protocol v1

  • BUILD: Fix linting: capitalized error string

  • BUG/MINOR: endpoints: abort processing when TargetPort not found

  • BUG/MEDIUM: handlers: Configuration should be passed by reference

  • BUG/MEDIUM: ssl-passthrough confilicts with ssl-offloading

  • BUG: ssl offloading, Fix typo in offloading condition introduced in 91bccbe

  • BUG/MAJOR: fixing ssl offloading regression introduced in db51a5dbb6

  • BUG/MINOR: ssl: using user addresses on passthrough activation

  • MINOR: using config-parser for bind options init

  • BUG/MINOR: frontend: not reloading after binding init

  • CLEANUP/MINOR: logs: non polluting logs for useless details

  • DOC: documenting changes introduced with db51a5db

  • BUG/MINOR: update HAProxy rules when ssl-redirect-code annotation is updated.

  • DOC: SSL section reviewed

  • BUG/MINOR: SSL redirection does not handle Ingress deletion

  • REORG: Check Ingress rules are not empty before handling Annotations

  • MINOR: align inspect-delay on timeout-client instead of timeout-connect

  • CLEANUP: tests: using more expressive name for test client

  • MINOR: tests: tls/ssl redirect

  • MINOR: tests: testing HTTPS frontend

  • MINOR: tests: testing SSL passthrough

  • BUG/MINOR: not exposing HTTPS port on KinD

  • MINOR: tests: endpoints out and in scaling

  • MINOR: tests: host-based matching

  • MINOR: tests: path matching with URL rewrite

  • REORG/MINOR: tests: structuring tests and utilities

  • BUG/MINOR: Move Ingress annotations set-host and path-rewrite to frontends

  • MINOR: backend switching: use variables instead of sample fetches.

  • BUG/MINOR: Make tcp inspect-delay timeout match “timeout connect”

  • DOC/MINOR: ssl: documenting the local SSL port upon passthrough

  • MEDIUM: frontend: custom bind port, and frontend and IP protocol toggling

  • MINOR: events: race conditions fix due to Helm posthooks

  • OPTIM/MINOR: handling annotations overwritten by config-snippet

  • DOC: add stick-table info in rate-limit-requests and fix typos.

  • MINOR: annotations: configurable rate limiting status code

  • CLEANUP/MINOR: doc: correct example for syslog-server

  • DOC/MINOR: syslog-server: document default field values

  • MEDIUM: frontend/ingress annotations: Expand ingress matching to include path

  • MINOR: update haproxy set-var rules

  • BUG/MINOR: don’t overwrite Ingress rules with same host

  • REORG: group controller’s refresh functions

  • REORG: move TCP handling to the UpdateHandler interface

  • REORG: move https handling to the UpdateHandler interface

  • REORG: move enable/disable of SSLOffloading to haproxy/api module

  • MEDIUM: Set Logging at module level rather than struct level

  • MAJOR: move k8s resources to seperate module named store

  • OPTIM/MEDIUM: endpoints: don’t reload HAProxy if the only change is the endpoint’s address

  • OPTIM/MINOR: endpoints: use a map instead of a slice for endpoint ports

  • OPTIM/MINOR: endpoints: no need to lookup server annotations at each server iteration

  • REORG: endpoints: Move processEndpointsSrvs out of kuberntes events handling

  • OPTIM/MAJOR: endpoints: handle backend server slots in the main loop

  • CLEANUP: endpoints: remove some over-engineered code and uncessary pointers

  • OPTIM/MINOR: No need to return Error to the main loop when handling Ingress services

  • REORG: Refactoring ConfigMaps

  • REORG: Change FrontendRulesStatus/BackendSwitchingStatus to FrontendRulesModified/BackendSwitchingModified

  • DOC/MAJOR: generate docs from yaml

  • BUILD: CI: add basic linter checks to gitlab ci

  • MINOR: Reload HAProxy when creating new server slots

  • BUG/MEDIUM: Unavailable TargetPort should not yield an error and prevent processing backend servers

  • BUG/MINOR: k8s: be more resilient to api errors

  • CLEANUP/MINOR: tests: separate logic and data

  • TEST/MINOR: test for nbthread 1

  • BUILD/MINOR: increase Go version to 1.15

  • TEST/MAJOR: add action for kind test

  • BUILD/MAJOR: kind: add example of kind setup for ingress controller

  • TEST/MAJOR: Add tests for global annotations

  • MAJOR: move global annotations to a seperate package

  • BUG/MINOR: Require controller update when configmaps are deleted

  • Merge branch ‘issues/82’ of https://github.com/prometherion/kubernetes-ingress into master

  • DOC/MINOR: documenting configmap-errorfile Controller flag

  • MINOR: typos on func names

  • MINOR: k8s: adding errorfile ConfigMap handling

  • MINOR: add confimap namepsace to whitelisted namespaces

  • MINOR: setting the default period of informers cache resync to 10m

  • CLEANUP/MINOR: remove double resource declaration from RBAC role

  • BUG/MEDIUM: Preserve source IP when chaining frontends.

  • BUG/MEDIUM: Enabling ssl-passthrough may break ssl offloading

  • MINOR: deploy manifests: Add update verb to ingress resources

  • MINOR: Fix typos in API functions

  • BUG/MINOR: API: GetConfig, don’t return unsupported option when config is not used.

  • MINOR: global-annotations: use config-parser/types when calling HAProxy API

  • BUG/MINOR: logging: correctly print logTarget

  • DOC/MINOR: Add HTTP/2 description in server-ssl annotation

  • MINOR: logs: referencing to the default TLS certificate

  • FEATURE/MINOR: whitelist: listen only for events from whitelisted namespaces

  • FEATURE/MINOR: maps: check for modification withouth content creation

  • BUG/MINOR: annotations: exclude deleted hosts from map files.

  • BUG/MINOR: Revert: annotations: fix issues with key generating from inappropriate data.

  • CLEANUP/MINOR: resolve linting errors: remove unused func

  • OPTIM/MEDIUM: kubernetes: cache resync period customizable via annotation

  • OPTIM/MEDIUM: k8s: using Shared Informers via factory

  • OPTIM/MINOR: increasing Kubernetes informe cache resync period

  • CLEANUP/MINOR: move hadling of proxy protocol and default cert outside of controller

  • FEATURE/MAJOR: add interfaces for updating config

  • BUG/MAJOR: monitor: reset hadChanges after successful update

  • BUG/MEDIUM: maps: sort rows before generating content

  • BUG/MINOR: annotations: don’t write deleted hosts to map file

  • BUG/MINOR: annotations: skip rules if not rules are set on ingress

  • CLEANUP: maps: rename hosts to rows.

  • FEATURE/MINOR: whitelist/blacklist: use map files instead of inline list

  • BUG/MINOR: annotations: fix issues with key generating from inappropriate data.

  • BUG/MINOR: maps: Fix issues with file removal.

  • BUILD/MEDIUM: k8s: upgrade k8s client to v0.18.5

  • MINOR: Add endpoint for memory profiling with pprof

  • BUG/MINOR: use lower-case letters for log-format variables

  • BUG/MINOR: tls secrets: check that both the key and the crt are not empty

  • BUG/MEDIUM: Controller won’t reload HAProxy as it should be when application endpoints are updated

  • BUILD/MEDIUM: Use latest 2.1 tag for the haproxy docker image

  • MINOR: backend: allowing proxy protocol via annotation

  • MINOR: remove deprecated “http-use-htx” from stats section

  • MINOR: Add timezone support for logs streaming

  • MINOR: removing replicas from DaemonSet

  • BUG/MEDIUM: Fix unmatched acl in response-set-header

  • MINOR: Make (session persistence) cookies configurable via the config-snippet annotation

  • MEDIUM: Add config-snippet to global and backend sections

  • MINOR: Add automatic H2 support for backends when enabling ssl on backend server lines

  • BUG/MINOR: global-annotations: fix incorrect reload assignement

  • REORG/MINOR: global-annotations: use switch statement when possible

  • MEDIUM: Add logging messages for debug

  • BUG/MAJOR: client-native: activate file validation

  • MINOR: Ignore empty fields in syslog params

  • REORG/MEDIUM: Move config-parser usage for global annotations to HAProxy API package

  • REORG/MAJOR: Move HAProxy API code to haproxy package

  • BUILD/MEDIUM: upgrade haproxy packages to v2

  • BUG/MINOR: logs: remove empty lines

  • BUG/MINOR: ingress: warn about ingress misconfiguration

  • CLEANUP: cleanup startup logs

  • BUG/MINOR: Don’t ignore server annotations with EMPTY status when updating backend server

  • MINOR: Add support for ExternalName services

  • DOC: Group logging options in same section

  • DOC: grouping global options in same section

  • MINOR: Add default options: http-server-close, http-keep-alive, dontlognull, logasap

  • OPTIM/MINOR: refactor ActiveTransactionHasChanges in global annotations

  • BUILD: HAProxy: update to version 2.1.4

  • DOC/MINOR: Fix wrong link for community slack

  • BUILD: Update check-commit action to v1.1.1

  • CLEANUP/MINOR: log: remove LogErr and PanicErr

  • MAJOR: add log levels

  • BUG/MAJOR: configmap: always create configmap

  • MINOR: move ConfigMap to controller namespace in k8s deploy file

  • MEDIUM: Make configMap optional

  • BUILD: Update check-commit actoin to v1.1.0

  • BUILD/MINOR: Fix Linting error in commit 1ce463d70d2

  • OPTIM/MINOR: Ignore the port part when matching for HTTP redirects

  • DOC: Add timeouts documentation

  • MINOR: Add client-fin and server-fin timeouts

  • BUG/MINOR: Fix incorrect restart/reload handling with globalAnnotation

  • minor: Fixed typo in filename: haproxy-ingress-daemonset.yaml.

  • DOC: typos on docblock and docs

  • OPTIM/MINOR: controller: configurable controller sync period

  • BUILD: Update github workflow to add check-commit action

  • BUG/MINOR: Fix setupTestEnv to cope with haproxy config dir changes

  • MEDIUM: Make controller handles directly HAProxy process instead of relying on init.d script

  • MINOR: Provide HAProxyCfgDir as a default place for HAProxy configuration

  • FEATURE/MEDIUM: Add response-set-header config and functionality.

  • REORG: Low risk, renamed FrontendHTTPRules to FrontendHTTPReqRules.

  • DOC/MINOR: readme: Typo on HAProxy Community Slack link

  • BUG/MINOR: Fix incorrect reload check with syslog-server annotation

  • MINOR: Sort backendSwitching rules across different ingresses

  • BUG/MEDIUM: fix set-var parsing bug in config-parser

  • BUILD: Update linter to v1.24.0

  • BUG/MEDIUM: Fix deprecated actions in tcp-request rule

  • BUILD: Upgrade Golang version to 1.14.2

  • MINOR: Ignore the port part when matching hosts against ingress rules

  • BUG/MINOR: Missed client-native update required for rewrite-path

  • MINOR: Add path-rewrite annotation

  • MINOR: Add set-host annotation

  • MEDIUM: Add support for http-request rules in the backend

  • REORG: Prefix “Frontend” word to fields holding HTTP rules.

  • REORG: Put service related code in a seperate file

  • REORG: Move Backend and Server configuration in HAProxy package

  • BUILD: Use config-parser v2.0

  • CLEANUP/MEDIUM: Use same reload flag

  • REFACTOR/MINOR: refactor global annotations

  • MINOR: Add log-format annotation to customize HTTP traffic logging

  • BUG/MINOR: Propagate ADDED status of ingress to its tls secrets

  • BUG/MINOR: Updated of default TLS secret are ignored.

  • BUG/MINOR: Ensure that certificate provided via --default-ssl-certificate is used as default certificate

  • REFACTOR/MINOR: Refactor code for HAProxy service start,restart,reload

  • MINOR: Restart HAProxy when logging to stdout

  • MEDIUM: Make use of master-worker mode to reload HAProxy

  • BUILD: HAProxy: update to version 2.0.14

  • BUG/MINOR: Refresh map files after refreshing HAProxy rules

  • MEDIUM: Enable rate-limiting by ingress

  • BUG/MINOR: tcp accept rule in ssl-passthrough frontend is stopping rules evaluation.

  • REFACTOR: Follow up on spec refactor, changing ID to index

  • REFACTOR: Follow up on spec refactor, changing cookie Domain to Domains

  • MINOR: Add blacklisting Acess Control

  • BUG/MEDIUM: default tcp log-format conflicts with ssl-passthrough

  • BUG/MINOR: Check empty sample in RequestCapture before rule modification.

  • BUG/MINOR: Empty Map Files are created whith SSLRedirect

  • BUG/MINOR: Map Refresh does not return correct needReload flag.

  • MINOR: Exit when receiving SIGTERM or SIGUSR1

  • DOC: Add Discussion section in README

  • DOC: Update contributing section

Version 1.4 Jump to heading

1.4.13 - 2021-01-07

Changes:

  • MINOR: preserve order of http/tcp rules of same type

  • BUG/MEDIUM: Sync BackendSwitching when a namespace is deleted

  • BUG/MINOR: Endpoints: trigger a reload if dynamic update fails

1.4.12 - 2020-12-20

Changes:

  • REORG/MEDIUM: Use array instead of map for endpoints

  • BUG/MEDIUM: Endpoints: remove duplicate entries in haproxy backend

1.4.11 - 2020-12-18

Changes:

  • BUG/MAJOR: fix nil pointer derefence

  • BUG/MINOR: Revert d792481622

  • BUG/MEDIUM: Endpoints: addresses should be passed by value to PortEndpoints

  • MINOR: Drop max-server-slots annotation

  • MEDIUM: endpoints: provide min and max annotations for server-slots

  • REORG/MINOR: Endpoints: remove AddrsUsed field

  • BUG/MEDIUM: endpoints state is not synced when they scale down to zero

  • BUG/MINOR: Remove lowercasing on paths

  • BUG/MINOR: wrong cookie name used in server lines

  • BUG/MINOR: Removed secrets are not deleted from store

  • MINOR: api: avoid a nil pointer dereference with APIStartTransaction

  • BUG/MEDIUM: all backend servers are deleted when there are more servers than server-slots

  • BUG/MINOR: ExternalName Service: No need for server slots provisioning

1.4.10 - 2020-11-20

Changes:

  • MINOR: Fix incorrect string formatting in some logs

  • MINOR: Add global annotation: hard-stop-after

  • BUILD: upgrade to config-parser v3

  • BUG/MEDIUM: endpoints: Mixing addresses related to different ports

  • REFACTOR/MAJOR: endpoints: refactoring and introducing server-slots annotation.

  • CLEANUP: endpoints: remove some over-engineered code and uncessary pointers

  • OPTIM/MINOR: No need to return Error to the main loop

1.4.9 - 2020-10-26

Changes:

  • BUG/MINOR: update HAProxy rules when ssl-redirect-code annotation is updated.

  • DOC: SSL section reviewed

  • BUG/MINOR: SSL redirection does not handle Ingress deletion

  • REORG: Check Ingress rules are not empty before handling Annotations

  • MINOR: align inspect-delay on timeout-client instead of timeout-connect

  • BUG/MINOR: Move Ingress annotations set-host and path-rewrite to frontends

  • MINOR: backend switching: use variables instead of sample fetches.

  • BUG/MINOR: Make tcp inspect-delay timeout match “timeout connect”

1.4.8 - 2020-10-05

Changes:

  • MINOR: HAProxy rules: use “beg” match pattern instead of “sub”

  • MINOR: use “lower” converter when defining HAProxy variables

  • MEDIUM: frontend annotations: Expand ingress matching to include path

  • MINOR: update haproxy set-var rules

  • BUG/MINOR: don’t overwrite Ingress rules with same host

  • BUILD/MINOR: increase Go version to 1.15

  • BUG/MINOR: Require controller update when configmaps are deleted

1.4.7 - 2020-09-15

Changes:

  • BUG/MINOR: k8s: be more resilient to api errors (ee)

  • MINOR: Reload HAProxy when creating new server slots

  • BUG/MEDIUM: Unavailable TargetPort should not yield an error and prevent processing backend servers

  • BUG/MEDIUM: Preserve source IP when chaining frontends.

  • OPTIM/MAJOR: Add hard-stop-after in default config

  • BUG/MEDIUM: Enabling ssl-passthrough may break ssl offloading

1.4.6 - 2020-07-23

Changes:

  • FEATURE/MINOR: maps: check for modification withouth content creation

  • BUG/MINOR: annotations: exclude deleted hosts from map files.

  • BUG/MINOR: Revert: annotations: fix issues with key generating from inappropriate data.

  • OPTIM/MINOR: increasing Kubernetes informe cache resync period

  • BUG/MAJOR: monitor: reset hadChanges after successful update

  • BUG/MEDIUM: maps: sort rows before generating content

  • BUG/MINOR: annotations: don’t write deleted hosts to map file

  • BUG/MINOR: annotations: skip rules if not rules are set on ingress

  • CLEANUP: maps: rename hosts to rows.

  • FEATURE/MINOR: whitelist/blacklist: use map files instead of inline list

  • BUG/MINOR: annotations: fix issues with key generating from inappropriate data.

  • BUG/MINOR: maps: Fix issues with file removal.

  • BUILD/MEDIUM: k8s: upgrade k8s client to v0.18.5

  • BUG/MINOR: use lower-case letters for log-format variables

  • BUG/MINOR: tls secrets: check that both the key and the crt are not empty

  • BUG/MEDIUM: Controller won’t reload HAProxy as it should be when application endpoints are updated

  • BUILD/MEDIUM: Use latest 2.1 tag for the haproxy docker image

  • MINOR: remove deprecated “http-use-htx” from stats section

  • MINOR: removing replicas from DaemonSet

  • BUG/MEDIUM: Fix unmatched acl in response-set-header

1.4.5 - 2020-06-02

Changes:

  • MINOR: Add automatic H2 support for backends when enabling ssl on backend server lines

  • BUG/MINOR: global-annotations: fix incorrect reload assignement

  • REORG/MINOR: global-annotations: use switch statement when possible

  • MEDIUM: Add logging messages for debug

  • BUG/MAJOR: client-native: activate file validation

  • MINOR: Ignore empty fields in syslog params

  • REORG/MEDIUM: Move config-parser usage for global annotations to HAProxy API package

  • REORG/MAJOR: Move HAProxy API code to haproxy package

  • BUILD/MEDIUM: upgrade haproxy packages to v2

  • BUG/MINOR: logs: remove empty lines

1.4.4 - 2020-05-07

Changes:

  • BUG/MINOR: ingress: warn about ingress misconfiguration

  • CLEANUP: cleanup startup logs

  • BUG/MINOR: Don’t ignore server annotations with EMPTY status when updating backend server

  • MINOR: Add support for ExternalName services

  • DOC: Group logging options in same section

  • DOC: grouping global options in same section

  • MINOR: Add default options: http-server-close, http-keep-alive, dontlognull, logasap

  • OPTIM/MINOR: refactor ActiveTransactionHasChanges in global annotations

  • BUILD: HAProxy: update to version 2.1.4

  • DOC/MINOR: Fix wrong link for community slack

  • BUILD: Update check-commit action to v1.1.1

  • CLEANUP/MINOR: log: remove LogErr and PanicErr

  • MAJOR: add log levels

  • BUG/MAJOR: configmap: always create configmap

  • MINOR: move ConfigMap to controller namespace in k8s deploy file

  • MEDIUM: Make configMap optional

  • BUILD: Update check-commit actoin to v1.1.0

  • BUILD/MINOR: Fix Linting error in commit 1ce463d70d2

  • OPTIM/MINOR: Ignore the port part when matching for HTTP redirects

  • DOC: Add timeouts documentation

  • MINOR: Add client-fin and server-fin timeouts

  • BUG/MINOR: Fix incorrect restart/reload handling with globalAnnotation

  • minor: Fixed typo in filename: haproxy-ingress-daemonset.yaml.

  • DOC: typos on docblock and docs

  • OPTIM/MINOR: controller: configurable controller sync period

  • BUILD: Update github workflow to add check-commit action

  • BUG/MINOR: Fix setupTestEnv to cope with haproxy config dir changes

  • MEDIUM: Make controller handles directly HAProxy process instead of relying on init.d script

  • MINOR: Provide HAProxyCfgDir as a default place for HAProxy configuration

  • FEATURE/MEDIUM: Add response-set-header config and functionality.

  • REORG: Low risk, renamed FrontendHTTPRules to FrontendHTTPReqRules.

  • DOC/MINOR: readme: Typo on HAProxy Community Slack link

  • BUG/MINOR: Fix incorrect reload check with syslog-server annotation

  • MINOR: Sort backendSwitching rules across different ingresses

  • BUG/MEDIUM: fix set-var parsing bug in config-parser

  • BUILD: Update linter to v1.24.0

  • BUG/MEDIUM: Fix deprecated actions in tcp-request rule

1.4.3 - 2020-04-14

Changes:

  • BUILD: Upgrade Golang version to 1.14.2

  • MINOR: Ignore the port part when matching hosts against ingress rules

  • BUG/MINOR: Missed client-native update required for rewrite-path

  • MINOR: Add path-rewrite annotation

  • MINOR: Add set-host annotation

  • MEDIUM: Add support for http-request rules in the backend

  • REORG: Prefix “Frontend” word to fields holding HTTP rules.

  • REORG: Put service related code in a seperate file

  • REORG: Move Backend and Server configuration in HAProxy package

  • BUILD: Use config-parser v2.0

  • CLEANUP/MEDIUM: Use same reload flag

  • REFACTOR/MINOR: refactor global annotations

  • MINOR: Add log-format annotation to customize HTTP traffic logging

  • BUG/MINOR: Propagate ADDED status of ingress to its tls secrets

  • BUG/MINOR: Updated of default TLS secret are ignored.

  • BUG/MINOR: Ensure that certificate provided via --default-ssl-certificate is used as default certificate

  • REFACTOR/MINOR: Refactor code for HAProxy service start,restart,reload

  • MINOR: Restart HAProxy when logging to stdout

  • MEDIUM: Make use of master-worker mode to reload HAProxy

1.4.2 - 2020-04-02

Changes:

  • BUILD: HAProxy: update to version 2.0.14

  • BUG/MINOR: Refresh map files after refreshing HAProxy rules

  • MEDIUM: Enable rate-limiting by ingress

  • BUG/MINOR: tcp accept rule in ssl-passthrough frontend is stopping rules evaluation.

  • REFACTOR: Follow up on spec refactor, changing ID to index

  • REFACTOR: Follow up on spec refactor, changing cookie Domain to Domains

1.4.1 - 2020-03-24

Changes:

  • MINOR: Add blacklisting Acess Control

  • BUG/MEDIUM: default tcp log-format conflicts with ssl-passthrough

  • BUG/MINOR: Check empty sample in RequestCapture before rule modification.

  • BUG/MINOR: Empty Map Files are created whith SSLRedirect

  • BUG/MINOR: Map Refresh does not return correct needReload flag.

  • MINOR: Exit when receiving SIGTERM or SIGUSR1

  • DOC: Add Discussion section in README

  • DOC: Update contributing section

1.4.0 - 2020-03-17

Changes:

  • CLEANUP/MINOR: lint: resolve import lint errors

  • REORG/MINOR: put logo in assets directory at root level

  • MINOR: Change default logging in order to automatically log Host header for HTTP traffic and SNI for SSL passthrough traffic.

  • BUG/MINOR: Update all related map files upon a HTTP rule change.

  • MINOR: Enable automatic HTTPS redirect when ingress has TLS enabled.

  • BUG/MINOR: Fix status of request rules

  • MINOR: add request-set-header

  • BUG/MINOR: Set activeTransaction when handling global annotations

  • BUG/MEDIUM: Process only ingress objects which ingress.class strictly matches the controller --ingress.class CLI arg.

  • BUG/MINOR: Remove a certificate of a secret in DELETED state

  • REORG/MINOR: reoganize handleSecret

  • BUG/MEDIUM: Update Ingress status when TLS secrets are updated

  • MINOR: Add SSL offload for TCP services.

  • BUG/MINOR: Update default timeouts after startup

  • REORG/MINOR: handle maxconn annotation in default section.

  • DOC: Reorder (alphabetic) and fix scope for some annotations

  • CLEANUP/MINOR: remove unused whitelist-with-rate-limit annotation

  • MEDIUM: Add proxy-protocol support

  • MEDIUM: Reorder HAProxy rules

  • MINOR: Use map files for http-redirect.

  • BUG/MAJOR: Controller keeps reloading HAPRoxy due to incorrect map handling in whitelist rule.

  • REORG/MEDIUM: Refactor map code for request-capture.

  • BUG/MEDIUM: default timeouts are not updated

  • REORG/MINOR: Group annotations by proxy type

  • MINOR: Remove unecessary param in configuration Init

  • CLEANUP: code: refactor rate-limiting whitelisting

  • BUILD: HAProxy: update to version 2.0.13

  • BUG/MINOR: fix formatting bug

  • BUG/MINOR: Check key length in TLS secret to avoid an index out of range error

  • BUG/MEDIUM: Keep processing backend of TCP services even when TCPConfigmap does not change.

  • MINOR: No need to sync service’s targetport

  • REORG/MINOR: Put backend and server code on seprate packages

  • REORG/MAJOR: Put controller’s code on seperate pacakge.

  • DOC/MINOR: Add TCP services documentation

  • MINOR: Handle MODIFIED status of TCP services

  • BUG/MINOR: check ssl-passthrough status when an ingress path is added

  • MINOR: Propagate the ADDED status of an ingress rule to its paths.

  • MINOR: Fix spelling in logging

  • MINOR: Remove ‘incorrect param’ from publish-service flag

  • FEATURE/MINOR: Use request-capture with ssl-passthrough

  • BUG/MEDIUM: Fix priority when using overlapping paths.

  • MEDIUM: Add default backend from ingress objects

  • DOC: controller: add http-request-capture

  • FEATURE/MINOR: http-request capture

  • MINOR: Add support for sticky session via cookie-persistence

  • BUG/MEDIUM: Skip backend switching for tcp services

  • MINOR: Send X-Forwarded-Proto to HTTP backends for TLS clients.

  • MINOR: testing: Add build and linter

  • MINOR: Add “server-ssl” annotation

  • MINOR: Don’t process HTTP annotations in mode TCP

  • BUG/MEDIUM: Sync internal path data when Ingress object is updated

  • MAJOR: Add publish-service feature

  • CLEANUP: Remove unused struct fields

  • CLEANUP: Rewrite of backend switching mechanism and related tasks

  • CLEANUP: use the helper function ParseTime

  • CLEANUP: use the helper function ptrInt64

  • CLEANUP: No need for NativeAPI in the Configuration struct

Version 1.3 Jump to heading

1.3.3 - 2020-03-04

Changes:

  • BUILD: HAProxy: update to version 2.0.13

  • BUG/MINOR: fix formatting bug

  • BUG/MINOR: Check key length in TLS secret to avoid an index out of range error

  • BUG/MEDIUM: Keep processing backend of TCP services even when TCPConfigmap does not change.

  • MINOR: No need to sync service’s targetport

  • REORG/MINOR: Put backend and server code on seprate packages

  • REORG/MAJOR: Put controller’s code on seperate pacakge.

  • DOC/MINOR: Add TCP services documentation

  • MINOR: Handle MODIFIED status of TCP services

  • BUG/MINOR: check ssl-passthrough status when an ingress path is added

  • MINOR: Propagate the ADDED status of an ingress rule to its paths.

1.3.2 - 2020-02-12

Changes:

  • MINOR: Fix spelling in logging

  • MINOR: Remove ‘incorrect param’ from publish-service flag

  • FEATURE/MINOR: Use request-capture with ssl-passthrough

  • BUG/MEDIUM: Fix priority when using overlapping paths.

  • MEDIUM: Add default backend from ingress objects

  • DOC: controller: add http-request-capture

  • FEATURE/MINOR: http-request capture

  • MINOR: Add support for sticky session via cookie-persistence

  • BUG/MEDIUM: Skip backend switching for tcp services

  • MINOR: Send X-Forwarded-Proto to HTTP backends for TLS clients.

  • MINOR: testing: Add build and linter

  • MINOR: Add “server-ssl” annotation

1.3.1 - 2020-01-21

Changes:

  • MINOR: Don’t process HTTP annotations in mode TCP

  • BUG/MEDIUM: Sync internal path data when Ingress object is updated

  • MAJOR: Add publish-service feature

  • CLEANUP: Remove unused struct fields

  • CLEANUP: Rewrite of backend switching mechanism and related tasks

  • CLEANUP: use the helper function ParseTime

  • CLEANUP: use the helper function ptrInt64

  • CLEANUP: No need for NativeAPI in the Configuration struct

1.3.0 - 2020-01-21

Changes:

  • CLEANUP: controller annotations

  • BUG/MINOR: remove warning message

  • BUILD: deployed as DaemonSet with hostPort to improve relaiability

  • CLEANUP: properly handle waiting

  • BUG/MEDIUM: Correctly register active backends

  • CLEANUP: only write newline character in TLS certificates when actually needed

  • BUG/MAJOR: Force writing a newline in PEM certificate bundle

  • DOC: helm: link to official HAProxy Helm Charts

  • BUILD: HAProxy: update to version 2.0.11

  • CLEANUP: allow option forwardfor only in http

  • CLEANUP: make controller code up to date

  • MINOR: Don’t update Server Port via runtime before backend creation

  • BUG/MEDIUM: Ignore ingress objects with inappropirate ingress class

  • MAJOR: add ssl-passthrough

  • CLEANUP: resovle linter warnings

  • MAJOR: add tcp services

  • BUG/MINOR: resolve build issues

  • MINOR: backend, defaults: Add abortonclose

  • BUG/MAGOR: SSL is not enabled in HTTPS frontend

  • MEDIUM: Support named targetPort for Service

  • BUG/MAJOR: Fix ingress path tracking issue

  • BUG/MEDIUM: Sync use_backend rules creation with backend creation

  • MINOR: typo

  • BUG/MAJOR: transaction: handle all config

  • BUILD: update to Go 1.13.4 and HAProxy 2.0.8

  • CLEANUP/MEDIUM: configuration: remove global.cfg

  • BUG/MEDIUM: Backend servers status is not handled correctly

  • BUG/MEDIUM: Delete transaction when there are no changes

  • BUG/MINOR: fix linting warnings

  • MINOR: show HAProxy version on start

  • MINOR: add kustomization.yaml alongside deployment manifests

  • MAJOR: configuration parser: upgrade package to v2

  • BUILD: HAProxy: upgrade to 2.0.7

  • MINOR: Abort if the controller is not able to get the k8s server version

  • MINOR: minor logging improvements

  • MINOR: Add check-http annotation.

  • CLEANUP: Improve backend annotations readability

  • CLEANUP: code cleanup in handleService

  • CLEANUP: code cleanup in handlePath

  • BUG/MEDIUM: fix redirection to https withouth cert

  • BUG/MEDIUM: Reset server address key to random string when modified and disabled.

  • BUILD: upgrade to go:1.13

  • BUG/MEDIUM: certificates: clean certificate files

  • BUG/MEDIUM: ingress: deletions of backends

  • BUG/MEDIUM: rule: react to new rule.

  • BUG/MEDIUM: certs: Secret default namespace

  • BUG/MEDIUM: avoid incrementing config version

  • MINOR: do not set default-ssl-certificate by default

  • MINOR: support stdout logs

  • MEDIUM: Add syslog-server annotation

  • BUILD: update haproxy version to 2.0.5

  • MINOR: logs: add hostname output to logs on start

  • BUG/MAJOR: do not reload evey 5s with default cert

Version 1.2 Jump to heading

1.2.7 - 2020-01-10

Changes:

  • CLEANUP: properly handle waiting

  • BUG/MEDIUM: Correctly register active backends

  • CLEANUP: only write newline character in TLS certificates when actually needed

  • BUG/MAJOR: Force writing a newline in PEM certificate bundle

1.2.6 - 2019-12-19

Changes:

  • DOC: helm: link to official HAProxy Helm Charts

  • BUILD: HAProxy: update to version 2.0.11

  • CLEANUP: allow option forwardfor only in http

  • CLEANUP: make controller code up to date

  • MINOR: Don’t update Server Port via runtime before backend creation

  • BUG/MEDIUM: Ignore ingress objects with inappropirate ingress class

  • MAJOR: add ssl-passthrough

  • CLEANUP: resovle linter warnings

  • MAJOR: add tcp services

  • BUG/MINOR: resolve build issues

  • MINOR: backend, defaults: Add abortonclose

1.2.5 - 2019-11-18

Changes:

  • BUG/MAGOR: SSL is not enabled in HTTPS frontend

  • MEDIUM: Support named targetPort for Service

  • BUG/MAJOR: Fix ingress path tracking issue

  • BUG/MEDIUM: Sync use_backend rules creation with backend creation

  • MINOR: typo

  • BUG/MAJOR: transaction: handle all config

  • BUILD: update to Go 1.13.4 and HAProxy 2.0.8

  • CLEANUP/MEDIUM: configuration: remove global.cfg

  • BUG/MEDIUM: Backend servers status is not handled correctly

1.2.4 - 2019-10-18

Changes:

  • BUG/MEDIUM: Delete transaction when there are no changes

  • BUG/MINOR: fix linting warnings

  • MINOR: show HAProxy version on start

  • MINOR: add kustomization.yaml alongside deployment manifests

  • MAJOR: configuration parser: upgrade package to v2

  • BUILD: HAProxy: upgrade to 2.0.7

  • MINOR: Abort if the controller is not able to get the k8s server version

1.2.3 - 2019-09-30

Changes:

  • MINOR: minor logging improvements

  • MINOR: Add check-http annotation.

  • CLEANUP: Improve backend annotations readability

  • CLEANUP: code cleanup in handleService

  • CLEANUP: code cleanup in handlePath

  • BUG/MEDIUM: fix redirection to https withouth cert

  • BUG/MEDIUM: Reset server address key to random string when modified and disabled.

1.2.2 - 2019-09-11

Changes:

  • BUILD: upgrade to go:1.13

  • BUG/MEDIUM: certificates: clean certificate files

  • BUG/MEDIUM: ingress: deletions of backends

  • BUG/MEDIUM: rule: react to new rule.

  • BUG/MEDIUM: certs: Secret default namespace

  • BUG/MEDIUM: avoid incrementing config version

  • MINOR: do not set default-ssl-certificate by default

  • MINOR: support stdout logs

  • MEDIUM: Add syslog-server annotation

  • BUILD: update haproxy version to 2.0.5

  • MINOR: logs: add hostname output to logs on start

1.2.1 - 2019-09-02

Changes:

  • BUG/MAJOR: do not reload evey 5s with default cert

1.2.0 - 2019-08-30

Changes:

  • MEDIUM: support for Ingress TLS

  • CLEANUP: separate https and default ceertificate

  • CLEANUP: improve transacion readability

  • CLEANUP: improve frontend readability

  • CLEANUP: improve backend server readability

  • CLEANUP: improve requests readability

  • CLEANUP: improve rate limit readability

  • CLEANUP: improve ACL rules readability

  • CLEANUP: backendSwitchingRule readability

  • CLEANUP: simpler code fom backend manipulation

  • CLEANUP: fix typo in filename

  • BUILD: update go version to 1.12.9

  • FEATURE: add timeout check annotations

  • BUILD: add golangci linting tool

  • BUG/MAJOR: update go.mod file

  • FEATURE: add http2 support

  • BUILD: upgrade haproxy to 2.0.4

  • CLEANUP: remove trailing spaces and remove tabs in Dockerfile

  • CLEANUP: lint code

  • CLEANUP: remove non necessary code

  • BUG/MEDIUM: ingress: handle service port properly

  • BUILD: update go and haproxy image

  • FEATURE: add ipv6 support

  • MAJOR: endpoints: fix num of servers

  • BUG/MEDIUM: rate-limiting: fix default state

  • BUG/MEDIUM: ingress.class: handle empty class in more secure name

  • BUG/MINOR: backends: add new names for rules

  • CLEANUP/MINOR: remove unused function

  • CLEANUP: rate-limit: code cleanup in handleRateLimiting

  • MAJOR/BUG: rate-limit: rules not cleaned up

  • MEDIUM: rate-limit: return 429

  • BUG/MAJOR: rate-limit: missing track rule

  • MAJOR: move from pods to endpoinds

  • BUG/MAJOR: support for older versions of k8s

Version 1.1 Jump to heading

1.1.7 - 2019-08-13

Changes:

  • BUG/MAJOR: update go.mod file

1.1.6 - 2019-08-12

Changes:

  • FEATURE: add http2 support

  • BUILD: upgrade haproxy to 2.0.4

  • CLEANUP: remove trailing spaces and remove tabs in Dockerfile

  • CLEANUP: lint code

  • CLEANUP: remove non necessary code

1.1.5 - 2019-07-30

Changes:

  • BUG/MEDIUM: ingress: handle service port properly

  • BUILD: update go and haproxy image

  • FEATURE: add ipv6 support

1.1.4 - 2019-07-11

Changes:

  • MAJOR: endpoints: fix num of servers

1.1.3 - 2019-07-09

Changes:

  • BUG/MEDIUM: rate-limiting: fix default state

  • BUG/MEDIUM: ingress.class: handle empty class in more secure name

  • BUG/MINOR: backends: add new names for rules

  • CLEANUP/MINOR: remove unused function

  • CLEANUP: rate-limit: code cleanup in handleRateLimiting

  • MAJOR/BUG: rate-limit: rules not cleaned up

  • MEDIUM: rate-limit: return 429

  • BUG/MAJOR: rate-limit: missing track rule

  • FIX for BUG/MAJOR: rate-limit: missing track rule

  • CLEANUP: rate-limit: code cleanup in handleRateLimiting

  • MAJOR/BUG: rate-limit: rules not cleaned up

  • MEDIUM: rate-limit: return 429

  • BUG/MAJOR: rate-limit: missing track rule

1.1.2 - 2019-07-09

Changes:

  • FIX for BUG/MAJOR: rate-limit: missing track rule

  • CLEANUP: rate-limit: code cleanup in handleRateLimiting

  • MAJOR/BUG: rate-limit: rules not cleaned up

  • MEDIUM: rate-limit: return 429

  • BUG/MAJOR: rate-limit: missing track rule

  • MAJOR: move from pods to endpoinds

1.1.1 - 2019-07-05

Changes:

  • BUG/MAJOR: support for older versions of k8s

1.1.0 - 2019-07-05

Changes:

  • README: rate-limit information

  • BUG/MINOR: fix ingress RBAC permisions

  • BUG/MAJOR: ratelimiting: fix rate limiting

  • MEDIUM: Go: upgrade packages

  • CLEANUP: log: clean log message

  • BUG/MINOR: vv: fix incorect output of -vv arg

  • BUG/MEDIUM: handle named service ports

  • FEATURE/MINOR: allow empty path

  • DOC/MINOR: place correct path in go.mod file

  • README: copy/paste typo in ‘check’ documentation

  • FEATURE/MINOR: startup: add more data on output

  • FEATURE/MEDIUM: ingress: add option to filter ingress

  • BUG/MINOR: server create: cleanup of log warning messages

  • DOC/MINOR: add link to docker hub

  • DOC/MEDIUM: add short readme to project

  • Added default ConfigMap to install yaml

Version 1.0 Jump to heading

1.0.3 - 2019-07-05

Changes:

  • BUG/MAJOR: ratelimiting: fix rate limiting

  • MEDIUM: Go: upgrade packages

  • CLEANUP: log: clean log message

1.0.2 - 2019-06-28

Changes:

  • BUG/MINOR: vv: fix incorect output of -vv arg

  • BUG/MEDIUM: handle named service ports

  • FEATURE/MINOR: allow empty path

  • DOC/MINOR: place correct path in go.mod file

  • README: copy/paste typo in ‘check’ documentation

1.0.1 - 2019-06-21

Changes:

  • FEATURE/MINOR: startup: add more data on output

  • FEATURE/MEDIUM: ingress: add option to filter ingress

  • BUG/MINOR: server create: cleanup of log warning messages

  • DOC/MINOR: add link to docker hub

  • DOC/MEDIUM: add short readme to project

  • Added default ConfigMap to install yaml

1.0.0 - 2019-06-18

Changes:

  • DOC/MINOR: fix small incorrect links and infos

  • Create README.md

  • DOC/MINOR: fix requirements on how to start image

  • DOC: add build script

  • BUG/MINOR: pods: do not ‘panic’ if servers are added multiple times

  • CLEANUP/MINOR: use global values for http and https

  • BUG/MEDUIM: ingress: handle delete and create

  • DOC: licence: add licence to all files

  • BUILD/MEDIUM: update HAProxy client to v0.9.5

  • CLEANUP/MINOR: simplify listener names in config

  • BUG/MINOR: help: do not start with -h

  • BUG/MINOR: Changed default-backend-service to point to haproxy-controller namespace

  • CLEANUP: nbthread: allow limiting number of threads

  • CLEANUP: remove unused file

  • CLEANUP: remove options that are not important in HAProxy 2.0

  • BUILD: use haproxy 2.0-dev5

  • FEATURE/MEDIUM: prometheus: add prometheus support

  • FEATURE/MINOR: enable check-interval annotation

  • DOC: deploy: Added default app to deploy yaml

  • DOC: deploy: Added deployment yaml

  • BUILD: update dependencies

  • BUG/MAJOR: reevaluate pods data if service data is not available

  • BUG/MINOR: handle empty domain in ingress

  • BUG/MEDIUM: maxconn: apply value on all frontends

  • DOCS/CLEANUP: fix missing docs

  • CLEANUP: go modules: add support for go modules

  • DOC: controller: add whitelist and blacklist options

  • FEATURE/MAJOR: Whitelist and blacklist namespaces

  • FEATURE/MINOR: add local debugging setup

  • CLANUP/MINOR: https as global

  • BUG/MAJOR: crt: enable certificates from other namespace

  • BUG/MINOR: update dependecies

  • CLEANUP/MINOR

  • BUG/MINOR: whitelist: set proper order of rules

  • CLEANUP: backend switching rules

  • UPDATE: update to haproxy 1.9.6

  • BUG/MEDIUM: handle path changes for services

  • MINOR: upgrade dependencies

  • FEATURE/MINOR: add whitelist-with-rate-limit

  • DOC: added rate-limit and whitelist

  • CLEANUP/MINOR: acl: frontends are now optional

  • FEATURE/MINOR: added whitelisting

  • FEATURE/MINOR: upgrade dependencies

  • CLEANUP/MINOR: acl: simplified handling

  • CLEANUP: log: eliminate linting warnings

  • BUG/MINOR: http-requests: handle order of rules

  • FEATURE: log: format LogErr output same as others

  • BUG/MINOR: rate-limit: call method for http rule

  • CLEANUP/MINOR: errors: log non critical errors

  • CLEANUP/MINOR: code refractoring

  • FEATURE/MINOR: rate limiting

  • FEATURE/MAJOR: lbctl: remove lbctl

  • BUG/MAJOR: use informers for k8s updates, watch is broken for RBAC

  • CLEANUP: new build system

  • CLEANUP: watch: status states are now internal

  • DOC: cleanup of build info

  • CLEANUP: move build process to independent docker images

  • MINOR: Dockerfile cleanups.

  • MINOR: client-native: update code to comply with new version

  • CLEANUP: move dev env to microk8s

  • DOC: add extra info about dependencies

  • FEATURE: HAProxy 1.9: update to 1.9.0 version

  • BUG/MINOR: haproxy: do not reload haproxy if not needed

  • CLEANUP/MINOR: var renaming

  • MINOR: pkg: conform with new client-native package

  • FEATURE/MINOR: http redirect: added ssl-redirect-code annotation

  • FEATURE/MINOR: nbthread, nbproc: better usage

  • FEATURE/MINOR: nbthreads: add support for nbthreads

  • BUG/MEDIUM: https: handle of removing bind lines

  • FEATURE/MINOR: logs: add dynamic pod creation,deletion, modify

  • BUG/MINOR: runtime: reload runtime client after reloading HAProxy

  • FEATURE: ssl: add option to use rsa and ecdsa certificates

  • BUG/MEDIUM: controller: handle nil values on comparing

  • BUG/MINOR: k8s: ignore added resources on reinit k8s api

  • BUG/MAJOR: k8s: handle closing of watch channels

  • FEATURE: https: suport for nbproc & cpu-map options

  • FEATURE/MEDIUM: https: bing multiple processes for https

  • CLEANUP: https: move https to separate frontend

  • BUG/MINOR: lbctl: add converter for load balance naming

  • CLEANUP: runtime: use runtime API from client-native

  • FEATURE/MINOR: packages: compatibility with runtime api

  • FEATURE/MAJOR: runtime: use runtime api for pod changes where available

  • FEATURE/MINOR: annotations: add default timeouts to configmap

  • BUG/MEDIUM: annotations: new annotations trigger config reload

  • MAJOR: reload: use HAProxy reload instead of restart

  • MAJOR: runnable controller

  • MINOR/FEATURE: add healthz option for HAProxy

  • BUG/MEDIUM: annotations: remove deleted annotations

  • MINOR/FEATURE: check: add check option for backends

  • MINOR/FEATURE: maxconn: added annotation

  • FEATURE/MINOR: ingress: allow ingress annotations

  • MINOR/FEATURE: config: added X-Forwarded-For annotation

  • DOC/CLEANUP: cleaned comments and documentation

  • MEDIUM/FEATURE: Annotations: support for monitoring annotations

  • MEDIUM: https: added basic https support

  • MINOR: types: optimizing structs

  • MINOR: configmap: filter only specified configmap

  • MAJOR/BUG: pods: fix creating backend services

  • MAJOR: code reorganisation

  • MINOR: site: test of functionality

  • MINOR: build: created make file, included version in app

  • MINOR: doc: added info and picture for project

  • MINOR: lbctl: Introducing lbctl to controller

  • MINOR: secret: added monitoring for secret

  • MINOR: doc: added all the dependencies

  • MINOR: code: refractoring

  • MAJOR: first working version

  • MAJOR: lbctl: added lbctl

  • MEDIUM: handle deletion/modification of pods

  • MEDIUM: api: added configmap readout

  • Initial commit

Do you have any suggestions on how we can improve the content of this page?