13 Commits

Author SHA1 Message Date
fa17ef7475 refactor(role): Add 'system' tag to be in line with role name 1.0.7 2025-12-18 23:29:28 +01:00
66fd514a7f refactor(role): Rename variables to be in line with role name 2025-12-18 23:25:42 +01:00
11703c081e refactor(role): Rename role to better reflect non-VM use cases 1.0.6 2025-12-18 23:21:42 +01:00
6ed5c0c30a fix(role): Add pacman options to correct config section
Without an [options] or similar INI header line pacman config files
in '/etc/pacman.d' can sometimes load incorrectly, for example when
multiple files exist where some of them do and other do not have the
header. We're normalizing our config file here so that it no longer
trips up pacman.
1.0.5
2025-12-18 22:55:06 +01:00
5c3ed1736e refactor(role): systemctl daemon-reload after copy
Since unit files are now copied to '/etc/systemd/system' we should
make sure that systemd sees the newest version of all unit files
before we attempt to enable a timer unit.
1.0.4
2025-06-04 01:28:57 +02:00
023227fff7 refactor(role): No systemctl daemon-reload on Git pull
Since unit files are now copied to '/etc/systemd/system' merely
cloning or pulling a Git repo no longer warrants a systemctl
daemon-reload.
2025-06-04 01:28:12 +02:00
03b371650c refactor(role): Copy unit files instead of symlinking them
On each target machine we're storing the Git repo that has our unit
files underneath '/opt/git'. Prior to this commit we used to place
symlinks from '/etc/systemd/system' into the appropriate '/opt/git'
subdir. On most machines this worked fine, however, on some we
encountered a race condition on system start.

Sometimes '/opt/git' is not the same file system as '/'. If that's
the case chances are that systemd initializes the system and fails to
access a unit file at '/opt/git' because that file system is just
barely not yet visible early in the boot process.

For a timer unit for example this could result in enabling the unit
and upon reboot seeing that the unit no longer existed in systemd's
world view e.g. via 'systemctl list-timers' even though the symlink
at '/etc/systemd/system' still pointed to an '/opt/git' subdir when
inspected manually seconds after boot. journalctl, however, would
clearly confirm that at system initialization the symlink target was
inaccessible.

We could fiddle around with delaying boot until '/opt/git' and its
descendants are visible but the sane solution is to just not rely on
a separate file system for important stuff such as unit files. We now
copy unit files to '/etc/systemd/system' instead of symlinking them.
2025-06-04 01:26:15 +02:00
33e3ebea6f refactor(role): Move pacman pkg cache underneath boot dataset 1.0.3 2025-04-09 03:15:02 +02:00
b21d28587f refactor(role): Typo 1.0.2 2025-04-07 00:25:50 +02:00
2afbfaedcd feat(role): Never extract a mirrorlist 1.0.1 2025-04-07 00:21:34 +02:00
40e5a17e34 fix(role): Include can happen multiple times 2025-04-07 00:21:17 +02:00
cf55d8b20e feat(role): Initial commit 1.0.0 2025-04-03 00:12:58 +02:00
3e9b2ba91a Initial commit 2025-04-02 21:46:09 +00:00