Kubernetes operator for managing external HAProxy backends as custom resources.
Table of Contents
- Declarative management of HAProxy backends via CRDs
- Automated backend registration and updates
- Metrics and monitoring integration (metrics docs)
- RBAC and security best practices
- Helm and YAML bundle installation options
- Go v1.24.0+
- Docker v17.03+
- kubectl v1.11.3+
- Access to a Kubernetes v1.11.3+ cluster
make docker-build docker-push IMG=<your-registry>/external-haproxy-operator:tag
make install
make deploy IMG=<your-registry>/external-haproxy-operator:tag
kubectl apply -k config/samples/
- See
config/samples/
for example CRs - See docs/monitoring/metrics.md for metrics
- For API details, see
api/v1alpha1/
Configuration is managed via Kubernetes CRDs. For advanced configuration, see the API documentation and metrics documentation.
Build installer:
make build-installer IMG=<your-registry>/external-haproxy-operator:tag
Apply bundle:
kubectl apply -f https://raw.githubusercontent.com/<org>/external-haproxy-operator/<tag or branch>/dist/install.yaml
Build chart:
operator-sdk edit --plugins=helm/v1-alpha
Chart is generated under dist/chart/
.
If you change the project, update the Helm chart and re-apply custom values as needed.
kubectl delete -k config/samples/
make uninstall
make undeploy
Contributions are welcome! Please open issues or pull requests. See Kubebuilder Documentation for operator development best practices.
Run make help
for available targets.
The original setup of this repository is by Magnus Ullberg.
For a full list of all authors and contributors, see the contributors page.
external-haproxy-operator follows good practices of security, but 100% security cannot be assured. external-haproxy-operator is provided "as is" without any warranty. Use at your own risk.
For more information and to report security issues, please refer to our security documentation.
This project is licensed under the Apache License 2.0.
See LICENSE for more information.