[Tech debt] Migrate netbird from hardcoded binary stack to a self-contained registry app #52

Open
opened 2026-06-17 20:34:02 +00:00 by lfg2025 · 0 comments
Owner

Follow-up from #15. NetBird is currently a hardcoded stack in core/archipelago/src/api/rpc/package/stacks.rs — its containers, ports, and nginx/dashboard config are generated by the archipelago binary, so fixes ship only via binary OTA. This is the legacy pattern the app-decoupling work (decoupled app updates, Quadlet-everywhere) is moving away from.

Goal: make netbird a self-contained registry app — manifest + bundled nginx.conf template + Quadlet units — so its config/fixes travel with the app artifact, not the binary, and it survives reboots via the level-triggered reconciler like other apps.

Carries the #15 fixes (LAN-IP origin, nginx resolver, CORS + multi-origin redirect URIs) into the bundled template. Larger, multi-file effort; deferred per the decision to ship the binary-side fix first.

Follow-up from #15. NetBird is currently a **hardcoded stack** in `core/archipelago/src/api/rpc/package/stacks.rs` — its containers, ports, and nginx/dashboard config are generated by the archipelago binary, so fixes ship only via binary OTA. This is the legacy pattern the app-decoupling work (decoupled app updates, Quadlet-everywhere) is moving away from. **Goal:** make netbird a self-contained registry app — manifest + bundled nginx.conf template + Quadlet units — so its config/fixes travel with the app artifact, not the binary, and it survives reboots via the level-triggered reconciler like other apps. Carries the #15 fixes (LAN-IP origin, nginx resolver, CORS + multi-origin redirect URIs) into the bundled template. Larger, multi-file effort; deferred per the decision to ship the binary-side fix first.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: lfg2025/archy#52
No description provided.