Commit Graph

4 Commits

Author SHA1 Message Date
30931bc534 docs: guideline — webui delegates privileged ops to a confined, audited ctl
The webui/API runs unprivileged (secubox); operations touching root-owned config
or driving systemd/LXC/apps MUST delegate to the root helper secubox-<module>ctl
via scoped exact-command sudoers (shipped by the package), which acts as root and
audits each change. Documented in MODULE-COMPLIANCE (authoritative), MODULE-GUIDELINES
§7 (CTL), WEBUI-PANEL-GUIDELINES, and wiki/Architecture. Ref: secubox-cvectl fix.

Co-Authored-By: Gerald KERMA <devel@cybermind.fr>
2026-07-19 07:01:14 +02:00
49ed19f85d docs(wiki): fix reversed [[Page|Text]] links — GitHub Gollum is [[Text|Page]]
19 piped wiki-links (navbar Modules, Home pages, Architecture, Live-USB, etc.)
were written MediaWiki-style (target first) so they resolved to absent pages
(e.g. Modules link → /wiki/Modules 'absent' instead of /wiki/MODULES-EN).
Reversed all to Gollum order [[display|target]].
2026-07-04 07:14:47 +02:00
675fcd482f docs: codify dual-vhost MUST for modules with a real web UI
Anchor the pattern that secubox-lyrion v1.1.0 demonstrated (admin
static page on the canonical hub vhost + real app served at the root
of its own dedicated vhost) as a REQUIRED rule across the docs:

- docs/MODULE-GUIDELINES.md §4 — new "REQUIRED: dual-vhost pattern"
  subsection with the URL table, the JS pattern for reading the
  public URL from /access, and the explicit forbidden anti-pattern
  (`proxy_pass /<module>/ → app LXC`).
- docs/MODULE-GUIDELINES.md §5 — nginx template updated: `/<module>/`
  is `alias` (static), the dedicated vhost is a separate file. The
  previous "Iframe pattern for LXC web UIs" + "LXC daemon iframe
  target" sections are flagged deprecated.
- .claude/PATTERNS.md Pattern 12 — same rule reproduced for the
  Claude-facing pattern catalog with the source-of-truth JS snippet.
- .claude/HISTORY.md + .claude/WIP.md — entry for today's three-
  module alignment (lyrion 1.1.0 + zigbee + authelia).
- wiki/Architecture.md — short reference + pointer back to
  MODULE-GUIDELINES.
- packages/secubox-lyrion/README.md — adds the URLs table at the top.
- packages/secubox-zigbee/README.md — was a verbatim copy of the
  lyrion README, rewritten as a proper zigbee README with the new
  URLs table + API surface + ports + files.
- packages/secubox-authelia/README.md — Quickstart points at
  sso.gk2.secubox.in (was auth.maegia.tv); URLs table added.

The forbidden anti-pattern catches LMS Material, Nextcloud,
Grafana, z2m and any future module whose UI uses absolute asset
URLs — incident on gk2 2026-05-24, see secubox-lyrion 1.1.0
changelog.
2026-05-24 10:06:56 +02:00
40fcbead45 docs(wiki): Add financing model pages + errata BPI-R4
Wiki pages added (from SECUBOX-WIKI-PROMPT.md spec):
- Financing-Model.md — 3 pillars (BYOH, sponsoring, shareware)
- Support.md — Donation channels, postcard-ware
- Hardware-Matrix.md — BYOH compatibility matrix
- Sponsor-a-Port.md — Hardware port sponsorship
- Acknowledgments.md — Credits wall (MBROLA format)
- Fiscal-Notes.md — Sponsoring vs mécénat legal framework
- Architecture.md — 6 modules, profile-generator, ZKP
- Roadmap.md — Current state + undated wishlist
- _Footer.md — Wiki footer

Updated:
- Home.md — Restructured with support section
- _Sidebar.md — Added Projet + Soutenir navigation

Errata:
- ERRATA-2026-05-03-001-BPI-R4.md — BPI-R4 vs BPI-R4 Pro specs
- Applied correction: BPI-R4 = 4GB/4×GbE, BPI-R4 Pro = 8GB/4×2.5GbE

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-05-03 18:46:42 +02:00