Files
archive-clients/e2e/README.md
T

33 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Local 2×2 route E2E
This harness runs one bot-free control stack plus four isolated data-node
Compose projects. Every data node contains its own qBittorrent, Syncthing, and
archive-client containers and its own bind-mounted config, secrets, state,
backup, qB data, and sync roots. The stacks share only the explicitly named
`archive-control-e2e` network.
The initial scenario starts with no route folders. With the control policy set
to `eager_mesh`, two cache and two archive registrations must produce four
independent, bidirectionally verified Syncthing routes. The assertion talks to
the loopback-only test adapter through a curl sidecar sharing the control
container's network namespace; Telegram is not initialized.
Run from the archive-clients checkout:
```bash
./e2e/scripts/up.sh
./e2e/scripts/logs.sh
./e2e/scripts/down.sh
```
`up.sh` defaults `ARCHIVE_CONTROL_SOURCE` to the sibling playground
`mogic-bot/mogic-repo` checkout. Set that environment variable to test another
control worktree. `E2E_WAIT_SECONDS` overrides the 360-second assertion
deadline. `down.sh` removes only the five exact Compose projects and the
labelled E2E network; it intentionally retains all bind-mounted runtime state.
The Syncthing 2.1.2 and LinuxServer qBittorrent multi-platform image indexes are
digest-pinned. Runtime secrets are generated with mode 0600 and ignored by
Git. The qBittorrent test config limits its authentication bypass to the
isolated E2E network and must never be reused for deployment.