secubox-deb/packages/secubox-appstore/debian/changelog

73 lines
3.6 KiB
Plaintext

secubox-appstore (0.3.1-1~bookworm1) bookworm; urgency=medium
* feat(#768): P2P apt over the mesh (appstore federation phase 5).
/usr/sbin/sbx-apt-mesh points a node's apt at the rendezvous's signed repo
over the wg-mesh (http://<master>:9080/apt, GPG-verified against the existing
secubox keyring), so packages install from the mesh instead of the public
apt.secubox.in — faster and resilient to the public ingress/DNS being down.
enable|disable|status; the rendezvous node self-skips (repo is local).
-- Gerald Kerma <devel@cybermind.fr> Wed, 01 Jul 2026 13:00:00 +0200
secubox-appstore (0.3.0-1~bookworm1) bookworm; urgency=medium
* feat(#768): federated Mesh Catalog (appstore federation phase 2).
GET /mesh-catalog reads this node's converged annuaire directory (read-only)
and joins each ServiceOffer to the publishing node's NodeRecord, so the app
store shows a fleet-wide view: which service is offered/emancipated, by which
node, over which channel, and how to reach it. New "Mesh Catalog" panel in
the UI. Graceful no-op when secubox-annuaire is absent.
-- Gerald Kerma <devel@cybermind.fr> Wed, 01 Jul 2026 11:00:00 +0200
secubox-appstore (0.2.2-1~bookworm1) bookworm; urgency=medium
* fix(menu): install the navbar entry to /usr/share/secubox/menu.d (the
dir the hub reads) instead of /etc/secubox/menu.d, and place it in the
'root' navbar section (order 10) so the App Store is prominent.
-- Gerald KERMA <devel@cybermind.fr> Mon, 29 Jun 2026 20:00:00 +0200
secubox-appstore (0.2.1-1~bookworm1) bookworm; urgency=medium
* fix: service needs NoNewPrivileges=no so the API can sudo the root
helper (the narrow sudoers rule + helper validation are the boundary);
postinst now try-restarts the service on upgrade so new code loads.
-- Gerald KERMA <devel@cybermind.fr> Mon, 29 Jun 2026 19:30:00 +0200
secubox-appstore (0.2.0-1~bookworm1) bookworm; urgency=medium
* Phase B/C + navbar integration.
- UI: integrated shared sidebar (nav#sidebar + sidebar.js + crt-engine),
per-service quick actions (start/stop/restart/enable/disable) and a
config editor drawer (view/edit the module TOML, shows dependencies).
- api: POST /module/{name}/action/{verb}; GET/PUT /module/{name}/config.
- sbin/secubox-appstorectl: validated root helper (secubox-* units +
/etc/secubox/<name>.toml only; TOML-validates writes). Narrow sudoers
rule lets the unprivileged API invoke it.
- postinst rebuilds the hub menu cache so the App Store shows in the navbar.
-- Gerald KERMA <devel@cybermind.fr> Mon, 29 Jun 2026 19:00:00 +0200
secubox-appstore (0.1.1-1~bookworm1) bookworm; urgency=medium
* fix(nginx): serve the catalog API from secubox-routes.d/ (the
authoritative /api/v1/ include) instead of secubox.d/, so it wins over
the generic /api/ -> aggregator catch-all. UI stays in secubox.d/.
-- Gerald KERMA <devel@cybermind.fr> Mon, 29 Jun 2026 18:00:00 +0200
secubox-appstore (0.1.0-1~bookworm1) bookworm; urgency=medium
* Initial release — App Store Phase A (read-only catalog).
- api/main.py: GET /catalog (category/tier/state/q filters), /module/{name},
/categories, /health; merges the baked manifest catalog with live dpkg +
systemctl state (available / installed / running / tier-locked).
- catalog.json generated at build from every module's debian/secubox.yaml.
- www/appstore: categorized, tiered, searchable grid UI (read-only).
- Served by secubox-appstore.service on /run/secubox/appstore.sock; nginx
routes /api/v1/appstore/ + static /appstore/. No aggregator dependency.
-- Gerald KERMA <devel@cybermind.fr> Mon, 29 Jun 2026 17:30:00 +0200