Add role for adding docker nodes to swarm
This commit is contained in:
53
roles/swarm/tasks/configure.yaml
Normal file
53
roles/swarm/tasks/configure.yaml
Normal file
@@ -0,0 +1,53 @@
|
||||
---
|
||||
- name: Determine docker daemon DNS servers
|
||||
vars:
|
||||
_docker_daemon_dns: []
|
||||
ansible.builtin.set_fact:
|
||||
_docker_daemon_dns: "{{ _docker_daemon_dns + (item.value.dns | default([])) }}"
|
||||
loop: "{{ skylab_networking | dict2items }}"
|
||||
loop_control:
|
||||
label: "{{ item.key }}"
|
||||
|
||||
- name: Create docker config directory
|
||||
become: true
|
||||
ansible.builtin.file:
|
||||
path: /etc/docker
|
||||
state: directory
|
||||
owner: "{{ ansible_user }}"
|
||||
group: docker
|
||||
mode: 0750
|
||||
|
||||
- name: Configure docker daemon
|
||||
become: true
|
||||
ansible.builtin.template:
|
||||
src: daemon.json.j2
|
||||
dest: /etc/docker/daemon.json
|
||||
mode: 0640
|
||||
owner: "{{ ansible_user }}"
|
||||
group: docker
|
||||
|
||||
- name: Start and enable docker service
|
||||
become: true
|
||||
ansible.builtin.systemd:
|
||||
name: docker
|
||||
state: started
|
||||
enabled: true
|
||||
|
||||
- name: Include access variables
|
||||
ansible.builtin.include_vars:
|
||||
file: vars/access.yaml
|
||||
|
||||
- name: Add administrators to docker group
|
||||
become: true
|
||||
when: item.admin | default(false) and 'cluster' in item.targets
|
||||
ansible.builtin.user:
|
||||
name: "{{ item.name }}"
|
||||
group: "{{ item.name }}"
|
||||
groups: docker
|
||||
append: true
|
||||
loop: "{{ skylab_accounts }}"
|
||||
loop_control:
|
||||
label: "{{ item.name }},{{ item.uid }}"
|
||||
|
||||
- name: Reset connection to get new group membership
|
||||
ansible.builtin.meta: reset_connection
|
||||
Reference in New Issue
Block a user