Skip to content

sail up reconciles the container's sail surface on every start - #175

Merged
udaychandra merged 1 commit into
mainfrom
feat/up-reconciles-setup
Jul 28, 2026
Merged

sail up reconciles the container's sail surface on every start#175
udaychandra merged 1 commit into
mainfrom
feat/up-reconciles-setup

Conversation

@udaychandra

Copy link
Copy Markdown
Contributor

Why

Follow-up to #174: the boot sweep refreshes helper scripts only in containers running at server start. A stopped project started later with sail up and used purely interactively kept the stale actor-based spec script indefinitely. (The ambient box.credential itself was never affected — it rides the shared mount.)

What

sail up now runs ContainerSailSetup.ensureInstalled on both branches (starting and already-running) — the same idempotent seam provisioning, recovery, dispatch, and the boot sweep share. Force-refreshes the socket mount (healing stranded inodes) and rewrites marker-stale scripts. Best-effort: a wedged container warns, the start never fails.

Verification

  • UpCommandTest: the reconcile probes markers + refreshes the device; a wedged container never blocks the start
  • mvn -Pintegration -Dsail.it.requireIncus=false clean verify green

A container that slept through the server's boot sweep kept its stale
helper scripts until the next sail-launched agent session. sail up is
where a project comes back to life, so it now runs the same idempotent
ContainerSailSetup reconcile — mount force-refresh plus marker-gated
script rewrite — on both the starting and already-running branches.
Best-effort: a wedged container warns and the start still succeeds.
@udaychandra
udaychandra merged commit 15241c0 into main Jul 28, 2026
3 checks passed
@udaychandra
udaychandra deleted the feat/up-reconciles-setup branch July 28, 2026 20:55
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