54 lines
1.3 KiB
YAML
54 lines
1.3 KiB
YAML
---
|
|
- 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 | default([]))
|
|
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
|