diff options
author | Elizabeth Hunt <me@liz.coffee> | 2025-03-16 21:23:16 -0700 |
---|---|---|
committer | Elizabeth Hunt <me@liz.coffee> | 2025-03-16 21:23:16 -0700 |
commit | 654694f9276cd9c30a7f2690f9336cf63a0172ef (patch) | |
tree | 12e4e8ec000478c982152e56d327afdef26a3b6a /playbooks/deploy-swarm.yml | |
parent | fb7e6890d8516618fa3baec0edf84048e2b6601d (diff) | |
download | infra-654694f9276cd9c30a7f2690f9336cf63a0172ef.tar.gz infra-654694f9276cd9c30a7f2690f9336cf63a0172ef.zip |
a good starting point for traefik
Diffstat (limited to 'playbooks/deploy-swarm.yml')
-rw-r--r-- | playbooks/deploy-swarm.yml | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/playbooks/deploy-swarm.yml b/playbooks/deploy-swarm.yml deleted file mode 100644 index fc4da39..0000000 --- a/playbooks/deploy-swarm.yml +++ /dev/null @@ -1,115 +0,0 @@ ---- - -- name: Install Ceph - hosts: swarm - become: true - tasks: - - name: Install Ceph - ansible.builtin.apt: - name: - - ceph-common - - ceph-fuse - state: present - - # - name: Copy Ceph Secret - # ansible.builtin.copy: - # content: "{{ ceph_secret }}" - # dest: /etc/ceph/secret.key - - # ceph config generate-minimal-conf - - name: Copy Ceph Configuration - ansible.builtin.copy: - content: "[global]\n fsid = {{ ceph_fsid }}\n mon_host = {{ ceph_mon_host }}\n" - dest: /etc/ceph/ceph.conf - mode: '0644' - - # ceph fs authorize cephfs client.swarm / rw - - name: Copy Ceph Keyring - ansible.builtin.copy: - content: "[client.{{ ceph_client_name }}]\n key = {{ ceph_secret }}\n" - dest: "/etc/ceph/ceph.client.{{ ceph_client_name }}.keyring" - mode: '0600' - - - name: Adjust ceph mount perms - ansible.builtin.file: - path: /mnt/ceph - owner: root - group: root - state: directory - recurse: true - - - name: Mount Ceph on Boot - ansible.builtin.lineinfile: - path: /etc/fstab - regexp: ':/\s+/mnt\s+ceph' - line: "none /mnt/ceph fuse.ceph ceph.id={{ ceph_client_name }},_netdev,defaults 0 0" - create: true - mode: "0644" - - - name: Mount ceph now - ansible.builtin.shell: - cmd: "mount -a" - - - name: Adjust ceph mount perms for docker - ansible.builtin.file: - path: /mnt/ceph/docker - owner: root - group: docker - state: directory - recurse: true - -- name: Initial docker swarm fw rules - hosts: swarm - become: true - tasks: - - name: Enable local swarm comms - loop: "{{ rfc1918_cgnat_networks }}" - community.general.ufw: - rule: allow - port: "2377" - from: "{{ item }}" - state: "enabled" - -- name: Initial docker swarm init - hosts: swarm[0] - become: true - tasks: - - name: Check Docker Swarm status - ansible.builtin.shell: docker info --format '{{ "{{.Swarm.LocalNodeState}}" }}' - register: docker_swarm_status - changed_when: false - - - name: Initialize Docker Swarm - ansible.builtin.shell: - cmd: docker swarm init --advertise-addr {{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] }} - when: "'inactive' in docker_swarm_status.stdout" - register: swarm_init - changed_when: "'Swarm initialized' in swarm_init.stdout" - - - name: Retrieve Docker Swarm manager token - ansible.builtin.shell: docker swarm join-token manager -q - register: manager_token - changed_when: false - -- name: Join remaining managers to Docker Swarm - hosts: swarm:!swarm[0] - become: true - tasks: - - name: Check Docker Swarm status before attempting to join - ansible.builtin.shell: docker info --format '{{ "{{.Swarm.LocalNodeState}}" }}' - register: docker_swarm_status - changed_when: false - - - name: Join Swarm as manager - ansible.builtin.shell: - 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 and 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.shell: - cmd: docker node update --label-add manager=true {{ ansible_hostname }} - when: swarm_join is changed - changed_when: false - |