secubox-deb/packages/secubox-master-link/debian
CyberMind-FR 150476d8e3 feat(p2p,master-link): fold master-link into secubox-p2p (closes #384)
Tier 3 mesh-cluster consolidation. secubox-master-link's 851-LOC API
was effectively dead on production: the package shipped no nginx
config, so its 21 endpoints on /run/secubox/master-link.sock were
unreachable from the web. Meanwhile secubox-p2p has been serving the
visible /master-link/ UI all along — its nginx config aliases
/master-link/ to /var/www/secubox/master-link/ (frontend installed
by p2p), and its API has its own /master-link/* endpoints (status,
token, invite, invite-local, join, approve, peers, tree, config,
token/validate, token/revoke, token/cleanup, cleanup-local,
join-with-token, join-script — 16 in total).

Same situation that mail-lxc/webmail (#380) and mmpm (#381) were
in: a parallel implementation never wired up against the canonical
one. Apply the same transitional-shell pattern:

  - secubox-master-link 1.1.0: Section: oldlibs, payload removed,
    Depends: secubox-p2p (>= 1.7), postinst stops + disables +
    removes the orphaned secubox-master-link.service plus the
    /usr/share/secubox/www/master-link/, the menu entry, and any
    leftover nginx snippet. The pre-1.1 state directory
    /var/lib/secubox/master-link/ is intentionally preserved so
    direct-socket clients (very rare) can retrieve their data
    manually.
  - secubox-p2p 1.7.0: Breaks/Replaces secubox-master-link (<< 1.1),
    Description updated to call out master-link ownership. No code
    changes — p2p's existing master-link surface stays as-is.

Operator-scoping decision encoded here:

  - secubox-master-link assumed unused (literally unreachable via
    nginx — no operator could be using it).
  - secubox-p2p assumed canonical (it's what /master-link/ has
    been serving in production).
  - secubox-master-link's 21 endpoints NOT ported into p2p.
    Reasoning: they were never reachable, so they were never
    relied on. The 5 endpoints p2p doesn't currently expose
    (heartbeat, stats, update-online-status, peers/bulk-delete,
    peers/{id}/wireguard, wireguard/peers, wireguard/config) are
    dropped along with the rest. If any of these turn out to be
    needed, file a follow-up enhancement issue against secubox-p2p
    rather than reviving the dead package.

Diff: 12 files changed, +90 / -1374. Net -1 effective package.

Verified: audit re-run shows secubox-master-link as is_empty=True
oldlibs depending on secubox-p2p; secubox-p2p unchanged on routes
(/api/v1/p2p/, /master-link/, /p2p/). Both changelogs parse cleanly.

Not verified: end-to-end dpkg-buildpackage; recommend rebuilding
both on a build host and a canary apt full-upgrade rehearsal from
1.6 → 1.7 before merging.

Maintainer of secubox-master-link corrected from
"SecuBox <dev@secubox.local>" to "Gerald KERMA <devel@cybermind.fr>".
2026-05-27 08:45:34 +02:00
..
changelog feat(p2p,master-link): fold master-link into secubox-p2p (closes #384) 2026-05-27 08:45:34 +02:00
control feat(p2p,master-link): fold master-link into secubox-p2p (closes #384) 2026-05-27 08:45:34 +02:00
postinst feat(p2p,master-link): fold master-link into secubox-p2p (closes #384) 2026-05-27 08:45:34 +02:00
prerm feat: Add 15 new SecuBox-Deb modules and VM configuration 2026-03-27 10:08:05 +01:00
rules feat(p2p,master-link): fold master-link into secubox-p2p (closes #384) 2026-05-27 08:45:34 +02:00
secubox.yaml feat(secubox): complete meta-script generator Tasks 14-17 2026-05-11 05:32:29 +02:00