diff --git a/ansible/roles/etcd/defaults/main.yml b/ansible/roles/etcd/defaults/main.yml index 10510fc4fc4b3762b909b4656428445ddb14889a..6a39d765e9201cc2bd65352ae7579b5cddea5a12 100644 --- a/ansible/roles/etcd/defaults/main.yml +++ b/ansible/roles/etcd/defaults/main.yml @@ -23,7 +23,13 @@ etcd_services: image: "{{ etcd_image_full }}" volumes: "{{ etcd_default_volumes + etcd_extra_volumes }}" dimensions: "{{ etcd_dimensions }}" - + haproxy: + etcd: + enabled: true + mode: "http" + external: false + port: "{{ etcd_client_port }}" + tls_backend: "{{ etcd_enable_tls | bool }}" #################### # Docker diff --git a/ansible/roles/etcd/tasks/loadbalancer.yml b/ansible/roles/etcd/tasks/loadbalancer.yml new file mode 100644 index 0000000000000000000000000000000000000000..07e1a3be44a1671c7ce2cf8c38e8dfd6ca354c59 --- /dev/null +++ b/ansible/roles/etcd/tasks/loadbalancer.yml @@ -0,0 +1,7 @@ +--- +- name: "Configure loadbalancer for {{ project_name }}" + import_role: + name: loadbalancer-config + vars: + project_services: "{{ etcd_services }}" + tags: always diff --git a/ansible/site.yml b/ansible/site.yml index 4df835f84c2f9127ebfa3884bdf04e5d07d021b3..37fee5926bfe4f527b0db50a3b6031925dbcd096 100644 --- a/ansible/site.yml +++ b/ansible/site.yml @@ -150,6 +150,11 @@ tasks_from: loadbalancer tags: designate when: enable_designate | bool + - include_role: + name: etcd + tasks_from: loadbalancer + tags: etcd + when: enable_etcd | bool - include_role: name: freezer tasks_from: loadbalancer diff --git a/releasenotes/notes/etcd-tcp-loadbalancer-08d9332ee3be9a8b.yaml b/releasenotes/notes/etcd-tcp-loadbalancer-08d9332ee3be9a8b.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f35c4ea09d807f78a4964194f139a1ec75660f58 --- /dev/null +++ b/releasenotes/notes/etcd-tcp-loadbalancer-08d9332ee3be9a8b.yaml @@ -0,0 +1,4 @@ +--- +features: + - | + etcd is now exposed internally via HAProxy on ``etcd_client_port``.