42 lines
1.4 KiB
YAML
42 lines
1.4 KiB
YAML
---
|
|
- name: "Bootstrap {{ os | capitalize }}"
|
|
vars:
|
|
_dnf_os_config:
|
|
rocky:
|
|
repos: [baseos, appstream]
|
|
groups: [core]
|
|
almalinux:
|
|
repos: [baseos, appstream]
|
|
groups: [core]
|
|
fedora:
|
|
repos: [fedora, fedora-updates]
|
|
groups: [critical-path-base, core]
|
|
_dnf_repos: "{{ _dnf_os_config[os].repos | map('regex_replace', '^', '--repo=') | join(' ') }}"
|
|
_dnf_groups: "{{ _dnf_os_config[os].groups | join(' ') }}"
|
|
_dnf_extra: >-
|
|
{{
|
|
lookup('vars', bootstrap_var_key)
|
|
| reject('equalto', '')
|
|
| join(' ')
|
|
}}
|
|
block:
|
|
- name: "Install {{ os | capitalize }} base system"
|
|
ansible.builtin.command: >-
|
|
dnf --releasever={{ os_version }} --best {{ _dnf_repos }}
|
|
--installroot=/mnt --setopt=install_weak_deps=False
|
|
groupinstall -y {{ _dnf_groups }}
|
|
register: _dnf_base_result
|
|
changed_when: _dnf_base_result.rc == 0
|
|
|
|
- name: Install extra packages
|
|
ansible.builtin.command: >-
|
|
{{ chroot_command }} dnf --releasever={{ os_version }} --setopt=install_weak_deps=False
|
|
install -y {{ _dnf_extra }}
|
|
register: _dnf_extra_result
|
|
changed_when: _dnf_extra_result.rc == 0
|
|
|
|
- name: Reinstall kernel core
|
|
ansible.builtin.command: "{{ chroot_command }} dnf reinstall -y kernel-core"
|
|
register: _dnf_kernel_result
|
|
changed_when: _dnf_kernel_result.rc == 0
|