Enterprise

Changelog

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

Version 1.10 Jump to heading

1.10.11-ee1 - 2024-02-16

Changes:

  • EE: BUILD/MINOR: go.mod: update github.com/aws/aws-sdk-go-v2

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

  • EE: BUILD/MINOR: go.mod: update github.com/aws/aws-sdk-go-v2

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

  • EE: BUG/MINOR: build: use same rules on ubi image

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

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

  • EE: MINOR: add PointerIfNotDefault function

  • EE: BUILD/MINOR: go.mod: update github.com/aws/aws-sdk-go-v2

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

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

  • DOC: enhance techdump documentation

  • BUG: wrong techdump socket command name in doc

  • MINOR: add reload/restart configuration manager

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

1.10.10-ee1 - 2024-01-15

Changes:

  • 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 DeepCopy

  • EE: BUG: reenabling publish service and publish-ip annotation

  • EE: BUG: fix doc production by adding ee contents

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

  • EE: MINOR: add techdump secured HTTP endpoint

  • BUG: fix cluster ip from publish service

  • BUILD/MINOR: update commit commit check tool

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

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

  • MINOR: move version.go to package version

  • EE: BUG: add missing RBAC permissions in haproxy-ingress.hapee.yaml

  • EE: BUG: fix ingress deployment

  • DOC/MINOR: change version_min from 1.4 to 1.9 for timeout-server and description for configmap since 1.4

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

  • EE: MINOR: add techdump facility

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

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

  • DOC: documentation of new added prometheus metrics

  • BUG: fix configmap and default backend service data for prometheus report

  • EE: MINOR: build docker image from a locally built kubernetes-ingress binary

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

  • EE: BUG: killing parent process on AWS license manager error

  • EE: BUG: dynamic regional endpoint for License Manager

  • MINOR: add prometheus metrics for configsnippet and configuration synchronization

  • MINOR: add warning in error messages for possible temporary situations

  • MINOR: s6 starts with main cfg file only

  • MINOR: add transactionID in all logs

  • 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.

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

  • EE: CLEANUP/MINOR: lint: align code to go version 1.21

  • 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

  • BUG/MEDIUM: support alternative healthcheck endpoint

  • BUG: pprof handler should be run once

  • EE: BUG: fixes modsec e2e

  • EE: BUG: update peers even when previous configuration failed

  • EE: TEST: resolve ee differences for UseBackendSuite

  • EE: DOC: add publish-ip documentation

  • EE: MINOR: add global publish-ip annotation to set the ingress status loadbalancer ip address

  • EE: MINOR: init: create empty map files so they can be referenced in aux file

  • EE: REORG/MINOR: golint and styling changes

  • EE: BUG/MINOR: aligning to AWS MP entitlement name

  • EE: BUG/MINOR: required region for AWS MP integration

  • EE: BUG/MINOR: wrong AWS MP product ID

  • EE: BUG/MINOR: preserve reloads for snippets

  • EE: BUILD/MINOR: Add RHEL UBI EE Docker image

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

  • EE: TEST: modsec: use newest v1 ingress

  • EE: TEST/MINOR: map-updates: add more info to log message

  • EE: TEST/MINOR: ci: use most recent k8s

  • EE: TEST/MINOR: add hardstop 1s

  • EE: lint: annotation remove unused logger

  • EE: TEST/MINOR: add context to acl route test

  • EE: BUG/MINOR: write modsec rules

  • EE: MINOR: fix equal method comparison

  • EE: BUILD: style: fix linter errors

  • EE: BUILD/MINOR: support for docker build tags

  • EE: TEST/MINOR: testing AWS LicenseManager business logic

  • EE: MINOR: AWS License Manager integration

  • EE: MAJOR: add configuration file option

  • EE: BUG: purge systematically backend and secrets processed

  • EE: MEDIUM: add config snippet validation

  • EE: disable CE snippet

  • EE: BUG: deletion of modsecurity filter when secret does not exist

  • EE: BUG: permits to change modsecurity for a service

  • EE: MINOR: modify filter modsecurity identifier naming to accomodate parsing rule.

  • EE: TEST: add modsecurity service tests

  • EE: MINOR: add service modsecurity annotation support

  • EE: TEST: add modsec with mapfiles e2e tests

  • EE: MINOR: peers: resolve difference between CE and EE

  • EE: MINOR: add peers management

  • EE: MAJOR: add support for WAF

  • EE: MINOR: add init EE modules option

  • EE: BUILD: update go mod and sum

  • EE: BUILD/MAJOR: use hapee as base for controller

  • EE: DOC/MINOR: update readme and ee log info

  • EE: DOC/MINOR: enable generating ee docs

  • EE: BUILD: ci: allow EE commits, add credentials for hapee registry

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

  • 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

  • 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

  • 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

  • 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

  • BUG/MINOR: ci: resolve goreleaser build procedure

Version 1.9 Jump to heading

1.9.14-ee1 - 2024-02-15

Changes:

  • EE: BUILD/MINOR: go.mod: update github.com/aws/aws-sdk-go-v2

  • EE: BUILD/MINOR: go.mod: update github.com/aws/aws-sdk-go-v2

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

  • EE: BUILD/MINOR: go.mod: update github.com/aws/aws-sdk-go-v2

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

  • DOC: enhance techdump documentation

  • BUILD: fix gofumpt error

  • BUG: wrong techdump socket command name in doc

  • MINOR: add reload/restart configuration manager

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

  • BUILD: order api pkgs for code-generator consistency

1.9.13-ee2 - 2023-12-22

Changes:

  • EE: BUG/MINOR: allow some delay on haproxy startup

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

  • EE: BUG/MINOR: crd: optimize k8s crd events

  • EE: MINOR: crd: install both crd versions with crd job

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

  • BUG/MINOR: fix panic in Global CR DeepCopy

  • EE: MINOR: add techdump secured HTTP endpoint

  • BUG: fix cluster ip from publish service

1.9.13-ee1 - 2023-11-16

Changes:

  • BUILD/MINOR: update commit commit check tool

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

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

  • EE: DOC: add missing example zip referenced in documentation

  • EE: BUG: add missing RBAC permissions in haproxy-ingress.hapee.yaml

  • EE: MINOR: add techdump facility

  • DOC/MINOR: change version_min from 1.4 to 1.9 for timeout-server and description for configmap since 1.4

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

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

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

  • DOC: documentation of new added prometheus metrics

  • BUG: fix configmap and default backend service data for prometheus report

1.9.12-ee2 - 2023-10-31

Changes:

  • EE: BUG: killing parent process on AWS license manager error

  • EE: BUG: dynamic regional endpoint for License Manager

1.9.12-ee1 - 2023-10-12

