Skip to content

host, router: safe bin-overrides for merged-usr + controller re-resolve - #14

Merged
phaus merged 2 commits into
mainfrom
feat/letsencrypt
Sep 9, 2026
Merged

phaus merged 2 commits into
mainfrom
feat/letsencrypt

Conversation

@phaus

@phaus phaus commented Sep 9, 2026

Copy link
Copy Markdown
Member

Summary

  • host: bin-overrides injection now detects Debian merged-usr base images (/bin → usr/bin symlink) and writes overrides into usr/bin in the overlay upperdir. Previously the unconditional MkdirAll(diffDir/bin) shadowed the symlink, hiding /usr/bin from every process and crash-looping apps (fixes the fork/exec /runner/init: no such file or directory regression observed on the lab cluster when bin-overrides was used). Adds a layerMergedUsr unit test.
  • router: ControllerStore no longer pins the first discoverd controller instance at startup. List()/Watch() now re-resolve the live instance set on every call and fall through all instances until one accepts the request. This fixes the router silently missing route/cert updates after the controller it was connected to dies/is replaced (symptom: tlsv1 alert internal error on new HTTPS routes).

Verification

  • go build ./router ./host both pass.
  • go test -run TestLayerMergedUsr -v ./host passes (4 subcases).
  • Cluster workaround for the same bugs (manual router restart) documented in the repo's implementation plan.

@phaus
phaus merged commit c358b7b into main Sep 9, 2026
2 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