mirror of
https://github.com/fscotto/infra.git
synced 2026-09-27 19:03:47 +00:00
* Add dormant Rocky server profile * feat: activate Rocky server profile for prometheus * fix: complete Rocky server migration tooling * Remove FreeBSD profile * feat: add Aegis Fedora CoreOS profile * docs: define Git Flow branch prefixes * Add Aegis TPM-backed btrfs storage Co-authored-by: fscotto <17803710+fscotto@users.noreply.github.com> * Preserve existing Aegis filesystem tables Co-authored-by: fscotto <17803710+fscotto@users.noreply.github.com> * Remove unsupported Aegis TPM storage Co-authored-by: fscotto <17803710+fscotto@users.noreply.github.com> * Configure Aegis pi Btrfs storage Co-authored-by: fscotto <17803710+fscotto@users.noreply.github.com> * Mount Aegis Btrfs as root Co-authored-by: fscotto <17803710+fscotto@users.noreply.github.com> * Handle Maven on Mise * Feature/aegis coreos (#7) * feat(aegis): add ARM image bootstrap workflow * feat(aegis): manage firewall and SSH hardening * feat(aegis): harden Fedora IoT services * chore(aegis): remove local TLS configuration * fix(aegis): restore supported Fedora IoT bootstrap --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: fscotto <17803710+fscotto@users.noreply.github.com>
123 lines
2.9 KiB
YAML
123 lines
2.9 KiB
YAML
---
|
|
- name: Configure common user environment
|
|
hosts: all
|
|
become: true
|
|
pre_tasks:
|
|
- name: Load local vault variables when available
|
|
tags: [always]
|
|
ansible.builtin.include_vars:
|
|
file: "{{ playbook_dir }}/../secrets/vault.yml"
|
|
when: >-
|
|
lookup('ansible.builtin.fileglob', playbook_dir + '/../secrets/vault.yml',
|
|
errors='ignore', wantlist=True) | length > 0
|
|
|
|
- name: Load machine-local vault variables when available
|
|
tags: [always]
|
|
ansible.builtin.include_vars:
|
|
file: "{{ playbook_dir }}/../secrets/vault.local.yml"
|
|
when: >-
|
|
lookup('ansible.builtin.fileglob', playbook_dir + '/../secrets/vault.local.yml',
|
|
errors='ignore', wantlist=True) | length > 0
|
|
|
|
- name: Reject conflicting AI coding-agent lifecycle flags
|
|
tags: [always, ai_agents]
|
|
ansible.builtin.assert:
|
|
that:
|
|
- not (item.value.install_enabled | bool and item.value.uninstall_enabled | bool)
|
|
fail_msg: >-
|
|
{{ item.key }} has both install_enabled and uninstall_enabled set to true.
|
|
Choose either installation or removal before running the playbook.
|
|
loop: "{{ ai_agents | dict2items }}"
|
|
loop_control:
|
|
label: "{{ item.key }}"
|
|
|
|
roles:
|
|
- role: dotfiles_common
|
|
when:
|
|
- "'platform_rocky' not in group_names"
|
|
- "'platform_fedora_iot' not in group_names"
|
|
|
|
- name: Configure Void platform
|
|
hosts: platform_void
|
|
become: true
|
|
|
|
roles:
|
|
- packages_void
|
|
- services_runit
|
|
|
|
- name: Configure Void graphical desktop
|
|
hosts: platform_void:&graphical_desktop
|
|
become: true
|
|
|
|
roles:
|
|
- profile_desktop_common
|
|
- profile_desktop_sway
|
|
- profile_desktop_niri
|
|
- profile_desktop_host
|
|
|
|
- name: Configure Fedora platform
|
|
hosts: platform_fedora
|
|
become: true
|
|
|
|
roles:
|
|
- packages_fedora
|
|
- services_systemd
|
|
|
|
- name: Configure Rocky Linux platform
|
|
hosts: platform_rocky
|
|
become: true
|
|
|
|
roles:
|
|
- packages_rocky
|
|
- services_systemd
|
|
|
|
- name: Configure Aegis Fedora IoT profile
|
|
hosts: role_aegis
|
|
become: true
|
|
|
|
roles:
|
|
- profile_aegis
|
|
|
|
- name: Configure Atlas NAS profile
|
|
hosts: atlas
|
|
become: true
|
|
|
|
roles:
|
|
- profile_atlas
|
|
|
|
- name: Configure Rocky Linux server
|
|
hosts: rocky_server
|
|
become: true
|
|
|
|
roles:
|
|
- dotfiles_common
|
|
- profile_server
|
|
|
|
- name: Configure personal workstation role on Fedora
|
|
hosts: platform_fedora:&role_personal_workstation
|
|
become: true
|
|
|
|
roles:
|
|
- profile_personal_workstation
|
|
|
|
- name: Configure Fedora GNOME desktop
|
|
hosts: platform_fedora:&desktop_gnome
|
|
become: true
|
|
|
|
roles:
|
|
- profile_desktop_gnome
|
|
|
|
- name: Configure Fedora workstation development layer
|
|
hosts: workstation_dev_fedora
|
|
become: true
|
|
|
|
roles:
|
|
- profile_workstation_dev_common
|
|
|
|
- name: Configure Fedora WSL workstation development layer
|
|
hosts: workstation_dev_wsl
|
|
become: true
|
|
|
|
roles:
|
|
- profile_workstation_dev_wsl
|