Skip to content

ADFA-5011 feat(dashboard): in-app rebuild of the dash-node REST core - #335

Merged
luisguzman-adfa merged 4 commits into
mainfrom
feat/ADFA-5011-dashboard-rebuild
Aug 4, 2026
Merged

ADFA-5011 feat(dashboard): in-app rebuild of the dash-node REST core#335
luisguzman-adfa merged 4 commits into
mainfrom
feat/ADFA-5011-dashboard-rebuild

Conversation

@luisguzman-adfa

Copy link
Copy Markdown
Collaborator

Rebuild the REST core to the latest branch tip from inside the app, in seconds, without a rootfs rebuild — as a rebuild-only "system module" card in Module Management (ADR-5011, Track A).

App orchestrates while the box sleeps (single-proot safe): pdsm stop → git fetch +
extracted to /tmp (newest scripts, no working-tree
change, uses the clone's auth — nothing bundled in the APK) → preflight gates (clean clone, internet, disk, versions) → rebuild-dashboard.sh (reset --hard → build in staging → smoke-test staged → back up live dist → atomic swap → verify → rollback) → pdsm start. Runs on InstallService's guarded/foreground lifecycle (additive action, reuses the status window) so it can't be killed mid-rebuild.

  • tools/{preflight,rebuild,dashboard-smoketest}.sh — idempotent, version-independent
  • DashboardRebuildRunner (+ pure preflight-output parser + unit test)
  • InstallService: additive ACTION_REBUILD_DASHBOARD; ModuleHubFragment: system card
  • routes.ts: /system/version (+ Track B rebuild/status seeds); server.ts: env PORT
  • bump dash-node 1.0.1 → 1.1.0

Note: BRANCH is pinned to the feature branch for pre-merge testing — flip to "main" before merge.

Rebuild the REST core to the latest branch tip from inside the app, in seconds,
without a rootfs rebuild — as a rebuild-only "system module" card in Module
Management (ADR-5011, Track A).

App orchestrates while the box sleeps (single-proot safe): pdsm stop → git fetch +
 extracted to /tmp (newest scripts, no working-tree
change, uses the clone's auth — nothing bundled in the APK) → preflight gates
(clean clone, internet, disk, versions) → rebuild-dashboard.sh (reset --hard →
build in staging → smoke-test staged → back up live dist → atomic swap → verify →
rollback) → pdsm start. Runs on InstallService's guarded/foreground lifecycle
(additive action, reuses the status window) so it can't be killed mid-rebuild.

- tools/{preflight,rebuild,dashboard-smoketest}.sh — idempotent, version-independent
- DashboardRebuildRunner (+ pure preflight-output parser + unit test)
- InstallService: additive ACTION_REBUILD_DASHBOARD; ModuleHubFragment: system card
- routes.ts: /system/version (+ Track B rebuild/status seeds); server.ts: env PORT
- bump dash-node 1.0.1 → 1.1.0

Note: BRANCH is pinned to the feature branch for pre-merge testing — flip to "main"
before merge.
@luisguzman-adfa
luisguzman-adfa merged commit 4ad38fc into main Aug 4, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant