Role Name ========= A role that configures a docker swarm cluster, adding Portainer CE and HAPROXY Role Variables -------------- The most important variables are listed below: ``` yaml docker_swarm_cluster_haproxy_install: true # mesh, keepalive, global docker_swarm_haproxy_installation_type: 'keepalive' docker_swarm_haproxy_networks: - '{{ docker_swarm_portainer_network }}' # docker_swarm_expose_api_via_haproxy: false docker_swarm_expose_api_hostname: 'swarm.example.com' # Portainer docker_swarm_cluster_portainer_install: true docker_swarm_portainer_hostname: 'portainer-swarm.example.com' docker_swarm_portainer_additional_constraints: [] # - 'node.hostname != docker01' docker_swarm_portainer_nfs_volume: false docker_swarm_portainer_nfs_type: 'nfs4' docker_swarm_portainer_nfs_o: 'nfsvers=4,addr=127.0.0.1,rw,nolock,soft' docker_swarm_portainer_nfs_device: ':/tmp' docker_swarm_portainer_network: 'agent_network' docker_swarm_portainer_http_port: '9000' docker_swarm_portainer_service_port: '8000' docker_swarm_haproxy_additional_services: [] # - { acl_name: 'service', acl_rule: 'hdr_dom(host) -i service.example.com', service_name: 'service-', service_replica_num: '1', service_port: '9999', service_overlay_network: 'service-network', http_redirect_to_https: True } ``` HAPROXY configuration ------------ `docker_swarm_haproxy_plain_http_global_acl_rules` allows the definition of arbitrary acl with the corresponding http-request rules, for the *plain http* listener `docker_swarm_haproxy_global_acl_rules` allows the definition of arbitrary acl with the corresponding http-request rules, for the *https* listener `haproxy_docker_swarm_additional_services` is the dictionary that contains the backends definitions and their acls A plain http listener can be defined, using the following variables. The syntax of `haproxy_docker_swarm_plain_http_services` is identical to the `haproxy_docker_swarm_additional_services` one. ```yaml haproxy_docker_swarm_plain_http_listener: true haproxy_docker_swarm_plain_http_port: 8080 haproxy_docker_swarm_plain_http_services: [] ``` Dependencies ------------ * docker * keepalived, when haproxy is installed in HA host mode License ------- EUPL-1.2 Author Information ------------------ Andrea Dell'Amico,