1
0
Fork 0
docker-easy-haproxy/deploy/kubernetes
Joao Gilberto Magalhaes 2b7b2c887f 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
2026-02-22 21:35:03 -05:00
..
easyhaproxy-clusterip.yml Add dashboard port and CORS origin support to Helm chart (2.0.2) 2026-02-22 21:35:03 -05:00
easyhaproxy-daemonset.yml Add dashboard port and CORS origin support to Helm chart (2.0.2) 2026-02-22 21:35:03 -05:00
easyhaproxy-nodeport.yml Add dashboard port and CORS origin support to Helm chart (2.0.2) 2026-02-22 21:35:03 -05:00
README.md Documentation Refactor 2026-02-20 11:46:57 -05:00

Kubernetes Static Manifests

⚠️ IMPORTANT: These files are auto-generated from Helm templates. Do not edit them directly!

About These Files

This directory contains pre-rendered Kubernetes manifests for deploying EasyHAProxy without Helm. These are generated from the Helm chart at ../../helm/easyhaproxy/ and provide three deployment options:

File Type Use Case
easyhaproxy-daemonset.yml DaemonSet + hostPort Direct host networking, best for bare-metal or simple setups
easyhaproxy-nodeport.yml Deployment + NodePort Exposes via NodePort (31080/31443/31936)
easyhaproxy-clusterip.yml Deployment + ClusterIP Internal cluster access only, use with external LoadBalancer

How to Use

Choose the manifest that fits your deployment scenario:

# Option 1: DaemonSet mode (hostPort)
kubectl apply -f easyhaproxy-daemonset.yml

# Option 2: NodePort mode
kubectl apply -f easyhaproxy-nodeport.yml

# Option 3: ClusterIP mode
kubectl apply -f easyhaproxy-clusterip.yml

For more details, see the Kubernetes documentation.

Regenerating These Files

When to regenerate:

  • After modifying Helm chart templates (helm/easyhaproxy/templates/)
  • After updating default values (helm/easyhaproxy/values.yaml)
  • After a new release to sync with latest Helm chart

How to regenerate:

# Navigate to helm directory
cd helm

# Generate DaemonSet manifest (hostPort mode)
helm template ingress ./easyhaproxy --namespace easyhaproxy \
  --set service.create=false \
  > ../deploy/kubernetes/easyhaproxy-daemonset.yml

# Generate NodePort manifest
helm template ingress ./easyhaproxy --namespace easyhaproxy \
  --set service.create=true \
  --set service.type=NodePort \
  > ../deploy/kubernetes/easyhaproxy-nodeport.yml

# Generate ClusterIP manifest
helm template ingress ./easyhaproxy --namespace easyhaproxy \
  --set service.create=true \
  --set service.type=ClusterIP \
  > ../deploy/kubernetes/easyhaproxy-clusterip.yml

Verify regeneration:

# Check IngressClass is present
grep "kind: IngressClass" ../deploy/kubernetes/easyhaproxy-*.yml

# Validate manifest syntax
kubectl apply --dry-run=client -f ../deploy/kubernetes/easyhaproxy-daemonset.yml

What's Included

Each manifest contains:

  • ServiceAccount: RBAC identity for EasyHAProxy
  • ClusterRole: Permissions to read Ingress resources and Secrets
  • ClusterRoleBinding: Binds the role to the service account
  • IngressClass: Defines easyhaproxy as the ingress class
  • DaemonSet/Deployment: The EasyHAProxy workload
  • Service (NodePort/ClusterIP only): Network exposure

Source of Truth

The Helm chart at ../../helm/easyhaproxy/ is the source of truth. All changes should be made there, then these static manifests regenerated.

To modify these deployments:

  1. Edit Helm templates in helm/easyhaproxy/templates/
  2. Update default values in helm/easyhaproxy/values.yaml
  3. Regenerate static manifests using commands above
  4. Commit both Helm changes and regenerated manifests