diff options
author | Elizabeth Hunt <me@liz.coffee> | 2025-05-04 00:10:22 -0700 |
---|---|---|
committer | Elizabeth Hunt <me@liz.coffee> | 2025-05-04 00:35:51 -0700 |
commit | c3e9305bce9fd1aaf165779fb46570c683750e6f (patch) | |
tree | dcc01e3d35abd0647f7a053a00d9e3f1f91072d1 /playbooks/roles/swarm_join/tasks/main.yml | |
parent | 7106b304324b3a7c4dc5fa25432f08041cbc41cb (diff) | |
download | infra-c3e9305bce9fd1aaf165779fb46570c683750e6f.tar.gz infra-c3e9305bce9fd1aaf165779fb46570c683750e6f.zip |
Tried to use docker ingress to solve x-real-ip on mail daemon but it didn't work for other ports
Diffstat (limited to 'playbooks/roles/swarm_join/tasks/main.yml')
-rw-r--r-- | playbooks/roles/swarm_join/tasks/main.yml | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/playbooks/roles/swarm_join/tasks/main.yml b/playbooks/roles/swarm_join/tasks/main.yml new file mode 100644 index 0000000..f6fe454 --- /dev/null +++ b/playbooks/roles/swarm_join/tasks/main.yml @@ -0,0 +1,22 @@ +--- + +- name: Check Docker Swarm Status + ansible.builtin.command: docker info --format '{{ "{{.Swarm.LocalNodeState}}" }}' + register: docker_swarm_status + changed_when: false + +- name: Join Swarm as Manager + ansible.builtin.command: + cmd: docker swarm join --token {{ hostvars[groups['swarm'][0]]['manager_token'].stdout }} {{ hostvars[groups['swarm'][0]]['ansible_default_ipv4']['address'] }}:2377 + when: + - hostvars[groups['swarm'][0]]['manager_token'].stdout is defined + - docker_swarm_status.stdout != "active" + register: swarm_join + changed_when: '"This node joined a swarm as a manager" in swarm_join.stdout' + +- name: Label Docker Swarm Manager Nodes + ansible.builtin.command: + cmd: docker node update --label-add manager=true {{ ansible_hostname }} + when: swarm_join is changed + changed_when: false + |