1
0
Fork 0

Add dashboard port and CORS origin support to Helm chart (2.0.2)

- Add binding.ports.dashboard (default 11936) to values, deployment, and service templates
- Add easyhaproxy.stats.corsOrigin value mapped to HAPROXY_STATS_CORS_ORIGIN env var
- Bump chart version to 2.0.2
- Regenerate deploy/kubernetes manifests
- Update docs/reference/helm.md with new values
This commit is contained in:
Joao Gilberto Magalhaes 2026-02-22 21:35:03 -05:00
parent 6939c593a3
commit 2b7b2c887f
8 changed files with 55 additions and 26 deletions

View file

@ -6,7 +6,7 @@ metadata:
name: ingress-easyhaproxy name: ingress-easyhaproxy
namespace: easyhaproxy namespace: easyhaproxy
labels: labels:
helm.sh/chart: easyhaproxy-2.0.1 helm.sh/chart: easyhaproxy-2.0.2
app.kubernetes.io/name: easyhaproxy app.kubernetes.io/name: easyhaproxy
app.kubernetes.io/instance: ingress app.kubernetes.io/instance: ingress
app.kubernetes.io/version: "6.0.1" app.kubernetes.io/version: "6.0.1"
@ -19,7 +19,7 @@ metadata:
name: ingress-easyhaproxy name: ingress-easyhaproxy
namespace: easyhaproxy namespace: easyhaproxy
labels: labels:
helm.sh/chart: easyhaproxy-2.0.1 helm.sh/chart: easyhaproxy-2.0.2
app.kubernetes.io/name: easyhaproxy app.kubernetes.io/name: easyhaproxy
app.kubernetes.io/instance: ingress app.kubernetes.io/instance: ingress
app.kubernetes.io/version: "6.0.1" app.kubernetes.io/version: "6.0.1"
@ -83,7 +83,7 @@ metadata:
name: ingress-easyhaproxy name: ingress-easyhaproxy
namespace: easyhaproxy namespace: easyhaproxy
labels: labels:
helm.sh/chart: easyhaproxy-2.0.1 helm.sh/chart: easyhaproxy-2.0.2
app.kubernetes.io/name: easyhaproxy app.kubernetes.io/name: easyhaproxy
app.kubernetes.io/instance: ingress app.kubernetes.io/instance: ingress
app.kubernetes.io/version: "6.0.1" app.kubernetes.io/version: "6.0.1"
@ -105,7 +105,7 @@ metadata:
name: ingress-easyhaproxy name: ingress-easyhaproxy
namespace: easyhaproxy namespace: easyhaproxy
labels: labels:
helm.sh/chart: easyhaproxy-2.0.1 helm.sh/chart: easyhaproxy-2.0.2
app.kubernetes.io/name: easyhaproxy app.kubernetes.io/name: easyhaproxy
app.kubernetes.io/instance: ingress app.kubernetes.io/instance: ingress
app.kubernetes.io/version: "6.0.1" app.kubernetes.io/version: "6.0.1"
@ -124,6 +124,9 @@ spec:
- name: stats - name: stats
port: 1936 port: 1936
- name: dashboard
port: 11936
selector: selector:
@ -137,7 +140,7 @@ metadata:
name: ingress-easyhaproxy name: ingress-easyhaproxy
namespace: easyhaproxy namespace: easyhaproxy
labels: labels:
helm.sh/chart: easyhaproxy-2.0.1 helm.sh/chart: easyhaproxy-2.0.2
app.kubernetes.io/name: easyhaproxy app.kubernetes.io/name: easyhaproxy
app.kubernetes.io/instance: ingress app.kubernetes.io/instance: ingress
app.kubernetes.io/version: "6.0.1" app.kubernetes.io/version: "6.0.1"
@ -173,6 +176,9 @@ spec:
- name: stats - name: stats
containerPort: 1936 containerPort: 1936
- name: dashboard
containerPort: 11936
resources: resources:
{} {}
env: env:
@ -211,7 +217,7 @@ kind: IngressClass
metadata: metadata:
name: easyhaproxy name: easyhaproxy
labels: labels:
helm.sh/chart: easyhaproxy-2.0.1 helm.sh/chart: easyhaproxy-2.0.2
app.kubernetes.io/name: easyhaproxy app.kubernetes.io/name: easyhaproxy
app.kubernetes.io/instance: ingress app.kubernetes.io/instance: ingress
app.kubernetes.io/version: "6.0.1" app.kubernetes.io/version: "6.0.1"

