You've already forked role_podman
feat: Switch to CoreOS
This commit is contained in:
@@ -1,82 +0,0 @@
|
||||
---
|
||||
# tasks file for podman
|
||||
|
||||
- name: Activer le lingering
|
||||
ansible.builtin.command:
|
||||
cmd: "loginctl enable-linger {{ container_user }}"
|
||||
creates: /var/lib/systemd/linger/{{ container_user }}
|
||||
become: true
|
||||
loop: "{{ podman_containers }}"
|
||||
loop_control:
|
||||
label: "{{ item.name }}"
|
||||
vars:
|
||||
container_user: "podman-{{ item.user | default(item.name) }}"
|
||||
|
||||
- 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 }}"
|
||||
image: "{{ item.image }}"
|
||||
state: quadlet
|
||||
device: "{{ item.device | default(omit) }}"
|
||||
ports: "{{ item.ports | default(omit) }}"
|
||||
volumes: "{{ item.volumes | default(omit) }}"
|
||||
userns: "{{ item.userns | default(omit) }}"
|
||||
mount: "{{ item.mount | default(omit) }}"
|
||||
publish: "{{ item.publish | default(omit) }}"
|
||||
env: "{{ item.env | default(omit) }}"
|
||||
quadlet_options: "{{ item.quadlet_options | default(omit) }}"
|
||||
sysctl: "{{ item.sysctl | default(omit) }}"
|
||||
cap_add: "{{ item.cap_add | default(omit) }}"
|
||||
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) }}"
|
||||
|
||||
- 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) }}"
|
||||
|
||||
- name: Activer le service de mise à jour automatique
|
||||
ansible.builtin.systemd_service:
|
||||
name: podman-auto-update.timer
|
||||
daemon_reload: true
|
||||
enabled: true
|
||||
scope: user
|
||||
when: podman_auto_update
|
||||
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) }}"
|
@@ -1,47 +0,0 @@
|
||||
---
|
||||
# tasks file for podman
|
||||
|
||||
- name: Installer les paquets
|
||||
ansible.builtin.apt:
|
||||
name:
|
||||
- dbus-user-session
|
||||
- containernetworking-dnsname
|
||||
- containernetworking-plugins
|
||||
- containernetworking-podman-machine
|
||||
- dbus-user-session
|
||||
- passt
|
||||
- podman
|
||||
- podman-aardvark-dns
|
||||
- podman-docker
|
||||
- podman-gvproxy
|
||||
- podman-netavark
|
||||
- python3-podman-compose
|
||||
- uidmap
|
||||
- systemd-container
|
||||
install_recommends: true
|
||||
state: present
|
||||
become: true
|
||||
notify:
|
||||
- Corriger le problème passt VS pasta
|
||||
- Redémarrer l'instance
|
||||
- Attendre que le port SSH soit ouvert
|
||||
|
||||
- name: Exécuter les handlers
|
||||
ansible.builtin.meta: flush_handlers
|
||||
|
||||
- name: Déployer la configuration de rsyslog
|
||||
ansible.builtin.template:
|
||||
src: templates/rsyslog.conf.j2
|
||||
dest: /etc/rsyslog.d/10-podman.conf
|
||||
owner: root
|
||||
group: root
|
||||
mode: u=rw,g=r,o=r
|
||||
when: podman_configure_rsyslog
|
||||
become: true
|
||||
notify: Redémarrer rsyslog.service
|
||||
|
||||
- name: Désactiver le service de mise à jour automatique pour root
|
||||
ansible.builtin.systemd_service:
|
||||
name: podman-auto-update.timer
|
||||
enabled: false
|
||||
become: true
|
@@ -1,10 +1,74 @@
|
||||
---
|
||||
# tasks file for podman
|
||||
|
||||
- name: Importer les tâches d'installation
|
||||
ansible.builtin.import_tasks:
|
||||
file: installation.yml
|
||||
- name: Ensure podman.service is started
|
||||
ansible.builtin.systemd_service:
|
||||
name: podman.service
|
||||
state: started
|
||||
enabled: true
|
||||
masked: false
|
||||
daemon_reload: true
|
||||
become: true
|
||||
|
||||
- name: Importer les tâches de configuration
|
||||
ansible.builtin.import_tasks:
|
||||
file: configuration.yml
|
||||
- name: Create subvolumes paths
|
||||
ansible.builtin.file:
|
||||
path: "{{ item.1 | split(':') | first }}"
|
||||
state: directory
|
||||
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 }}"
|
||||
register: folders
|
||||
notify: Set default permissions on volumes folders
|
||||
|
||||
- name: Exécuter les handlers
|
||||
ansible.builtin.meta: flush_handlers
|
||||
|
||||
- name: Deploy pods
|
||||
containers.podman.podman_pod: "{{ pod }}"
|
||||
become: true
|
||||
loop: "{{ podman_pods }}"
|
||||
loop_control:
|
||||
label: "{{ item.name }}"
|
||||
register: deployed_pods
|
||||
vars:
|
||||
pod: "{{ podman_pods_defaults | ansible.builtin.combine(item) }}"
|
||||
|
||||
- name: Start or restart pods
|
||||
ansible.builtin.systemd_service:
|
||||
name: "{{ item.item.name }}-pod.service"
|
||||
state: "{{ 'restarted' if item.changed else 'started' }}"
|
||||
daemon_reload: true
|
||||
become: true
|
||||
loop: "{{ deployed_pods.results }}"
|
||||
loop_control:
|
||||
label: "{{ item.item.name }}"
|
||||
|
||||
- name: Deploy containers
|
||||
containers.podman.podman_container: "{{ container }}"
|
||||
become: true
|
||||
loop: "{{ podman_containers }}"
|
||||
loop_control:
|
||||
label: "{{ item.name }}"
|
||||
register: deployed_containers
|
||||
vars:
|
||||
container: "{{ podman_containers_defaults | ansible.builtin.combine(item) }}"
|
||||
|
||||
- name: Start or restart containers
|
||||
ansible.builtin.systemd_service:
|
||||
name: "{{ item.item.name }}.service"
|
||||
state: "{{ 'restarted' if item.changed else 'started' }}"
|
||||
daemon_reload: true
|
||||
become: true
|
||||
loop: "{{ deployed_containers.results }}"
|
||||
loop_control:
|
||||
label: "{{ item.item.name }}"
|
||||
|
||||
- name: Enable containers auto-update service
|
||||
ansible.builtin.systemd_service:
|
||||
name: podman-auto-update.timer
|
||||
daemon_reload: true
|
||||
enabled: true
|
||||
when: podman_auto_update
|
||||
become: true
|
||||
|
Reference in New Issue
Block a user