1
0
Fork 0
docker-easy-haproxy/helm/easyhaproxy
Joao Gilberto Magalhaes 542fab1607 Add ingress status update functionality to support various deployment modes
- Introduced `ingressStatus` configuration in Helm values to enable status updates and customize deployment modes (auto, daemonset, nodeport, clusterip).
- Implemented logic in the processor to detect deployment mode, retrieve ingress addresses, and update ingress status dynamically.
- Updated Kubernetes manifests to grant required permissions for `ingresses/status` operations and pass necessary environment variables for configuration.
- Adjusted Helm templates and associated Kubernetes examples to reflect the new ingress status update capability.
2025-12-15 21:11:02 -05:00
..
templates Add ingress status update functionality to support various deployment modes 2025-12-15 21:11:02 -05:00
.helmignore Rename helm package 2022-08-28 01:05:04 -05:00
Chart.yaml Bump version to 5.0.0 across repository for major release 2025-12-04 13:12:12 -05:00
LICENSE Update Github Actions 2023-12-04 01:27:41 -06:00
README.md Remove the affinity for deployment. 2025-04-16 12:10:25 -05:00
values.schema.json Add ClusterIP and NodePort deployment 2022-08-29 18:08:15 -05:00
values.yaml Add ingress status update functionality to support various deployment modes 2025-12-15 21:11:02 -05:00

EasyHAProxy

EasyHAProxy is a simple and easy way to automate the creation of HAProxy configuration file based on Docker containers.

The Helm package makes it easy to deploy EasyHAProxy on Kubernetes.

More information about EasyHAProxy.

Install

helm repo add byjg https://opensource.byjg.com/helm
helm repo update byjg
helm upgrade --install --create-namespace -n easyhaproxy easyhaproxy byjg/easyhaproxy

Deployment Types

EasyHAProxy can be deployed in two ways:

  1. DaemonSet (default): When service.create: false, EasyHAProxy is deployed as a DaemonSet with hostPort, and will only be scheduled on nodes with the masterNode label.
  2. Deployment: When service.create: true, EasyHAProxy is deployed as a Deployment with a Service (ClusterIP or NodePort), and the replicaCount value determines the number of replicas (defaults to 1 if not specified).

Parameters

replicaCount: 1  # Only applies when service.create is true (defaults to 1 if not specified)

image:
  repository: byjg/easy-haproxy
  pullPolicy: Always # IfNotPresent
  # Overrides the image tag whose default is the chart appVersion.
  tag: ""

imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""

service:
  create: false          # If false, it will create a Daemonset with hostPort. The easiest. 
  type: ClusterIP        # or NodePort
  annotations: {}

binding:
  ports:
    http: 80
    https: 443
    stats: 1936
  additionalPorts: []

easyhaproxy:
  stats:
    username: admin
    password: password
  refresh: "10"
  customErrors: "true"
  sslMode: loose
  logLevel:
    certbot: DEBUG
    easyhaproxy: DEBUG
    haproxy: DEBUG
  certbot:
    email: ""

# Master node configuration - only used when service.create is false (DaemonSet mode)
# When service.create is true (Deployment with ClusterIP/NodePort), this is ignored
masterNode:
  label: easyhaproxy/node
  values: 
    - master