View file

@ -6,7 +6,7 @@ metadata:
name: ingress-easyhaproxy name: ingress-easyhaproxy
namespace: easyhaproxy namespace: easyhaproxy
labels: labels:
helm.sh/chart: easyhaproxy-2.0.1 helm.sh/chart: easyhaproxy-2.0.2
app.kubernetes.io/name: easyhaproxy app.kubernetes.io/name: easyhaproxy
app.kubernetes.io/instance: ingress app.kubernetes.io/instance: ingress
app.kubernetes.io/version: "6.0.1" app.kubernetes.io/version: "6.0.1"
@ -19,7 +19,7 @@ metadata:
name: ingress-easyhaproxy name: ingress-easyhaproxy
namespace: easyhaproxy namespace: easyhaproxy
labels: labels:
helm.sh/chart: easyhaproxy-2.0.1 helm.sh/chart: easyhaproxy-2.0.2
app.kubernetes.io/name: easyhaproxy app.kubernetes.io/name: easyhaproxy
app.kubernetes.io/instance: ingress app.kubernetes.io/instance: ingress
app.kubernetes.io/version: "6.0.1" app.kubernetes.io/version: "6.0.1"
@ -83,7 +83,7 @@ metadata:
name: ingress-easyhaproxy name: ingress-easyhaproxy
namespace: easyhaproxy namespace: easyhaproxy
labels: labels:
helm.sh/chart: easyhaproxy-2.0.1 helm.sh/chart: easyhaproxy-2.0.2
app.kubernetes.io/name: easyhaproxy app.kubernetes.io/name: easyhaproxy
app.kubernetes.io/instance: ingress app.kubernetes.io/instance: ingress
app.kubernetes.io/version: "6.0.1" app.kubernetes.io/version: "6.0.1"
@ -104,7 +104,7 @@ metadata:
name: ingress-easyhaproxy name: ingress-easyhaproxy
namespace: easyhaproxy namespace: easyhaproxy
labels: labels:
helm.sh/chart: easyhaproxy-2.0.1 helm.sh/chart: easyhaproxy-2.0.2
app.kubernetes.io/name: easyhaproxy app.kubernetes.io/name: easyhaproxy
app.kubernetes.io/instance: ingress app.kubernetes.io/instance: ingress
app.kubernetes.io/version: "6.0.1" app.kubernetes.io/version: "6.0.1"
@ -148,6 +148,9 @@ spec:
- name: stats - name: stats
containerPort: 1936 containerPort: 1936
hostPort: 1936 hostPort: 1936
- name: dashboard
containerPort: 11936
hostPort: 11936
resources: resources:
{} {}
env: env:
@ -186,7 +189,7 @@ kind: IngressClass
metadata: metadata:
name: easyhaproxy name: easyhaproxy
labels: labels:
helm.sh/chart: easyhaproxy-2.0.1 helm.sh/chart: easyhaproxy-2.0.2
app.kubernetes.io/name: easyhaproxy app.kubernetes.io/name: easyhaproxy
app.kubernetes.io/instance: ingress app.kubernetes.io/instance: ingress
app.kubernetes.io/version: "6.0.1" app.kubernetes.io/version: "6.0.1"

View file

