Files
gitea.efforting.tech/ci/experiments/01-rsync-publish/readme.md

32 lines
1.2 KiB
Markdown

# Experiment 01 — rsync publish
## Goal
Demonstrate the basic worktree-to-deployment pipeline using a minimal container (rsync only). This is the simplest possible end-to-end path: check out a git revision, mount it into a container, rsync the output to a bind-mounted deployment target.
## What this experiment covers
- Checking out a specific git revision into a worktree layer
- Starting a Docker container with:
- The worktree bind-mounted read-only as the source
- The deployment target bind-mounted writable as the destination
- Running rsync inside the container to publish
- Verifying the result on the host
## What this experiment does NOT cover
- Overlayfs (the worktree is a plain bind mount here — overlay comes later)
- Caches
- Container reuse / stop-start lifecycle
- Network isolation
## Deployment target
`sites.efforting.tech` — details TBD (path on host, permissions, ownership).
## Open questions for this experiment
- What user does the container run as, and how does it get write access to the deployment target?
- Do we rsync into a staging path and then atomically swap, or write directly?
- What is the exact rsync flags we want (delete extraneous files? preserve timestamps?)?