Changes:

  • MINOR: add transactionID in all logs

  • 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

  • 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.

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

  • EE: BUILD/MINOR: go.mod: update github.com/aws/aws-sdk-go-v2

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

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

  • EE: BUILD/MINOR: go.mod: update github.com/aws/aws-sdk-go-v2

  • EE: CLEANUP/MINOR: lint: resolve code formatting

  • 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

  • MINOR: add prometheus metrics for configsnippet and configuration synchronization

  • MINOR: add warning in error messages for possible temporary situations

  • MINOR: s6 starts with main cfg file only

  • BUG/MINOR: aws: dynamic credentials provider

  • EE: BUG: fixes modsec e2e

  • EE: BUG: update peers even when previous configuration failed

  • EE: BUILD/MINOR: increase RHEL UBI EE Docker image to 2.6

  • EE: TEST: resolve ee differences for UseBackendSuite

  • EE: DOC: add publish-ip documentation

  • EE: MINOR: add global publish-ip annotation to set the ingress status loadbalancer ip address

  • EE: MINOR: update to management of ingress statuses

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

  • EE: MINOR: init: create empty map files so they can be referenced in aux file

  • EE: REORG/MINOR: golint and styling changes

  • EE: BUG/MINOR: aligning to AWS MP entitlement name

  • EE: BUG/MINOR: required region for AWS MP integration

  • EE: BUG/MINOR: wrong AWS MP product ID

  • EE: BUG/MINOR: preserve reloads for snippets

  • EE: BUILD: ci: add more memory to POD

  • EE: BUILD/MINOR: Add RHEL UBI EE Docker image

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

  • EE: TEST: modsec: use newest v1 ingress

  • EE: TEST/MINOR: map-updates: add more info to log message

  • EE: TEST/MINOR: ci: use most recent k8s

  • EE: TEST/MINOR: add hardstop 1s

  • EE: lint: annotation remove unused logger

  • EE: TEST/MINOR: add context to acl route test

  • EE: BUG/MINOR: write modsec rules

  • EE: MINOR: fix equal method comparison

  • EE: BUILD: style: fix linter errors

  • EE: BUILD/MINOR: support for docker build tags

  • EE: TEST/MINOR: testing AWS LicenseManager business logic

  • EE: MINOR: AWS License Manager integration

  • EE: MAJOR: add configuration file option

  • EE: BUG: purge systematically backend and secrets processed

  • EE: MEDIUM: add config snippet validation

  • EE: disable CE snippet

  • EE: BUG: deletion of modsecurity filter when secret does not exist

  • EE: BUG: permits to change modsecurity for a service

  • EE: MINOR: modify filter modsecurity identifier naming to accomodate parsing rule.

  • EE: TEST: add modsecurity service tests

  • EE: MINOR: add service modsecurity annotation support

  • EE: TEST: add modsec with mapfiles e2e tests

  • EE: MINOR: peers: resolve difference between CE and EE

  • EE: MINOR: add peers management

  • EE: MAJOR: add support for WAF

  • EE: MINOR: add init EE modules option

  • EE: BUILD: update go mod and sum

  • EE: BUILD/MAJOR: use hapee as base for controller

  • EE: DOC/MINOR: update readme and ee log info

  • EE: DOC/MINOR: enable generating ee docs

  • EE: BUILD: ci: allow EE commits, add credentials for hapee registry

  • 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

  • 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

  • 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

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

  • 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

  • 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.

  • 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

Version 1.8 Jump to heading

1.8.12-ee8 - 2023-10-31

Changes:

  • EE: BUG: killing parent process on AWS license manager error

  • EE: BUG: dynamic regional endpoint for License Manager

1.8.12-ee7 - 2023-10-12

Changes:

  • MINOR: add transactionID in all logs

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

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

  • EE: BUILD/MINOR: go.mod: update github.com/aws/aws-sdk-go-v2

  • 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.

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

1.8.12-ee6 - 2023-09-14

Changes:

  • BUILD/MAJOR: go: increase version to 1.21

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

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

1.8.12-ee5 - 2023-09-03

Changes:

  • EE: BUILD/MINOR: go.mod: update github.com/aws/aws-sdk-go-v2

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

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

  • EE: BUILD/MINOR: go.mod: update github.com/aws/aws-sdk-go-v2

  • MINOR: add prometheus metrics for configsnippet and configuration synchronization

  • MINOR: add warning in error messages for possible temporary situations

  • MINOR: s6 starts with main cfg file only

  • EE: BUG: update peers even when previous configuration failed

1.8.12-ee4 - 2023-06-19

Changes:

  • EE: DOC: add publish-ip documentation

  • EE: MINOR: add global publish-ip annotation to set the ingress status loadbalancer ip address

  • EE: MINOR: update to management of ingress statuses

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

1.8.12-ee3 - 2023-05-18

Changes:

  • MINOR: add reload/restart logs

  • BUG/MINOR: aws: dynamic credentials provider

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

  • EE: BUG/MINOR: ci: add only to build stage

1.8.12-ee2 - 2023-05-16

Changes:

  • EE: MINOR: init: create empty map files so they can be referenced in aux file

1.8.12-ee1 - 2023-03-31

Changes:

  • EE: REORG/MINOR: golint and styling changes

  • EE: BUG/MINOR: aligning to AWS MP entitlement name

  • EE: BUG/MINOR: required region for AWS MP integration

  • EE: BUG/MINOR: wrong AWS MP product ID

  • EE: BUG/MINOR: missing error formatting

  • 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

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

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

  • EE: CLEANUP/MINOR: remove server state save

  • CLEANUP/MINOR: remove server state save

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

  • EE: BUILD/MINOR: Add RHEL UBI EE Docker image

1.8.11-ee1 - 2023-02-10

Changes:

1.8.8-ee1 - 2023-02-10

Changes:

  • BUILD/MINOR: go: use Go version 1.20

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

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

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

  • EE: BUG/MINOR: preserve reloads for snippets

  • 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

  • EE: BUILD: ci: add more memory to POD

  • EE: BUG/MINOR: write modsec rules

  • EE: MINOR: fix equal method comparison

  • EE: BUILD: style: fix linter errors

  • EE: BUILD/MINOR: support for docker build tags

  • EE: TEST/MINOR: testing AWS LicenseManager business logic

  • EE: MINOR: AWS License Manager integration

  • EE: MAJOR: add configuration file option

  • EE: BUG: purge systematically backend and secrets processed

  • EE: MEDIUM: add config snippet validation

  • EE: BUG: deletion of modsecurity filter when secret does not exist

  • EE: BUG: permits to change modsecurity for a service

  • EE: MINOR: modify filter modsecurity identifier naming to accomodate parsing rule.

  • EE: TEST: add modsecurity service tests

  • EE: MINOR: add service modsecurity annotation support

  • EE: TEST: add modsec with mapfiles e2e tests

  • EE: MINOR: add peers management

  • EE: MAJOR: add support for WAF

  • EE: MINOR: add init EE modules option

  • EE: BUILD: update go mod and sum

  • EE: BUILD/MAJOR: use hapee as base for controller

  • EE: DOC/MINOR: update readme and ee log info

  • EE: DOC/MINOR: enable generating ee docs

  • EE: BUILD: ci: allow EE commits, add credentials for hapee registry

  • MINOR: removal of unused ingresschan

  • BUILD: update packages that was reported to have vulnerabilities

  • 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

  • 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

  • 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

  • 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: Add -m to HAProxy arguments to set memory limit to 2/3 of RAM

