Skip to content

fix: keel-overlay-vip ships every unit off on the first installation - #44

Merged
marcos-mendez merged 4 commits into
19.xfrom
fix/vip-units-off-on-install
Oct 8, 2026
Merged

marcos-mendez merged 4 commits into
19.xfrom
fix/vip-units-off-on-install

Conversation

@marcos-mendez

Copy link
Copy Markdown
Collaborator

keel-vip-check.timer was enabled on install by dh_installsystemd (was-enabled defaults to true; the preset is not read), so a standalone machine ran keel vip check every minute. All other overlays leave their units off until keel spec apply enables the overlay (decision 0041).

  • The timer has no [Install]: keel-vip.service Wants= it and the timer is PartOf= the controller. keel enables what the manifest names (keel-vip.service), so the check runs exactly while the VIP is enabled; disabling the timer alone would have left it never running.
  • Both units --no-enable --no-start, both disabled in the preset. keel-overlay-vip 0.1.1.
  • tests/overlay-install.bats (install job, booted trixie container): keel-vip.service disabled and inactive; the timer static and inactive, PartOf and wanted by the controller; the preset names both. The job's keel pin moves to befaaea (0.20.0), which the package depends on.

Also checked the other overlays for the same pitfall: only keel-overlay-coraza-logrotate.timer (WantedBy=timers.target, plain dh_installsystemd, no preset) is enabled on install, harmless but not "off"; etcd and crowdsec disable in postinst with a preset, anubis' key unit is static, wireguard and installer ship no units. Not changed here.

keel-vip-check.timer was installed with plain dh_installsystemd, whose
was-enabled defaults to true on a first installation and which does not
read the preset, so a standalone machine ran keel vip check every minute.
Every other overlay leaves its units off until keel spec apply enables the
overlay (handbook decision 0041).

The timer now has no [Install]; keel-vip.service wants it and the timer is
PartOf the controller. keel enables the units the manifest names
(keel-vip.service), so the check runs exactly while the VIP is enabled and
stops with it; disabling the timer alone would have left it never running.
Both units are installed with --no-enable --no-start and both are disabled
in the preset. keel-overlay-vip 0.1.1.

tests/overlay-install.bats installs the package on the booted trixie
container of the install job with the other four overlays: keel-vip.service
is disabled and inactive with the rest, the timer is static and inactive,
PartOf the controller and wanted by it, and the preset names both. The job
builds keel at befaaea (0.20.0, Keel-Linux/keel#81), which the package
depends on.
navigator added 3 commits October 7, 2026 23:32
The previous commit cut the file at the first occurrence of the install
section's name, which was in the new comment, so the timer shipped with no
PartOf and no [Timer]; tests/overlay-install.bats caught it.
@marcos-mendez
marcos-mendez merged commit 32f0588 into 19.x Oct 8, 2026
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant