Initial commit
This commit is contained in:
43
roles/bootstrap/tasks/main.yml
Normal file
43
roles/bootstrap/tasks/main.yml
Normal file
@@ -0,0 +1,43 @@
|
||||
---
|
||||
- name: Include Packages
|
||||
include_vars:
|
||||
file: packages.yml
|
||||
name: role_packages
|
||||
|
||||
- name: Run OS-specific bootstrap process
|
||||
block:
|
||||
- name: Bootstrap ArchLinux
|
||||
when: os | lower == 'archlinux'
|
||||
command: pacstrap /mnt {{ role_packages.archlinux | join(' ') }} --asexplicit
|
||||
|
||||
- name: Bootstrap Debian System
|
||||
when: os | lower in ['debian11', 'debian12']
|
||||
shell: "{{ item }}"
|
||||
with_items:
|
||||
- debootstrap --include={{ role_packages[os].base | join(',') }} {{ 'bullseye' if os == 'debian11' else 'bookworm' }} /mnt http://deb.debian.org/debian/
|
||||
- arch-chroot /mnt apt install -y {{ role_packages[os].extra | join(' ') }}
|
||||
- arch-chroot /mnt apt remove -y libcups2 libavahi-common3 libavahi-common-data
|
||||
|
||||
- name: Bootstrap AlmaLinux 9
|
||||
when: os | lower == 'almalinux'
|
||||
shell: "{{ item }}"
|
||||
with_items:
|
||||
- dnf --releasever=9 --best --repo=alma-baseos --installroot=/mnt --setopt=install_weak_deps=False groupinstall -y base core
|
||||
- echo "nameserver 1.0.0.1" > /mnt/etc/resolv.conf
|
||||
- arch-chroot /mnt dnf --releasever=9 --setopt=install_weak_deps=False install -y {{ role_packages.almalinux | join(' ') }}
|
||||
|
||||
- name: Bootstrap Fedora 39
|
||||
when: os | lower == 'fedora'
|
||||
shell: "{{ item }}"
|
||||
with_items:
|
||||
- dnf --releasever=39 --best --repo=fedora --repo=fedora-updates --installroot=/mnt --setopt=install_weak_deps=False groupinstall -y critical-path-base core
|
||||
- arch-chroot /mnt dnf --releasever=39 --setopt=install_weak_deps=False install -y {{ role_packages.fedora | join(' ') }}
|
||||
- arch-chroot /mnt dnf reinstall -y grub2-efi-x64 kernel
|
||||
|
||||
- name: Bootstrap RHEL System
|
||||
when: os | lower in ['rhel8', 'rhel9']
|
||||
shell: "{{ item }}"
|
||||
with_items:
|
||||
- "dnf --releasever={{ '8' if os == 'rhel8' else '9' }} --installroot=/mnt --setopt=install_weak_deps=False groupinstall -y base core"
|
||||
- "echo 'nameserver 1.0.0.1' > /mnt/etc/resolv.conf"
|
||||
- "arch-chroot /mnt dnf --releasever={{ '8' if os == 'rhel8' else '9' }} --setopt=install_weak_deps=False install -y {{ role_packages[os] | join(' ') }}"
|
||||
160
roles/bootstrap/vars/packages.yml
Normal file
160
roles/bootstrap/vars/packages.yml
Normal file
@@ -0,0 +1,160 @@
|
||||
---
|
||||
archlinux:
|
||||
- base
|
||||
- btrfs-progs
|
||||
- cronie
|
||||
- dhcpcd
|
||||
- efibootmgr
|
||||
- firewalld
|
||||
- fish
|
||||
- grub
|
||||
- htop
|
||||
- linux
|
||||
- logrotate
|
||||
- lrzsz
|
||||
- lsof
|
||||
- lvm2
|
||||
- ncdu
|
||||
- neofetch
|
||||
- networkmanager
|
||||
- nfs-utils
|
||||
- openssh
|
||||
- open-vm-tools
|
||||
- prometheus-node-exporter
|
||||
- python-psycopg2
|
||||
- qemu-guest-agent
|
||||
- reflector
|
||||
- rsync
|
||||
- screen
|
||||
- sudo
|
||||
- vim
|
||||
- wireguard-tools
|
||||
|
||||
debian11:
|
||||
base:
|
||||
- apparmor-utils
|
||||
- btrfs-progs
|
||||
- xfsprogs
|
||||
- chrony
|
||||
- cron
|
||||
- grub-efi
|
||||
- grub-efi-amd64-signed
|
||||
- grub2-common
|
||||
- gnupg
|
||||
- linux-image-amd64
|
||||
- locales
|
||||
- logrotate
|
||||
- lvm2
|
||||
- net-tools
|
||||
- openssh-server
|
||||
- python3
|
||||
- sudo
|
||||
extra:
|
||||
- curl
|
||||
- firewalld
|
||||
- htop
|
||||
- network-manager
|
||||
- screen
|
||||
- open-vm-tools
|
||||
- python-is-python3
|
||||
- ncdu
|
||||
- neofetch
|
||||
- lrzsz
|
||||
- libpam-pwquality
|
||||
- rsync
|
||||
- software-properties-common
|
||||
- syslog-ng
|
||||
- tcpd
|
||||
- fish
|
||||
- vim
|
||||
- wget
|
||||
|
||||
debian12:
|
||||
base:
|
||||
- btrfs-progs
|
||||
- xfsprogs
|
||||
- cron
|
||||
- grub-efi
|
||||
- grub-efi-amd64-signed
|
||||
- grub2-common
|
||||
- gnupg
|
||||
- linux-image-amd64
|
||||
- locales
|
||||
- lvm2
|
||||
|
||||
extra:
|
||||
- apparmor-utils
|
||||
- chrony
|
||||
- curl
|
||||
- firewalld
|
||||
- fish
|
||||
- htop
|
||||
- network-manager
|
||||
- screen
|
||||
- open-vm-tools
|
||||
- python-is-python3
|
||||
- ncdu
|
||||
- neofetch
|
||||
- logrotate
|
||||
- lrzsz
|
||||
- libpam-pwquality
|
||||
- rsync
|
||||
- software-properties-common
|
||||
- sudo
|
||||
- syslog-ng
|
||||
- tcpd
|
||||
- net-tools
|
||||
- openssh-server
|
||||
- python3
|
||||
- vim
|
||||
- wget
|
||||
|
||||
fedora:
|
||||
- dhcp-client
|
||||
- efibootmgr
|
||||
- grub2
|
||||
- grub2-efi-x64-modules
|
||||
- lrzsz
|
||||
- nfs-utils
|
||||
- open-vm-tools
|
||||
- shim
|
||||
- telnet
|
||||
- vim-default-editor
|
||||
- zstd
|
||||
|
||||
almalinux:
|
||||
- dhcp-client
|
||||
- efibootmgr
|
||||
- grub2
|
||||
- grub2-efi-x64-modules
|
||||
- lrzsz
|
||||
- nfs-utils
|
||||
- open-vm-tools
|
||||
- shims
|
||||
- telnet
|
||||
- vim
|
||||
- zstd
|
||||
|
||||
rhel8:
|
||||
- dhcp-client
|
||||
- efibootmgr
|
||||
- grub2
|
||||
- grub2-efi-x64-modules
|
||||
- lrzsz
|
||||
- nfs-utils
|
||||
- open-vm-tools
|
||||
- shim
|
||||
- telnet
|
||||
- zstd
|
||||
|
||||
rhel9:
|
||||
- dhcp-client
|
||||
- efibootmgr
|
||||
- grub2
|
||||
- grub2-efi-x64-modules
|
||||
- lrzsz
|
||||
- nfs-utils
|
||||
- open-vm-tools
|
||||
- shim
|
||||
- telnet
|
||||
- zstd
|
||||
Reference in New Issue
Block a user