Community

Changelog

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

Version 3.0 Jump to heading

Release version: 3.0.1
Release date: 2024-06-28

Changes:

  • DOC/MINOR In TCP CR doc, explain that the mode is forced to tcp

Release version: 3.0.0
Release date: 2024-06-27

Changes:

  • DOC/MINOR update active version in doc.yaml

  • MINOR enhance TCP CRD documentation for Secret usage

  • MEDIUM update TCP CRD documentation and detect collisions accross all namespaces

  • BUG/MINOR do not reload if transaction failed

  • BUILD/MEDIUM update linter to 1.59.1 version

  • MAJOR remove support for alpha1 crds

  • MAJOR haproxy use HAProxy 3.0

  • DOC/MINOR crds add job-check-crd flag

  • DOC/MINOR sync-period clarify helm usage

  • BUILD/MINOR ci upgrade github actions

  • MINOR crd simplify tcp definition

  • MEDIUM add TCP CRD to configure TCP services

  • MINOR change behaviour for default backend for TCP service annotation in ConfigMap

  • MEDIUM Fix s6 IC finish script to handle non-fatal exit

  • BUILD/MINOR ci in case of failure retry linter check

  • BUILD/MAJOR k8s resolve weird errors with k8s tooling

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

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

  • BUG SslDefaultDhParam should get default value if needed

  • MINOR uniform local peer management

  • MINOR add field names when printing struc

  • MINOR fix info message when global config is updated

  • BUG be able to watch ingress.v1.haproxy.org if the CRD is created after Ingress Controller start up

  • BUG/MINOR fix incorrect old DefaultBackend name in Reload log

  • TEST/MEDIUM use k8s 1.30 as main version

  • BUG/MINOR fix nil pointer in refreshCerts

  • MINOR split files for CR informers and events

  • TEST/MINOR fix teardown removing tcp configmap not called for EndpointsSuite

  • BUG avoid writing incomplete maps files and store hash only in case of success

  • BUG/MINOR Prevents improper overriding of DefaultServer when processing the proto annotation

  • REORG/MINOR move k8s types to separate package

  • BUG/MAJOR deploy respect change of default port to 8080 and 8443

  • BUG/MINOR doc fix https-bind-port and ssl-redirect-port

  • BUG fix crash on UPDATE events when old item is nil

  • CLEANUP/MINOR doc remove links to old blog posts

  • BUG/MINOR doc correct availability for annotations allow and deny lists

  • BUG keep ssl and ssl-passthrough active together

  • BUG fix log message origin

  • TEST/MINOR allow 2048 pods per node on Kind

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

  • DOC/MEDIUM add prometheus metrics doc

  • MEDIUM add metrics for reload,restart,runtime

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

  • MINOR runtime update whole backend at once

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

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

  • BUG/MINOR prevents unconditional reloads when prometheus is enabled

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

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

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

  • CLEANUP/MINOR test correct spellcheck error

  • MINOR add aditional logging on informers

Version 1.11 Jump to heading

Release version: 1.11.6
Release date: 2024-06-17

Changes:

  • BUG/MINOR do not reload if transaction failed

Release version: 1.11.5
Release date: 2024-05-27

Changes:

  • BUG be able to watch ingress.v1.haproxy.org if the CRD is created after Ingress Controller start up

  • BUG/MINOR fix incorrect old DefaultBackend name in Reload log

  • BUG/MINOR fix nil pointer in refreshCerts

Release version: 1.11.4
Release date: 2024-05-03

Changes:

  • BUG avoid writing incomplete maps files and store hash only in case of success

  • BUG/MINOR Prevents improper overriding of DefaultServer when processing the proto annotation

  • BUG fix crash on UPDATE events when old item is nil

  • BUG fix log message origin

Release version: 1.11.3
Release date: 2024-04-04

Changes:

  • TEST/MINOR allow 2048 pods per node on Kind

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

Release version: 1.11.2
Release date: 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

