SHA256
1
0

Make roles more reusable

This commit is contained in:
2026-01-29 02:49:52 -05:00
parent 4436599693
commit 44261c95fb
60 changed files with 1273 additions and 353 deletions

View File

@@ -0,0 +1,46 @@
---
- name: Deploy quadlet app configs
ansible.builtin.include_tasks: ../../deploy_files.yml
vars:
var_prefix: quadlets
subdir: ''
target_root: "{{ ansible_facts.env.HOME }}/.config"
use_symlinks: false
become_root: false
when: quadlets_deploy_configs | default(false)
- name: Initialize quadlet specs
ansible.builtin.set_fact:
quadlets_all_specs: []
- name: Load all quadlet definitions
ansible.builtin.set_fact:
quadlets_all_specs: "{{ quadlets_all_specs + (lookup('file', item.path) | from_yaml) }}"
loop: "{{ lookup('ansible.builtin.find', role_path, patterns='quadlets.yml', recurse=yes).files }}"
- name: Build final quadlet specs with pod injection
ansible.builtin.set_fact:
quadlets_specs: "{{ (pods | default([])) | map('combine', {'type': 'pod'}) | list }}"
- name: Add containers to quadlet specs with pod injection
ansible.builtin.set_fact:
quadlets_specs: "{{ quadlets_specs + [container_spec[0] | combine({'pod': item.0.name})] }}"
loop: "{{ pods | default([]) | subelements('containers') }}"
vars:
container_spec: "{{ quadlets_all_specs | selectattr('name', 'equalto', item.1) | selectattr('type', 'equalto', 'container') | list }}"
when: container_spec | length > 0
- name: Add build specs for enabled containers
ansible.builtin.set_fact:
quadlets_specs: "{{ quadlets_specs + [item] }}"
loop: "{{ quadlets_all_specs }}"
when:
- item.type == 'build'
- item.name in (pods | default([]) | map(attribute='containers') | flatten)
- name: Deploy quadlets using fedora.linux_system_roles.podman
ansible.builtin.include_role:
name: fedora.linux_system_roles.podman
vars:
podman_quadlet_specs: "{{ quadlets_specs }}"
when: quadlets_specs is defined and quadlets_specs | length > 0