Version 1.7 Jump to heading

1.7.12-ee7 - 2024-02-15

Changes:

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

  • EE: BUILD/MINOR: go.mod: update github.com/aws/aws-sdk-go-v2

  • EE: BUILD/MINOR: go.mod: update github.com/aws/aws-sdk-go-v2

1.7.12-ee6 - 2024-01-18

Changes:

  • EE: BUILD/MINOR: go.mod: update github.com/aws/aws-sdk-go-v2

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

  • MINOR: add reload/restart configuration manager

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

  • BUILD: order api pkgs for code-generator consistency

  • BUG/MINOR: fix panic in Global CR DeepCopy

  • MINOR: prevents unnecessary reload from backend prometheus management

  • MINOR: prevents unnecessary reload from backend pprof management

  • MINOR: add more logs for reload reasons

  • TEST: upgrade kind version to 1.27.0

  • MINOR: add transactionID in all logs

  • EE: BUILD/MINOR: go.mod: update github.com/aws/aws-sdk-go-v2

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

  • EE: BUILD/MINOR: go.mod: update github.com/aws/aws-sdk-go-v2

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

  • EE: BUILD/MINOR: go.mod: update github.com/aws/aws-sdk-go-v2

1.7.12-ee5 - 2023-10-12

Changes:

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

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

  • EE: BUILD/MINOR: go.mod: update github.com/aws/aws-sdk-go-v2

1.7.12-ee4 - 2023-10-06

Changes:

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

  • BUG: revert fix for cfgdata

  • DOC: prometheus endpoint documentation

  • BUG: fix cfgdata status management in config snippet transaction

  • MINOR: add prometheus metrics for configsnippet and configuration synchronization

  • BUILD/MEDIUM: add new linter rules

  • BUG/MEDIUM: informers: do not add default namespace multiple times to the list of informers

  • BUILD/MEDIUM: add new version of linter to the project

1.7.12-ee3 - 2023-08-14

Changes:

  • EE: OPTIM/MINOR: improve map updates

  • EE: MAJOR: adjust tests for 1.7 environment

  • EE: BUILD/MAJOR: use Go 1.21 for build

  • EE: MAJOR: add option to dynamically update maps

1.7.12-ee2 - 2023-05-11

Changes:

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

1.7.12-ee1 - 2023-01-24

Changes:

1.7.11-ee12 - 2023-01-24

Changes:

  • EE: BUG/MINOR: preserve reloads for snippets

1.7.11-ee11 - 2023-01-18

Changes:

  • EE: MEDIUM: ci: add more memory to IC POD

  • MINOR: keep ssl and ssl-passthrough active together

  • BUG/MINOR: config snippet validation more flexible regexp

1.7.11-ee10 - 2022-12-01

Changes:

  • EE: BUG/MINOR: handle two formats of error messages in backend configsnippet

  • EE: BUG/MINOR: update frontend and global configsnippet even if no change

1.7.11-ee9 - 2022-11-21

Changes:

  • EE: BUG/MINOR: adding goproxy env variables for the gitlab CI

  • EE: BUILD/MINOR: support for docker build tags

  • EE: TEST/MINOR: testing AWS LicenseManager business logic

  • EE: MINOR: AWS License Manager integration

  • EE: MAJOR: add configuration file option

1.7.11-ee8 - 2022-09-12

Changes:

  • BUG: purge systematically backend and secrets processed

  • EE: MEDIUM: add config snippet validation

1.7.11-ee7 - 2022-08-26

Changes:

  • EE: BUG: deletion of modsecurity filter when secret does not exist

1.7.11-ee6 - 2022-08-25

Changes:

  • EE: BUG: permits to change modsecurity for a service

1.7.11-ee5 - 2022-08-17

Changes:

  • MINOR: modify filter modsecurity identifier naming to accomodate parsing rule.

1.7.11-ee4 - 2022-08-04

Changes:

  • TEST: add modsecurity service tests

  • MINOR: add service modsecurity annotation support

  • MINOR: modsec uses map files

  • TEST: add modsec with mapfiles e2e tests

  • MINOR: modsec uses map files

1.7.11-ee3 - 2022-06-30

Changes:

  • MINOR: add trace logs for endpoints and servers.

1.7.11-ee2 - 2022-06-17

Changes:

  • BUG/MINOR: process multiple backends per service

1.7.11-ee1 - 2022-06-01

Changes:

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

1.7.10-ee2 - 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 ingress status at creation

1.7.10-ee1 - 2022-04-12

Changes:

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

1.7.9-ee1 - 2022-04-12

Changes:

  • DOC: Add initial custom resource documentation

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

  • BUG: fix missing cors-enable annotation treatment

1.7.7-ee3 - 2022-03-22

Changes:

  • EE: BUG: fix for correct equality comparison for PeerEntry model

1.7.7-ee2 - 2022-03-17

Changes:

  • EE: BUG/MINOR: remove false errors in modsec annotation

1.7.7-ee1 - 2022-03-16

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

1.7.6-ee3 - 2022-03-16

Changes:

  • EE: BUG/MINOR: modsec: Fix conflicting directories

  • EE: BUG/MEDIUM: modsec: Fix reload state

1.7.6-ee2 - 2022-03-07

Changes:

  • EE: MINOR: modify peers management

  • MINOR: wait for started process with Run call

1.7.6-ee1 - 2022-03-02

Changes:

  • BUG/MINOR: fixes ingressclass comparison in modification case

  • TEST/MINOR: Prevent nil pointer dereference.

  • MINOR: add client-strict-sni annotation

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

  • MINOR: Accept patternfiles in whitelist/blacklists

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

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

  • BUG/MINOR: sync cm name with config argument

1.7.5-ee1 - 2022-01-31

Changes:

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

1.7.4-ee2 - 2022-01-20

Changes:

  • EE: BUG/MEDIUM: waf: fix out of range index

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

1.7.4-ee1 - 2022-01-17

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

  • EE: BUG/MEDIUM: waf: fix nil pointer dereference when modsec is used at configmap

1.7.3-ee2 - 2021-12-16