@ -6,7 +6,7 @@ metadata:
name: ingress-easyhaproxy name: ingress-easyhaproxy
namespace: easyhaproxy namespace: easyhaproxy
labels: labels:
helm.sh/chart: easyhaproxy-2.0.1 helm.sh/chart: easyhaproxy-2.0.2
app.kubernetes.io/name: easyhaproxy app.kubernetes.io/name: easyhaproxy
app.kubernetes.io/instance: ingress app.kubernetes.io/instance: ingress
app.kubernetes.io/version: "6.0.1" app.kubernetes.io/version: "6.0.1"
@ -19,7 +19,7 @@ metadata:
name: ingress-easyhaproxy name: ingress-easyhaproxy
namespace: easyhaproxy namespace: easyhaproxy
labels: labels:
helm.sh/chart: easyhaproxy-2.0.1 helm.sh/chart: easyhaproxy-2.0.2
app.kubernetes.io/name: easyhaproxy app.kubernetes.io/name: easyhaproxy
app.kubernetes.io/instance: ingress app.kubernetes.io/instance: ingress
app.kubernetes.io/version: "6.0.1" app.kubernetes.io/version: "6.0.1"
@ -83,7 +83,7 @@ metadata:
name: ingress-easyhaproxy name: ingress-easyhaproxy
namespace: easyhaproxy namespace: easyhaproxy
labels: labels:
helm.sh/chart: easyhaproxy-2.0.1 helm.sh/chart: easyhaproxy-2.0.2
app.kubernetes.io/name: easyhaproxy app.kubernetes.io/name: easyhaproxy
app.kubernetes.io/instance: ingress app.kubernetes.io/instance: ingress
app.kubernetes.io/version: "6.0.1" app.kubernetes.io/version: "6.0.1"
@ -105,7 +105,7 @@ metadata:
name: ingress-easyhaproxy name: ingress-easyhaproxy
namespace: easyhaproxy namespace: easyhaproxy
labels: labels:
helm.sh/chart: easyhaproxy-2.0.1 helm.sh/chart: easyhaproxy-2.0.2
app.kubernetes.io/name: easyhaproxy app.kubernetes.io/name: easyhaproxy
app.kubernetes.io/instance: ingress app.kubernetes.io/instance: ingress
app.kubernetes.io/version: "6.0.1" app.kubernetes.io/version: "6.0.1"
@ -124,6 +124,9 @@ spec:
- name: stats - name: stats
port: 1936 port: 1936
nodePort: 1936 nodePort: 1936
- name: dashboard
port: 11936
nodePort: 11936
selector: selector:
@ -137,7 +140,7 @@ metadata:
name: ingress-easyhaproxy name: ingress-easyhaproxy
namespace: easyhaproxy namespace: easyhaproxy
labels: labels:
helm.sh/chart: easyhaproxy-2.0.1 helm.sh/chart: easyhaproxy-2.0.2
app.kubernetes.io/name: easyhaproxy app.kubernetes.io/name: easyhaproxy
app.kubernetes.io/instance: ingress app.kubernetes.io/instance: ingress
app.kubernetes.io/version: "6.0.1" app.kubernetes.io/version: "6.0.1"
@ -173,6 +176,9 @@ spec:
- name: stats - name: stats
containerPort: 1936 containerPort: 1936
- name: dashboard
containerPort: 11936
resources: resources:
{} {}
env: env:
@ -211,7 +217,7 @@ kind: IngressClass
metadata: metadata:
name: easyhaproxy name: easyhaproxy
labels: labels:
helm.sh/chart: easyhaproxy-2.0.1 helm.sh/chart: easyhaproxy-2.0.2
app.kubernetes.io/name: easyhaproxy app.kubernetes.io/name: easyhaproxy
app.kubernetes.io/instance: ingress app.kubernetes.io/instance: ingress
app.kubernetes.io/version: "6.0.1" app.kubernetes.io/version: "6.0.1"

View file

@ -35,19 +35,21 @@ Set `service.create: true` and `service.type: NodePort` for most setups. DaemonS
## Port Binding ## Port Binding
| Value | Description | Default | | Value | Description | Default |
|---------------------------|------------------------------------|---------| |----------------------------|--------------------------------------------------------------------|----------|
| `binding.ports.http` | HTTP port | `80` | | `binding.ports.http` | HTTP port | `80` |
| `binding.ports.https` | HTTPS port | `443` | | `binding.ports.https` | HTTPS port | `443` |
| `binding.ports.stats` | HAProxy stats port | `1936` | | `binding.ports.stats` | HAProxy stats port | `1936` |
| `binding.additionalPorts` | List of additional ports to expose | `[]` | | `binding.ports.dashboard` | Monitoring dashboard port (always `stats + 10000` inside the pod) | `11936` |
| `binding.additionalPorts` | List of additional ports to expose | `[]` |
## EasyHAProxy Settings ## EasyHAProxy Settings
| Value | Description | Default | | Value | Description | Default |
|------------------------------------|-----------------------------------------------------|------------| |------------------------------------|-----------------------------------------------------|------------|
| `easyhaproxy.stats.username` | HAProxy stats dashboard username | `admin` | | `easyhaproxy.stats.username` | HAProxy stats username | `admin` |
| `easyhaproxy.stats.password` | HAProxy stats dashboard password | `password` | | `easyhaproxy.stats.password` | HAProxy stats password. **Required** to enable the stats endpoint and dashboard. | `password` |
| `easyhaproxy.stats.corsOrigin` | Allowed origin for stats API CORS (e.g. `http://node01:11936`). **Required** for the dashboard to load in a browser. | `""` |
| `easyhaproxy.refresh` | Seconds between service discovery polls | `"10"` | | `easyhaproxy.refresh` | Seconds between service discovery polls | `"10"` |
| `easyhaproxy.customErrors` | Enable custom HTML error pages | `"true"` | | `easyhaproxy.customErrors` | Enable custom HTML error pages | `"true"` |
| `easyhaproxy.sslMode` | TLS mode: `strict`, `default`, or `loose` | `loose` | | `easyhaproxy.sslMode` | TLS mode: `strict`, `default`, or `loose` | `loose` |

