Changelog
Version 1.6.9 - 2022-01-13
Changes:
-
BUG/MINOR: Fix an incorrect lookup of the Endpoints corresponding to a Service Port
-
BUILD/MINOR: ci: Improve autodetection of latest branch
-
BUILD/MINOR: ci: Tag 1.7 branch as latest
Version 1.6.8 - 2021-12-01
Changes:
-
BUG/MINOR: Fix nil pointer dereference in IngressServiceBackend
-
BUG/MEDIUM: Update only status of assigned Ingress resources
-
MINOR: Run Global Cfg handler before haproxy startup
-
BUG/MINOR: process template placeholders in log line
-
TEST/MINOR: e2e: set maxconn value in configmaps
-
MAJOR: use client-go v0.21.3
Version 1.6.7 - 2021-09-07
Changes:
-
MINOR: reorg auxiliary config file management
-
MINOR: add recover in main.go to report silent error
-
BUILD/MEDIUM: go: use Go 1.17
-
BUG/MINOR: remove unused file from workflow
Version 1.6.6 - 2021-08-05
Changes:
-
TEST: Kind: update to v0.11.1
-
OPTIM/MEDIUM: Update Ingress status in a seperate goroutine
Version 1.6.5 - 2021-07-15
Changes:
-
MAJOR: add option to disable forwarding to ExternalName Services
-
BUILD: add action for goreleaser that releases on every tag
Version 1.6.4 - 2021-07-12
Changes:
-
BUG/MINOR: fix header value handling in request-set-header and response-set-header
-
BUG/MINOR: fix name inversion with annotation timeout-check
Version 1.6.3 - 2021-06-16
Changes:
-
MINOR: annotations: print annotation name in error logs
-
BUG/MINOR: tcp service should respect –disable-ipv4/ipv6 flags
-
BUG/MINOR: synchronize servers when Endpoints ports change
-
BUG/MAJOR: external mode: set all paths
-
BUG/MINOR: support protocol h1 with backend SSL
Version 1.6.2 - 2021-05-27
Changes:
-
BUG/MINOR: remove
cookie
keyword from backend section if the annotation was deleted -
BUILD: docker: Remove linux/ppc64le target to have parity with HAProxy Alpine images
-
BUILD: docker: Remove GOOS and GOARCH and use dumb-init from distro
-
BUG/MINOR: bind TCP services on adresses passed via flags –ipv4-bind-address and –ipv6-bind-address
-
BUG/MINOR: pprof handler should be called in sync loop
-
BUG/MINOR: external mode: copy haproxy.cfg form usr/local/etc/haproxy
-
DOC: Generalizes the ‘backend-config-snippet’ example
-
BUILD: docker: Add Github actions for auto and manual multiarch builds for Docker Hub.
Version 1.6.1 - 2021-05-17
Changes:
-
BUILD: docker: use usr/local/etc/haproxy as base dir
-
BUILD/MINOR: add go releaser for outside of cluster ingress controller
-
DOC: proxy-protocol: document 0.0.0.0/0 CIDR
-
DOC: Add doc guide for the secondary haproxy config file
-
BUG/MINOR: whitelist misconfigured if CM namespace not also whitelisted
-
DOC: Add IngressClass description
-
BUG/MINOR: Update config on ConfigMap added event
-
BUG/MEDIUM: Fix nil pointer dereference in EventEndpoints
-
DOC: update frontend-config-snippet
-
DOC/MINOR: update documentation - curent released version is 1.6
-
BUG/MEDIUM: Fix nil pointer dereference in EventEndpoints
-
DOC: update frontend-config-snippet
Version 1.6.0-rc.1 - 2021-04-29
Changes:
-
DOC/MINOR: update documentation - curent released version is 1.6
-
BUG/MEDIUM: Fix nil pointer dereference in EventEndpoints
-
DOC: update frontend-config-snippet
Version 1.6.0 - 2021-05-03
Changes:
-
DOC/MINOR: update documentation - curent released version is 1.6
-
MEDIUM: Add auxiliary HAProxy config file
-
REORG/MINOR: add reload/restart attributes to Controller sruct
-
MEDIUM: Add ConfigMap for PatternFiles
-
REORG/MINOR: provide osArgs at controller creation
-
REORG/MEDIUM: Move config update done at startup to handlers module
-
CLEANUP/MINOR: Remove unused field serverlessPods
-
BUG/MINOR: Fix incorrect parsing of certificate file name
-
BUG/MINOR: enable ingress multi configurations for same path and distinct path types
-
REORG/MEDIUM: Move controller handlers to seperate module
-
REORG/MINOR: use sections names from controller confi struct
-
REORG/MAJOR: Move controller configuration to a seperate module.
-
REORG/MINOR: define haproxy map names in haproxy/maps.go
-
BUILD/MINOR: check-commit: pin version of image
-
BUILD/MINOR: check-commit: trigger only on pull requests
-
BUILD/MEDIUM: Go: update version to Go 1.16
-
BUG/MINOR: Fix address parsing in proxy-protocol annotation
-
BUG/MEDIUM: reset ActiveBackends when cleaning controller config
-
BUG/MEDIUM: certs refresh: fix nil pointer dereference
-
MINOR: Add clean-certs annotation to toggle certificates clean up
-
DOC: Provide commands for secret creation
-
BUG/MINOR: Fix regression when loading multiple cert formats
-
BUG/MINOR: Controller should populate refreshed maps.
-
DOC: Add route-acl description and instructions to use canary deployment
-
TEST: e2e: Add canary deployment test
-
MEDIUM: Add service annotation “route-acl”
-
REORG/MINOR: Rename HAProxy vars used for backendSwitching
-
DOC: Add clarification about annotations scope
-
TEST: e2e: update test application and README
-
TEST: e2e: move global-config to sequential pipeline
-
MINOR: disable naked return linter (nakedret)
-
BUILD: github-ci: adjust fetch-depth
-
BUG/MINOR: fix blacklist and proxy protocol duplication
-
BUG/MINOR Increase hash from 32 to 128 bits
-
BUG/MINOR: fix whitelist duplication
-
DOC/MINOR: spell check docs and remove excess spacing
-
TEST/MINOR: e2e test: increase tickDuration for rate-limiting
-
MINOR: add empty-ingress-class ingress controller option
-
MINOR: fix secret type in default certificate management
-
OPTIM/MINOR: remove TODO in code and enable godox linter
-
REORG/MINOR: move code handling global config to a seperate file global.go
-
REORG/MAJOR: handle ingress routes and services seperately
-
REORG/MINOR: Move all controller types, vars, consts to types.go
-
REORG/MINOR: strip HAProxy prefix from controllers vars
-
REORG/MAJOR: move configmaps from map struct to dedicated fields
-
TEST/MEDIUM: e2e: add gobal-config test suite
-
TEST/MINOR: e2e rate-limiting: adjust thresholds
-
BUG/MINOR: rate-limiting: preserve counters after reload
-
DOC/MINOR: Fix bug in doc generation
-
MINOR: Add stats-config-snippet support
-
TEST: e2e: Add config-snippet tests
-
DOC: Add frontend-config-snippet description
-
MEDIUM: Add frontend-config-snippet support
-
TEST/MINOR: tlsAuth e2e test: expect tls alert(116)
-
MINOR: don’t blacklist kube-system namespace
-
REORG/MINOR: move code handling readiness endpoint to a seperate function
-
REORG/MEDIUM: move updateHAProxySrvs function to api module
-
CLEANUP/MINOR: remove unused github actions directory
-
BUILD/MINOR: update check-commit to v2.0.0
-
MINOR: Add debug logs to trace reload related actions
-
OPTIM/MINOR: decrease log severity of verbose logs from debug to trace
-
BUG/MINOR: don’t reload when the order of map entries change in HAProxy map files.
-
TEST/MINOR: gitlab: checking diff for generated code
-
BUILD/MEDIUM: makefile: add makefile to project to grup common tasks
-
CLEANUP/MINOR: clean with go mod tidy
-
MINOR: ci: update check-commit msg action
-
DOC: Improve TLS offloading documentation
-
DOC/MINOR: changes ‘configmap-errorfile’ to ‘configmap-errorfiles’ docs
-
TEST/MINOR: github: checking for generated files diff
-
TEST: Add client TLS authentication
-
DOC: add client TLS Authentication
-
MEDIUM: add mtls client side
-
TEST/MINOR: Deploy default-backend in IC Namespace
-
BUG/MINOR: tcp-services: add additional input validation to avoid nil pointer dereference
-
REORG: contract “Service” to “Svc” in IngressPath fields
-
REORG: endpoints: getEndpoints() now returns errors instead of logging them
-
BUG/MINOR: Fix failure in port lookup when servicePort different from containerPort.
-
TEST/MINOR: port_discovery: adjust http port to make test more accurate
-
OPTIM/MAJOR: k8s events: remove intermediate channels
-
REORG/MINOR: k8s events: Move handling Ingress informers to seperate function
-
MEDIUM: k8s events: don’t wait for Main ConfigMap Processing
-
REORG/MINOR: monitor.go: Move handling configMapArgs and WhitelistedNamespaces in seperate functions
-
DOC/MINOR: Document building External Ingress Controller
-
DOC/MINO: Improve tcp-services doc
-
BUG/MINOR: Fix regression regarding k8s servicePort lookup
-
TEST: Add e2e test for servicePort discovery
-
BUG/MEDIUM: sslPassthrough: “accept tcp rule” stops rules processing.
-
BUG/MEDIUM: incorrect http rules configuration with SSLPassthrough
-
TEST: https: Add more SSLPassthrough tests
-
TEST/MEDIUM: Seperate sequential and parallel e2e tests
-
TEST: Cleanup unused code
-
TEST: Reorg set header test
-
TEST: Reorg send proxy test
-
TEST: Reorg rate limiting test
-
TEST: Reorg ingress match test
-
TEST: Reorg https tests
-
TEST: Reorg source ip test
-
TEST: Reorg basic auth test
-
TEST: Reorg IngressClass test
-
TEST: Reorg endpoints-update
-
TEST/MAJOR: Boilerplate code to reorg e2e tests and use testify/suite
-
TEST/MEDIUM: Change tests path from deploy/kind/tests to deploy/tests/e2e
-
BUG/MINOR: healthz: listen on IPv6 too
-
BUG/MEDIUM: stats frontend: listen IPv6 if possible
-
BUILD/MINOR: gitlab-ci: update test lint stages
-
BUG/MEDIUM: drop dynamic map update
-
BUG/MEDIUM: haproxy rules should be mapped to ingress.Namespace+ingress.Name
-
MINOR: Make src-ip-header annotation available by Ingress
-
BUG/MEDIUM: services: don’t create frontend if corresponding default_backend is not ready
-
BUG/MEDIUM: servicePort should be resolved before constructing backendName
-
BUG/MEDIUM: http rules: ineffectual delete operation when refreshing rules
-
MEDIUM: map file: flush content to disk
-
MINOR: Add tracing logs
-
BUG/MINOR: Don’t mix controller logger and k8s client logger
-
OPTIM/MEDIUM: Don’t watch multiple Ingress APIs at the same time
-
BUG/MINOR: maps: use Warningf instead of Warning
-
MINOR: external mode: if stock haproxy.cfg not found check in config-dir
-
DOC: Document External Controller mode
-
REORG/MINOR: rename OutOfCluster controller arg to External
-
MINOR: log panic errors in kubernetes.go
-
BUILD: gitlab-ci: use CI registry via CI_REGISTRY_GO env variable
-
BUG/MINOR: Delete certificates as soon as tls secrets are deleted
-
OPTIM/MINOR: Don’t process Ingress with DELETED status
-
BUG/MEDIUM: need to reload when failing dynamic map update
-
BUILD/MINOR: Update Client-Native module
-
MINOR: controller: handle graceful shutdown
-
OPTIM/MINOR: Enable readiness endpoint after first config sync
-
REORG/MINOR: use client-native to configure bind lines
-
BUG/MINOR: Add haproxy txn.base var to stats frontend
-
BUILD/MINOR: linter: Fix ‘nakedret’ check
-
BUILD/MINOR: linter Fix ‘maligned’ check
-
BUILD/MINOR: linter Fix ‘prealloc’ check
-
BUILD/MINOR: linter: Fix ‘gosec’ check
-
BUILD/MINOR: linter Fix ‘nolintlint’ check
-
BUILD/MINOR: linter Fix ‘errorlint’ check
-
BUILD/MINOR: linter: Fix ‘testpackage’ check
-
BUILD/MINOR: linter: Fix ‘misspell’ check
-
BUILD/MINOR: linter: Fix ‘whitespace’ check
-
BUILD/MINOR: linter: Fix ‘commentFormatting’ check
-
BUILD/MEDIUM: Upgrade linter to 1.33
-
BUILD/MINOR: docker: upgrade dumb-init to latest version
-
CLEANUP/MINOR: build: remove unused openrc when building image
-
BUG/MINOR: fix source map file of acl in proxy protocol
-
BUILD/MINOR: deploy files: fix typo in ingressclasses name
-
DOC: Set active_version to 1.5
Next up
Install the HAProxy Kubernetes Ingress Controller