Changes:

  • EE: MINOR: add peers management

  • BUG/MINOR: ingress rule default frontend

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

  • MINOR: sync k8s resources names with Helm project

1.7.3-ee1 - 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.

1.7.2-ee1 - 2021-11-12

Changes:

  • EE: MAJOR: add support for WAF

  • EE: MINOR: add init EE modules option

  • EE: BUILD: update go mod and sum

  • EE: BUILD/MAJOR: use hapee as base for controller

  • EE: DOC/MINOR: update readme and ee log info

  • EE: DOC/MINOR: enable generating ee docs

  • EE: BUILD: ci: allow EE commits, add credentials for hapee registry

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

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

  • DOC/MINOR: Add goreport badge

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

  • DOC: Add Ingress Controller version to main doc page

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

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

  • BUG/MINOR: Fix configuration of backend model

  • DOC: Add an IngressClass section

  • BUG/MINOR: Fix IngressClass filtering

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

  • REORG: move Ingress handler in a seperate pacakge

  • REORG: Reorganize service handler in controller/service

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

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

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

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

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

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

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

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

  • DOC: add contributors and license badges

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

  • BUG/MINOR: Fix backend runtime sync

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

  • MINOR: use undercore instead of hyphen for backend names

Version 1.6 Jump to heading

1.6.9-ee1 - 2022-03-03

Changes:

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

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

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

1.6.8-ee1 - 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

  • EE: BUILD: ci: allow EE commits, add credentials for hapee registry

  • EE: BUILD: prevent pulling kind images from dockerhup, use local

1.6.7-ee1 - 2021-09-08

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

  • TEST: Kind: update to v0.11.1

  • TEST: Kind: update to v0.11.1

1.6.6-ee1 - 2021-08-19

Changes:

  • TEST: Kind: update to v0.11.1

1.6.5-ee2 - 2021-08-04

Changes:

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

1.6.5-ee1 - 2021-07-15

Changes:

  • MAJOR: add option to disable forwarding to ExternalName Services

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

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

1.6.3-ee1 - 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

  • 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.

  • 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

  • EE: BUILD: update autogenerated files

  • EE: BUILD: update go mod and sum

  • EE: BUILD: ci: add credentials so gitlab can login

  • EE: MAJOR: add support for WAF

  • EE: MINOR: add FrontendFilter functions to HAProxyClient

  • EE: MINOR: add init EE modules option

  • EE: BUILD/MAJOR: use hapee as base for controller

  • EE: DOC/MINOR: update readme

  • EE: DOC/MINOR: enable generating ee docs

  • BUG/MEDIUM: Fix nil pointer dereference in EventEndpoints

  • DOC: update frontend-config-snippet

Version 1.5 Jump to heading

1.5.6-ee1 - 2021-04-29

Changes:

  • BUG/MEDIUM: Fix nil pointer dereference in EventEndpoints

  • BUG/MINOR: Controller should populate refreshed maps.

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

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

1.5.5-ee1 - 2021-04-21

Changes:

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

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

  • BUILD: EE: Add ‘docker login’ when building image for e2e tests

  • BUILD: github-ci: adjust fetch-depth

  • CLEANUP/MINOR: clean with go mod tidy

  • MINOR: ci: update check-commit msg action

  • 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

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

  • MINOR: Add debug logs to trace reload related actions

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

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

1.5.3-ee1 - 2021-03-10

Changes:

  • TEST: EE: use Dockerfile.hapee

  • 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

  • BUILD: HAPEE: Upgrade to 2.3r1

  • 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

  • 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/MINOR: linter Fix ‘maligned’ check

1.5.1-ee2 - 2021-02-18

Changes:

  • BUG/MEDIUM: EE ONLY: drop dynamic map update

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

  • BUG/MEDIUM: map file: flush content to disk when refreshing map

  • MINOR: Add tracing logs in the main reconciliation loop

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

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

  • 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

