diff --git a/deploy/docker/docker-compose.yml b/deploy/docker/docker-compose.yml index 8fe6904..4b911a9 100644 --- a/deploy/docker/docker-compose.yml +++ b/deploy/docker/docker-compose.yml @@ -1,6 +1,6 @@ services: easyhaproxy: - image: byjg/easy-haproxy:5.0.0 + image: byjg/easy-haproxy:6.0.0 volumes: - /var/run/docker.sock:/var/run/docker.sock - certs_certbot:/etc/easyhaproxy/certs/certbot diff --git a/deploy/kubernetes/easyhaproxy-clusterip.yml b/deploy/kubernetes/easyhaproxy-clusterip.yml index df23850..10049ec 100644 --- a/deploy/kubernetes/easyhaproxy-clusterip.yml +++ b/deploy/kubernetes/easyhaproxy-clusterip.yml @@ -6,10 +6,10 @@ metadata: name: ingress-easyhaproxy namespace: easyhaproxy labels: - helm.sh/chart: easyhaproxy-1.0.0 + helm.sh/chart: easyhaproxy-2.0.0 app.kubernetes.io/name: easyhaproxy app.kubernetes.io/instance: ingress - app.kubernetes.io/version: "5.0.0" + app.kubernetes.io/version: "6.0.0" app.kubernetes.io/managed-by: Helm --- # Source: easyhaproxy/templates/clusterrole.yaml @@ -19,10 +19,10 @@ metadata: name: ingress-easyhaproxy namespace: easyhaproxy labels: - helm.sh/chart: easyhaproxy-1.0.0 + helm.sh/chart: easyhaproxy-2.0.0 app.kubernetes.io/name: easyhaproxy app.kubernetes.io/instance: ingress - app.kubernetes.io/version: "5.0.0" + app.kubernetes.io/version: "6.0.0" app.kubernetes.io/managed-by: Helm rules: - apiGroups: @@ -83,10 +83,10 @@ metadata: name: ingress-easyhaproxy namespace: easyhaproxy labels: - helm.sh/chart: easyhaproxy-1.0.0 + helm.sh/chart: easyhaproxy-2.0.0 app.kubernetes.io/name: easyhaproxy app.kubernetes.io/instance: ingress - app.kubernetes.io/version: "5.0.0" + app.kubernetes.io/version: "6.0.0" app.kubernetes.io/managed-by: Helm roleRef: apiGroup: rbac.authorization.k8s.io @@ -105,10 +105,10 @@ metadata: name: ingress-easyhaproxy namespace: easyhaproxy labels: - helm.sh/chart: easyhaproxy-1.0.0 + helm.sh/chart: easyhaproxy-2.0.0 app.kubernetes.io/name: easyhaproxy app.kubernetes.io/instance: ingress - app.kubernetes.io/version: "5.0.0" + app.kubernetes.io/version: "6.0.0" app.kubernetes.io/managed-by: Helm annotations: {} @@ -137,10 +137,10 @@ metadata: name: ingress-easyhaproxy namespace: easyhaproxy labels: - helm.sh/chart: easyhaproxy-1.0.0 + helm.sh/chart: easyhaproxy-2.0.0 app.kubernetes.io/name: easyhaproxy app.kubernetes.io/instance: ingress - app.kubernetes.io/version: "5.0.0" + app.kubernetes.io/version: "6.0.0" app.kubernetes.io/managed-by: Helm spec: replicas: 1 @@ -161,7 +161,7 @@ spec: - name: easyhaproxy securityContext: {} - image: "byjg/easy-haproxy:5.0.0" + image: "byjg/easy-haproxy:6.0.0" imagePullPolicy: Always ports: - name: http @@ -211,10 +211,10 @@ kind: IngressClass metadata: name: easyhaproxy labels: - helm.sh/chart: easyhaproxy-1.0.0 + helm.sh/chart: easyhaproxy-2.0.0 app.kubernetes.io/name: easyhaproxy app.kubernetes.io/instance: ingress - app.kubernetes.io/version: "5.0.0" + app.kubernetes.io/version: "6.0.0" app.kubernetes.io/managed-by: Helm spec: controller: byjg.com/easyhaproxy diff --git a/deploy/kubernetes/easyhaproxy-daemonset.yml b/deploy/kubernetes/easyhaproxy-daemonset.yml index f1616e4..4b2e564 100644 --- a/deploy/kubernetes/easyhaproxy-daemonset.yml +++ b/deploy/kubernetes/easyhaproxy-daemonset.yml @@ -6,10 +6,10 @@ metadata: name: ingress-easyhaproxy namespace: easyhaproxy labels: - helm.sh/chart: easyhaproxy-1.0.0 + helm.sh/chart: easyhaproxy-2.0.0 app.kubernetes.io/name: easyhaproxy app.kubernetes.io/instance: ingress - app.kubernetes.io/version: "5.0.0" + app.kubernetes.io/version: "6.0.0" app.kubernetes.io/managed-by: Helm --- # Source: easyhaproxy/templates/clusterrole.yaml @@ -19,10 +19,10 @@ metadata: name: ingress-easyhaproxy namespace: easyhaproxy labels: - helm.sh/chart: easyhaproxy-1.0.0 + helm.sh/chart: easyhaproxy-2.0.0 app.kubernetes.io/name: easyhaproxy app.kubernetes.io/instance: ingress - app.kubernetes.io/version: "5.0.0" + app.kubernetes.io/version: "6.0.0" app.kubernetes.io/managed-by: Helm rules: - apiGroups: @@ -83,10 +83,10 @@ metadata: name: ingress-easyhaproxy namespace: easyhaproxy labels: - helm.sh/chart: easyhaproxy-1.0.0 + helm.sh/chart: easyhaproxy-2.0.0 app.kubernetes.io/name: easyhaproxy app.kubernetes.io/instance: ingress - app.kubernetes.io/version: "5.0.0" + app.kubernetes.io/version: "6.0.0" app.kubernetes.io/managed-by: Helm roleRef: apiGroup: rbac.authorization.k8s.io @@ -104,10 +104,10 @@ metadata: name: ingress-easyhaproxy namespace: easyhaproxy labels: - helm.sh/chart: easyhaproxy-1.0.0 + helm.sh/chart: easyhaproxy-2.0.0 app.kubernetes.io/name: easyhaproxy app.kubernetes.io/instance: ingress - app.kubernetes.io/version: "5.0.0" + app.kubernetes.io/version: "6.0.0" app.kubernetes.io/managed-by: Helm spec: selector: @@ -136,7 +136,7 @@ spec: - name: easyhaproxy securityContext: {} - image: "byjg/easy-haproxy:5.0.0" + image: "byjg/easy-haproxy:6.0.0" imagePullPolicy: Always ports: - name: http @@ -186,10 +186,10 @@ kind: IngressClass metadata: name: easyhaproxy labels: - helm.sh/chart: easyhaproxy-1.0.0 + helm.sh/chart: easyhaproxy-2.0.0 app.kubernetes.io/name: easyhaproxy app.kubernetes.io/instance: ingress - app.kubernetes.io/version: "5.0.0" + app.kubernetes.io/version: "6.0.0" app.kubernetes.io/managed-by: Helm spec: controller: byjg.com/easyhaproxy diff --git a/deploy/kubernetes/easyhaproxy-nodeport.yml b/deploy/kubernetes/easyhaproxy-nodeport.yml index 06c3430..8d88b79 100644 --- a/deploy/kubernetes/easyhaproxy-nodeport.yml +++ b/deploy/kubernetes/easyhaproxy-nodeport.yml @@ -6,10 +6,10 @@ metadata: name: ingress-easyhaproxy namespace: easyhaproxy labels: - helm.sh/chart: easyhaproxy-1.0.0 + helm.sh/chart: easyhaproxy-2.0.0 app.kubernetes.io/name: easyhaproxy app.kubernetes.io/instance: ingress - app.kubernetes.io/version: "5.0.0" + app.kubernetes.io/version: "6.0.0" app.kubernetes.io/managed-by: Helm --- # Source: easyhaproxy/templates/clusterrole.yaml @@ -19,10 +19,10 @@ metadata: name: ingress-easyhaproxy namespace: easyhaproxy labels: - helm.sh/chart: easyhaproxy-1.0.0 + helm.sh/chart: easyhaproxy-2.0.0 app.kubernetes.io/name: easyhaproxy app.kubernetes.io/instance: ingress - app.kubernetes.io/version: "5.0.0" + app.kubernetes.io/version: "6.0.0" app.kubernetes.io/managed-by: Helm rules: - apiGroups: @@ -83,10 +83,10 @@ metadata: name: ingress-easyhaproxy namespace: easyhaproxy labels: - helm.sh/chart: easyhaproxy-1.0.0 + helm.sh/chart: easyhaproxy-2.0.0 app.kubernetes.io/name: easyhaproxy app.kubernetes.io/instance: ingress - app.kubernetes.io/version: "5.0.0" + app.kubernetes.io/version: "6.0.0" app.kubernetes.io/managed-by: Helm roleRef: apiGroup: rbac.authorization.k8s.io @@ -105,10 +105,10 @@ metadata: name: ingress-easyhaproxy namespace: easyhaproxy labels: - helm.sh/chart: easyhaproxy-1.0.0 + helm.sh/chart: easyhaproxy-2.0.0 app.kubernetes.io/name: easyhaproxy app.kubernetes.io/instance: ingress - app.kubernetes.io/version: "5.0.0" + app.kubernetes.io/version: "6.0.0" app.kubernetes.io/managed-by: Helm annotations: {} @@ -137,10 +137,10 @@ metadata: name: ingress-easyhaproxy namespace: easyhaproxy labels: - helm.sh/chart: easyhaproxy-1.0.0 + helm.sh/chart: easyhaproxy-2.0.0 app.kubernetes.io/name: easyhaproxy app.kubernetes.io/instance: ingress - app.kubernetes.io/version: "5.0.0" + app.kubernetes.io/version: "6.0.0" app.kubernetes.io/managed-by: Helm spec: replicas: 1 @@ -161,7 +161,7 @@ spec: - name: easyhaproxy securityContext: {} - image: "byjg/easy-haproxy:5.0.0" + image: "byjg/easy-haproxy:6.0.0" imagePullPolicy: Always ports: - name: http @@ -211,10 +211,10 @@ kind: IngressClass metadata: name: easyhaproxy labels: - helm.sh/chart: easyhaproxy-1.0.0 + helm.sh/chart: easyhaproxy-2.0.0 app.kubernetes.io/name: easyhaproxy app.kubernetes.io/instance: ingress - app.kubernetes.io/version: "5.0.0" + app.kubernetes.io/version: "6.0.0" app.kubernetes.io/managed-by: Helm spec: controller: byjg.com/easyhaproxy diff --git a/docs/acme.md b/docs/acme.md index b75dbc5..fc53f05 100644 --- a/docs/acme.md +++ b/docs/acme.md @@ -156,7 +156,7 @@ Here's a complete `docker-compose.yml` showing proper ACME configuration: ```yaml services: easyhaproxy: - image: byjg/easy-haproxy:5.0.0 + image: byjg/easy-haproxy:6.0.0 volumes: - /var/run/docker.sock:/var/run/docker.sock # REQUIRED: Persist Certbot certificates (ACME) diff --git a/docs/kubernetes.md b/docs/kubernetes.md index 0a3cdf4..3e09d8e 100644 --- a/docs/kubernetes.md +++ b/docs/kubernetes.md @@ -48,7 +48,7 @@ kubectl label nodes node-01 "easyhaproxy/node=master" kubectl create namespace easyhaproxy kubectl apply -f \ - https://raw.githubusercontent.com/byjg/docker-easy-haproxy/5.0.0/deploy/kubernetes/easyhaproxy-daemonset.yml + https://raw.githubusercontent.com/byjg/docker-easy-haproxy/6.0.0/deploy/kubernetes/easyhaproxy-daemonset.yml ``` If necessary, you can configure environment variables. To get a list of the variables, please follow the [environment variable guide](environment-variable.md) diff --git a/docs/ssl.md b/docs/ssl.md index 9d62661..cdca185 100644 --- a/docs/ssl.md +++ b/docs/ssl.md @@ -82,7 +82,7 @@ docker cp single.pem easyhaproxy:/etc/easyhaproxy/certs/haproxy/example.com.pem ```yaml services: easyhaproxy: - image: byjg/easy-haproxy:5.0.0 + image: byjg/easy-haproxy:6.0.0 volumes: - /var/run/docker.sock:/var/run/docker.sock - certs_haproxy:/etc/easyhaproxy/certs/haproxy diff --git a/docs/swarm.md b/docs/swarm.md index 0ad15e3..b920204 100644 --- a/docs/swarm.md +++ b/docs/swarm.md @@ -33,7 +33,7 @@ And then deploy the EasyHAProxy stack: ```yaml services: haproxy: - image: byjg/easy-haproxy:5.0.0 + image: byjg/easy-haproxy:6.0.0 volumes: - /var/run/docker.sock:/var/run/docker.sock deploy: diff --git a/helm/easyhaproxy/Chart.yaml b/helm/easyhaproxy/Chart.yaml index 1635544..95586ef 100644 --- a/helm/easyhaproxy/Chart.yaml +++ b/helm/easyhaproxy/Chart.yaml @@ -15,12 +15,12 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 1.0.0 +version: 2.0.0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. -appVersion: "5.0.0" +appVersion: "6.0.0" icon: https://opensource.byjg.com/img/easy_haproxy_logo.png diff --git a/pyproject.toml b/pyproject.toml index 2985d06..98eef13 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "easyhaproxy" -version = "5.0.0" +version = "6.0.0" description = "HAProxy label based routing with service discovery for Docker, Swarm, and Kubernetes" readme = "README.md" license = {file = "LICENSE"} diff --git a/scripts/bump-version.sh b/scripts/bump-version.sh index 6ffea0c..ae19d44 100755 --- a/scripts/bump-version.sh +++ b/scripts/bump-version.sh @@ -147,6 +147,8 @@ NEXT_CHART_VERSION=$(IFS='.'; echo "${_parts[*]}") sed -i -E "s/^version: .*/version: $NEXT_CHART_VERSION/" "$CHART_FILE" sed -i -E "s/helm\\.sh\\/chart: easyhaproxy-[0-9\\.]+/helm.sh\\/chart: easyhaproxy-$NEXT_CHART_VERSION/" deploy/kubernetes/easyhaproxy-*.yml +uv sync --dev + echo "Done. Updated appVersion to $NEW_VERSION and chart version to $NEXT_CHART_VERSION." echo "Next steps:" echo " 1) git status (review changes)" diff --git a/tests_e2e/docker/docker-compose-acme.yml b/tests_e2e/docker/docker-compose-acme.yml index 1626802..a8c1863 100644 --- a/tests_e2e/docker/docker-compose-acme.yml +++ b/tests_e2e/docker/docker-compose-acme.yml @@ -60,7 +60,7 @@ services: haproxy: - image: byjg/easy-haproxy:5.0.0 + image: byjg/easy-haproxy:6.0.0 volumes: - /var/run/docker.sock:/var/run/docker.sock # Persist the CERTBOT to avoid re-challenge when the server restarts diff --git a/tests_e2e/docker/docker-compose-portainer.yml b/tests_e2e/docker/docker-compose-portainer.yml index 6bd5b45..a2a05f6 100644 --- a/tests_e2e/docker/docker-compose-portainer.yml +++ b/tests_e2e/docker/docker-compose-portainer.yml @@ -59,7 +59,7 @@ services: easyhaproxy: - image: byjg/easy-haproxy:5.0.0 + image: byjg/easy-haproxy:6.0.0 volumes: - /var/run/docker.sock:/var/run/docker.sock - certs_certbot:/etc/easyhaproxy/certs/certbot diff --git a/tests_e2e/kubernetes/cloudflare.yml b/tests_e2e/kubernetes/cloudflare.yml index 77c3e25..ce5583d 100644 --- a/tests_e2e/kubernetes/cloudflare.yml +++ b/tests_e2e/kubernetes/cloudflare.yml @@ -12,7 +12,7 @@ # ```bash # # 1. Ensure EasyHAProxy is installed in your cluster # kubectl create namespace easyhaproxy -# kubectl apply -f https://raw.githubusercontent.com/byjg/docker-easy-haproxy/5.0.0/deploy/kubernetes/easyhaproxy-daemonset.yml +# kubectl apply -f https://raw.githubusercontent.com/byjg/docker-easy-haproxy/6.0.0/deploy/kubernetes/easyhaproxy-daemonset.yml # # # 2. Download Cloudflare IP ranges # curl -s https://www.cloudflare.com/ips-v4 > cloudflare_ips.lst diff --git a/tests_e2e/kubernetes/ip-whitelist.yml b/tests_e2e/kubernetes/ip-whitelist.yml index f36b2f5..876598f 100644 --- a/tests_e2e/kubernetes/ip-whitelist.yml +++ b/tests_e2e/kubernetes/ip-whitelist.yml @@ -12,7 +12,7 @@ # ```bash # # 1. Ensure EasyHAProxy is installed in your cluster # kubectl create namespace easyhaproxy -# kubectl apply -f https://raw.githubusercontent.com/byjg/docker-easy-haproxy/5.0.0/deploy/kubernetes/easyhaproxy-daemonset.yml +# kubectl apply -f https://raw.githubusercontent.com/byjg/docker-easy-haproxy/6.0.0/deploy/kubernetes/easyhaproxy-daemonset.yml # # # 2. IMPORTANT: Edit this file (line 80) and update allowed_ips # # with your actual office/VPN IP addresses or networks diff --git a/tests_e2e/kubernetes/jwt-validator.yml b/tests_e2e/kubernetes/jwt-validator.yml index 676d74c..32c2ecb 100644 --- a/tests_e2e/kubernetes/jwt-validator.yml +++ b/tests_e2e/kubernetes/jwt-validator.yml @@ -30,7 +30,7 @@ # ```bash # # 1. Ensure EasyHAProxy is installed in your cluster # kubectl create namespace easyhaproxy -# kubectl apply -f https://raw.githubusercontent.com/byjg/docker-easy-haproxy/5.0.0/deploy/kubernetes/easyhaproxy-daemonset.yml +# kubectl apply -f https://raw.githubusercontent.com/byjg/docker-easy-haproxy/6.0.0/deploy/kubernetes/easyhaproxy-daemonset.yml # # # 2. Generate RSA key pair (idempotent - skips if exists) # [ -f jwt_private.pem ] || openssl genrsa -out jwt_private.pem 2048 diff --git a/tests_e2e/kubernetes/plugins-combined.yml b/tests_e2e/kubernetes/plugins-combined.yml index 324eadb..a4abed2 100644 --- a/tests_e2e/kubernetes/plugins-combined.yml +++ b/tests_e2e/kubernetes/plugins-combined.yml @@ -15,7 +15,7 @@ # ```bash # # 1. Ensure EasyHAProxy is installed in your cluster # kubectl create namespace easyhaproxy -# kubectl apply -f https://raw.githubusercontent.com/byjg/docker-easy-haproxy/5.0.0/deploy/kubernetes/easyhaproxy-daemonset.yml +# kubectl apply -f https://raw.githubusercontent.com/byjg/docker-easy-haproxy/6.0.0/deploy/kubernetes/easyhaproxy-daemonset.yml # # # 2. Generate JWT keys (idempotent - skips if exists) # [ -f jwt_private.pem ] || openssl genrsa -out jwt_private.pem 2048 diff --git a/tests_e2e/kubernetes/service.yml b/tests_e2e/kubernetes/service.yml index 5011132..61c16fa 100644 --- a/tests_e2e/kubernetes/service.yml +++ b/tests_e2e/kubernetes/service.yml @@ -12,7 +12,7 @@ # ```bash # # 1. Ensure EasyHAProxy is installed in your cluster # kubectl create namespace easyhaproxy -# kubectl apply -f https://raw.githubusercontent.com/byjg/docker-easy-haproxy/5.0.0/deploy/kubernetes/easyhaproxy-daemonset.yml +# kubectl apply -f https://raw.githubusercontent.com/byjg/docker-easy-haproxy/6.0.0/deploy/kubernetes/easyhaproxy-daemonset.yml # # # 2. Label the node where EasyHAProxy will run # kubectl label nodes "easyhaproxy/node=master" diff --git a/tests_e2e/kubernetes/service_tls.yml b/tests_e2e/kubernetes/service_tls.yml index 7644021..60b9e16 100644 --- a/tests_e2e/kubernetes/service_tls.yml +++ b/tests_e2e/kubernetes/service_tls.yml @@ -12,7 +12,7 @@ # ```bash # # 1. Ensure EasyHAProxy is installed in your cluster # kubectl create namespace easyhaproxy -# kubectl apply -f https://raw.githubusercontent.com/byjg/docker-easy-haproxy/5.0.0/deploy/kubernetes/easyhaproxy-daemonset.yml +# kubectl apply -f https://raw.githubusercontent.com/byjg/docker-easy-haproxy/6.0.0/deploy/kubernetes/easyhaproxy-daemonset.yml # # # 2. Label the node where EasyHAProxy will run # kubectl label nodes "easyhaproxy/node=master" diff --git a/uv.lock b/uv.lock index 970a3c8..5cff1ba 100644 --- a/uv.lock +++ b/uv.lock @@ -351,7 +351,7 @@ wheels = [ [[package]] name = "easyhaproxy" -version = "5.0.0" +version = "6.0.0" source = { editable = "." } dependencies = [ { name = "deepdiff" },