Skip to content

Latest commit

 

History

482 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HAProxy operator

This repository provides a collection of operators related to HAProxy. HAProxy is an open-source reverse proxy that provides fast, efficient, and reliable proxying for TCP and HTTP-based applications.

For deployment, integration, and management guidance, see the official HAProxy operator documentation.

Repository layout

docs/                                      # HAProxy charm documentation source

haproxy-operator/                          # Juju charm: HAProxy reverse proxy and ingress provider

haproxy-ddos-protection-configurator/      # Juju charm: DDoS protection configuration provider for HAProxy

haproxy-route-policy-operator/             # Juju charm: route-policy API service for HAProxy route requests

haproxy-route-policy/                      # Snap workload: HAProxy Route Policy Django application

haproxy-spoe-auth-operator/                # Juju charm: HAProxy SPOE authentication agent
haproxy-spoe-auth-snap/                    # Snap workload: HAProxy SPOE authentication agent

terraform/                                 # Terraform modules for deploying the HAProxy charm

tests/                                     # Shared integration and spread tests

Components

This repository contains the code for the following charms:

Component Path Role
haproxy haproxy-operator/ A machine charm managing HAProxy. See the haproxy README for more information.
haproxy-ddos-protection-configurator haproxy-ddos-protection-configurator/ A Juju charm that serves as a configurator for HAProxy to provide DDoS protection capabilities.
haproxy-spoe-auth-operator haproxy-spoe-auth-operator/ A machine charm deploying an SPOE agent that serves as an authentication proxy. See the haproxy-spoe-auth-operator README for more information.
haproxy-route-policy-operator haproxy-route-policy-operator/ A machine charm deploying the haproxy-route-policy application for controlling the data from different haproxy-route relations. See the haproxy-route-policy-operator README for more information.

The repository also contains the snapped workload of some charms:

Component Path Role Related charm
haproxy-spoe-auth haproxy-spoe-auth-snap/ A snap of the SPOE agent made for the haproxy-spoe-auth-operator charm. See the haproxy-spoe-auth-snap README for more information. haproxy-spoe-auth-operator
haproxy-route-policy haproxy-route-policy/ A snap of the haproxy-route-policy app made for the haproxy-route-policy-operator charm. See the haproxy-route-policy-snap README for more information. haproxy-route-policy-operator

Charmhub and Snapcraft

Name Listing
haproxy https://charmhub.io/haproxy
haproxy-ddos-protection-configurator https://charmhub.io/haproxy-ddos-protection-configurator
haproxy-route-policy https://charmhub.io/haproxy-route-policy
haproxy-spoe-auth https://charmhub.io/haproxy-spoe-auth
haproxy-route-policy https://snapcraft.io/haproxy-route-policy
haproxy-spoe-auth https://snapcraft.io/haproxy-spoe-auth

Get started

For a step-by-step basic deployment, start with docs/tutorial/getting-started.md. That tutorial covers setup, deploying the HAProxy charm, configuring TLS, deploying the backend application, and cleanup.

Documentation

Our documentation is stored in the docs directory and can be viewed at https://canonical.com/juju/docs/haproxy-charm/. It is based on the Canonical Sphinx Stack and hosted on Read the Docs. In structuring, the documentation employs the Diátaxis approach.

You may open a pull request with your documentation changes, or you can file a bug to provide constructive feedback or suggestions.

To run the documentation locally before submitting your changes:

cd docs
make run

GitHub runs automatic checks on the documentation to verify spelling, validate links and style guide compliance.

You can (and should) run the same checks locally:

make spelling
make linkcheck
make vale
make lint-md

Project and community

The HAProxy project is a member of the Ubuntu family. It is an open source project that warmly welcomes community projects, contributions, suggestions, fixes and constructive feedback.

Licensing and trademark

See LICENSE.

Releases

Packages

Contributors

Languages