feat: a lots of stuff and bugfixes mostly
This commit is contained in:
parent
0289360eb6
commit
a13235a7db
14 changed files with 468 additions and 62 deletions
142
tasks/docker.yml
142
tasks/docker.yml
|
|
@ -1,6 +1,146 @@
|
|||
---
|
||||
- name: Create cuyper directory
|
||||
ansible.builtin.file:
|
||||
path: "/etc/docker"
|
||||
state: directory
|
||||
mode: '0755'
|
||||
|
||||
- name: Install Docker and Docker Compose
|
||||
block:
|
||||
- name: Ensure Docker and Docker Compose plugin are installed
|
||||
apt:
|
||||
name:
|
||||
- docker-cli
|
||||
- docker.io
|
||||
- docker-compose
|
||||
state: present
|
||||
update_cache: yes
|
||||
|
||||
- name: Ensure Docker service is running and enabled on boot
|
||||
service:
|
||||
name: docker
|
||||
state: started
|
||||
enabled: yes
|
||||
- name: Install Python Docker SDK via APT (Debian)
|
||||
ansible.builtin.apt:
|
||||
name:
|
||||
- python3-docker
|
||||
- python3-requests
|
||||
state: present
|
||||
update_cache: true
|
||||
|
||||
- name: Configure docker
|
||||
ansible.builtin.copy:
|
||||
src: "daemon.json"
|
||||
dest: "/etc/docker/daemon.json"
|
||||
mode: '0644'
|
||||
mode: '0644'
|
||||
|
||||
|
||||
- name: Initialize Swarm
|
||||
community.docker.docker_swarm:
|
||||
state: present
|
||||
advertise_addr: "{{ swarm_advertise_addr }}"
|
||||
listen_addr: "{{ swarm_advertise_addr }}:2377"
|
||||
|
||||
|
||||
- name: Create Swarm overlay networks
|
||||
community.docker.docker_network:
|
||||
name: "{{ item.name }}"
|
||||
driver: "{{ item.driver | default('overlay') }}"
|
||||
attachable: "{{ item.attachable | default(false) }}"
|
||||
internal: "{{ item.internal | default(false) }}"
|
||||
scope: swarm
|
||||
state: present
|
||||
loop: "{{ swarm_networks }}"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# - name: Get manager join token
|
||||
# community.docker.docker_swarm_info:
|
||||
# delegate_to: "{{ swarm_init_hostdahkasjhkla }}"
|
||||
# run_once: true
|
||||
# register: swarm_info
|
||||
|
||||
# - name: Check local Swarm state
|
||||
# community.docker.docker_swarm_info:
|
||||
# register: local_swarm_info
|
||||
# failed_when: false
|
||||
|
||||
# - name: Join worker to Swarm
|
||||
# community.docker.docker_swarm:
|
||||
# state: join
|
||||
# remote_addrs:
|
||||
# - "{{ swarm_manager_endpoint }}"
|
||||
# join_token: "{{ hostvars[swarm_init_host].swarm_info.swarm_facts.JoinTokens.Worker }}"
|
||||
# advertise_addr: "{{ swarm_advertise_addr }}"
|
||||
# listen_addr: "0.0.0.0:2377"
|
||||
# when:
|
||||
# - inventory_hostname in groups[swarm_worker_group]
|
||||
# - not local_swarm_info.swarm_facts.IsSwarmActive | default(false)
|
||||
|
||||
# - name: Join manager to Swarm
|
||||
# community.docker.docker_swarm:
|
||||
# state: join
|
||||
# remote_addrs:
|
||||
# - "{{ swarm_manager_endpoint }}"
|
||||
# join_token: "{{ hostvars[swarm_init_host].swarm_info.swarm_facts.JoinTokens.Manager }}"
|
||||
# advertise_addr: "{{ swarm_advertise_addr }}"
|
||||
# listen_addr: "0.0.0.0:2377"
|
||||
# when:
|
||||
# - inventory_hostname in groups[swarm_manager_group]
|
||||
# - not local_swarm_info.swarm_facts.IsSwarmActive | default(false)
|
||||
|
||||
# - name: Create Swarm overlay networks
|
||||
# community.docker.docker_network:
|
||||
# name: "{{ item.name }}"
|
||||
# driver: "{{ item.driver | default('overlay') }}"
|
||||
# attachable: "{{ item.attachable | default(false) }}"
|
||||
# internal: "{{ item.internal | default(false) }}"
|
||||
# scope: swarm
|
||||
# state: present
|
||||
# loop: "{{ swarm_networks }}"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# - name: Ensure Swarm ports are allowed
|
||||
# ansible.posix.firewalld:
|
||||
# port: "{{ item }}"
|
||||
# permanent: true
|
||||
# immediate: true
|
||||
# state: enabled
|
||||
# loop:
|
||||
# - 2377/tcp
|
||||
# - 7946/tcp
|
||||
# - 7946/udp
|
||||
# - 4789/udp
|
||||
# when:
|
||||
# - ansible_facts.services['firewalld.service'] is defined
|
||||
# - ansible_facts.services['firewalld.service'].state == "running"
|
||||
|
||||
# - name: Check Swarm state
|
||||
# community.docker.docker_swarm_info:
|
||||
# register: swarm_info
|
||||
# failed_when: false
|
||||
|
||||
# - name: Initialize Docker Swarm
|
||||
# community.docker.docker_swarm:
|
||||
# state: present
|
||||
# advertise_addr: "{{ swarm_advertise_addr }}"
|
||||
# listen_addr: "0.0.0.0:2377"
|
||||
# when: not swarm_info.swarm_facts.IsSwarmActive | default(false)
|
||||
|
||||
# when: my_custom_role__enabled | d(True) | bool
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue