CHG-0048: The Backend Image Is Rebuilt

Date2026-11-01
Change typeDeployment
StatusComplete
SystemsThe backend image (images/backend), built on the Builder; nothing running
Howmake -C deploy/backend image, then a resumable copy in place of fetch
RiskLow. Nothing is flashed. Most likely to go wrong: a base without deevnet-kit’s cert commands, which the downloads still serve
DecisionsADR-0051, ADR-0052
RelatedCHG-0043 and CHG-0046, whose follow-ups this answers

Summary

The backend image was the one built on 2026-10-27, older than the Pi it would replace. It is rebuilt from main, so the next card has what the Pi was given by hand since: the resolver’s original album (CHG-0043), the Spotify switch (ADR-0051), the kept iTunes pairing’s import (ADR-0052), and the radio off (CHG-0046). Nothing is flashed.

Procedure

Step 1: Build

Run: make -C deploy/backend image, from main at a33e691.

Verify: the build’s own checks pass, among them the radio’s starting state.

Step 2: Fetch

Run: make -C deploy/backend fetch.

Verify: its checksum, on the Mac.

Outcome

When (UTC)StepWhat happened
2026-11-01 02:011Built from a33e691 on the base the Builder keeps, /srv/deevnet-http/tenant/pi/…pi-backend.img.xz (2026-10-25, kit with cert request and cert install), not the 18-Oct one in the downloads. Finished 03:08, its checksum 03:17
2026-11-01 13:301The Mac’s SSH session to the build hung partway, so its log ended at palette’s install and never reported; the build itself had finished. Checked on the Builder instead: checksum ok; /etc/eds-backend-release names a33e691; NetworkManager.state has WirelessEnabled=false; the kit carries cert install FULLCHAIN ROOT
2026-11-012make fetch failed with SSH error 255 on the link in use, leaving the old image in place. rsync --partial copied it; shasum -c ok, 1 040 701 796 bytes

Departures from the plan

  • The build’s check results were not seen in its log, which the hung session cut short. The finished image was inspected instead; its checks stop the build when they fail.
  • fetch was replaced by a resumable copy.

Follow-ups

  • fetch with rsync --partial, so a dropped link resumes rather than leaving the old image.