6.0.0 #69
byjg
announced in
Announcements
6.0.0
#69
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
EasyHAProxy Release Notes
Version 6.0.0
Scope
Highlights
kubernetes.io/ingress.classannotation with the standardspec.ingressClassNamefield, compatible with Kubernetes v1.22+. The Helm chart now creates anIngressClassresource (byjg.com/easyhaproxy) by default and exposesingressClass.*values to configure it.status.loadBalancerfield on Ingress objects so thatkubectl get ingressshows a real address. Controlled by new env vars:EASYHAPROXY_UPDATE_INGRESS_STATUS,EASYHAPROXY_DEPLOYMENT_MODE(auto/daemonset/nodeport/clusterip),EASYHAPROXY_EXTERNAL_HOSTNAME, andEASYHAPROXY_STATUS_UPDATE_INTERVAL.X-Forwarded-For,X-Forwarded-Port,X-Forwarded-Proto,X-Forwarded-Host, andX-Request-IDto backends, enabling correct IP and protocol propagation behind reverse proxies.pip install easyhaproxy), with a standaloneeasyhaproxyentrypoint and fullpyproject.toml/uvbuild setup./etc/easyhaproxyacross container, tests, docs, and examples (previously split between/etc/haproxyand/etc/easyhaproxy).2.0.0(appVersion6.0.0); addedingressClassandingressStatussections tovalues.yaml;clusterrolenow coversingressclassesandingresses/status.Code
src/functions/certbot.py,src/functions/haproxy.py,src/functions/container_env.py,src/functions/consts.py,src/functions/filter.py,src/functions/functions.py,src/functions/loggers.py; mapping logic moved tosrc/easymapping/config_generator.pyandsrc/easymapping/label_handler.py; top-level entrypoint atsrc/easyhaproxy/main.py.spec.ingressClassNamefirst, falling back to the legacykubernetes.io/ingress.classannotation for backward compatibility.IngressClassKubernetes resource created and managed by the Helm chart (helm/easyhaproxy/templates/ingressclass.yaml).deploy/docker/Dockerfile; oldbuild/directory removed.uv+pyproject.toml;setup.pyand.gitpod.ymlremoved.Documentation
docs/pip.mdcovering pip installation, the standalone entrypoint, and Python API usage.docs/kubernetes.mdexpanded with IngressClass setup,spec.ingressClassNameusage, ingress status configuration, and deployment-mode guidance.docs/volumes.mdupdated with the new/etc/easyhaproxylayout and cert path structure.docs/environment-variable.mdupdated with all new env vars (EASYHAPROXY_UPDATE_INGRESS_STATUS,EASYHAPROXY_DEPLOYMENT_MODE,EASYHAPROXY_EXTERNAL_HOSTNAME,EASYHAPROXY_STATUS_UPDATE_INTERVAL).docs/ssl.mdanddocs/acme.mdimproved with current path references and clearer instructions./etc/easyhaproxypath change;docs/Plugins/jwt-validator.mdsignificantly expanded.deploy/kubernetes/README.mdadded with end-to-end deployment instructions.Examples
easyhaproxy-clusterip.yml,easyhaproxy-daemonset.yml,easyhaproxy-nodeport.yml) updated to usespec.ingressClassName: easyhaproxyand the newIngressClassresource./etc/easyhaproxypath layout.examples/intotests_e2e/subdirectories so they serve as both documentation and live test fixtures.deploy/kubernetes/README.mdproviding a step-by-step Kubernetes quick-start.Tests & CI
tests_e2e/test_docker_compose.py,tests_e2e/test_kubernetes.py,tests_e2e/test_swarm.py,tests_e2e/test_static.py,tests_e2e/test_proxy_headers.py, backed by a sharedtests_e2e/utils.pywithDockerComposeFixture,wait_for_json_response, and other helpers.kindcluster;wait_for_easyhaproxy_discoverypolls for non-503 responses to properly detect backend readiness.Tests-E2E-Docker,Tests-E2E-Kubernetes,Tests-E2E-Additional(static + proxy-headers), andTests-E2E-Swarm— all required before theBuildjob runs.DOCKER_BUILDKIT=0before pytest to avoid a BuildKit layer-export hang that affected GitHub Actions runners.classfor efficient per-class stack lifecycle management.Version 5.0.0
Scope
Highlights
protodefinitions (e.g., fcgi/h2) alongside existing label/annotation parsing.1.0.0; release automation now updates Swarm docs during tagging.cd src && pytest tests/ -vv).Code
src/plugins/__init__.py, builtin plugins undersrc/plugins/builtin/, and wiring inHaproxyConfigGeneratorto execute global/domain plugins and merge their HAProxy snippets.EASYHAPROXY_PLUGINS_*), YAML (static), and labels/annotations; domain configs propagate into the generated backend blocks.protowhen provided.Documentation
docs/plugins.md,docs/plugin-development.md, and detailed pages for each builtin plugin underdocs/Plugins/.RELEASE.md; environment variable docs clarify stats behavior.Examples
examples/generate-keys.sh; removed placeholder certificates from examples.Tests & CI
src/tests/test_plugins.py) with new fixtures/expected outputs for plugin flows and fcgi support.src/with verbose output.This discussion was created from the release 6.0.0.
Beta Was this translation helpful? Give feedback.
All reactions