refactor(global_defaults): extract OS family lists to single source of truth

This commit is contained in:
2026-02-20 22:52:55 +01:00
parent a06c2ebdcf
commit 417737f904
4 changed files with 27 additions and 4 deletions

View File

@@ -1,6 +1,6 @@
---
- name: Configure System Cryptography Policy
when: os == "rhel" or os in ["almalinux", "rocky"]
when: os in (os_family_rhel | difference(['fedora']))
ansible.builtin.command: "{{ chroot_command }} /usr/bin/update-crypto-policies --set DEFAULT:NO-SHA1"
register: cis_crypto_policy_result
changed_when: "'Setting system-wide crypto-policies to' in cis_crypto_policy_result.stdout"

View File

@@ -1,4 +1,27 @@
---
# OS family lists — single source of truth for platform detection and validation
os_family_rhel:
- almalinux
- fedora
- rhel
- rocky
os_family_debian:
- debian
- ubuntu
- ubuntu-lts
os_supported:
- almalinux
- alpine
- archlinux
- debian
- fedora
- opensuse
- rhel
- rocky
- ubuntu
- ubuntu-lts
- void
# User input. Normalized into hypervisor_cfg + hypervisor_type.
hypervisor:
type: "none"

View File

@@ -14,8 +14,8 @@
- name: Set OS family flags
ansible.builtin.set_fact:
is_rhel: "{{ os in ['almalinux', 'fedora', 'rhel', 'rocky'] }}"
is_debian: "{{ os in ['debian', 'ubuntu', 'ubuntu-lts'] }}"
is_rhel: "{{ os in os_family_rhel }}"
is_debian: "{{ os in os_family_debian }}"
- name: Normalize OS version for keying
when:

View File

@@ -114,7 +114,7 @@
ansible.builtin.assert:
that:
- os is defined
- os in ["almalinux", "alpine", "archlinux", "debian", "fedora", "opensuse", "rhel", "rocky", "ubuntu", "ubuntu-lts", "void"]
- os in os_supported
- >-
os not in ["debian", "fedora", "rocky", "almalinux", "rhel"]
or (os_version is defined and (os_version | string | length) > 0)