55 lines
1.5 KiB
YAML
55 lines
1.5 KiB
YAML
---
|
|
# tasks file for podman
|
|
|
|
- name: Créer l'utilisateur dédié
|
|
ansible.builtin.include_role:
|
|
name: users
|
|
vars:
|
|
users:
|
|
- name: "{{ container_user }}"
|
|
comment: Dedicated Podman user ({{ container.name }})
|
|
update_password: on_create
|
|
password_lock: true
|
|
shell: /bin/bash
|
|
|
|
- name: Créer le chemin de stockage des définitions
|
|
ansible.builtin.file:
|
|
path: "{{ container_basepath }}"
|
|
state: directory
|
|
owner: "{{ container_user }}"
|
|
group: "{{ container_user }}"
|
|
mode: u=rwX,g=rwX,o=
|
|
become: true
|
|
|
|
- name: Créer le volume
|
|
containers.podman.podman_volume:
|
|
name: "{{ item.split(':')[0] }}"
|
|
when: container.get('volumes', []) | length > 0
|
|
loop: "{{ container.volumes }}"
|
|
|
|
- name: Déployer le conteneur
|
|
ansible.builtin.template:
|
|
src: podman-quadlet.container.j2
|
|
dest: "{{ container_basepath }}/{{ container_filename }}"
|
|
owner: "{{ container_user }}"
|
|
group: "{{ container_user }}"
|
|
mode: u=rw,g=rw,o=
|
|
become: true
|
|
register: deploy_container
|
|
|
|
- name: Activer le lingering
|
|
ansible.builtin.command:
|
|
cmd: "loginctl enable-linger {{ container_user }}"
|
|
creates: /var/lib/systemd/linger/{{ container_user }}
|
|
become: true
|
|
|
|
- name: Démarrer ou redémarrer le conteneur
|
|
ansible.builtin.systemd_service:
|
|
name: "{{ container_filename | replace('.container', '.service') }}"
|
|
state: "{{ 'restarted' if deploy_container.changed else 'started' }}"
|
|
enabled: true
|
|
daemon_reload: true
|
|
scope: user
|
|
become: true
|
|
become_user: "{{ container_user }}"
|