1.5.1-ee1 - 2021-02-12

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

  • REORG: EE: Move initEEModules to seperate file

  • MINIOR: EE: Don’t enable EE modules in Test mode

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

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

  • DOC: Add CORS annotations

  • MEDIUM: Add CORS support via HAProxy response rules

  • REORG/MINOR: Frontend annotations: reorg handlers

  • DOC/MEDIUM: Fixed doc formatting

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

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

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

  • DOC: add auth-realm annotation

  • MINOR: add auth-realm annotation

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

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

  • REVERT: commit 2ebd7ef4008fb42d251e9fa8627bfe0c17d5079c

  • BUILD/MINOR: update check-commit action

  • DOC/MEDIUM: Replaced

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

  • DOC/MINOR: Edit config-snippet description

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

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

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

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

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

  • DOC: Add more details about basic-auth

  • OPTIM/MINOR: basic-auth optimizations

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

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

  • CLEANUP/MINOR: cleanup when handling deleted ingress annotations

  • DOC: Update cookie persistence description

  • REORG/MINOR: simplify handling of cookie persistence

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

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

  • TEST: Add IngressClass e2e test

  • BUG/MEDIUM: Fixing IngressClass support

  • MINOR: Rely on APIResourceList for Ingress API Discovery

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

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

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

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

  • DOC: add ssl-redirect-port annotation documentation

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

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

  • REORG/MAJOR: refactor global and backend annotations

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

  • CLEANUP/MINOR: Maps: Remove unused code

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

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

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

  • MINOR: Servers: add server-proto annotation

  • MINOR: formatting startup logs

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

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

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

  • DOC: add scale-server-slots annotation

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

  • REORG/MINOR: Endpoints: remove AddrsUsed field

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

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

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

  • MINOR: replace shell processes with system calls

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

  • DOC: Update documentation link

  • BUG/MINOR: Srv annotations: preserve reload status

  • MEDIUM: runtime-maps: dynamic update

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

  • MEDIUM: remove MapID and use simple string instead

  • MINOR: maps: add preserve flag

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

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

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

  • MINOR: Fix linting issues

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

  • MINOR: Ingres rules: support Prefix PathType.

  • MINOR: Ingress rules: support Host wildcard

  • TEST/MINOR: Test Ingress rules matching

  • CLEANUP/MINOR: maps: remove unused error functions

  • BUILD/MAJOR: unprivileged container: use k8s securityContext

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

  • TEST/MINOR: enable HAProxy stdout logging

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

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

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

  • CLEANUP/MINOR: rephrase HAProxy config sync log message

  • BUILD/MAJOR: allow go optimisations

  • BUG/MINOR: Remove lowercasing on path

  • BUILD/MEDIUM: Use InitContainers to configure unprivileged ports

  • BUILD/MAJOR: Run ingress controller in Rootless container

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

  • BUILD/MINOR: haproxy: bumping to release 2.2

  • 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: EE: Move modules initialization to a seperate function

  • REORG: EE: Move WAF code to a dedicated handler

  • 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: Remove multibinder

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

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

  • DOC: Add CORS annotations

  • MEDIUM: Add CORS support via HAProxy response rules

  • REORG/MINOR: Frontend annotations: reorg handlers

  • DOC/MEDIUM: Fixed doc formatting

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

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

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

  • DOC: add auth-realm annotation

  • MINOR: add auth-realm annotation

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

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

  • REVERT: commit 2ebd7ef4008fb42d251e9fa8627bfe0c17d5079c

  • BUILD/MINOR: update check-commit action

  • DOC/MEDIUM: Replaced

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

  • DOC/MINOR: Edit config-snippet description

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

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

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

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

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

  • DOC: Add more details about basic-auth

  • OPTIM/MINOR: basic-auth optimizations

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

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

  • CLEANUP/MINOR: cleanup when handling deleted ingress annotations

  • DOC: Update cookie persistence description

  • REORG/MINOR: simplify handling of cookie persistence

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

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

  • TEST: Add IngressClass e2e test

  • BUG/MEDIUM: Fixing IngressClass support

  • MINOR: Rely on APIResourceList for Ingress API Discovery

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

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

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

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

  • DOC: add ssl-redirect-port annotation documentation

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

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

  • REORG/MAJOR: refactor global and backend annotations

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

  • CLEANUP/MINOR: Maps: Remove unused code

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

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

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

  • MINOR: Servers: add server-proto annotation

  • MINOR: formatting startup logs

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

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

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

  • DOC: add scale-server-slots annotation

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

  • REORG/MINOR: Endpoints: remove AddrsUsed field

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

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

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

  • MINOR: replace shell processes with system calls

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

  • DOC: Update documentation link

  • BUG/MINOR: Srv annotations: preserve reload status

  • MEDIUM: runtime-maps: dynamic update

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

  • MEDIUM: remove MapID and use simple string instead

  • MINOR: maps: add preserve flag

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

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

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

  • MINOR: Fix linting issues

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

  • MINOR: Ingres rules: support Prefix PathType.

  • MINOR: Ingress rules: support Host wildcard

  • TEST/MINOR: Test Ingress rules matching

  • CLEANUP/MINOR: maps: remove unused error functions

  • BUILD/MAJOR: unprivileged container: use k8s securityContext

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

  • TEST/MINOR: enable HAProxy stdout logging

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

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

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

  • CLEANUP/MINOR: rephrase HAProxy config sync log message

  • BUILD/MAJOR: allow go optimisations

  • BUG/MINOR: Remove lowercasing on path

  • BUILD/MEDIUM: Use InitContainers to configure unprivileged ports

  • BUILD/MAJOR: Run ingress controller in Rootless container

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

  • BUILD/MINOR: haproxy: bumping to release 2.3

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

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

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

  • TEST/MINOR: No need for release parameter

  • TEST/MINOR: Fix some naming issues.

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

  • BUG/MINOR: Don’t replicate HAProxy rules

  • MAJOR: change HAProxy rules matching

  • MAJOR: backend switching: use Haproy Map Files

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

  • MINOR: handle multiple default routes

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

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

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

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

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

  • TEST/MINOR: Check if Namespace exists before creation

  • BUG/MEDIUM: endpoints: set BackendName

  • TEST: Run tests in specific NS

  • REORG/MINOR: handlers: add refresh handler

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

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

  • MINOR: logging: change formatting of few logs

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

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

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

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

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

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

  • DOC/MINOR: documenting Basic Authentication Ingress annotations

  • CLEANUP/MINOR: fmt: resolving goimports formating

  • TEST/MINOR: integration test for Basic Auth

  • TEST/MINOR: failing in case of unrecoverable error

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

  • MEDIUM: frontend: supporting Basic Authentication

  • BUILD/MINOR: increasing golang-ci lint timeout

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

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

  • DOC: fixing typo on indentation

  • MINOR: HAProxy maps: simplify content management.

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

  • REORG: group in same file functions of same logic

  • DOC/MINOR: Fix ambiguous whitelist description

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

  • DOC: hard-stop-after annotation

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

  • MINOR: typo: various grammatical typo

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

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

  • MINOR: adding set source rule as global annotation

  • TEST/MINOR: set-host as Ingress annotation

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

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

  • BUG/MEDIUM: access control: fixing rules order

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

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

  • MINOR: properly handle transaction dir in test suite

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

  • MINOR: Add “program” controller arg.

  • MAJOR: Configure an HAProxy instance outside of k8s.

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

  • REORG: make HAProxyCfgDir a global variable

  • BUILD: upgrade to config-parser v3

  • MINOR: Change initial socket path for bind lines

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

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

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

  • MEDIUM: fixing e6dd2b3 and making IngressClass no more mandatory

  • MINOR: ingress: handling exact path matching

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

  • DOC/MINOR: typo on docs and source code

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

  • OPTIM/MINOR: controller: using struct events channel

  • MINOR: Add stacking errors

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

  • REORG: maps: rename key to mapID

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

  • BUILD: github: too many white-spaces

  • BUILD: github: decoupling lint and commit subject

  • TEST/MAJOR: reorg and fixing various test cases

  • TEST/MINOR: upstream proxy-protocol v1

  • BUILD: Fix linting: capitalized error string

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

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

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

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

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

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

  • MINOR: using config-parser for bind options init

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

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

  • DOC: documenting changes introduced with db51a5db

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

  • DOC: SSL section reviewed

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

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

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

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

  • MINOR: tests: tls/ssl redirect

  • MINOR: tests: testing HTTPS frontend

  • MINOR: tests: testing SSL passthrough

  • BUG/MINOR: not exposing HTTPS port on KinD

  • MINOR: tests: endpoints out and in scaling

  • MINOR: tests: host-based matching

  • MINOR: tests: path matching with URL rewrite

  • REORG/MINOR: tests: structuring tests and utilities

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

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

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

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

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

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

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

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

  • MINOR: annotations: configurable rate limiting status code

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

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

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

  • MINOR: update haproxy set-var rules

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

  • REORG: group controller’s refresh functions

  • REORG: move TCP handling to the UpdateHandler interface

  • REORG: move https handling to the UpdateHandler interface

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

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

  • MAJOR: move k8s resources to seperate module named store

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

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

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

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

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

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

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

  • REORG: Refactoring ConfigMaps

  • REORG: Change FrontendRulesStatus/BackendSwitchingStatus to FrontendRulesModified/BackendSwitchingModified

  • DOC/MAJOR: generate docs from yaml

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

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

  • CLEANUP/MINOR: tests: separate logic and data

  • TEST/MINOR: test for nbthread 1

  • TEST/MAJOR: add action for kind test

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

  • MINOR: Reload HAProxy when creating new server slots

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

  • BUILD/MINOR: increase Go version to 1.15

  • TEST/MAJOR: Add tests for global annotations

  • MAJOR: move global annotations to a seperate package

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

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

  • 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

  • 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

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

  • FEATURE/MAJOR: add interfaces for updating config

  • MINOR: Add endpoint for memory profiling with pprof

  • MINOR: backend: allowing proxy protocol via annotation

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

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

  • 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 (ee)

  • 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

  • OPTIM/CRITICAL: add global hard-stop-after directive

  • 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

  • BUILD/MINOR: Dockerfile: Add GOPRIVATE env variable

  • CLEANUP/MINOR: cleanup incorrect go.sum

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

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

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

  • OPTIM/MINOR: increasing Kubernetes informe cache resync period

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

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

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

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

  • CLEANUP: maps: rename hosts to rows.

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

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

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

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

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

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

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

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

  • MINOR: removing replicas from DaemonSet

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

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

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

  • MEDIUM: Add logging messages for debug

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

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

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

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

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

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

  • OPTIM/MINOR: increasing Kubernetes informe cache resync period

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

  • FEATURE/MAJOR: add interfaces for updating config

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

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

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

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

  • CLEANUP: maps: rename hosts to rows.

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

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

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

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

  • MINOR: Add endpoint for memory profiling with pprof

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

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

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

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

  • MINOR: backend: allowing proxy protocol via annotation

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

  • MINOR: Add timezone support for logs streaming

  • MINOR: removing replicas from DaemonSet

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

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

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

  • BUILD: update go version to 1.14.4

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

  • BUG/MEDIUM: Incorrect config-parser type when using module-load

  • BUG/MAJOR: use proper keyword for module load

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

  • 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

  • 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

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

  • BUG/MAJOR: add missing /

  • MINOR: Ignore empty fields in syslog params

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

  • BUG/MINOR: use new logging system in waf module

  • BUG/MINOR: http-buffer-request: only in mode http

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

  • BUG/MAJOR: build: add correct go.mod file

  • BUILD/MEDIUM: upgrade haproxy packages to v2

  • BUG/MINOR: logs: remove empty lines

  • BUILD/MEDIUM: upgrade haproxy packages to v2

  • BUG/MINOR: logs: remove empty lines

  • CLEANUP/MINOR: Don’t print HAproxy version twice

  • 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: Remove leftover directive in dockerfile

  • BUILD: HAPEE: Updae to 2.1r1

  • 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/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: Remove github actions config

  • 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 gitlab-ci to add check-commit job

  • 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.

  • BUG/MINOR: Fix incorrect reload check with syslog-server annotation

  • MINOR: Sort backendSwitching rules across different ingresses

  • 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

  • BUG/MEDIUM: fix set-var parsing bug in config-parser

  • BUILD: Update linter to v1.24.0

  • BUILD: Update linter to v1.24.0

  • BUG/MEDIUM: Fix deprecated actions in tcp-request rule

  • BUG/MEDIUM: Fix deprecated actions in tcp-request rule

  • BUG/MEDIUM: Fix set-var action in tcp-request rule

  • BUILD: Upgrade Golang version to 1.14.2

  • MINOR: Ignore the port part when matching hosts against ingress rules

  • 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: 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

  • BUILD: Golang: update to 1.13.9

  • 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

  • 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

  • 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

  • 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

  • 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.

  • DOC: Update contributing section

  • 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.

  • BUILD: use Go 13.8

  • 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/MINOR: WAF: create correct order of rules in file

  • BUG/MAJOR: waf: add only conf files to modsec.conf

  • BUG/MEDIUM: Keep processing backend of TCP services even when TCPConfigmap does not change.

  • MINOR: No need to sync service’s targetport

  • BUILD: linter: user proper version of linter

  • CLEANUP: linter: fix import paths order

  • BUG/MAJOR: waf: properly initialise waf

  • BUILD: debug add request-capture support

  • 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.

  • BUILD: resolve merging errors

  • 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: 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.

  • BUILD: HAPEE: upgrade to 2.0r1

  • MINOR: testing: Add build and linter

  • MINOR: Add “server-ssl” annotation

  • BUG/MINOR: build: resolve ee code diferences

  • 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

  • CLEANUP: controller annotations

  • BUG/MINOR: remove warning message

  • BUILD: deployed as DaemonSet with hostPort to improve relaiability

  • 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

  • CLEANUP: controller annotations

  • BUG/MINOR: remove warning message

  • BUILD: update EE dependancies

  • 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

  • CLEANUP: properly handle waiting

  • BUG/MEDIUM: Correctly register active backends

  • TESTS: update gitlab ci with new procedure

  • DOC: update build procedure

  • BUILD: update go.mod file

  • MAJOR: waf: add ability to load multiple files

  • 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

  • BUILD: Added .gitlab-ci.yml, run lint, build it.

  • BUILD: config: Add automatic lint testing on gitlab

  • 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

  • CLEANUP: sync with CE version, fix linting errors

  • 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

  • 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/MINOR: modsec: create modsec dir in image

  • BUG/MEDIUM: Backend servers status is not handled correctly

  • MAJOR: add waf modsecurity

  • 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

  • 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

  • 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.

  • MINOR: minor logging improvements

  • MINOR: Add check-http annotation.

  • CLEANUP: Improve backend annotations readability

  • CLEANUP: code cleanup in handleService

  • CLEANUP: code cleanup in handlePath

  • Added new file for HAProxy Enterprise deploy YAML.

  • MINOR: Changed Docker image to pull from private repo, kubernetes-registry.haproxy.com, and to expect a secret named regcred to be present for logging into that repo.

  • 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

  • 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

  • MINOR: logs: add hostname output to logs on start

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

  • BUILD: update package versions

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

  • 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

  • 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

  • BUILD: add golangci linting tool

  • BUG/MAJOR: update go.mod file

  • BUG/MAJOR: update go.mod file

  • FEATURE: add http2 support

  • 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

  • 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: ingress: handle service port properly

  • BUILD: update go and haproxy image

  • FEATURE: add ipv6 support

  • DOC: add info where and how to use comunity version

  • MAJOR: use EE versions of packages

  • 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

  • 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/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

  • 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

  • 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

  • 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

  • BUILD: HAPEE: add image to build hapee version

