Renames the three in-container deploy helpers out of `utils/` (where
they lived next to unrelated bash libs) into a `container/` subtree
that mirrors the host-side `apps/` layout one-to-one:
utils/fresh-kept-all-init-and-deploy.sh -> container/initialize/all.sh
utils/reuse-kept-all-deploy.sh -> container/update/all.sh
utils/reuse-kept-app-deploy.sh -> container/update/selection.sh
The `fresh-/reuse-/kept-` prefixes were overloaded ("kept" was
universal, "fresh/reuse" duplicated the verb already encoded in
initialize/update). New names use the same verbs + scope as the host
wrappers, so the host/container halves of each flow share a name.
Updates the three host wrappers under apps/{initialize,update}/ to
point at the new in-container paths and modernizes their
cache-retry keys (`fresh-kept-all` -> `initialize-all`, `reuse-all` ->
`update-all`, `reuse-<app>` -> `update-<app>`).
Adds READMEs for container/, container/initialize/, container/update/
following the project documentation conventions (H1 + trailing emoji,
RFC 2119 keywords, env-var tables, cross-links to the matching host
wrappers) and extends deploy/README.md with a pointer to the new
subtree.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1.3 KiB
Container Deploy Helpers 🐳
This directory holds the in-container halves of the local deploy flows.
Each script runs inside the development compose container (the repo is bind-mounted at ${INFINITO_SRC_DIR}) and is invoked by a matching host wrapper under apps/.
Layout 🗂️
The subtree mirrors the host-side apps/ structure verb by verb and scope by scope:
| Host wrapper | Container half |
|---|---|
apps/initialize/all.sh |
container/initialize/all.sh |
apps/update/all.sh |
container/update/all.sh |
apps/update/selection.sh |
container/update/selection.sh |
Verbs without a container half (reinstall/, apps/initialize/selection.sh) call the dev CLI directly from the host and do not need a paired in-container helper.
Conventions 📐
Each script MUST be entered via cli.administration.deploy.development exec --env KEY=VAL (or an equivalent docker exec -e … invocation) so the host wrapper can inject the required environment.
Each script MUST assert its required env-vars at the top with : "${VAR:?}" so missing context surfaces immediately.
Each script MUST cd "${INFINITO_SRC_DIR}" before running anything so relative paths resolve against the bind-mounted repo.
Each script SHOULD run ./scripts/docker/entry.sh true for entry bootstrap before the deploy step.