feat: the Core overlay packages (0041 step 2) #20
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Keel-Linux/common!20
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/core-overlay-packages"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Step 2 of handbook decision 0041's first implementation: one Debian source package per overlay under
packages/<name>/, each with its own changelog and version (0.1.0), its manifest besidedebian/, installed as/usr/share/keel/overlays/<name>.yamlexactly as docs/manifest-v1.md gives it.requiresit), keelCrowdSec is trixie's: 0029's open task has not chosen a newer one.
Unit state
etcd and both CrowdSec units end up disabled and stopped. Two parts do it (packages/README.md):
postinst, on its first installation only, runsdeb-systemd-helper disableand, where systemd runs,deb-systemd-invoke stop. Later upgrades of the Debian packages keep that state: their snippets re-enable only whilewas-enabledholds, anddeb-systemd-invokenever starts a disabled unit. Overlay upgrades do nothing, so a state set bykeel applystays.disable(20-keel-overlay-<name>.preset). Measured: on a first boot with/etc/machine-idset touninitializedand the presets moved aside, all three units were enabled and active. With the presets they stayed disabled.No mask, so
keel applycan enable them.Tests
CI
packages / build:packages/build(dpkg-buildpackage and lintian, failing on any warning; no overrides were needed).CI
packages / install: installs the four packages with keel, inithooks and confconsole built from pinned commits in a trixie container, then runstests/overlay-install.bats(13 tests).Real test on a fresh debootstrap trixie LXC container (ov-test, now destroyed):
apt installwith systemd running;Final state on the booted container:
etcd,crowdsecandcrowdsec-firewall-bouncerwere alldisabledandinactive, andkeel manifest validatereturned ok for each overlay. As a control, the sameapt installwithout the overlays left all three enabled and active.For the maintainer
keel manifest validatedoes not run inside the package build. The unit files and hooks it checks belong to the dependencies, so it runs on the installed machine.screenpaths (Networking/wireguard.py,Security/crowdsec.py) do not exist in confconsole yet. The existing screen isInstance/Overlay_network.py. Validation does not check whether screen files exist.