Version 1.4 Jump to heading

1.4.13-ee2 - 2021-02-02

Changes:

  • MINOR: controller: handle graceful shutdown

  • OPTIM: Enable readiness endpoint after first sync

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

  • BUILD: gitlabci: add missing tag for publish stage

  • BUILD: gitlabci: add GOPRIVATE env variable

  • BUILD: add publish stage to gitlabci

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

1.4.13-ee1 - 2021-01-07

Changes:

  • MINOR: preserve order of http/tcp rules of same type

1.4.12-ee3 - 2021-01-05

Changes:

  • BUG/MEDIUM: Sync BackendSwitching when a namespace is deleted

1.4.12-ee2 - 2020-12-24

Changes:

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

1.4.12-ee1 - 2020-12-20

Changes:

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

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

  • BUG/MEDIUM: Endpoints: remove duplicate entries in haproxy backend

1.4.11-ee1 - 2020-12-18

Changes:

  • BUG/MAJOR: fix nil pointer dereference

  • 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: Removed secrets are not deleted from store

1.4.10-ee2 - 2020-11-24

Changes:

  • BUG/MINOR: CP: re add module-load and module-path

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

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

1.4.10-ee1 - 2020-11-20

Changes:

  • BUG/MINOR: ExternalName Service: No need for server slots provisioning

  • MINOR: Fix incorrect string formatting in some logs

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

  • BUILD: upgrade to config-parser v3

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

  • REFACTOR/MAJOR: endpoints: refactoring and introducing server-slots annotation.

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

  • OPTIM/MINOR: No need to return Error to the main loop

