chadtmiller.com/knotless
git that lives in your Atmosphere account
1
10
A deploy removes the images it replaced, which filled prod's disk
deploy/deploy.sh+7−0
| @@ -366,4 +366,11 @@ else | ||
EOF | ||
fi | ||
| ||
# Each deploy leaves the image it replaced untagged, 1.2 GB that the | ||
# daily prune keeps for a week: dozens of deploys a day filled the disk | ||
# (2026-10-31). Remove those no container still runs; one a container | ||
# still runs, as `run` may until its restart, goes with the next deploy. | ||
say "removing images no container runs and no tag names" | ||
$SSH "docker image prune -f >/dev/null || true" | ||
| ||
say "done: https://$DOMAIN, once the proxy on $NETWORK serves it" | ||
deploy/README.md+3−1
| @@ -41,7 +41,9 @@ checks pass, and builds the image while they run: | ||
3. **deploy**: if main is still at this commit, `deploy.sh up` tags the | ||
candidate `knotless:current`, removes the candidate's tag, and rolls | ||
out as below, restarting `run` only if what it runs changed | ||
([When a deploy restarts the runner](#when-a-deploy-restarts-the-runner)). | ||
([When a deploy restarts the runner](#when-a-deploy-restarts-the-runner)), | ||
then removes the untagged images no container runs, the ones earlier | ||
deploys replaced. | ||
| ||
Until it goes up, a deploy gives way: when main moves past its commit, | ||
asked every 30s through the build and the wait, it stops (a build is | ||