Release version: 1.11.1
Release date: 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

Release version: 1.11.0
Release date: 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

Release version: 1.10.16
Release date: 2024-06-14

Changes:

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

Release version: 1.10.15
Release date: 2024-05-15

Changes:

  • BUG/MINOR fix nil pointer in refreshCerts

Release version: 1.10.14
Release date: 2024-05-03

Changes:

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

  • BUG avoid writing incomplete maps files and store hash only in case of success

  • BUG/MINOR Prevents improper overriding of DefaultServer when processing the proto annotation

  • BUG fix crash on UPDATE events when old item is nil

Release version: 1.10.13
Release date: 2024-03-18

Changes:

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

Release version: 1.10.12
Release date: 2024-03-11

Changes:

  • BUILD/MAJOR remove support for linux/386 images

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

Release version: 1.10.11
Release date: 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

Release version: 1.10.10
Release date: 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

Release version: 1.10.9
Release date: 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

Release version: 1.10.8
Release date: 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

Release version: 1.10.7
Release date: 2023-09-06

Changes:

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

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

Release version: 1.10.6
Release date: 2023-07-31

Changes:

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

Release version: 1.10.5
Release date: 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

Release version: 1.10.4
Release date: 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

Release version: 1.10.3
Release date: 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

Release version: 1.10.2
Release date: 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

Release version: 1.10.1
Release date: 2023-04-17

Changes:

  • BUG/MINOR ci resolve goreleaser build procedure

Release version: 1.10.0
Release date: 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

Release version: 1.9.15
Release date: 2024-03-11

Changes:

  • BUILD/MAJOR remove support for linux/386 images

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

Release version: 1.9.14
Release date: 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

Release version: 1.9.13
Release date: 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

Release version: 1.9.12
Release date: 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

Release version: 1.9.11
Release date: 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

Release version: 1.9.10
Release date: 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

Release version: 1.9.9
Release date: 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

Release version: 1.9.8
Release date: 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

Release version: 1.9.7
Release date: 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

Release version: 1.9.6
Release date: 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

Release version: 1.9.5
Release date: 2023-03-10

Changes:

  • BUG/MINOR use project go version in go release

Release version: 1.9.4
Release date: 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

Release version: 1.9.3
Release date: 2023-02-10

Changes:

Release version: 1.9.2
Release date: 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.

Release version: 1.9.1
Release date: 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

Release version: 1.9.0
Release date: 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

Release version: 1.8.13
Release date: 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

Release version: 1.8.12
Release date: 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

Release version: 1.8.11
Release date: 2023-02-10

Changes:

Release version: 1.8.10
Release date: 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.

Release version: 1.8.9
Release date: 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

Release version: 1.8.8
Release date: 2022-10-31

Changes:

  • MINOR removal of unused ingresschan

  • BUILD update packages that was reported to have vulnerabilities

Release version: 1.8.7
Release date: 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

Release version: 1.8.6
Release date: 2022-09-15

Changes:

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

Release version: 1.8.5
Release date: 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

Release version: 1.8.4
Release date: 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

Release version: 1.8.3
Release date: 2022-06-20

Changes:

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

Release version: 1.8.2
Release date: 2022-06-17

Changes:

  • BUG/MINOR process multiple backends per service

Release version: 1.8.1
Release date: 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

Release version: 1.8.0
Release date: 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

  • 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

Release version: 1.7.12
Release date: 2022-05-31

Changes:

Release version: 1.7.11
Release date: 2022-05-31

Changes:

  • BUG this commit fixes the two following related issues

Release version: 1.7.10
Release date: 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

Release version: 1.7.9
Release date: 2022-04-12

Changes:

  • BUG fix missing cors-enable annotation treatment

Release version: 1.7.8
Release date: 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

Release version: 1.7.7
Release date: 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

Release version: 1.7.6
Release date: 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

Release version: 1.7.5
Release date: 2022-01-31

Changes:

  • BUG/MEDIUM ssl-passthrough Fix default delay value

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

