netcup-setup/ansible/roles/services/tasks/main.yml
2025-12-30 01:47:19 +01:00

70 lines
1.8 KiB
YAML

---
- name: Initial setup for rootless podman services
include_tasks: setup.yml
- name: Create users
loop: "{{ services | dict2items }}"
loop_control:
label: "{{ item.key }}"
include_tasks: create_user.yml
vars:
service_name: "{{ item.key }}"
- name: Ensure Btrfs base path exists
ansible.builtin.file:
path: "{{ btrfs_base_path }}"
state: directory
mode: '0755'
- name: Create Btrfs subvolume
loop: "{{ services | dict2items }}"
loop_control:
label: "{{ item.key }}"
include_tasks: create_btrfs_subvolume.yml
vars:
service_name: "{{ item.key }}"
- name: Create service directories
loop: "{{ services | dict2items }}"
loop_control:
label: "{{ item.key }}"
include_tasks: create_service_directories.yml
when: " item.value.service_directories is defined and item.value.service_directories | length > 0"
vars:
service_name: "{{ item.key }}"
service_directories: "{{ item.value.service_directories }}"
- name: Enable linger for the user
loop: "{{ services | dict2items }}"
loop_control:
label: "{{ item.key }}"
include_tasks: enable_linger.yml
vars:
service_name: "{{ item.key }}"
- name: Install Secrets
loop: "{{ services | dict2items }}"
loop_control:
label: "{{ item.key }}"
include_tasks: secrets.yml
vars:
service_name: "{{ item.key }}"
- name: Copy Quadlet files
loop: "{{ services | dict2items }}"
loop_control:
label: "{{ item.key }}"
include_tasks: copy_quadlet_files.yml
vars:
service_name: "{{ item.key }}"
- name: Enable and start main service
loop: "{{ services | dict2items }}"
loop_control:
label: "{{ item.key }}"
include_tasks: enable_service.yml
vars:
service_name: "{{ item.key }}"
systemd_service_name: "{{ item.value.systemd_service_name }}"
force_systemd_restart: "{{ item.value.force_systemd_restart | default(false) }}"