1.4.9-ee1 - 2020-10-29

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.

1.4.8-ee2 - 2020-10-19

Changes:

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

1.4.8-ee1 - 2020-10-16

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: Remove multibinder

1.4.7-ee2 - 2020-09-15

Changes:

  • BUILD/MINOR: increase Go version to 1.15

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

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

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

1.4.7-ee1 - 2020-09-15

Changes:

  • MINOR: Reload HAProxy when creating new server slots

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

1.4.6-ee3 - 2020-09-10

Changes:

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

1.4.6-ee2 - 2020-08-07

Changes:

  • OPTIM/CRITICAL: add global hard-stop-after directive

1.4.6-ee1 - 2020-07-24

Changes:

  • BUILD/MINOR: Dockerfile: Add GOPRIVATE env variable

  • CLEANUP/MINOR: cleanup incorrect go.sum

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

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

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

  • OPTIM/MINOR: increasing Kubernetes informe cache resync period

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

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

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

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

  • CLEANUP: maps: rename hosts to rows.

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

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

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

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

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

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

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

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

  • MINOR: removing replicas from DaemonSet

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

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

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

  • MEDIUM: Add logging messages for debug

1.4.5-ee1 - 2020-06-08

Changes:

  • BUILD: update go version to 1.14.4

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

  • BUG/MEDIUM: Incorrect config-parser type when using module-load

  • BUG/MAJOR: use proper keyword for module load

  • 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

  • BUG/MAJOR: add missing /

  • BUG/MINOR: use new logging system in waf module

  • BUG/MINOR: http-buffer-request: only in mode http

  • BUG/MAJOR: build: add correct go.mod file

  • BUILD/MEDIUM: upgrade haproxy packages to v2

  • BUG/MINOR: logs: remove empty lines

1.4.4-ee1 - 2020-05-07

Changes:

  • CLEANUP/MINOR: Don’t print HAproxy version twice

  • 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: Remove leftover directive in dockerfile

  • BUILD: HAPEE: Updae to 2.1r1

  • 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/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: Remove github actions config

  • BUILD: Update gitlab-ci to add check-commit job

  • 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.

  • BUG/MINOR: Fix incorrect reload check with syslog-server annotation

  • MINOR: Sort backendSwitching rules across different ingresses

1.4.3-ee3 - 2020-04-17

Changes:

  • BUG/MEDIUM: fix set-var parsing bug in config-parser

  • BUILD: Update linter to v1.24.0

  • BUG/MEDIUM: Fix deprecated actions in tcp-request rule

1.4.3-ee2 - 2020-04-15

Changes:

  • BUG/MEDIUM: Fix set-var action in tcp-request rule

1.4.3-ee1 - 2020-04-15

Changes:

  • BUILD: Upgrade Golang version to 1.14.2

  • MINOR: Ignore the port part when matching hosts against ingress rules

  • MINOR: Add path-rewrite annotation

  • MINOR: Add set-host annotation

  • MEDIUM: Add support for http-request rules in the backend

  • REORG: Prefix “Frontend” word to fields holding HTTP rules.

  • REORG: Put service related code in a seperate file

  • REORG: Move Backend and Server configuration in HAProxy package

  • BUILD: Use config-parser v2.0

  • CLEANUP/MEDIUM: Use same reload flag

  • REFACTOR/MINOR: refactor global annotations

  • MINOR: Add log-format annotation to customize HTTP traffic logging

  • BUG/MINOR: Propagate ADDED status of ingress to its tls secrets

  • BUG/MINOR: Updated of default TLS secret are ignored.

  • BUG/MINOR: Ensure that certificate provided via --default-ssl-certificate is used as default certificate

  • REFACTOR/MINOR: Refactor code for HAProxy service start,restart,reload

  • MINOR: Restart HAProxy when logging to stdout

  • MEDIUM: Make use of master-worker mode to reload HAProxy

1.4.2-ee1 - 2020-04-09

Changes:

  • BUILD: Golang: update to 1.13.9

  • BUG/MINOR: Refresh map files after refreshing HAProxy rules

  • MEDIUM: Enable rate-limiting by ingress

  • BUG/MINOR: tcp accept rule in ssl-passthrough frontend is stopping rules evaluation.

  • REFACTOR: Follow up on spec refactor, changing ID to index

  • REFACTOR: Follow up on spec refactor, changing cookie Domain to Domains

1.4.1-ee1 - 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

