From 4e1585446f7e566817d4b0af4489d6e25e738e3a Mon Sep 17 00:00:00 2001 From: "pulsar89.5" Date: Sun, 9 Jun 2024 16:10:19 +0200 Subject: [PATCH] fix: Ensure container starts at boot --- handlers/main.yml | 11 ----------- tasks/configuration.yml | 32 ++++++++++++++++++++++++++++++-- 2 files changed, 30 insertions(+), 13 deletions(-) diff --git a/handlers/main.yml b/handlers/main.yml index 82fe4a2..05778e4 100644 --- a/handlers/main.yml +++ b/handlers/main.yml @@ -30,14 +30,3 @@ state: restarted name: rsyslog.service become: true - -- name: Redémarrer le conteneur - ansible.builtin.systemd: - name: "{{ item.name }}" - state: restarted - scope: true - daemon_reload: true - become: true - loop: "{{ podman_containers }}" - loop_control: - label: "{{ item.name }}" diff --git a/tasks/configuration.yml b/tasks/configuration.yml index 29b2374..f551e24 100644 --- a/tasks/configuration.yml +++ b/tasks/configuration.yml @@ -12,7 +12,21 @@ vars: container_user: "podman-{{ item.user | default(item.name) }}" -- name: Déployer le conteneur +- name: Créer les dossiers des volumes + ansible.builtin.file: + path: "{{ item.1 | split(':') | first }}" + state: directory + owner: "{{ container_user }}" + group: "{{ container_user }}" + mode: u=rwX,g=rX,o=rX + become: true + loop: "{{ q('ansible.builtin.subelements', podman_containers, 'volumes', {'skip_missing': True}) }}" + loop_control: + label: "{{ item.0.name }}" + vars: + container_user: "podman-{{ item.0.user | default(item.0.name) }}" + +- name: Déployer les conteneurs containers.podman.podman_container: hostname: "{{ item.hostname | default(inventory_hostname) }}" name: "{{ item.name }}" @@ -29,9 +43,23 @@ recreate: true become: true become_user: "{{ container_user }}" + register: deploy_container loop: "{{ podman_containers }}" loop_control: label: "{{ item.name }}" vars: container_user: "podman-{{ item.user | default(item.name) }}" - notify: Redémarrer le conteneur + +- name: Démarrer ou redémarrer le conteneur + ansible.builtin.systemd_service: + name: "{{ item.item.name }}.service" + state: "{{ 'restarted' if item.changed else 'started' }}" + daemon_reload: true + scope: user + become: true + become_user: "{{ container_user }}" + loop: "{{ deploy_container.results }}" + loop_control: + label: "{{ item.item.name }}" + vars: + container_user: "podman-{{ item.item.user | default(item.item.name) }}"