Release version: 1.7.4
Release date: 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

Release version: 1.7.3
Release date: 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

Release version: 1.7.2
Release date: 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

Release version: 1.7.1
Release date: 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

  • BUG/MINOR Fix backend runtime sync

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

Release version: 1.7.0
Release date: 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

Release version: 1.6.9
Release date: 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

Release version: 1.6.8
Release date: 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

Release version: 1.6.7
Release date: 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

Release version: 1.6.6
Release date: 2021-08-05

Changes:

  • TEST Kind update to v0.11.1

  • OPTIM/MEDIUM Update Ingress status in a seperate goroutine

Release version: 1.6.5
Release date: 2021-07-15

Changes:

  • MAJOR add option to disable forwarding to ExternalName Services

  • BUILD add action for goreleaser that releases on every tag

Release version: 1.6.4
Release date: 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

Release version: 1.6.3
Release date: 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

Release version: 1.6.2
Release date: 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.

Release version: 1.6.1
Release date: 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

Release version: 1.6.0
Release date: 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

Release version: 1.5.6
Release date: 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

Release version: 1.5.5
Release date: 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

Release version: 1.5.4
Release date: 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.

Release version: 1.5.3
Release date: 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

Release version: 1.5.2
Release date: 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

Release version: 1.5.1
Release date: 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

Release version: 1.5.0
Release date: 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 <pre> 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

  • 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

Release version: 1.4.13
Release date: 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

Release version: 1.4.12
Release date: 2020-12-20

Changes:

  • REORG/MEDIUM Use array instead of map for endpoints

  • BUG/MEDIUM Endpoints remove duplicate entries in haproxy backend

Release version: 1.4.11
Release date: 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

Release version: 1.4.10
Release date: 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

Release version: 1.4.9
Release date: 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”

Release version: 1.4.8
Release date: 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

Release version: 1.4.7
Release date: 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

Release version: 1.4.6
Release date: 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

  • 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

Release version: 1.4.5
Release date: 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

Release version: 1.4.4
Release date: 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

Release version: 1.4.3
Release date: 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

Release version: 1.4.2
Release date: 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

Release version: 1.4.1
Release date: 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

Release version: 1.4.0
Release date: 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

Release version: 1.3.3
Release date: 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.

Release version: 1.3.2
Release date: 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

Release version: 1.3.1
Release date: 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

Release version: 1.3.0
Release date: 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

Release version: 1.2.7
Release date: 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

Release version: 1.2.6
Release date: 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

Release version: 1.2.5
Release date: 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

Release version: 1.2.4
Release date: 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

Release version: 1.2.3
Release date: 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.

Release version: 1.2.2
Release date: 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

Release version: 1.2.1
Release date: 2019-09-02

Changes:

  • BUG/MAJOR do not reload evey 5s with default cert

Release version: 1.2.0
Release date: 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

Release version: 1.1.7
Release date: 2019-08-13

Changes:

  • BUG/MAJOR update go.mod file

Release version: 1.1.6
Release date: 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

Release version: 1.1.5
Release date: 2019-07-30

Changes:

  • BUG/MEDIUM ingress handle service port properly

  • BUILD update go and haproxy image

  • FEATURE add ipv6 support

Release version: 1.1.4
Release date: 2019-07-11

Changes:

  • MAJOR endpoints fix num of servers

Release version: 1.1.3
Release date: 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

Release version: 1.1.2
Release date: 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

Release version: 1.1.1
Release date: 2019-07-05

Changes:

  • BUG/MAJOR support for older versions of k8s

Release version: 1.1.0
Release date: 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

Release version: 1.0.3
Release date: 2019-07-05

Changes:

  • BUG/MAJOR ratelimiting fix rate limiting

  • MEDIUM Go upgrade packages

  • CLEANUP log clean log message

Release version: 1.0.2
Release date: 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

Release version: 1.0.1
Release date: 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

Release version: 1.0.0
Release date: 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?