feat: Add rootful capability

This commit is contained in:
2026-04-20 17:21:32 +02:00
parent da83cf1e00
commit 801b9b4cb9
8 changed files with 128 additions and 100 deletions

59
tasks/manage_rootless.yml Normal file
View File

@@ -0,0 +1,59 @@
---
# tasks file for podman
- name: List current rootless quadlets
ansible.builtin.find:
paths: "{{ podman_user_homedir }}/.config/containers/systemd"
become: true
register: current_quadlets
- name: Extract list of undefined quadlets
ansible.builtin.set_fact:
podman_quadlets_undefined: >-
{{
current_quadlets.files |
map(attribute='path') |
map('ansible.builtin.basename') |
ansible.builtin.difference(podman_qualets_filenames)
}}
vars:
podman_qualets_filenames: "{{ podman_quadlets_rootless | map('ansible.builtin.basename') }}"
- name: Stop unwanted rootless quadlets
ansible.builtin.systemd_service:
name: "{{ unit }}"
state: stopped
daemon_reload: true
scope: user
become: true
become_user: "{{ podman_user }}"
loop: "{{ podman_quadlets_undefined }}"
loop_control:
label: "{{ unit }}"
vars:
unit: >-
{{
item | ansible.builtin.basename |
ansible.builtin.regex_replace('\.container$', '.service') |
ansible.builtin.regex_replace('\.network$', '-network.service') |
ansible.builtin.regex_replace('\.volume$', '-volume.service')
}}
- name: Remove undefined rootless quadlets
ansible.builtin.file:
path: "{{ podman_user_homedir }}/.config/containers/systemd/{{ item }}"
state: absent
become: true
loop: "{{ podman_quadlets_undefined }}"
- name: Deploy rootless quadlets
ansible.builtin.template:
src: "{{ item }}.j2"
dest: "{{ podman_user_homedir }}/.config/containers/systemd/{{ item | ansible.builtin.basename }}"
owner: "{{ podman_user }}"
group: "{{ podman_user }}"
mode: u=rw,g=r,o=
become: true
loop: "{{ podman_quadlets_rootless }}"
register: deployed_quadlets_rootless
notify: Start or restart rootless quadlets