forked from efforting.tech/gitea.efforting.tech
32 lines
1.2 KiB
Markdown
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?)?
|