fix(fleet): preserve agent env overrides on install #567

Merged
jason.woltje merged 1 commits from fix/fleet-preserve-agent-env into main 2026-06-20 21:50:47 +00:00
Owner

Summary

Fixes fleet install idempotency discovered during installed-CLI dogfood.

Problem:

  • mosaic fleet install-systemd refreshed generated per-agent env files by overwriting them completely.
  • That destroyed site-owned escape-hatch keys such as MOSAIC_AGENT_COMMAND, breaking local canary/dogfood agents after an update/install rerun.

Changes:

  • Generated roster-owned keys are still refreshed:
    • MOSAIC_AGENT_NAME
    • MOSAIC_AGENT_RUNTIME
    • MOSAIC_AGENT_WORKDIR
    • MOSAIC_TMUX_SOCKET
  • Existing non-generated/site-owned lines are preserved, including MOSAIC_AGENT_COMMAND and comments.
  • Bumps @mosaicstack/mosaic to 0.0.33 because 0.0.32 is already published.

Validation:

  • pnpm --filter @mosaicstack/mosaic test -- src/commands/fleet.spec.ts src/cli-smoke.spec.ts: 50 passed
  • pnpm --filter @mosaicstack/mosaic typecheck: passed
  • pnpm --filter @mosaicstack/mosaic lint: passed
  • npm pack --dry-run --json: version 0.0.33 and fleet/tmux/systemd assets present
  • pre-push hooks: typecheck, lint, format passed

Required before final installed-CLI fleet dogfood.

Summary Fixes fleet install idempotency discovered during installed-CLI dogfood. Problem: - `mosaic fleet install-systemd` refreshed generated per-agent env files by overwriting them completely. - That destroyed site-owned escape-hatch keys such as `MOSAIC_AGENT_COMMAND`, breaking local canary/dogfood agents after an update/install rerun. Changes: - Generated roster-owned keys are still refreshed: - `MOSAIC_AGENT_NAME` - `MOSAIC_AGENT_RUNTIME` - `MOSAIC_AGENT_WORKDIR` - `MOSAIC_TMUX_SOCKET` - Existing non-generated/site-owned lines are preserved, including `MOSAIC_AGENT_COMMAND` and comments. - Bumps `@mosaicstack/mosaic` to `0.0.33` because `0.0.32` is already published. Validation: - `pnpm --filter @mosaicstack/mosaic test -- src/commands/fleet.spec.ts src/cli-smoke.spec.ts`: 50 passed - `pnpm --filter @mosaicstack/mosaic typecheck`: passed - `pnpm --filter @mosaicstack/mosaic lint`: passed - `npm pack --dry-run --json`: version 0.0.33 and fleet/tmux/systemd assets present - pre-push hooks: typecheck, lint, format passed Required before final installed-CLI fleet dogfood.
jason.woltje added 1 commit 2026-06-20 21:33:56 +00:00
fix(fleet): preserve agent env overrides on install
All checks were successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/pr/ci Pipeline was successful
e322ca68be
jason.woltje merged commit 7498fcb20d into main 2026-06-20 21:50:47 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaicstack/stack#567