Skip to content

Drop the 0.10 bind import and the legacy forge installation state - #53

Merged
Bobowski merged 1 commit into
mainfrom
drop-010-migrations
Nov 2, 2026
Merged

Bobowski merged 1 commit into
mainfrom
drop-010-migrations

Conversation

@Bobowski

@Bobowski Bobowski commented Nov 2, 2026

Copy link
Copy Markdown
Collaborator

Intent

Remove the code that moves a 0.10 host to 0.11. Source: the user, in the Yard audit. The user asked me to check the host with the yard CLI first. This pull request stacks on #52.

Found

The host runs 0.11 and has moved:

  • yard --version prints 0.11.0. yard status shows yard-app-1 on the commit of The deploy container is the only deploy record and the deploy lock #47.
  • The host column of yard status comes from the site files, so the site files exist. Thus the 0.10 import does nothing at boot.
  • yard forge ls --json shows the GitHub state with an installations list, and each entry has an account. Thus no state has the old top-level installation_id.

The code that only served the move:

  • sites._import_binds, _bind, and _owner: with no site file, boot wrote default sites from the 0.10 bind routes that Caddy resumed. Four tests covered it, one of them on a real Caddy with a 0.10 autosave.
  • Forge.installations read a top-level installation_id as one installation. installation_for let an installation with no account own every repo. Each save dropped the old keys.

Changed

  • sites.boot only loads the Caddyfile, with the same retry when Caddy is not up yet. Three new small tests cover the retry, the give-up, and a refused load.
  • Forge.installations reads the installations list only. installation_for matches the account, case-insensitively. The saves drop only installations.
  • CHANGELOG.md: two breaking lines ("upgrade a 0.10 host through 0.11 first") and the line for the hosts cache from One Podman look for the status report and the app page; compose runs through Podman.stream #50. AGENTS.md no longer names _import_binds.

Not done

  • CADDY_ADMIN stays in ops/compose.yml. ops/Caddyfile sets the same admin socket, so the env is now redundant. But a change to the Caddy service recreates the Caddy container on the next yard deploy, and this pull request must not touch the proxy.
  • status._image_plan (a host with no labelled deploy container) stays. It also serves an app that has no deploy container at all.

Proof

$ just check
...
498 passed in 64.96s

Questions

None

🤖 Generated with Claude Code

@Bobowski
Bobowski changed the base branch from cli-http-split to main November 2, 2026 22:56
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Bobowski
Bobowski force-pushed the drop-010-migrations branch from 26fab25 to 5331f33 Compare November 2, 2026 22:56
@Bobowski
Bobowski merged commit 35e74c4 into main Nov 2, 2026
1 check passed
@Bobowski
Bobowski deleted the drop-010-migrations branch November 2, 2026 22:57
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