Add the playbook that deploys one Site

The playbook pulls the tag from the registry, creates the data root owned by the
app user, runs the container with its config baked into the image, waits for
health, then verifies the data directory as the app user so a permissions
mistake surfaces at deploy time. Caddy is pointed at the app with a stable
marker, so a temporary hostname can be checked beside the live site and the
cutover is one invocation with the retire flags set.
This commit is contained in:
tanshu committed 2026-09-22 21:25:52 +05:30
1 parent bb9ddb437f
commit 1f06e32854
11 files changed
+359 -9

No files matched your search

+15 -5
View File
@@ -6,11 +6,21 @@ photographed Pages, replacing the `scp`-a-JPG workflow. One instance per Site;
## Status
Built: Site config, the Menu Set store, the image pipeline, the
customer-facing renderer (landing page, Section pages, archived sets, media
route) with the approved design, and the admin (sign in, create a set, upload
and reorder Pages, preview, publish, restore, delete). Not yet built: the
container, the Ansible playbook and the deploy.
Built: Site config, the Menu Set store, the image pipeline, the customer-facing
renderer (landing page, Section pages, archived sets, media route) with the
approved design, the admin (sign in, create a set, upload and reorder Pages,
preview, publish, restore, delete), the `verify`/`repair` CLI, the container and
the Ansible playbook. Not yet done: the parallel-run deployment on `monoco`,
which needs a human present.
## Deploying
```sh
./deploy.sh 2026-09-22 # tests, build, push to registry.tanshu.com
```
then the playbook in `ansible-playbooks/menu-admin/` — its readme covers the
parallel run, the `site.env` step that gives the admin a password, and cutover.
## Layout