diff options
Diffstat (limited to 'roles/containers')
| -rw-r--r-- | roles/containers/tasks/main.yml | 18 | ||||
| -rw-r--r-- | roles/containers/tasks/systemd_create.yml | 21 | ||||
| -rw-r--r-- | roles/containers/tasks/systemd_remove.yml | 14 | ||||
| -rw-r--r-- | roles/containers/tasks/systemd_start.yml | 8 | ||||
| -rw-r--r-- | roles/containers/tasks/systemd_stop.yml | 8 |
5 files changed, 69 insertions, 0 deletions
diff --git a/roles/containers/tasks/main.yml b/roles/containers/tasks/main.yml index 02ee577..17d26e5 100644 --- a/roles/containers/tasks/main.yml +++ b/roles/containers/tasks/main.yml @@ -2,16 +2,34 @@ tags: - create +- ansible.builtin.import_tasks: systemd_create.yml + tags: + - create + - ansible.builtin.import_tasks: quadlet_start.yml tags: - start +- ansible.builtin.import_tasks: systemd_start.yml + tags: + - start + - ansible.builtin.import_tasks: quadlet_stop.yml tags: - never - stop +- ansible.builtin.import_tasks: systemd_stop.yml + tags: + - never + - stop + - ansible.builtin.import_tasks: quadlet_remove.yml tags: - never - remove + +- ansible.builtin.import_tasks: systemd_remove.yml + tags: + - never + - remove diff --git a/roles/containers/tasks/systemd_create.yml b/roles/containers/tasks/systemd_create.yml new file mode 100644 index 0000000..941851b --- /dev/null +++ b/roles/containers/tasks/systemd_create.yml @@ -0,0 +1,21 @@ +- name: Create systemd directory + ansible.builtin.file: + path: "{{ containers_homedir }}/.config/systemd/user" + state: "directory" + +- name: Copy systemd files into systemd directory + ansible.builtin.copy: + src: "{{ item.path }}/{{ item.file }}" + dest: "{{ containers_homedir }}/.config/systemd/user/{{ item.file }}" + remote_src: true + validate: "systemd-analyze verify %s" + loop_control: + label: "{{ item.name }} -> {{ item.file }}" + loop: "{{ containers_systemd }}" + register: systemd_files + +- name: Reload systemd daemon + ansible.builtin.systemd: + daemon_reload: true + scope: "user" + when: systemd_files.changed diff --git a/roles/containers/tasks/systemd_remove.yml b/roles/containers/tasks/systemd_remove.yml new file mode 100644 index 0000000..cda3051 --- /dev/null +++ b/roles/containers/tasks/systemd_remove.yml @@ -0,0 +1,14 @@ +- name: Remove systemd files from systemd directory + ansible.builtin.file: + path: "{{ containers_homedir }}/.config/systemd/user/{{ item.file }}" + state: "absent" + loop_control: + label: "{{ item.name }} -> {{ item.file }}" + loop: "{{ containers_systemd }}" + register: systemd_files + +- name: Reload systemd daemon + ansible.builtin.systemd: + daemon_reload: true + scope: "user" + when: systemd_files.changed diff --git a/roles/containers/tasks/systemd_start.yml b/roles/containers/tasks/systemd_start.yml new file mode 100644 index 0000000..f69f35d --- /dev/null +++ b/roles/containers/tasks/systemd_start.yml @@ -0,0 +1,8 @@ +- name: Start systemd service + ansible.builtin.systemd_service: + name: "{{ item.name }}" + state: "started" + scope: "user" + loop_control: + label: "{{ item.name}}" + loop: "{{ containers_systemd }}" diff --git a/roles/containers/tasks/systemd_stop.yml b/roles/containers/tasks/systemd_stop.yml new file mode 100644 index 0000000..51e4d72 --- /dev/null +++ b/roles/containers/tasks/systemd_stop.yml @@ -0,0 +1,8 @@ +- name: Stop systemd service + ansible.builtin.systemd_service: + name: "{{ item.name }}" + state: "stopped" + scope: "user" + loop_control: + label: "{{ item.name}}" + loop: "{{ containers_systemd }}" |
