sandwich
b4e8ccb77f
fix: re-gather facts after reboot to detect target OS package manager
...
The live ISO (Arch) caches ansible_pkg_mgr=pacman. After rebooting
into the target OS (e.g. Debian), package module fails because pacman
is not available. Re-gather minimal facts including pkg_mgr.
2026-02-20 16:58:59 +01:00
sandwich
2a82ee4d5c
fix: resolve Jinja2 .keys ambiguity, fastfetch availability, and python interpreter
...
- Use bracket notation item['keys'] instead of item.keys to avoid
conflict with Python dict .keys() method
- Remove fastfetch from Debian 12 package list (only available in 13+)
- Set explicit python interpreter path for post-reboot tasks
2026-02-20 16:58:58 +01:00
sandwich and Claude Opus 4.6
7b213e7456
fix(partitioning): create separate /boot for LVM-based filesystems
...
VMware EFI firmware may not initialize all SCSI devices before GRUB
runs, preventing LVM assembly when the root LV spans multiple disks.
A separate /boot partition (the standard RHEL Anaconda layout) lets
GRUB load kernels without LVM; the kernel initramfs handles LVM
activation with proper device waiting.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-20 04:50:32 +01:00
sandwich and Claude Opus 4.6
cfc261878a
fix(bootloader): run efibootmgr on host for universal chroot compatibility
...
The previous approach ran efibootmgr inside the chroot, which only works
with arch-chroot (auto-mounts efivars) but fails silently with
systemd-nspawn or plain chroot. Move EFI boot entry creation to the host
where efivars is always available.
Also fixes wrong EFI loader path (\efi\EFI\... -> \EFI\...) and uses
the correct vendor label (e.g. "redhat" instead of raw os variable).
For non-RHEL distros, grub-install now uses --no-nvram to avoid
redundant NVRAM writes; the host efibootmgr handles entry creation
for all distros uniformly with idempotent pre-check.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-20 03:36:20 +01:00
sandwich
eeb580f180
refactor(standardize): fix sudoers lecture syntax, extract ssh config, remove redundant os filters
2026-02-13 00:22:59 +01:00
sandwich
af5eecfc01
fix(configuration): correct fstab regexp escaping, sudoers newline, locales block scope
2026-02-13 00:02:54 +01:00
sandwich
bc43b3b994
refactor(standardize): remove redundant variables, deduplicate conditionals
2026-02-12 23:47:41 +01:00
sandwich
29d365293c
fix(banner): correct visudo validate, clean trailing whitespace
2026-02-12 23:33:55 +01:00
sandwich
c8806c9577
refactor(standardize): remove dead code, fix inconsistencies, update docs
2026-02-12 23:21:51 +01:00
sandwich
debd1e176f
refactor(bootstrap): standardize patterns, extract common logic, remove dead code
2026-02-12 23:14:17 +01:00
sandwich
8f8ce341ae
refactor(users): migrate system.user to system.users[] for multi-user support
2026-02-12 22:52:15 +01:00
sandwich
66057bc9b2
feat(network): make interfaces[] canonical, normalize flat fields as AWX compat
2026-02-12 22:17:02 +01:00
sandwich
5108e46a4c
fix(lint): wrap long lines to satisfy yaml[line-length] rule
2026-02-12 21:54:09 +01:00
sandwich
67c320fcc2
fix(vars): enforce strict list-only DNS and user.key format for IaC compatibility
2026-02-12 21:50:55 +01:00
sandwich
673a9b6062
fix(playbook): reset SSH connection before post-reboot tasks
2026-02-12 02:06:58 +01:00
sandwich
f8eaa41fc2
fix(partitioning): register swapoff result for changed_when handling
2026-02-11 23:47:36 +01:00
sandwich
ed8da6e4e2
fix(luks): complete migration of partitioning_luks_tpm2_device reference
2026-02-11 23:28:05 +01:00
sandwich
a60e6fd0d3
refactor(bootstrap): nest network fields under system.network to match main project schema
2026-02-11 23:03:37 +01:00
sandwich
45c002c2dd
fix(bootstrap): correct changed_when on state-changing commands
2026-02-11 21:06:10 +01:00
sandwich
7a76f58384
refactor(luks): use system_cfg.luks directly across roles
2026-02-11 19:26:51 +01:00
sandwich
8c0716508e
fix: honor libvirt network config, preserve DHCP DNS with search-only NM config, and exact-match Xen VM names
2026-02-11 14:00:20 +01:00
sandwich
e5d2720bfe
docu(readme): recompose README from pre/post consolidation versions
2026-02-11 08:25:15 +01:00
sandwich
cd34b41862
fix(banner): align MOTD star border and default motd to disabled
2026-02-11 08:02:27 +01:00
sandwich
37130da17b
fix(libvirt): restore missing virtualization_mac_address default
2026-02-11 08:02:27 +01:00
sandwich
4be9e2bfe1
refactor(safety): remove redundant live environment detection from system_check
2026-02-11 08:02:27 +01:00
sandwich
d8fcc6033d
refactor(playbook): rename prompt variables with backwards-compatible fallbacks
2026-02-11 08:02:27 +01:00
sandwich
fc8f43a25a
refactor(validation): deduplicate hypervisor combine and collapse schema checks
2026-02-11 08:02:27 +01:00
sandwich
70475f4082
refactor(system): simplify normalization by removing redundant intermediate merges
2026-02-11 08:02:27 +01:00
sandwich
865d96c18e
fix(bootstrap): repair version-specific package availability across distributions
2026-02-11 08:02:27 +01:00
sandwich
920e7d3f21
docu(readme): consolidate final documentation state
2026-02-11 05:37:18 +01:00
sandwich
9f6fff313b
fix(config): enable dictionary merge for scoped overrides
2026-02-11 05:37:18 +01:00
sandwich
e7323258fd
refactor(schema): move filesystem into system dictionary
2026-02-11 05:37:18 +01:00
sandwich
3d026407e5
refactor(configuration): simplify grub commandline variable assembly
2026-02-11 05:37:18 +01:00
sandwich
469d89641e
refactor(configuration): reduce LUKS runtime temporary facts
2026-02-11 05:37:18 +01:00
sandwich
5326907ae9
refactor(schema): simplify dict normalization and schema checks
2026-02-11 05:37:18 +01:00
sandwich
aac2bd0b06
docu(schema): update docs and examples to compact dict keys
2026-02-11 05:37:18 +01:00
sandwich
636656214b
refactor(schema): rename nested dict keys and simplify validation
2026-02-11 05:37:18 +01:00
sandwich
e2a42771ab
docu(schema): align docs and baremetal example with dict model
2026-02-11 05:37:18 +01:00
sandwich
8894da2ea1
fix(validation): reject deprecated top-level schema keys
2026-02-11 05:37:18 +01:00
sandwich
b8c672507f
refactor(vars): simplify normalization and remove effective intermediates
2026-02-11 05:37:18 +01:00
sandwich
04727033f1
fix(system): default physical installs to archlinux when os is omitted
2026-02-11 05:37:18 +01:00
sandwich
a9db85d45e
docu(readme): document dict-based variables and examples
2026-02-11 05:37:18 +01:00
sandwich
fcc7c6aeb6
fix(runtime): migrate roles to nested system fields
2026-02-11 05:37:18 +01:00
sandwich
db08609acf
feat(disks): add standardized multi-disk mount schema
2026-02-11 05:37:18 +01:00
sandwich
961c8f259c
refactor(vars): enforce nested system and hypervisor schema
2026-02-11 05:37:18 +01:00
sandwich
9101e12126
refactor(vars): remove legacy variable inputs
2026-02-11 05:37:18 +01:00
sandwich
fc05708466
refactor(vars): add system/hypervisor dict inputs
2026-02-11 05:37:18 +01:00
sandwich
c4c96dbfb5
fix(partitioning): add LVM extent headroom
2026-02-06 00:43:02 +01:00
sandwich
5ff0bac9d8
fix(network): Removes hardcoded MAC-Address from NetworkManager config
2026-01-05 18:22:18 +01:00
sandwich
3d8b623f66
refactor(services): remove unnecessary firewalld services disablement.
2026-01-05 18:19:14 +01:00
sandwich
a093bf3e28
feat(services): implement SSH server toggeling
2026-01-05 18:18:18 +01:00
sandwich
a90e08cd4f
Force local stat for third-party prep tasks
2026-01-02 19:15:34 +01:00
sandwich
a5a58710a2
Force local connection for third-party prep check
2026-01-02 19:14:11 +01:00
sandwich
51c0f58b16
Run third-party prep check locally
2026-01-02 19:02:00 +01:00
sandwich
21318b8c8a
Fix localhost delegate for third-party prep check
2026-01-02 18:58:40 +01:00
sandwich
c3f26f2c92
Add third-party preparation task hook
2026-01-02 18:55:45 +01:00
sandwich
c62de8bf4a
Make chroot command configurable
2026-01-02 18:53:55 +01:00
sandwich
c5e01c3652
Add swap_enabled toggle for swap setup
2026-01-02 18:51:27 +01:00
sandwich
49372309d2
Add zstd toggle for btrfs and zram
2026-01-02 18:47:32 +01:00
sandwich
a669e3ddfb
Update LVM swap sizing policy
2026-01-02 16:29:24 +01:00
sandwich
9b070c6e8d
Enforce 20GiB minimum vm_size
2026-01-02 16:18:14 +01:00
sandwich
cc07a896d9
Enable full-disk LVM root sizing
2026-01-02 16:11:06 +01:00
sandwich
88a8737115
Use systemd module and link timezone
2026-01-02 16:10:50 +01:00
sandwich
76bbff43c0
Document partitioning overrides and inventory host vars
2026-01-02 16:10:50 +01:00
sandwich
53b4390ebf
Fix post-reboot extra packages task
2026-01-02 15:55:27 +01:00
sandwich
8a369de5d7
Align ESP sizing to full 512 MiB
2026-01-02 15:10:35 +01:00
sandwich
74fbfbccb5
Mount Debian ESP on /boot/efi without LUKS
2026-01-02 15:10:35 +01:00
sandwich
41cccbb547
Drop vars.yml usage
2026-01-02 15:10:35 +01:00
sandwich
ba9654b7bd
Make inventory examples more generic
2026-01-02 15:10:34 +01:00
sandwich
14d774ffac
Inline extra package normalization
2026-01-02 15:10:34 +01:00
sandwich
40df28f59b
Move pre-tasks into global defaults
2026-01-02 15:10:34 +01:00
sandwich
20e10c3627
Drop custom_iso_enabled and log defaults
2026-01-02 15:10:34 +01:00
sandwich
2672da4187
Restore global defaults lint exclusion
2026-01-02 15:10:34 +01:00
sandwich
0143517787
Map global defaults in playbook
2026-01-02 15:10:34 +01:00
sandwich
e9bf0c8242
Fix lint formatting and exceptions
2026-01-02 15:10:34 +01:00
sandwich
a6d71125e8
Increase EFI system partition size
2026-01-02 15:10:34 +01:00
sandwich
df90672237
Add Molecule scaffolding
2026-01-02 11:26:21 +01:00
sandwich
65494a6977
Add libvirt inventory matrix example
2026-01-02 11:26:06 +01:00
sandwich
52c67c5a39
Move derived vars into role defaults
2026-01-02 11:25:51 +01:00
sandwich
1c23055dd2
Add firewalld_enabled toggle
2026-01-02 11:25:40 +01:00
sandwich
8395ad9e90
Define optional defaults and require vm_cpus
2026-01-02 11:25:06 +01:00
sandwich
e59f056904
Move partitioning LUKS defaults into role
2026-01-02 11:23:31 +01:00
sandwich
0bd85319f6
Remove defaults for required vars
2025-12-28 17:10:00 +01:00
sandwich
8eed5c04c4
Move global defaults into role defaults
2025-12-28 16:47:53 +01:00
sandwich
e7c5166128
Normalize user-facing defaults
2025-12-28 16:41:11 +01:00
sandwich
cf179b0d16
Normalize LUKS boot layout and partitioning defaults
2025-12-28 16:00:49 +01:00
sandwich
f4b4a669ba
Update Fedora to 43
2025-12-28 04:04:27 +01:00
sandwich
5288167825
Restore Debian ESP mount layout
2025-12-28 02:24:33 +01:00
sandwich
7cf0dabc3c
Fix Debian initramfs regeneration
2025-12-28 01:54:14 +01:00
sandwich
34d70c0edc
Ensure initramfs-tools for Debian/Ubuntu
2025-12-28 01:29:26 +01:00
sandwich
73b42f29cb
Enable GRUB cryptodisk defaults
2025-12-28 00:46:09 +01:00
sandwich
b0d9adcf13
Fix bootstrap package list rendering
2025-12-28 00:12:37 +01:00
sandwich
cbc88c8d03
Condition LUKS and guest tools in bootstrap vars
2025-12-27 23:52:06 +01:00
sandwich
4705db7fe2
Fix Debian EFI mount layout
2025-12-27 23:49:21 +01:00
sandwich
1d8d4cc4fd
Docs, examples, and tooling
2025-12-27 23:07:47 +01:00
sandwich
3f0408e271
CIS role split and permission safety
2025-12-27 22:27:26 +01:00
sandwich
6e30bbb4ff
Cleanup refactor and libvirt removal tooling
2025-12-27 21:44:33 +01:00
sandwich
5914d216ce
Virtualization TPM2 and cloud-init fixes
2025-12-27 20:19:11 +01:00
sandwich
cc8b95463a
Partitioning idempotency and filesystem tasks
2025-12-26 23:31:54 +01:00
sandwich
7323781046
LUKS enrollment and RHEL cmdline/BLS
2025-12-26 22:09:08 +01:00