1.4.0-ee1 - 2020-03-20

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

  • 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.

  • 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.

  • BUILD: use Go 13.8

  • 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/MINOR: WAF: create correct order of rules in file

  • BUG/MAJOR: waf: add only conf files to modsec.conf

  • BUG/MEDIUM: Keep processing backend of TCP services even when TCPConfigmap does not change.

  • MINOR: No need to sync service’s targetport

  • BUILD: linter: user proper version of linter

  • CLEANUP: linter: fix import paths order

  • BUG/MAJOR: waf: properly initialise waf

  • BUILD: debug add request-capture support

  • 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.

  • BUILD: resolve merging errors

  • 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: 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.

  • BUILD: HAPEE: upgrade to 2.0r1

  • MINOR: testing: Add build and linter

  • MINOR: Add “server-ssl” annotation

  • BUG/MINOR: build: resolve ee code diferences

  • 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

  • CLEANUP: controller annotations

  • BUG/MINOR: remove warning message

  • BUILD: deployed as DaemonSet with hostPort to improve relaiability

  • 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

  • CLEANUP: controller annotations

  • BUG/MINOR: remove warning message

  • BUILD: update EE dependancies

  • 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

  • CLEANUP: properly handle waiting

  • BUG/MEDIUM: Correctly register active backends

  • TESTS: update gitlab ci with new procedure

  • DOC: update build procedure

  • BUILD: update go.mod file

  • MAJOR: waf: add ability to load multiple files

  • 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

  • BUILD: Added .gitlab-ci.yml, run lint, build it.

  • BUILD: config: Add automatic lint testing on gitlab

  • 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

  • CLEANUP: sync with CE version, fix linting errors

  • 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

  • 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/MINOR: modsec: create modsec dir in image

  • BUG/MEDIUM: Backend servers status is not handled correctly

  • MAJOR: add waf modsecurity

  • 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

  • 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

  • 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.

  • MINOR: minor logging improvements

  • MINOR: Add check-http annotation.

  • CLEANUP: Improve backend annotations readability

  • CLEANUP: code cleanup in handleService

  • CLEANUP: code cleanup in handlePath

  • Added new file for HAProxy Enterprise deploy YAML.

  • MINOR: Changed Docker image to pull from private repo, kubernetes-registry.haproxy.com, and to expect a secret named regcred to be present for logging into that repo.

  • 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

  • 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

  • MINOR: logs: add hostname output to logs on start

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

  • BUILD: update package versions

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

  • 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

  • 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

  • BUILD: add golangci linting tool

  • BUG/MAJOR: update go.mod file

  • BUG/MAJOR: update go.mod file

  • FEATURE: add http2 support

  • 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

  • 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: ingress: handle service port properly

  • BUILD: update go and haproxy image

  • FEATURE: add ipv6 support

  • DOC: add info where and how to use comunity version

  • MAJOR: use EE versions of packages

  • 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

  • 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/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

  • 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

  • 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

  • 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

  • BUILD: HAPEE: add image to build hapee version

Version 1.3 Jump to heading

1.3.2-ee6 - 2020-03-06

Changes:

  • BUILD: use Go 13.8

1.3.2-ee5 - 2020-02-26

Changes:

  • BUG/MINOR: WAF: create correct order of rules in file

  • BUG/MAJOR: waf: add only conf files to modsec.conf

  • BUILD: linter: user proper version of linter

  • CLEANUP: linter: fix import paths order

  • BUG/MAJOR: waf: properly initialise waf

  • BUILD: debug add request-capture support

  • BUILD: resolve merging errors

  • 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

  • BUILD: HAPEE: upgrade to 2.0r1

  • BUG/MINOR: build: resolve ee code diferences

  • 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

  • CLEANUP: controller annotations

  • BUG/MINOR: remove warning message

  • BUILD: deployed as DaemonSet with hostPort to improve relaiability

  • CLEANUP: controller annotations

  • BUG/MINOR: remove warning message

  • BUILD: update EE dependancies

  • 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

  • CLEANUP: properly handle waiting

  • BUG/MEDIUM: Correctly register active backends

  • TESTS: update gitlab ci with new procedure

  • DOC: update build procedure

  • BUILD: update go.mod file

  • MAJOR: waf: add ability to load multiple files

  • 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

  • BUILD: Added .gitlab-ci.yml, run lint, build it.

  • BUILD: config: Add automatic lint testing on gitlab

  • 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

  • CLEANUP: sync with CE version, fix linting errors

  • 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

  • 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/MINOR: modsec: create modsec dir in image

  • BUG/MEDIUM: Backend servers status is not handled correctly

  • MAJOR: add waf modsecurity

  • 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

  • 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

  • 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.

  • MINOR: minor logging improvements

  • MINOR: Add check-http annotation.

  • CLEANUP: Improve backend annotations readability

  • CLEANUP: code cleanup in handleService

  • CLEANUP: code cleanup in handlePath

  • Added new file for HAProxy Enterprise deploy YAML.

  • MINOR: Changed Docker image to pull from private repo, kubernetes-registry.haproxy.com, and to expect a secret named regcred to be present for logging into that repo.

  • 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

  • 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

  • MINOR: logs: add hostname output to logs on start

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

  • BUILD: update package versions

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

  • 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

  • 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

  • BUILD: add golangci linting tool

  • BUG/MAJOR: update go.mod file

  • BUG/MAJOR: update go.mod file

  • FEATURE: add http2 support

  • 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

  • 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: ingress: handle service port properly

  • BUILD: update go and haproxy image

  • FEATURE: add ipv6 support

  • DOC: add info where and how to use comunity version

  • MAJOR: use EE versions of packages

  • 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

  • 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/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

  • 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

  • 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

  • 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

  • BUILD: HAPEE: add image to build hapee version

Version 1.2 Jump to heading

1.2.3-ee3 - 2019-10-15

Changes:

  • 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.

  • Added new file for HAProxy Enterprise deploy YAML.

  • MINOR: Changed Docker image to pull from private repo, kubernetes-registry.haproxy.com, and to expect a secret named regcred to be present for logging into that repo.

1.2.2-ee3 - 2019-09-11

Changes:

  • BUILD: upgrade to go:1.13

  • BUG/MEDIUM: certificates: clean certificate files

  • BUG/MEDIUM: ingress: deletions of backends

  • BUG/MEDIUM: rule: react to new rule.

  • BUG/MEDIUM: certs: Secret default namespace

  • BUG/MEDIUM: avoid incrementing config version

  • MINOR: do not set default-ssl-certificate by default

  • MINOR: support stdout logs

  • MEDIUM: Add syslog-server annotation

  • BUILD: update haproxy version to 2.0.5

  • MINOR: logs: add hostname output to logs on start

1.2.1-ee3 - 2019-09-02

Changes:

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

  • BUILD: update package versions

  • 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

  • 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

  • BUILD: add golangci linting tool

  • BUG/MAJOR: update go.mod file

  • BUG/MAJOR: update go.mod file

  • FEATURE: add http2 support

  • 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

  • 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: ingress: handle service port properly

  • BUILD: update go and haproxy image

  • FEATURE: add ipv6 support

  • DOC: add info where and how to use comunity version

  • MAJOR: use EE versions of packages

  • 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

  • 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/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

  • 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

  • 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

  • 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

  • BUILD: HAPEE: add image to build hapee version

Version 1.1 Jump to heading

1.1.7-ee3 - 2019-08-14

Changes:

  • BUG/MAJOR: update go.mod file

1.1.6-ee1 - 2019-08-13

Changes:

  • FEATURE: add http2 support

1.1.5-ee2 - 2019-08-12

Changes:

  • BUILD: upgrade haproxy to 2.0.4

  • CLEANUP: remove trailing spaces and remove tabs in Dockerfile

  • CLEANUP: lint code

  • CLEANUP: remove non necessary code

1.1.5-ee1 - 2019-07-30

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

If this page was useful, please, Leave the feedback.