View file

@ -15,7 +15,7 @@ type: application
# This is the chart version. This version number should be incremented each time you make changes # 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. # to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/) # Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 2.0.1 version: 2.0.2
# This is the version number of the application being deployed. This version number should be # 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 # incremented each time you make changes to the application. Versions are not expected to

View file

@ -48,6 +48,9 @@ spec:
- name: stats - name: stats
containerPort: 1936 containerPort: 1936
{{ if not .Values.service.create }}hostPort: {{ .Values.binding.ports.stats }}{{ end }} {{ if not .Values.service.create }}hostPort: {{ .Values.binding.ports.stats }}{{ end }}
- name: dashboard
containerPort: 11936
{{ if not .Values.service.create }}hostPort: {{ .Values.binding.ports.dashboard }}{{ end }}
{{- range $port := .Values.binding.additionalPorts }} {{- range $port := .Values.binding.additionalPorts }}
- name: extra{{ $port }} - name: extra{{ $port }}
containerPort: {{ $port }} containerPort: {{ $port }}
@ -62,6 +65,10 @@ spec:
value: {{ .Values.easyhaproxy.stats.username }} value: {{ .Values.easyhaproxy.stats.username }}
- name: HAPROXY_PASSWORD - name: HAPROXY_PASSWORD
value: {{ .Values.easyhaproxy.stats.password }} value: {{ .Values.easyhaproxy.stats.password }}
{{- if .Values.easyhaproxy.stats.corsOrigin }}
- name: HAPROXY_STATS_CORS_ORIGIN
value: {{ .Values.easyhaproxy.stats.corsOrigin | quote }}
{{- end }}
- name: EASYHAPROXY_REFRESH_CONF - name: EASYHAPROXY_REFRESH_CONF
value: {{ .Values.easyhaproxy.refresh | quote }} value: {{ .Values.easyhaproxy.refresh | quote }}
- name: HAPROXY_CUSTOMERRORS - name: HAPROXY_CUSTOMERRORS

View file

@ -22,6 +22,9 @@ spec:
- name: stats - name: stats
port: 1936 port: 1936
{{ if eq .Values.service.type "NodePort" }}nodePort: {{ .Values.binding.ports.stats }}{{ end }} {{ if eq .Values.service.type "NodePort" }}nodePort: {{ .Values.binding.ports.stats }}{{ end }}
- name: dashboard
port: 11936
{{ if eq .Values.service.type "NodePort" }}nodePort: {{ .Values.binding.ports.dashboard }}{{ end }}
{{- range $port := .Values.binding.additionalPorts }} {{- range $port := .Values.binding.additionalPorts }}
- name: extra{{ $port }} - name: extra{{ $port }}
port: {{ $port }} port: {{ $port }}

View file

@ -24,6 +24,7 @@ binding:
http: 80 http: 80
https: 443 https: 443
stats: 1936 stats: 1936
dashboard: 11936
additionalPorts: [] additionalPorts: []
serviceAccount: serviceAccount:
@ -80,6 +81,7 @@ easyhaproxy:
stats: stats:
username: admin username: admin
password: password password: password
corsOrigin: ""
refresh: "10" refresh: "10"
customErrors: "true" customErrors: "true"
sslMode: loose sslMode: loose