secubox-deb/packages/secubox-profiles/sbin/secubox-wakectl
CyberMind-FR d67e2c03b7 feat(profiles): package waker/sleeper + lifecycle policy, v0.8.0 (ref #896)
Wires the scale-to-zero services into debian/ packaging: secubox-wakectl
entry point (/usr/sbin), templates/waking.html now ships, secubox-waker
and secubox-sleeper systemd units registered via dh_installsystemd
--name=, enabled/restarted (try-restart, preserving runtime state) in
postinst alongside secubox-profiles.service. postinst now also runs
secubox-wakectl waf-sync/health-sync so sbxwaf and the health monitor
have their lists from first install (nginx-sync stays unwired per the
2026-07-20 pivot).

Hardens secubox-sleeper.service with ProtectSystem=strict and an
explicit ReadWritePaths covering the actuator's real write set, traced
through api/actuate.py/snapshot.py/audit.py: /run/secubox,
/var/lib/secubox/profiles/rollback, /var/log/secubox, /data/lxc, and
/etc/secubox/waf (haproxy-routes.json, written on a routed module's
STOP — missed by a naive reading of the write set).

Documents the lifecycle/wake_class policy, the waker/sleeper mechanism
and a pilot procedure in README.md, wiki/Architecture.md and
.claude/MODULE-COMPLIANCE.md. Bumps changelog to 0.8.0.

Co-Authored-By: Gerald KERMA <devel@cybermind.fr>
2026-07-20 17:06:47 +02:00

16 lines
680 B
Bash
Executable File

#!/usr/bin/env bash
# SPDX-License-Identifier: LicenseRef-CMSD-1.0
# Copyright (c) 2026 CyberMind — Gérald Kerma <devel@cybermind.fr>
# Source-Disclosed License — All rights reserved except as expressly granted.
# See LICENCE-CMSD-1.0.md for terms.
# SecuBox-Deb :: secubox-wakectl (ref #896) — réveille un module on-demand
# (wake), ou (re)génère les listes de config consommées par sbxwaf/health
# (nginx-sync, waf-sync, health-sync). Même motif que secubox-profilectl :
# wrapper mince, toute la logique vit dans api/wake.py.
set -euo pipefail
readonly MODULE="profiles"
readonly VERSION="0.8.0"
cd /usr/lib/secubox/profiles
exec /usr/bin/python3 -m api.wake "$@"