diff --git a/desktop.yml b/desktop.yml index b4a4a039a7b7fe8c29db105e3c4a4dc44f81df75..0e16f7ce1d032ef087c69e25276fa9417892aa62 100644 --- a/desktop.yml +++ b/desktop.yml @@ -2,6 +2,24 @@ - hosts: all become: yes become_user: root + vars: + docker_graph_mount: '/home/{{ ansible_env.SUDO_USER }}' + docker_graph_directory: '{{ docker_graph_mount }}/.bind_mounts/docker' + handlers: + - name: Systemd daemon reload + command: /bin/systemctl daemon-reload + + - name: Restart Docker + service: + name: docker + state: restarted + + - name: Update initramfs + command: /usr/sbin/update-initramfs -u + + - name: Update GRUB + command: /usr/sbin/update-grub + tasks: - assert: that: @@ -21,7 +39,7 @@ state: present update_cache: yes - - name: apt install + - name: APT install with_items: - plymouth - network-manager @@ -61,10 +79,6 @@ value: spinner register: configure_plymouth - - name: Update initramfs - when: configure_plymouth.changed - command: /usr/sbin/update-initramfs -u - - name: Configure GRUB with_dict: GRUB_TIMEOUT: 1 @@ -76,13 +90,59 @@ state: present register: configure_grub - - name: Update GRUB - when: configure_grub.changed - command: /usr/sbin/update-grub - - name: Make /tmp tmpfs mount mount: fstype: tmpfs name: /tmp src: none state: present + + - name: Create Docker graph directory + file: + path: '{{ docker_graph_directory }}' + owner: root + group: root + mode: 0o711 + notify: + - Restart Docker + + - name: Configure Docker graph directory + ignore_errors: True + lineinfile: + dest: /etc/default/docker + line: 'DOCKER_OPTS="--graph {{ docker_graph_directory }}"' + regexp: '^DOCKER_OPTS=' + state: present + notify: + - Restart Docker + + - name: Create Systemd configuration override directories + with_items: + - docker.service + - dnsmasq.service + file: + path: '/etc/systemd/system/{{ item }}.d/' + owner: root + group: root + mode: 0o0755 + state: directory + + - name: Override docker.service Systemd configuration + template: + src: docker.service.d_Assertions.conf.j2 + dest: /etc/systemd/system/docker.service.d/Assertions.conf + owner: root + group: root + mode: 0o0644 + notify: + - Systemd daemon reload + + - name: Override dnsmasq.service Systemd configuration + template: + src: dnsmasq.service.d_before-systemd-resovled.conf + dest: /etc/systemd/system/dnsmasq.service.d/before-systemd-resovled.conf + owner: root + group: root + mode: 0o0644 + notify: + - Systemd daemon reload diff --git a/templates/dnsmasq.service.d_before-systemd-resovled.conf b/templates/dnsmasq.service.d_before-systemd-resovled.conf new file mode 100644 index 0000000000000000000000000000000000000000..ea645711b4655009461ad8827d1e51719a7f59df --- /dev/null +++ b/templates/dnsmasq.service.d_before-systemd-resovled.conf @@ -0,0 +1,2 @@ +[Unit] +Before=systemd-resolved.service diff --git a/templates/docker.service.d_Assertions.conf.j2 b/templates/docker.service.d_Assertions.conf.j2 new file mode 100644 index 0000000000000000000000000000000000000000..598b70962b2af0277df6d149584ca9e4cc93e6b2 --- /dev/null +++ b/templates/docker.service.d_Assertions.conf.j2 @@ -0,0 +1,4 @@ +[Unit] +After=home-nimrod.mount +AssertPathIsMountPoint={{ docker_graph_mount }} +AssertPathIsDirectory={{ docker_graph_directory }}