Documentation Index
Fetch the complete documentation index at: https://docs.lagerdata.com/llms.txt
Use this file to discover all available pages before exploring further.
Features
lager box updateis now the canonical update command. The top-levellager updatekeeps working as a hidden alias for existing scripts but prints a deprecation notice. Same flag set; runs through the same flow.--checkflag for dry-run updates.lager box update --box X --checkreports what would change (code, deps, container) without touching the box. Useful for CI gating and pre-deploy checks.- Docker cache auto-invalidates when
Dockerfileorrequirements.txtchange. No more remembering to pass--forceafter a deps bump — the next update detects the drift and rebuilds.
Bug Fixes
- Updates now take effect on the first run. Fixes a cluster of bugs behind the recurring “had to run
lager update2–3 times before it stuck” reports: stale/etc/lager/versionafter the early-exit branch, the flatten heuristic re-fetching on every run, the 5-second post-restart sleep racing against an unready service, silent flatten failures producing broken images, and the cache-invalidation early-exit skipping rebuilds when only deps had changed. - Branch switches with conflicting root-level files no longer fail. Adds
git checkout -fso a previous flatten step that clobbered a tracked file (e.g.README.md) doesn’t block the switch with “local changes would be overwritten.” - Git errors are now shown.
git checkoutandgit reset --hardfailures used to surface only “Failed to checkout version X” without git’s underlying error message.
Improvements
- Consecutive no-op
lager box updateruns are ~10× faster. SSH calls multiplex through a single OpenSSH ControlMaster connection — ~20s → ~1.6s. - Cleaner output. Single green summary line, progress bar adapts to terminal width, elapsed time appears on the bar itself.
--all,--force,--skip-restartflags removed.--allwill return as its own command if needed;--forceis obsoleted by auto cache-invalidation;--skip-restarthad no real workflow.

