From 89537d417a0779e64e82f368efb4ecb79c3a1b52 Mon Sep 17 00:00:00 2001 From: Steve Cliff Date: Thu, 7 May 2026 23:56:02 +0100 Subject: [PATCH] =?UTF-8?q?P5:=20OSS=20readiness=20=E2=80=94=20docs=20site?= =?UTF-8?q?,=20contributor=20onboarding,=20e2e=20harness?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit P5-01 — Documentation site under docs/book/ rendered with mdBook (downloaded via Makefile, same static-binary pattern as Tailwind). Structured chapters: getting started, concepts, operations, security, reference. `make docs` / `make docs-watch`. Generated output gitignored. P5-02 — CONTRIBUTING.md rewritten from placeholder to a full guide. CODE_OF_CONDUCT.md adapted from Contributor Covenant for a single-maintainer project. .gitea/issue_template/{bug,feature}.md and PULL_REQUEST_TEMPLATE.md. P5-04 — Six README screenshots captured live from a fresh server bootstrap (login, empty dashboard, add-host, alerts, settings, audit log). README rewritten to centre the screenshot grid and link out to the docs site. P5-05 — SECURITY.md with disclosure policy (3-day ack, 30-day default window), scope in/out, threat-model summary, operator hardening checklist. Mirrored as a docs-site chapter. P5-06 — End-to-end test harness. e2e/compose.e2e.yml brings up server + sibling Linux agent (alpine + restic) + restic/rest-server. Agent uses announce-and-approve so Playwright can drive the full operator flow: bootstrap → login → accept pending → backup → verify terminal status. Second spec scrapes /metrics to assert the P6-04 endpoint surface. .gitea/workflows/e2e.yml runs on every PR; local how-to in docs/e2e.md. --- .gitea/PULL_REQUEST_TEMPLATE.md | 32 ++++ .gitea/issue_template/bug_report.md | 52 +++++ .gitea/issue_template/feature_request.md | 34 ++++ .gitea/workflows/e2e.yml | 97 ++++++++++ .gitignore | 4 + CODE_OF_CONDUCT.md | 69 +++++++ CONTRIBUTING.md | 180 ++++++++++++++++-- Makefile | 27 ++- README.md | 124 ++++++++---- SECURITY.md | 137 +++++++++++++ docs/book/book.toml | 19 ++ docs/book/src/SUMMARY.md | 40 ++++ docs/book/src/concepts/architecture.md | 121 ++++++++++++ docs/book/src/concepts/credentials.md | 98 ++++++++++ docs/book/src/concepts/repo-maintenance.md | 85 +++++++++ .../concepts/schedules-and-source-groups.md | 105 ++++++++++ docs/book/src/contributing.md | 17 ++ .../src/getting-started/enrolling-hosts.md | 113 +++++++++++ docs/book/src/getting-started/install.md | 92 +++++++++ .../book/src/getting-started/reverse-proxy.md | 95 +++++++++ docs/book/src/intro.md | 86 +++++++++ docs/book/src/license.md | 39 ++++ docs/book/src/operations/alerts.md | 73 +++++++ .../src/operations/backups-and-restores.md | 73 +++++++ docs/book/src/operations/observability.md | 61 ++++++ docs/book/src/operations/updates.md | 50 +++++ docs/book/src/reference/env-vars.md | 58 ++++++ docs/book/src/reference/http-endpoints.md | 82 ++++++++ docs/book/src/roadmap.md | 32 ++++ docs/book/src/security/disclosure.md | 35 ++++ docs/book/src/security/hardening.md | 72 +++++++ docs/book/src/security/threat-model.md | 110 +++++++++++ docs/e2e.md | 120 ++++++++++++ docs/screenshots/01-login.png | Bin 0 -> 27454 bytes docs/screenshots/02-dashboard-empty.png | Bin 0 -> 100791 bytes docs/screenshots/03-add-host.png | Bin 0 -> 182104 bytes docs/screenshots/04-alerts.png | Bin 0 -> 49142 bytes docs/screenshots/05-settings.png | Bin 0 -> 94151 bytes docs/screenshots/06-audit.png | Bin 0 -> 48383 bytes e2e/Dockerfile.agent | 42 ++++ e2e/agent-entrypoint.sh | 27 +++ e2e/compose.e2e.yml | 87 +++++++++ e2e/playwright/package.json | 14 ++ e2e/playwright/playwright.config.ts | 31 +++ e2e/playwright/tests/lib/server.ts | 114 +++++++++++ e2e/playwright/tests/smoke.spec.ts | 80 ++++++++ tasks.md | 52 ++++- 47 files changed, 2818 insertions(+), 61 deletions(-) create mode 100644 .gitea/PULL_REQUEST_TEMPLATE.md create mode 100644 .gitea/issue_template/bug_report.md create mode 100644 .gitea/issue_template/feature_request.md create mode 100644 .gitea/workflows/e2e.yml create mode 100644 CODE_OF_CONDUCT.md create mode 100644 SECURITY.md create mode 100644 docs/book/book.toml create mode 100644 docs/book/src/SUMMARY.md create mode 100644 docs/book/src/concepts/architecture.md create mode 100644 docs/book/src/concepts/credentials.md create mode 100644 docs/book/src/concepts/repo-maintenance.md create mode 100644 docs/book/src/concepts/schedules-and-source-groups.md create mode 100644 docs/book/src/contributing.md create mode 100644 docs/book/src/getting-started/enrolling-hosts.md create mode 100644 docs/book/src/getting-started/install.md create mode 100644 docs/book/src/getting-started/reverse-proxy.md create mode 100644 docs/book/src/intro.md create mode 100644 docs/book/src/license.md create mode 100644 docs/book/src/operations/alerts.md create mode 100644 docs/book/src/operations/backups-and-restores.md create mode 100644 docs/book/src/operations/observability.md create mode 100644 docs/book/src/operations/updates.md create mode 100644 docs/book/src/reference/env-vars.md create mode 100644 docs/book/src/reference/http-endpoints.md create mode 100644 docs/book/src/roadmap.md create mode 100644 docs/book/src/security/disclosure.md create mode 100644 docs/book/src/security/hardening.md create mode 100644 docs/book/src/security/threat-model.md create mode 100644 docs/e2e.md create mode 100644 docs/screenshots/01-login.png create mode 100644 docs/screenshots/02-dashboard-empty.png create mode 100644 docs/screenshots/03-add-host.png create mode 100644 docs/screenshots/04-alerts.png create mode 100644 docs/screenshots/05-settings.png create mode 100644 docs/screenshots/06-audit.png create mode 100644 e2e/Dockerfile.agent create mode 100755 e2e/agent-entrypoint.sh create mode 100644 e2e/compose.e2e.yml create mode 100644 e2e/playwright/package.json create mode 100644 e2e/playwright/playwright.config.ts create mode 100644 e2e/playwright/tests/lib/server.ts create mode 100644 e2e/playwright/tests/smoke.spec.ts diff --git a/.gitea/PULL_REQUEST_TEMPLATE.md b/.gitea/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..19a774b --- /dev/null +++ b/.gitea/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,32 @@ + + +## Summary + + + +## Test plan + + + +## Notes for the reviewer + + + +## Linked issues + + diff --git a/.gitea/issue_template/bug_report.md b/.gitea/issue_template/bug_report.md new file mode 100644 index 0000000..d73ce40 --- /dev/null +++ b/.gitea/issue_template/bug_report.md @@ -0,0 +1,52 @@ +--- +name: Bug report +about: Something isn't behaving the way the docs / code suggest it should +title: "[bug] " +labels: bug +--- + +## What happened + + + +## What you expected + + + +## Steps to reproduce + +1. +2. +3. + +## Environment + +- restic-manager server version: +- Agent version (if relevant): +- restic version on affected host: +- Host OS: +- How was the server installed: + +## Logs / output + +
Server log (sanitised) + +``` + +``` + +
+ +
Agent log (sanitised) + +``` +``` + +
+ +## Anything else + + diff --git a/.gitea/issue_template/feature_request.md b/.gitea/issue_template/feature_request.md new file mode 100644 index 0000000..5d0a297 --- /dev/null +++ b/.gitea/issue_template/feature_request.md @@ -0,0 +1,34 @@ +--- +name: Feature request +about: Suggest a new capability or change to existing behaviour +title: "[feature] " +labels: enhancement +--- + +## What you're trying to do + + + +## Why the current behaviour falls short + + + +## Proposed direction (optional) + + + +## Scope check + +- [ ] I've read [`spec.md`](../spec.md) §2 (Goals & Non-Goals). +- [ ] This isn't already on the roadmap in [`tasks.md`](../tasks.md). +- [ ] This fits the project's "small fleet, one person operating" + target rather than enterprise / multi-tenant / SaaS use cases. + +## Anything else + + diff --git a/.gitea/workflows/e2e.yml b/.gitea/workflows/e2e.yml new file mode 100644 index 0000000..39ad37f --- /dev/null +++ b/.gitea/workflows/e2e.yml @@ -0,0 +1,97 @@ +# P5-06 — End-to-end test suite. +# +# Spec : docs/superpowers/specs/2026-05-07-p5-oss-readiness-design.md +# Stack: e2e/compose.e2e.yml (server + agent + rest-server) +# Tests: e2e/playwright/tests/*.spec.ts +# +# Triggered on every PR into main and on workflow_dispatch. Runs +# longer than the unit-test workflow (~3-4 minutes for a clean run); +# kept separate so a slow e2e doesn't block the fast lint/test loop. + +name: e2e + +on: + pull_request: + branches: [main] + workflow_dispatch: + +jobs: + e2e: + name: Playwright vs docker-compose + runs-on: ubuntu-latest + timeout-minutes: 15 + steps: + - uses: actions/checkout@v4 + + - name: Build the e2e stack + run: docker compose -f e2e/compose.e2e.yml build + + - name: Bring up the stack + run: docker compose -f e2e/compose.e2e.yml up -d server rest-server source-fixture + + - name: Wait for server health + run: | + set -eu + for i in $(seq 1 30); do + if curl -fsS http://127.0.0.1:8080/api/version >/dev/null 2>&1; then + echo "server up"; exit 0 + fi + sleep 2 + done + echo "server didn't come up"; docker compose -f e2e/compose.e2e.yml logs server; exit 1 + + - name: Capture bootstrap token from server logs + id: bootstrap + run: | + set -eu + for i in $(seq 1 15); do + line=$(docker compose -f e2e/compose.e2e.yml logs server 2>&1 | grep -E 'bootstrap token' -A2 | grep -Eo '[a-zA-Z0-9_-]{40,}' | head -1 || true) + if [ -n "$line" ]; then + echo "RM_BOOTSTRAP_TOKEN=$line" >> "$GITHUB_ENV" + echo "got bootstrap token (${#line} chars)" + exit 0 + fi + sleep 1 + done + echo "bootstrap token not found in logs" + docker compose -f e2e/compose.e2e.yml logs server + exit 1 + + - name: Start the agent + run: docker compose -f e2e/compose.e2e.yml up -d agent + + - uses: actions/setup-node@v4 + with: + node-version: '20' + + - name: Install Playwright + working-directory: e2e/playwright + run: | + npm install --no-audit --no-fund + npx playwright install --with-deps chromium + + - name: Run Playwright tests + working-directory: e2e/playwright + env: + RM_BASE_URL: http://127.0.0.1:8080 + RM_BOOTSTRAP_TOKEN: ${{ env.RM_BOOTSTRAP_TOKEN }} + run: npx playwright test + + - name: Compose logs (on failure) + if: failure() + run: | + docker compose -f e2e/compose.e2e.yml logs --tail=200 server + docker compose -f e2e/compose.e2e.yml logs --tail=200 agent + docker compose -f e2e/compose.e2e.yml logs --tail=200 rest-server + + - name: Upload Playwright report (on failure) + if: failure() + uses: actions/upload-artifact@v3 + with: + name: playwright-report + path: e2e/playwright/playwright-report + retention-days: 7 + + - name: Tear down + if: always() + run: docker compose -f e2e/compose.e2e.yml down -v diff --git a/.gitignore b/.gitignore index 289d6ef..9e71078 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,10 @@ /bin/ /dist/ +# Generated mdBook output (source under docs/book/src is committed, +# the rendered book/ directory is not). +/docs/book/book/ + # Local data / runtime state /data/ /certs/ diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..14c1e21 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,69 @@ +# Code of Conduct + +restic-manager is a small project run by one person. This Code of +Conduct sets out the basic expectations for participating in the +project's issue tracker, pull requests, and any other community +spaces (chat, mailing lists) we may run in future. + +## Expected behaviour + +- **Be civil.** Disagreement is fine; rudeness is not. The same + comment can usually be made without making it personal. +- **Assume good faith.** People asking what feels like a basic + question may be new to the project. People proposing what feels + like a duplicate idea may not have seen the prior discussion. + Point them to the right place politely. +- **Stay on topic.** Issue threads are for the issue. Tangential + conversations belong in their own thread. +- **Acknowledge the project's scope.** restic-manager is + intentionally small in scope (see `spec.md` §2). Reasonable + feature suggestions may still be declined for fit reasons. + +## Unacceptable behaviour + +- Harassment, threats, or insults — public or private. +- Discriminatory comments based on age, body size, disability, + ethnicity, gender identity or expression, level of experience, + nationality, personal appearance, race, religion, sexual identity + or orientation. +- Sustained disruption — derailing threads, ignoring repeated + requests to take a discussion elsewhere, brigading. +- Publishing other people's private information without permission. + +## Reporting + +If someone in the project's spaces is behaving in a way that +breaches this Code of Conduct, contact the maintainer directly +through the contact details on their Gitea profile, or via the +private security disclosure path documented in +[SECURITY.md](./SECURITY.md). Reports stay confidential. + +The maintainer will review the report, gather context if needed, +and respond. Possible outcomes include a private warning, a public +clarification of expectations, a temporary or permanent ban from +project spaces, or no action if the report doesn't hold up. + +There is no formal appeals process — this is a one-person project, +not a foundation. If you think a decision was wrong you can say +so, in writing, to the maintainer; that's it. + +## Scope + +This Code of Conduct applies to interactions in any space the +project owns or operates: the Gitea repository (issues, pull +requests, discussions, wiki), any chat channels we publish, and +any conferences or events the project is officially represented at. + +It does not apply to: + +- Forks of the project that aren't being submitted back upstream. +- Conversations between contributors that don't reference the + project. +- Public criticism of the project itself. + +## Acknowledgement + +This document borrows shape and language from the +[Contributor Covenant](https://www.contributor-covenant.org/) v2.1 +but is intentionally shorter and adapted to the project's +single-maintainer reality. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ccc9d39..4e7647e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,30 +1,168 @@ -# Contributing +# Contributing to restic-manager -Thanks for your interest in contributing to restic-manager. +Thanks for your interest in restic-manager. This document covers how +to set up a development environment, the conventions the project +follows, and how patches make it from your machine into `main`. -> This is a placeholder. The project is in pre-alpha (Phase 1 / MVP). A -> full contributor guide will land alongside the Phase 5 OSS-readiness -> work — see [`tasks.md`](./tasks.md) P5-02. Until then the notes below -> apply. +## Project status and scope -## Before opening a PR +restic-manager is in pre-1.0. Core functionality (Phases 0–4) is +landed; OSS-readiness polish is in progress. The top of +[`tasks.md`](./tasks.md) tracks what's next; [`spec.md`](./spec.md) +is the canonical design doc and the source of truth for any +"why is it built this way" question. -1. Open an issue first for non-trivial changes — the design is still - moving (see [`spec.md`](./spec.md)) and unsolicited large PRs may - conflict with in-flight work. -2. `make lint test` should pass. -3. Match the existing code style — `gofumpt`, `goimports`, no comments - that just restate what the code does. -4. Keep commits focused; one logical change per commit. +The project is **single-maintainer, hobbyist-scale, and licensed +under [PolyForm Noncommercial 1.0.0](./LICENSE)**. That has two +practical implications: -## Reporting security issues +1. Big PRs without prior discussion may be declined for fit + reasons even when they're correct — opening an issue first lets + us check alignment cheaply. +2. Commercial use is not permitted by the license. Bug reports and + patches from operators of personal/community deployments are + very welcome. -Please do **not** open a public issue for security problems. A -`SECURITY.md` with a private disclosure path will be added in Phase 5 -(P5-05). Until then, contact the repository owner directly via the -contact details on their gitea profile. +## Getting started + +### Prerequisites + +- Go 1.25 or newer (`go.mod` is the source of truth) +- `make` +- For the front-end CSS bundle: nothing extra — `make build` + downloads a pinned `tailwindcss` standalone binary into `bin/`. +- For the docs site: nothing extra — `make docs` does the same trick + with `mdbook`. +- For end-to-end tests: Docker + Docker Compose, plus `npx` for + Playwright. + +### One-time setup + +```sh +git clone https://gitea.dcglab.co.uk/steve/restic-manager.git +cd restic-manager +make build # compiles bin/restic-manager-{server,agent} +make test # full unit + integration test sweep +make lint # gofumpt + goimports + golangci-lint +``` + +### Running locally + +For most development, the [smoke environment](./docs/e2e-smoke.md) +is the path of least resistance: + +```sh +make smoke-restart # rebuilds, launches as a systemd --user unit +make smoke-logs # tail of the server log +``` + +Then point a browser at `http://127.0.0.1:8080`. The first run +prints a one-time bootstrap token to the log; use it to create the +admin user. + +## Code conventions + +### Style + +- `gofumpt` for formatting; `goimports` for import grouping. + Both run via the pre-commit hook in this repo. +- `golangci-lint` with `.golangci.yml` defaults; CI rejects on lint + errors. +- UK English in identifiers, comments, log messages, and UI strings + (the misspell linter is configured for the UK locale — see + P3-X5 for the original sweep). +- Comments explain **why**, not what; avoid restating the code. + A surprising invariant or an external constraint is worth + writing down. "Adds 1 to x" is not. +- `slog` for structured logs. Never log secrets — and especially + never the merged-creds rest-server URL (see [`CLAUDE.md`](./CLAUDE.md)). + +### File and package layout + +- `cmd/server` and `cmd/agent` are the two binary entry points. +- `internal/` holds everything that's not part of the public Go + API (which is none of it — restic-manager isn't a library). +- Per-feature packages live under `internal/server/...` for the + control plane and `internal/agent/...` for the agent. +- `web/templates/` are HTML templates rendered with the standard + library; embedded via `web.FS`. + +### Tests + +- Unit tests live alongside the code as `*_test.go`. Use the + in-process sqlite store (`store.Open(":memory:")`) when you need + state — there is no test mock layer to maintain. +- HTTP handlers test through `httptest.NewServer` against the real + router; see `internal/server/http/auth_test.go` for the canonical + fixture pattern. +- End-to-end tests live in `e2e/` and run against a Docker Compose + stack. See [`docs/e2e.md`](./docs/e2e.md). + +### Database migrations + +- Migrations are hand-rolled SQL in `internal/store/migrations/` + and embedded via `embed.FS`. +- Prefer column-level `ALTER TABLE` over rebuilds — see + [`CLAUDE.md`](./CLAUDE.md) "Migrations" section for the FK-cascade + trap that bit migration 0007's first draft. + +## Workflow + +### Before opening a PR + +1. **Open an issue first** for non-trivial changes. The design is + still moving; an issue lets us agree on direction cheaply. +2. Run `make lint test` locally — both must pass. +3. Match existing code style (see above). +4. Keep commits focused: one logical change per commit. Imperative + subject lines, body explaining why if it isn't obvious. +5. Don't add `Co-Authored-By` trailers — repo policy. If you used + AI assistance in writing the patch, that's fine; we just don't + pollute every commit message with attribution boilerplate. + +### Pull requests + +PRs target `main`. CI runs lint + tests on Linux amd64/arm64 and +Windows amd64; all three must be green to merge. Squash-merge is +the default; the PR title becomes the merge-commit subject, so +keep it short and informative. + +The PR template asks for: + +- A short description of what changed and why. +- A test plan (commands run, scenarios verified). +- Anything reviewers need to know to assess the change (related + issue, follow-up work, deferred concerns). + +### Reporting bugs + +Open an issue with: + +- restic-manager version (`server --version`) and agent version. +- restic version on the affected host. +- Steps to reproduce. +- Server and agent logs (sanitise any tokens before pasting). + +Security-sensitive bugs go through the [SECURITY.md](./SECURITY.md) +disclosure path instead — please don't open a public issue for +them. + +### Suggesting features + +Open an issue describing the use case (not just the proposed +solution). The roadmap in `tasks.md` shows where the project is +heading; if the suggestion fits a future phase we'll wire it in +there. If it falls outside the project's scope (multi-tenancy, SaaS, +non-restic backends — see `spec.md` §2 non-goals) we'll say so +early to save your time. + +## Code of conduct + +Project participation is governed by [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md). +The short version: be civil; assume good faith; harassment is not +tolerated. ## License -By contributing you agree that your contributions are licensed under -the [PolyForm Noncommercial 1.0.0](./LICENSE) license. +By contributing you agree that your contributions are licensed +under the [PolyForm Noncommercial 1.0.0](./LICENSE) license. diff --git a/Makefile b/Makefile index 767a534..b258757 100644 --- a/Makefile +++ b/Makefile @@ -24,7 +24,18 @@ TAILWIND_URL := https://github.com/tailwindlabs/tailwindcss/releases/downlo TAILWIND_INPUT := web/styles/input.css TAILWIND_OUTPUT := web/static/css/styles.css -.PHONY: help build server agent test test-race lint fmt tidy clean run-server run-agent docker release tailwind tailwind-watch setup hooks smoke-restart smoke-stop smoke-status smoke-logs smoke-deploy +# mdBook for the docs site (P5-01). Single static binary, no +# Rust toolchain — same pattern as Tailwind. +MDBOOK_VERSION ?= v0.4.51 +MDBOOK_OS := $(shell uname -s | tr A-Z a-z) +MDBOOK_TRIPLE := $(shell uname -m)-unknown-$(if $(filter darwin,$(MDBOOK_OS)),apple-darwin,linux-gnu) +MDBOOK_BIN := $(BIN_DIR)/mdbook +MDBOOK_TARBALL := mdbook-$(MDBOOK_VERSION)-$(MDBOOK_TRIPLE).tar.gz +MDBOOK_URL := https://github.com/rust-lang/mdBook/releases/download/$(MDBOOK_VERSION)/$(MDBOOK_TARBALL) +DOCS_BOOK_DIR := docs/book +DOCS_BOOK_OUT := $(DOCS_BOOK_DIR)/book + +.PHONY: help build server agent test test-race lint fmt tidy clean run-server run-agent docker release tailwind tailwind-watch docs docs-watch setup hooks smoke-restart smoke-stop smoke-status smoke-logs smoke-deploy # ---- smoke-env tooling ------------------------------------------------- # The smoke server runs as a transient user-systemd unit so it survives @@ -60,6 +71,18 @@ tailwind-watch: $(TAILWIND_BIN) ## Watch and rebuild on every save @mkdir -p $$(dirname $(TAILWIND_OUTPUT)) $(TAILWIND_BIN) -c tailwind.config.js -i $(TAILWIND_INPUT) -o $(TAILWIND_OUTPUT) --watch +$(MDBOOK_BIN): + @mkdir -p $(BIN_DIR) + @echo "==> downloading mdbook $(MDBOOK_VERSION) ($(MDBOOK_TRIPLE))" + curl -fsSL "$(MDBOOK_URL)" | tar -xz -C $(BIN_DIR) mdbook + @chmod +x $@ + +docs: $(MDBOOK_BIN) ## Build the docs/book/ mdBook site into docs/book/book/ + $(MDBOOK_BIN) build $(DOCS_BOOK_DIR) + +docs-watch: $(MDBOOK_BIN) ## Serve the docs site at http://127.0.0.1:3000 with live reload + $(MDBOOK_BIN) serve $(DOCS_BOOK_DIR) -n 127.0.0.1 -p 3000 + agent: ## Build the agent binary @mkdir -p $(BIN_DIR) CGO_ENABLED=0 go build $(GOFLAGS) -ldflags "$(LDFLAGS)" -o $(AGENT_BIN) ./cmd/agent @@ -90,7 +113,7 @@ tidy: ## go mod tidy go mod tidy clean: ## Remove build artifacts - rm -rf $(BIN_DIR) coverage.out coverage.html $(TAILWIND_OUTPUT) + rm -rf $(BIN_DIR) coverage.out coverage.html $(TAILWIND_OUTPUT) $(DOCS_BOOK_OUT) run-server: server ## Build and run the server $(SERVER_BIN) diff --git a/README.md b/README.md index 56419ed..b421d6d 100644 --- a/README.md +++ b/README.md @@ -1,36 +1,62 @@ # restic-manager Self-hosted, browser-based, single-pane-of-glass for managing -[restic](https://restic.net) backups across a fleet of Linux and Windows -endpoints. +[restic](https://restic.net) backups across a fleet of Linux and +Windows endpoints. -> Status: pre-alpha. Phase 0 (project bootstrap) complete; Phase 1 (MVP) in -> progress. See [`spec.md`](./spec.md) for the design and -> [`tasks.md`](./tasks.md) for the roadmap. +> **Status:** pre-1.0, feature-complete for the original use +> case. Phases 0–4 + 6 are landed (MVP, scheduling, restore, +> RBAC + OIDC, observability); Phase 5 (OSS readiness — docs site, +> contributor onboarding, end-to-end CI) is in flight. See +> [`spec.md`](./spec.md) for the design and [`tasks.md`](./tasks.md) +> for the live roadmap. -## What it does (target) +## What it does -- Central visibility into backup state for every endpoint -- Trigger any restic operation remotely (`backup`, `forget`, `prune`, - `check`, `unlock`, `snapshots`, `stats`, `diff`, `restore`) -- Manage per-host backup schedules from the UI -- Live job progress streamed back to the UI -- Restore wizard (browse snapshots, pick paths, restore to original or - alternate host) -- Repo health surfacing (size, dedup ratio, last check, lock state) -- Alerting on failure or staleness -- Cross-platform agent (Linux + Windows) -- Ransomware-resistant repo access via append-only credentials +- Central visibility into backup state for every endpoint. +- Trigger any restic operation remotely (`backup`, `forget`, + `prune`, `check`, `unlock`, `snapshots`, `stats`, `diff`, + `restore`). +- Per-host schedules with named source groups + retention. +- Live job log streamed to the browser; downloadable as + text/NDJSON afterwards. +- Restore wizard: browse a snapshot's tree, pick paths, restore + in-place or to a new directory. +- Repo health surfacing (size, raw size, last check, lock state), + plus a 30/90-day repo-size trend. +- Alerting over webhook, ntfy, or SMTP. +- Cross-platform agent (Linux systemd + Windows SCM). +- Append-only-friendly: separate admin credential for prune. +- Optional Prometheus `/metrics` endpoint + sample Grafana + dashboard. +- Optional OIDC SSO (Authelia, Authentik, etc.). -## Architecture (one-line summary) +## Screenshots -A small Go control-plane on the Proxmox host, lightweight Go agents on each -endpoint that hold an outbound WebSocket to the control-plane, and a -`restic/rest-server` on Unraid that holds the actual backup data. The -control-plane never touches backup bytes. +| Sign in | Empty dashboard | Add host | +|:-------:|:---------------:|:--------:| +| ![Sign in](docs/screenshots/01-login.png) | ![Dashboard, fresh](docs/screenshots/02-dashboard-empty.png) | ![Add host](docs/screenshots/03-add-host.png) | + +| Alerts | Settings | Audit log | +|:------:|:--------:|:---------:| +| ![Alerts](docs/screenshots/04-alerts.png) | ![Settings](docs/screenshots/05-settings.png) | ![Audit log](docs/screenshots/06-audit.png) | + +(Screenshots from a fresh smoke install with no hosts. A populated +fleet view and the live-log + restore wizard surfaces are part of +the docs site under [`docs/book/`](./docs/book) — `make docs` to +render locally.) + +## Architecture (one-line) + +A small Go control-plane in Docker, lightweight Go agents on each +endpoint holding an outbound WebSocket to the control-plane, and +a restic repository (rest-server, S3, B2, SFTP — anything restic +speaks) that holds the actual backup data. **The control-plane +never touches backup bytes.** Full architecture diagram and component breakdown: -[`spec.md` §3](./spec.md). +[`spec.md` §3](./spec.md), or the rendered version in the +[docs site](./docs/book/src/concepts/architecture.md). ## Repository layout @@ -38,31 +64,63 @@ Full architecture diagram and component breakdown: cmd/server/ control-plane binary cmd/agent/ endpoint agent binary internal/api shared API types (REST + WS envelopes) -internal/server/ HTTP, WS, UI handlers +internal/server/ HTTP, WS, UI handlers, alert engine internal/agent/ service integration, restic runner, local scheduler internal/restic restic CLI wrapper internal/store SQLite persistence -internal/crypto secret encryption +internal/crypto secret encryption (AEAD) internal/auth passwords, sessions, agent tokens web/ server-rendered templates + static assets -deploy/ Dockerfile, docker-compose.yml, install scripts -design/ UI wireframes (Phase 0 design pass) +deploy/ Dockerfile, docker-compose.yml, install scripts, Grafana dashboard +docs/ prose docs + the mdBook site under docs/book +e2e/ compose stack + Playwright tests for end-to-end CI ``` +## Quickstart + +The reference deployment is a single Docker container fronted by +your existing reverse proxy. See the [installation guide](docs/book/src/getting-started/install.md) +for the full path; the very short version: + +```sh +export RM_VERSION=v0.9.0 # pin a real tag +export RM_BASE_URL=https://restic.example.com +export RM_TRUSTED_PROXY=10.0.0.0/8 +docker compose -f deploy/docker-compose.yml up -d +``` + +The server prints a one-time bootstrap token to the log on first +start. POST it to `/api/bootstrap` (or open `/bootstrap` in a +browser) to create the admin user. + ## Local development -Requires Go 1.25+ (built and tested on 1.26). The floor is set by -`modernc.org/sqlite` v1.50. +Requires Go 1.25+. The floor is set by `modernc.org/sqlite` v1.50. ```sh make build # builds cmd/server and cmd/agent into ./bin make test # runs go test ./... make lint # runs golangci-lint -make run-server # runs the server (dev defaults) +make smoke-restart # systemd --user smoke server (see CLAUDE.md) +make docs # renders the mdBook site to docs/book/book/ ``` +End-to-end test harness against a Docker Compose stack with a +sibling Linux agent: see [`docs/e2e.md`](docs/e2e.md). Runs in CI +on every PR. + +## Documentation + +- **Concepts and operator guides**: [docs site](docs/book/src/intro.md), + rendered with `make docs`. +- **Reverse-proxy setup**: [docs/reverse-proxy.md](docs/reverse-proxy.md). +- **Prometheus + Grafana**: [docs/prometheus.md](docs/prometheus.md). +- **End-to-end test harness**: [docs/e2e.md](docs/e2e.md). +- **Security policy**: [SECURITY.md](SECURITY.md). +- **Contributing**: [CONTRIBUTING.md](CONTRIBUTING.md). + ## License -PolyForm Noncommercial 1.0.0 — see [`LICENSE`](./LICENSE). Free for personal, -hobby, research, educational, governmental, and other noncommercial use. -Commercial use requires a separate license. +[PolyForm Noncommercial 1.0.0](./LICENSE). Free for personal, +hobby, research, educational, governmental, and other noncommercial +use. Commercial use requires a separate license. diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..41a8bf3 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,137 @@ +# Security policy + +restic-manager handles credentials that grant access to backup +repositories — losing them means an attacker can read or destroy a +fleet's backups. We take security reports seriously even at this +project's small scale. + +## Supported versions + +Pre-1.0, only the latest tagged release on `main` is supported. +Backporting fixes to older tags is not currently offered. + +| Version | Supported | +|--------------------|----------------| +| `main` HEAD | Yes | +| Latest released tag| Yes | +| Anything older | No | + +## Reporting a vulnerability + +**Please don't open a public issue for security problems.** + +Instead, use one of these private channels: + +1. **Gitea private message** to the repository owner. The + instance is at and the owner's + profile (`steve`) has direct-message contact set up. +2. **Email** to the address on the maintainer's Gitea profile. + Use a subject like `[SECURITY] restic-manager: ` + so it doesn't get lost. PGP optional — if you want to encrypt, + ask for a key first. + +If you don't get an acknowledgement within **3 working days**, +please escalate through the other channel — solo maintainers do +miss things, and the goal here is to fix the problem, not to +preserve protocol. + +### What to include + +- A description of the issue and the impact (what does an attacker + gain? confidentiality, integrity, availability?). +- Affected component (server, agent, install script, docs). +- Affected version (`restic-manager-server --version`). +- Reproduction steps if you have them. A working PoC is welcome + but not required — a credible threat model is enough. +- Whether you intend to publish a writeup, and any timing + preferences. + +### What we'll do + +1. Acknowledge receipt within 3 working days. +2. Confirm or refute the issue, and agree a rough severity (CVSS + or just "this is bad / this isn't"). Asking clarifying + questions is normal at this stage — please don't read it as + foot-dragging. +3. Develop a fix on a private branch, test it, and prepare a + release. +4. Coordinate disclosure timing with you. The default is **30 + days from confirmed report to public disclosure**, with a + patched release published before the disclosure date. Faster + if a workable PoC is already circulating; slower only by + mutual agreement. +5. Credit the reporter in the release notes (or omit the credit + if you'd rather stay anonymous — your choice). + +## Scope + +In scope: + +- The server binary (`cmd/server`) and any HTTP, WebSocket, or CLI + surface it exposes. +- The agent binary (`cmd/agent`) and the way it consumes commands + from the server. +- The install scripts (`deploy/install/install.sh`, `install.ps1`) + and the systemd unit shipped with them. +- The docker-compose reference deployment and the docker image we + publish. +- Any cryptographic primitive choice or implementation detail + (AEAD, token hashing, session handling, OIDC handshake). +- Documentation that, if followed, leads operators into an + insecure configuration. + +Out of scope (not because they aren't real problems, just not ones +this report channel can act on): + +- Vulnerabilities in restic itself — report those upstream at + . +- Vulnerabilities in third-party dependencies that haven't yet been + patched upstream — report upstream first. +- Issues that require pre-authenticated admin access on the control + plane (admins can already do everything; that's not a privilege + escalation, that's the design). +- DoS via resource exhaustion on a deployment without the + recommended reverse proxy / rate limiting in front (see + `docs/reverse-proxy.md`). +- Social-engineering scenarios that don't have a technical hook + into the project's own surfaces. + +## Threat model summary + +For context (longer version in [`spec.md`](./spec.md) §11): + +- The server is **HTTP-only**; TLS termination, ACME, HSTS, and + edge rate-limiting are the reverse proxy's job. +- Credentials are encrypted at rest with an AEAD key loaded from + `RM_SECRET_KEY_FILE`. The same key encrypts agent secrets that + travel to the agent over the WS channel. +- Agents authenticate with bearer tokens issued at enrolment and + hashed at rest. Compromise of the server DB does **not** leak + bearer tokens in plaintext, but does leak the hashes (which is + enough to log in *as* the agent until the operator revokes — + see [NS-01 / NS-02](./tasks.md) for the revoke + regenerate + flows). +- The control plane intentionally **never touches backup bytes** — + the agent runs `restic` directly against the repo. A + compromised control plane can dispatch new jobs but cannot + exfiltrate snapshot contents in-band. +- Append-only credentials are first-class. Forget/prune jobs use a + separate, admin-marked credential that the server only pushes + for the duration of a maintenance dispatch. + +## Hardening checklist for operators + +- Run behind a TLS-terminating reverse proxy (Caddy/nginx/Traefik). +- Set `RM_TRUSTED_PROXY` to the proxy's CIDR so request IPs aren't + spoofable. +- Back up `RM_SECRET_KEY_FILE` separately from the database. + Without it the encrypted creds are unrecoverable. +- Use append-only credentials for the everyday backup path; only + the optional admin credential should have write/forget/prune + power. +- Disable users (don't delete) when staff change roles — bearer + tokens stay valid until rotated. +- Watch the alert and audit-log views during enrolment of new + hosts. + +Thanks for helping keep restic-manager users safe. diff --git a/docs/book/book.toml b/docs/book/book.toml new file mode 100644 index 0000000..a4ef953 --- /dev/null +++ b/docs/book/book.toml @@ -0,0 +1,19 @@ +[book] +title = "restic-manager" +description = "Self-hosted control plane for restic backups across a fleet of Linux and Windows endpoints." +authors = ["Steve Cliff"] +language = "en-GB" +multilingual = false +src = "src" + +[output.html] +default-theme = "ayu" +preferred-dark-theme = "ayu" +git-repository-url = "https://gitea.dcglab.co.uk/steve/restic-manager" +git-repository-icon = "fa-code-fork" +edit-url-template = "https://gitea.dcglab.co.uk/steve/restic-manager/_edit/main/docs/book/{path}" +no-section-label = false + +[output.html.fold] +enable = true +level = 2 diff --git a/docs/book/src/SUMMARY.md b/docs/book/src/SUMMARY.md new file mode 100644 index 0000000..558e792 --- /dev/null +++ b/docs/book/src/SUMMARY.md @@ -0,0 +1,40 @@ +# Summary + +[Introduction](./intro.md) + +# Getting started + +- [Installing the server](./getting-started/install.md) +- [Enrolling your first host](./getting-started/enrolling-hosts.md) +- [Running behind a reverse proxy](./getting-started/reverse-proxy.md) + +# Concepts + +- [Architecture](./concepts/architecture.md) +- [Credentials and how they flow](./concepts/credentials.md) +- [Schedules and source groups](./concepts/schedules-and-source-groups.md) +- [Repo maintenance](./concepts/repo-maintenance.md) + +# Operations + +- [Backups and restores](./operations/backups-and-restores.md) +- [Alerts and notifications](./operations/alerts.md) +- [Observability with Prometheus](./operations/observability.md) +- [Updating agents](./operations/updates.md) + +# Security + +- [Threat model](./security/threat-model.md) +- [Hardening checklist](./security/hardening.md) +- [Reporting vulnerabilities](./security/disclosure.md) + +# Reference + +- [Environment variables](./reference/env-vars.md) +- [HTTP endpoints](./reference/http-endpoints.md) + +--- + +[Contributing](./contributing.md) +[Roadmap](./roadmap.md) +[License](./license.md) diff --git a/docs/book/src/concepts/architecture.md b/docs/book/src/concepts/architecture.md new file mode 100644 index 0000000..f1706da --- /dev/null +++ b/docs/book/src/concepts/architecture.md @@ -0,0 +1,121 @@ +# Architecture + +## Components + +``` +┌────────────────────────────────────────────────────────────┐ +│ Server (control plane, single process) │ +│ * chi-based HTTP API + HTMX server-rendered UI │ +│ * WebSocket hub for agent fan-out + browser fan-out │ +│ * SQLite store (modernc.org/sqlite, pure Go) │ +│ * AEAD encryption helpers │ +│ * Alert engine + notification hub │ +└────────────┬───────────────────────────────────┬───────────┘ + │ outbound WS only │ HTTP(S) + │ │ +┌────────────▼─────────────┐ ┌────────────▼─────────────┐ +│ Agent (per host) │ │ Browser (operator) │ +│ * coder/websocket │ │ * htmx + a tiny bit │ +│ * cron for schedules │ │ of vanilla JS for │ +│ * restic wrapper │ │ live job updates │ +│ * sysinfo collector │ └──────────────────────────┘ +└────────────┬─────────────┘ + │ subprocess: restic ... + │ +┌────────────▼─────────────────────────────────────────────────┐ +│ restic repository (rest-server, S3, B2, SFTP, local …) │ +│ Backup data flows directly here. Server never touches it. │ +└──────────────────────────────────────────────────────────────┘ +``` + +## Why outbound-only WebSockets? + +The agent dials the server on `/ws/agent` with a bearer token. The +server doesn't initiate connections to the agent. Three reasons: + +1. **Firewall friendliness.** Nothing on the endpoint needs an + inbound port; this works behind the typical "branch office NAT" + without router config. +2. **Single auth point.** The bearer token is the only credential + that crosses the boundary; the agent never accepts an + incoming socket. +3. **Reconnect semantics are simpler.** When the connection drops + (NAT timeout, server restart, transient network glitch) the + agent backs off and re-dials; the server marks the host + offline after 90s and lets the alert engine raise a stale-host + alert. + +## Why SQLite? + +SQLite covers the project's HA non-goal: there isn't one. A small +control plane managing twelve endpoints does not need replication +or a separate database tier. SQLite gives us: + +- A single file to back up (plus the secret key). +- Hand-rolled migrations under `internal/store/migrations/` — + no migration framework lock-in. +- `WAL` mode plus per-connection foreign-key enforcement. + +The migrations file the entire schema; there's no ORM or +query-builder layer between Go code and SQL. + +## Why the agent runs `restic` itself, not via the server + +The control plane never holds backup bytes in flight. That's +deliberate: + +- A compromised control plane cannot exfiltrate snapshot + contents in-band — at worst it can dispatch new backup or + forget jobs (audit-logged) but the data path is between the + agent and the repository. +- The same agent process can target whichever transport restic + natively supports (rest-server, S3, B2, SFTP, local), no + separate mux on the server side. + +## Job lifecycle + +``` + ┌──────────────────────┐ +operator → │ POST /hosts/{id}/ │ + │ run-backup │ + └──────────┬───────────┘ + │ 1. INSERT INTO jobs (status='queued') + │ 2. dispatch command.run over WS + ▼ + ┌──────────────────────┐ + │ Agent dispatches │ + │ restic subprocess │ + └──────────┬───────────┘ + │ + │ 3. job.started ───▶ store.MarkJobStarted + │ 4. job.progress ───▶ JobHub broadcast (live UI) + │ 5. log.stream ───▶ append to job_logs + │ 6. job.finished ───▶ store.MarkJobFinished + │ + alert engine eval + │ + (P6) metrics histogram + ▼ + terminal: succeeded | failed | cancelled +``` + +Operators see live updates because the browser subscribes to +`/api/jobs/{id}/stream`, and the WS handler broadcasts each +agent-emitted envelope to all live subscribers in addition to +persisting it. + +## What scheduling looks like + +- The agent runs a local `robfig/cron/v3` instance. +- The server pushes the desired schedule set to the agent on + hello + after every CRUD change. +- When the agent's cron fires, it sends `schedule.fire` to the + server. The server creates a job row, sends `command.run` back, + and the agent dispatches a normal backup. +- If the WS drops between fire and run, the server queues the + schedule firing into `pending_runs` and drains on agent + reconnect — no missed scheduled backups due to network blips. + +For everything that isn't a backup (forget, prune, check), the +server runs a 60-second maintenance ticker against +`host_repo_maintenance` rows and dispatches the relevant command +when a cadence is due. The agent's local cron only handles +backups. diff --git a/docs/book/src/concepts/credentials.md b/docs/book/src/concepts/credentials.md new file mode 100644 index 0000000..58e1ed4 --- /dev/null +++ b/docs/book/src/concepts/credentials.md @@ -0,0 +1,98 @@ +# Credentials and how they flow + +restic-manager handles three credential surfaces: + +1. **Operator credentials** — the username + password (or OIDC + identity) that logs into the UI. +2. **Agent bearer tokens** — issued at enrolment, used by the + agent to authenticate its WebSocket to the server. +3. **Repo credentials** — the rest-server / S3 / B2 / SFTP + credentials the agent passes to `restic` itself. + +Each has a different threat model and storage strategy. + +## Operator credentials + +- Local users are stored in `users` with a bcrypt password hash. +- Sessions are random tokens minted at login, stored hashed in + the `sessions` table, expired after 24h. Cookie is HttpOnly, + SameSite=Lax, and Secure (when `RM_COOKIE_SECURE=true`, + default). +- OIDC users carry `auth_source='oidc'` and an `oidc_subject` + pinning their IdP identity. Local password login is rejected + for OIDC users. +- Disabling a user soft-deletes them via `disabled_at` — + pre-existing sessions are invalidated on the next request. + +## Agent bearer tokens + +- Minted at enrolment, hashed at rest with `auth.HashToken`. +- The plaintext token only exists in memory at enrolment time + and on the agent's filesystem (`/etc/restic-manager/agent.yaml`, + mode `0600`, owned by the service user). +- Compromise of the server DB leaks the hashes, which is enough + to *log in as that agent* until you revoke. Compromise of the + agent host leaks the plaintext (via the config file) — same + end result. +- Rotation: re-enrol the host. Today there's no in-place rotate; + the operator deletes the host (which cascades, including + revoking the bearer hash) and re-runs the install command. + +## Repo credentials + +This is the credential that ultimately matters for backup +integrity. restic-manager keeps two slots per host: + +- **The everyday credential** (`host_credentials.kind = ''`). + Append-only-friendly: this is the one your backup schedule + uses. It can write but not delete or forget. +- **The admin credential** (`host_credentials.kind = 'admin'`). + Has full delete rights. Only pushed to the agent transiently + while a `prune` or `forget` job is dispatching, and discarded + by the agent after the job ends. + +### Encryption flow + +1. Operator types the credential into the UI or the install form. +2. Server AEAD-encrypts the cred (`crypto.AEAD.Encrypt`) using the + key in `RM_SECRET_KEY_FILE`. The plaintext is dropped from + memory. +3. Encrypted blob is stored in `host_credentials.cred_blob`. +4. When the agent connects, the server decrypts the blob and + sends the **plaintext** down the WebSocket inside a + `config.update` envelope. +5. The agent stores the plaintext in its in-memory secrets store + for the lifetime of the process; it's reloaded fresh on every + server-side push. +6. When a job runs, the agent merges the credential into the + restic environment (`restic.Env.RepoURL` stays bare; the + `user:pass@…` form is built only inside `envSlice()` at the + moment of `exec.Command`). + +The merged form is **never logged**. The slog package's structured +output gets `restic.RedactURL()` for any URL it has cause to +mention. + +### Why push plaintext over the wire? + +The transport itself is the trust boundary: the WebSocket runs +inside the same TLS-terminated reverse-proxy connection your +browser uses, and the agent has already authenticated with its +bearer token. Re-encrypting the payload on top of that would just +move the key-management problem somewhere else. + +If your reverse proxy isn't TLS-terminated, the deployment is +already broken — see [Hardening](../security/hardening.md). + +## Setup tokens (admin-driven) + +When an admin creates a new user, the server mints a one-time +setup link valid for 1 hour. The hash is stored; the raw token +is shown to the admin once. The user opens the link, sets a +password, and is dropped into a session. Expired tokens are +swept on the alert engine's 60s tick. + +Same pattern for enrolment tokens: the raw token only exists in +memory at mint time, and the install snippet is the operator's +only chance to capture it. If you lose it, regenerate via the +**Add host** page (NS-02). diff --git a/docs/book/src/concepts/repo-maintenance.md b/docs/book/src/concepts/repo-maintenance.md new file mode 100644 index 0000000..d4a3995 --- /dev/null +++ b/docs/book/src/concepts/repo-maintenance.md @@ -0,0 +1,85 @@ +# Repo maintenance + +Backups go in; without maintenance, repos grow forever and +eventually fall over. restic-manager runs three maintenance +operations on a per-host cadence: + +| Command | What it does | Default cadence | +|----------|-------------------------------------------------------------|-----------------| +| `forget` | Marks snapshots eligible for removal per the retention policy attached to each source group. Cheap; runs append-only. | Daily after the last backup of the day | +| `prune` | Reclaims space from the repo. Requires the **admin** credential (write+delete). | Weekly, off-peak | +| `check` | Verifies repo integrity. Sub-options surface lock state. | Weekly, with `--read-data-subset N%` to sample pack files | + +A new field on each host row, `host_repo_maintenance`, holds the +cron expressions and last-fire anchors. The maintenance ticker on +the server runs every 60s, finds hosts whose next-fire is due, +and dispatches the right command. The agent's local cron is +**only** for backups. + +## Why server-side and not agent-side? + +The agent's cron knows about backups because backups are +per-source-group. Maintenance is per-repo, not per-source-group, +so doing it server-side keeps the per-host wiring simple: + +- One ticker, not N agent crons to keep in sync. +- Cancelling a maintenance dispatch is just "don't dispatch the + next one" — no agent-side state to clean up. +- Skipping offline hosts is trivial (no queue; only scheduled + *backups* queue into `pending_runs`). + +## Forget and the multi-group payload + +A single `forget` job can target several source groups at once. +The wire envelope (`ForgetGroups`) carries one entry per group, +each with its retention policy. The agent runs N +`restic forget --tag --keep-...` invocations in sequence, +streams their output, and reports a single terminal status. + +## Prune and the admin credential + +Prune mutates the repo. The everyday append-only credential +**cannot** prune — that's the whole point of append-only. +restic-manager keeps a second slot per host (`kind = 'admin'`) +for the credential that can. + +When a prune is dispatched (cadence-driven or operator-driven): + +1. Server pushes the admin credential to the agent in a fresh + `config.update`. +2. Agent runs `restic prune` with the merged credential. +3. Job finishes; agent discards the admin credential from its + in-memory secrets store. + +The server never logs the merged URL (see +[Credentials](./credentials.md)). + +## Check and lock state + +`restic check` warns about stale locks when it finds them. The +agent ships every check's output back as a `repo.stats` envelope +and a stream of log lines; if a stale lock is detected, the +**Repo** page surfaces a banner with an **Unlock** button. The +operator-only `unlock` command runs `restic unlock` and clears +the banner. + +`unlock` has no cadence — it's a manual action, never automatic. +Auto-unlocking would mask the cause (probably a previously +crashed long-running operation) and risk corrupting an +operation the operator has merely lost track of. + +## Repo stats + +After every backup, check, prune, and unlock, the agent runs +`restic stats --json --mode raw-data` and ships the result as a +`repo.stats` envelope. The server stores this in +`host_repo_stats` (latest only) and `host_repo_stats_history` +(one row per host per day, last-write-wins per column — a +prune-only patch never nulls a backup-time size). + +The host detail page surfaces: + +- Total size + raw size in the vitals strip. +- Last-check timestamp + colour-coded status. +- Last-prune timestamp. +- 30/90-day repo size trend chart. diff --git a/docs/book/src/concepts/schedules-and-source-groups.md b/docs/book/src/concepts/schedules-and-source-groups.md new file mode 100644 index 0000000..0a74bf5 --- /dev/null +++ b/docs/book/src/concepts/schedules-and-source-groups.md @@ -0,0 +1,105 @@ +# Schedules and source groups + +Two related but separable ideas: + +- A **source group** is a named bundle of "what to back up": + include paths, exclude patterns, retention policy, retry + configuration, optional pre/post hooks. The group's name is + used as the restic snapshot tag, so retention can target it + with `restic forget --tag `. +- A **schedule** is a cron expression that, when it fires, + triggers a backup of one or more source groups on a host. + +Decoupling them means you can have one schedule covering several +groups (e.g. `0 1 * * *` running both `system` and `data`), and +each group has its own retention without duplicating policy +across schedules. + +## Source group anatomy + +```yaml +name: data +includes: + - /var/lib/postgresql + - /home +excludes: + - /home/*/.cache + - /home/*/Downloads +retention: + keep_last: 7 + keep_daily: 14 + keep_weekly: 4 + keep_monthly: 6 +retry_max: 3 +retry_backoff_seconds: 600 +pre_hook: | + pg_dump -U postgres -F c -f /var/lib/postgresql/dumps/all.dump +post_hook: | + rm -f /var/lib/postgresql/dumps/all.dump +``` + +### Conflict detection + +If your retention policy says `keep_hourly: 24` but no schedule +points at this group sub-daily, the UI surfaces a +**conflict-dimension banner** ("`hourly` won't be honoured — +no schedule fires more often than once a day"). The flag is +stored on the source group (`conflict_dimension`) and refreshed +whenever a schedule or group changes. + +### Hooks + +`pre_hook` and `post_hook` run on the agent host inside +`/bin/sh -c` (`cmd.exe /C` on Windows). Output is streamed back +to the live job log as `hook(): …` lines. + +- A non-zero `pre_hook` exit aborts the backup. +- `post_hook` always runs, with `RM_JOB_STATUS=succeeded|failed` + in the environment. Use this for cleanup that must happen + whether the backup worked or not. +- Hooks only run for `kind=backup` jobs. They do not run for + `forget`, `prune`, `check`, etc. +- AEAD-encrypted at rest at the HTTP layer; the agent receives + plaintext over the WS channel. + +A "host default" pair of hooks lives on the host itself; a +source group's own hooks override them when set. + +## Schedule anatomy + +```yaml +cron: "0 2 * * *" +enabled: true +source_group_ids: + - + - +``` + +Slim by design: a schedule says **when** and **which groups**. +Everything else (paths, retention, hooks) lives on the groups. + +The agent's local cron fires the schedule. If the WebSocket is +down at fire time, the server queues the firing into +`pending_runs` and drains it on the next agent reconnect — a +short network blip won't lose the backup. + +### Last / next run + +The schedules tab shows "next" (computed by parsing the cron +expression with `robfig/cron/v3`) and "last" (the latest +`actor_kind=schedule` job in the `jobs` table) for every +schedule. The dashboard host row also surfaces `next 12h ago/from +now` when a single covering schedule is the run-now candidate. + +## Bandwidth limits + +Two places set restic's `--limit-upload` / `--limit-download`: + +1. **Host-wide caps** on the host row (`bandwidth_up_kbps`, + `bandwidth_down_kbps`). Pushed to the agent on hello and + after `PUT /api/hosts/{id}/bandwidth`. Apply to every restic + invocation on the host. +2. **Per-job overrides** on the per-source-group Run-now form. + Win over host caps for the lifetime of that one job. + +If neither is set, restic runs unthrottled. diff --git a/docs/book/src/contributing.md b/docs/book/src/contributing.md new file mode 100644 index 0000000..67f0b16 --- /dev/null +++ b/docs/book/src/contributing.md @@ -0,0 +1,17 @@ +# Contributing + +Full contributor guide: +[`CONTRIBUTING.md`](https://gitea.dcglab.co.uk/steve/restic-manager/src/branch/main/CONTRIBUTING.md) +in the repository root. + +The short version: + +- Open an issue first for non-trivial changes; the design is + still moving and unsolicited large PRs may conflict with + in-flight work. +- `make lint test` must pass. +- One logical change per commit, no `Co-Authored-By` trailers. +- UK English in identifiers and comments; comments explain the + **why** not the **what**. + +Code of conduct: [`CODE_OF_CONDUCT.md`](https://gitea.dcglab.co.uk/steve/restic-manager/src/branch/main/CODE_OF_CONDUCT.md). diff --git a/docs/book/src/getting-started/enrolling-hosts.md b/docs/book/src/getting-started/enrolling-hosts.md new file mode 100644 index 0000000..8889d0b --- /dev/null +++ b/docs/book/src/getting-started/enrolling-hosts.md @@ -0,0 +1,113 @@ +# Enrolling your first host + +The control plane only knows about hosts you've explicitly +enrolled. Two paths exist: + +1. **Token-based enrolment** — admin generates a token, pastes it + into an install command on the host. The host appears immediately, + already mapped to the desired repo. +2. **Announce-and-approve** — the agent runs without a token, + "announces" itself to the server, and a human in the UI accepts + the announcement. + +Token-based is the default and what most operators want; the +announce flow exists for the case where you can't easily paste a +secret onto the host (auto-imaged endpoints, scripted bring-ups +from a config repo). + +## Token-based enrolment + +### From the UI + +1. Click **+ Add host** on the dashboard. +2. Fill in the hostname, the restic repo URL, and the repo + credentials. The credentials are AEAD-encrypted at the server + immediately; what you paste is what the agent receives. +3. Optionally pick the initial source paths — these become the + first source group on the host. +4. Submit. The server mints a one-time token and shows you a copy- + pasteable install snippet. + +### On the host (Linux) + +```sh +curl -fsSL https://restic.example.com/install/install.sh | \ + sudo RM_SERVER=https://restic.example.com \ + RM_ENROL_TOKEN= \ + bash +``` + +The script: + +1. Detects architecture (`amd64` or `arm64`). +2. Downloads the agent binary from `/agent/binary?os=…&arch=…`. +3. Drops the systemd unit at + `/etc/systemd/system/restic-manager-agent.service`. +4. Runs the agent in `-enrol` mode, which posts the token and + stores the persistent bearer it gets back. +5. Enables and starts the unit. + +Within seconds the host should appear on the dashboard as +**online**. + +### On the host (Windows) + +```pwsh +$env:RM_SERVER = "https://restic.example.com" +$env:RM_ENROL_TOKEN = "" +iwr -useb $env:RM_SERVER/install/install.ps1 | iex +``` + +Equivalent shape: registers a Windows service via the SCM +(see P2-16 for details), runs `-enrol`, starts the service. + +## Recovering a lost token + +Tokens are single-use and short-lived (1h). If you closed the tab +before pasting the install command, head to the **Add host** page — +outstanding tokens are listed there with a **Regenerate** button. +Regenerating revokes the old token's hash and mints a fresh raw +token while preserving the original repo credentials and initial +paths. (NS-02 in `tasks.md` if you want the design rationale.) + +## Announce-and-approve + +If the host can reach the server but you don't want to paste a +secret on it, run the agent in `-announce` mode: + +```sh +restic-manager-agent -announce \ + -server https://restic.example.com \ + -hostname myhost +``` + +The host appears in the **Pending hosts** panel on the dashboard +with its hostname, OS, arch, and the source IP that announced it. +Click **Accept**, fill in the repo URL + credentials, and the +server pushes the bearer over the still-open WebSocket. No +back-and-forth round trip. + +If you don't accept within an hour the announcement is swept. + +## What happens on the agent + +After enrolment, the agent: + +1. Connects via WebSocket to `/ws/agent` with its bearer token. +2. Sends a `hello` envelope with its OS, arch, agent version, + restic version, and protocol version. +3. Receives a `config.update` carrying its encrypted repo + credentials and any source-group paths. +4. Sits idle, sending a heartbeat every 30s. Operator-driven + "Run now" actions arrive as `command.run` envelopes; scheduled + jobs are driven by the agent's local cron. + +## Auto-init of the repository + +The first time a backup runs, the agent invokes `restic init` +against the repo you configured at enrolment. If the repo already +exists (`config file already exists`) the agent treats it as a +success and proceeds. The host's repo status (`unknown` → +`ready` / `init_failed`) is surfaced under the vitals strip on +the host detail page; if init fails, save fresh credentials in +the **Repo** tab to retry. diff --git a/docs/book/src/getting-started/install.md b/docs/book/src/getting-started/install.md new file mode 100644 index 0000000..106107b --- /dev/null +++ b/docs/book/src/getting-started/install.md @@ -0,0 +1,92 @@ +# Installing the server + +The reference deployment is a single Docker container fronted by +your existing reverse proxy. The image bundles the server binary, +the cross-compiled agent binaries, and the install scripts. + +## Prerequisites + +- A Linux host with Docker and Docker Compose. +- A reverse proxy in front (Caddy, nginx, Traefik) terminating + TLS on a public hostname. The server itself is HTTP-only by + design — see [Reverse proxy](./reverse-proxy.md) for why. +- A persistent volume for the server's data directory. + +## Quick start + +The reference compose file lives at +[`deploy/docker-compose.yml`](https://gitea.dcglab.co.uk/steve/restic-manager/src/branch/main/deploy/docker-compose.yml): + +```yaml +services: + restic-manager: + image: gitea.dcglab.co.uk/steve/restic-manager:${RM_VERSION:-latest} + restart: unless-stopped + environment: + RM_LISTEN: ":8080" + RM_DATA_DIR: "/data" + RM_BASE_URL: "https://restic.example.com" + # Trust your reverse proxy's CIDR so X-Forwarded-* are honoured. + RM_TRUSTED_PROXY: "10.0.0.0/8" + volumes: + - rm-data:/data + ports: + # Bind localhost only — your reverse proxy is the public face. + - "127.0.0.1:8080:8080" + +volumes: + rm-data: +``` + +Bring it up: + +```sh +docker compose up -d +docker compose logs -f restic-manager +``` + +The first run prints a one-time **bootstrap token** to the log. Use +it within an hour or it expires; if you miss the window the +container print it again on next start as long as no admin user +exists. + +## First-run admin setup + +Open `https://restic.example.com/bootstrap` (or whatever your +public URL is). Paste the bootstrap token, pick a username and a +password (≥ 12 characters), and submit. You'll land in the +dashboard logged in as the new admin. + +If you'd rather curl it, the equivalent is: + +```sh +curl -X POST https://restic.example.com/api/bootstrap \ + -H 'Content-Type: application/json' \ + -d '{"token":"","username":"admin","password":"<≥12 chars>"}' +``` + +## Backing up the secret key + +Inside the data volume, `secret.key` holds the AEAD key used to +encrypt every credential at rest. **Back it up separately from +the database.** Without it, encrypted credentials in the database +are unrecoverable; you'd have to re-enrol every host. + +A simple working approach: copy `secret.key` to your password +manager or to a separately-backed-up secrets vault the day you +install. It doesn't change. + +## Updating the server + +```sh +# Pin a new version in your compose file (.env or docker-compose.yml), +# then: +docker compose pull +docker compose up -d +``` + +Migrations run automatically on startup; the server will refuse to +start if a migration fails (better to bail than to half-migrate). + +For the agent self-update story, see +[Updating agents](../operations/updates.md). diff --git a/docs/book/src/getting-started/reverse-proxy.md b/docs/book/src/getting-started/reverse-proxy.md new file mode 100644 index 0000000..e0f55a4 --- /dev/null +++ b/docs/book/src/getting-started/reverse-proxy.md @@ -0,0 +1,95 @@ +# Running behind a reverse proxy + +The restic-manager server is HTTP-only by design. TLS termination, +public hostname, ACME, HSTS, and edge-level rate limiting all +belong to a reverse proxy you already operate outside this project. + +## What the proxy must forward + +The server reads four headers when (and only when) the immediate +peer matches `RM_TRUSTED_PROXY`: + +| Header | Value | Why | +|------------------------|----------------------------------------------------|-----| +| `X-Forwarded-For` | The original client IP | Rate-limit keys, audit log entries, OIDC redirect-URI checks. | +| `X-Forwarded-Proto` | `https` | Used for absolute URLs (e.g. OIDC redirect URIs). | +| `Host` | The public hostname clients use | Cookies are scoped to this; `RM_BASE_URL` must match. | +| `Connection` / `Upgrade` | Pass through unchanged | `/ws/agent` and `/api/jobs/{id}/stream` are WebSockets; without `Upgrade: websocket` they fail. | + +Set `RM_TRUSTED_PROXY` to the CIDR (or comma-separated list of +CIDRs) the proxy connects from. Anything outside that range has +its `X-Forwarded-*` headers ignored, so a stray request that +bypasses the proxy can't spoof the client IP. + +## Caddy + +```caddyfile +restic.example.com { + encode zstd gzip + reverse_proxy 127.0.0.1:8080 { + header_up X-Real-IP {remote_host} + } +} +``` + +Caddy adds `X-Forwarded-For` / `X-Forwarded-Proto` automatically +and passes WebSocket headers through by default, so this is the +whole config. + +## nginx + +```nginx +server { + listen 443 ssl http2; + server_name restic.example.com; + + ssl_certificate /etc/letsencrypt/live/restic.example.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/restic.example.com/privkey.pem; + + location / { + proxy_pass http://127.0.0.1:8080; + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto https; + + # WebSocket upgrade + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + + # Long-lived agent WS — disable read timeout for this surface. + proxy_read_timeout 86400s; + } +} +``` + +## Traefik + +```yaml +http: + routers: + restic-manager: + rule: "Host(`restic.example.com`)" + entryPoints: [websecure] + tls: + certResolver: letsencrypt + service: restic-manager + + services: + restic-manager: + loadBalancer: + servers: + - url: "http://restic-manager:8080" + passHostHeader: true +``` + +Traefik forwards WebSocket upgrades and the standard +`X-Forwarded-*` set out of the box. + +## Verification + +After bringing the proxy up, the audit log should show your real +client IP for an interactive login (not the proxy's local +address). If you see `127.0.0.1` or the proxy's container IP, your +`RM_TRUSTED_PROXY` is wrong or `X-Forwarded-For` isn't being +forwarded. diff --git a/docs/book/src/intro.md b/docs/book/src/intro.md new file mode 100644 index 0000000..5f265a9 --- /dev/null +++ b/docs/book/src/intro.md @@ -0,0 +1,86 @@ +# restic-manager + +restic-manager is a self-hosted, browser-based, single-pane-of-glass +for managing [restic](https://restic.net) backups across a fleet of +Linux and Windows endpoints. It's designed for **small fleets** — +the original target was twelve endpoints — and **one operator**. + +## What it does + +- Centralised view of every endpoint's last backup, repo size, + snapshot count, and recent jobs. +- Trigger any restic operation remotely (`backup`, `forget`, `prune`, + `check`, `unlock`, `snapshots`, `stats`, `diff`, `restore`). +- Per-host backup schedules with source groups (named bundles of + paths + retention policy). +- Live job log streamed to the browser; downloadable as text or NDJSON. +- Restore wizard with snapshot tree browse + path selection. +- Repo-level health surfacing (size, raw size, last-check, lock + state) plus a 30/90-day size trend. +- Alerting over webhook, ntfy, or SMTP. +- Cross-platform agent (Linux + Windows). +- Append-only-credential-friendly with a separate admin credential + for forget/prune. + +## What it isn't + +- **Not a SaaS.** Single-instance, single-tenant, by design. +- **Not a replacement for restic** — it's a control plane. The agent + shells out to a real `restic` binary. +- **Not highly available.** SQLite, single process; if you need + HA backups, you're shopping in the wrong aisle. +- **Not a multi-protocol backup tool.** restic only. + +## How it fits together + +``` +┌──────────────────────────────────────────────┐ +│ Server (control plane, Docker) │ +│ - REST + WebSocket API │ +│ - SQLite store │ +│ - Embedded HTMX UI │ +└──────────┬─────────────────────────┬─────────┘ + │ outbound WS │ HTTP(S) + │ │ +┌──────────▼──────────┐ ┌──────────▼─────────┐ +│ Agent (per host) │ │ Browser (operator) │ +│ - restic wrapper │ └─────────────────────┘ +│ - cron for sched. │ +└──────────┬──────────┘ + │ restic +┌──────────▼──────────────────────────────────┐ +│ rest-server / S3 / SFTP / local repo │ +│ (the actual backup data — server never │ +│ touches it) │ +└─────────────────────────────────────────────┘ +``` + +The control plane is a Go binary that runs in Docker. Each endpoint +runs a small Go agent that holds an outbound WebSocket to the +control plane. Backup data flows directly between the agent and the +restic repository — the control plane never sees a snapshot byte. + +## Where to start + +- [Installing the server](./getting-started/install.md) walks + through the Docker-based reference deployment. +- [Enrolling your first host](./getting-started/enrolling-hosts.md) + covers the install scripts and the announce-and-approve flow. +- [Architecture](./concepts/architecture.md) is the right read if + you want to know why something is the way it is before running + the install. + +## Project status + +Pre-1.0 but feature-complete for the original use case. Phases +0–4 are landed (MVP, scheduling, restore, RBAC + OIDC); Phase 5 +(this docs site, contributor onboarding, end-to-end CI) is in +flight. See [`tasks.md`](https://gitea.dcglab.co.uk/steve/restic-manager/src/branch/main/tasks.md) +for the live roadmap and [`spec.md`](https://gitea.dcglab.co.uk/steve/restic-manager/src/branch/main/spec.md) +for the canonical design doc. + +## License + +[PolyForm Noncommercial 1.0.0](https://polyformproject.org/licenses/noncommercial/1.0.0/). +Personal and community deployments welcome; commercial use +requires a separate license. diff --git a/docs/book/src/license.md b/docs/book/src/license.md new file mode 100644 index 0000000..a627198 --- /dev/null +++ b/docs/book/src/license.md @@ -0,0 +1,39 @@ +# License + +restic-manager is licensed under +[**PolyForm Noncommercial 1.0.0**](https://polyformproject.org/licenses/noncommercial/1.0.0/). +The full text lives at +[`LICENSE`](https://gitea.dcglab.co.uk/steve/restic-manager/src/branch/main/LICENSE) +in the repository root. + +## What this means + +- **Personal, hobbyist, educational, charitable, and similar + noncommercial use** is fully permitted, including modification + and redistribution. +- **Commercial use is not permitted** without a separate + license. The maintainer is not currently offering one — if + you need commercial rights, open an issue to start the + conversation. +- The license is permissive about everything except commercial + use: you can fork, modify, deploy in your home/lab, and + contribute back. + +## Why this license + +The PolyForm Noncommercial license was chosen because: + +- It's a real, legal, plainly-worded license (not a custom + half-written variant). +- It permits the realistic uses for a hobby project (the + maintainer's homelab, a friend's fleet, a charity's IT + closet) without inviting commercial vendors to repackage + the work. +- It's compatible with the project staying small and + maintainable — the maintainer doesn't want to be on the hook + for SLA-grade commercial support. + +## Contributions + +By contributing, you agree your contributions are licensed +under the same PolyForm Noncommercial 1.0.0 license. diff --git a/docs/book/src/operations/alerts.md b/docs/book/src/operations/alerts.md new file mode 100644 index 0000000..cb73f8f --- /dev/null +++ b/docs/book/src/operations/alerts.md @@ -0,0 +1,73 @@ +# Alerts and notifications + +restic-manager raises alerts on conditions that need human +attention. The alert engine evaluates rules on a 60s tick and +on every job-finished / host-online event. + +## Built-in alert kinds + +| Kind | Trigger | Severity | +|---------------------|---------|----------| +| `backup_failed` | A backup job ends in `failed` or `cancelled` | warning | +| `forget_failed` | A forget job ends in `failed` | warning | +| `prune_failed` | A prune job ends in `failed` | critical | +| `check_failed` | A check job ends in `failed` | critical | +| `agent_offline` | A host has been offline more than 90s past its heartbeat cadence | warning | +| `stale_schedule` | A schedule's "last run" is more than 1.5 × its interval ago | warning | +| `update_failed` | An agent self-update returned a fail or didn't reconnect within 90s | warning | +| `fleet_update_halted`| The rolling fleet-update worker stopped on a failure | critical | + +Each alert has a `dedup_key` so re-firing the same condition +just bumps `last_seen_at` — the operator gets one row per +condition, not a thousand. + +## Lifecycle + +``` +raised ──acknowledge──▶ acknowledged ──resolve──▶ resolved + │ │ + └────────auto-resolve──────┘ + (e.g. agent_offline auto-resolves on agent_online) +``` + +- **Acknowledge** says "I've seen this, stop notifying about it". +- **Resolve** says "the underlying condition is gone". +- Some alerts auto-resolve when the condition clears + (`agent_offline` is the canonical example). + +## Notification channels + +Configure under **Settings → Notifications**. Each channel can +subscribe to all alerts or filter by severity. + +### Webhook + +Posts a JSON envelope to a URL of your choice. Useful for +piping into Slack via an Incoming Webhook URL or into your own +alerting tooling. + +### ntfy + +Pushes a plain-text alert to an [ntfy.sh](https://ntfy.sh/) +topic. Configure the topic URL; optional bearer token if you +self-host with auth. + +### SMTP + +Plain SMTP (with optional TLS). Configure host, port, +username, password, and the recipient list. + +## Test fire + +Each channel exposes a **Test fire** button that dispatches a +single synthetic alert through the channel without touching the +alert engine. Use this when you've added a channel and want to +verify connectivity before the next real failure happens. + +## What gets logged + +Every alert raise / acknowledge / resolve writes an audit log +entry. The audit log UI at **Settings → Audit log** filters by +user, action, target, and time range — useful for the +post-incident "who clicked acknowledge on the prune-failure +alert" question. diff --git a/docs/book/src/operations/backups-and-restores.md b/docs/book/src/operations/backups-and-restores.md new file mode 100644 index 0000000..31c1a29 --- /dev/null +++ b/docs/book/src/operations/backups-and-restores.md @@ -0,0 +1,73 @@ +# Backups and restores + +## Running a backup + +Three ways to trigger one: + +1. **Scheduled** — the agent's local cron fires at the time set + on the schedule. +2. **Run-now** — operator clicks **Run now** on the host detail + right rail. Posts to `/hosts/{id}/run-backup` (defaults to all + source groups) or to a per-group form for finer control. +3. **API** — `POST /api/hosts/{id}/jobs` with the appropriate + payload. Same audit + dispatch path. + +In every case the server creates a `jobs` row, broadcasts a +`command.run` to the host, and lands the operator on the live +job log page (HTMX `HX-Redirect`). + +## Cancelling a job + +Any running job — backup, forget, prune, restore, anything — +exposes a **Cancel** button on its detail page. The server +broadcasts `command.cancel`, and the agent kills the running +restic subprocess via context cancel: SIGTERM first, SIGKILL +after a 5s grace (`cmd.Cancel` + `cmd.WaitDelay`). On Windows the +SIGTERM step is replaced with `os.Kill` because Windows can't +deliver SIGTERM. Result: a cancelled job lands as `cancelled` +within a couple of hundred milliseconds. + +## Restore wizard + +Restoring a file or path goes through a four-step wizard at +`/hosts/{id}/restore`: + +1. **Pick a snapshot.** Search by id or by date; the page is + pre-populated when you launched the wizard from a snapshot row. +2. **Browse the snapshot tree.** Lazy-loaded children via the + `MsgTreeList` synchronous WS RPC; results are cached + per-wizard-session for 30 minutes. Pick the absolute paths + you want. +3. **Choose a target.** Either **In place** (overwrites the + live filesystem; requires you to type the hostname to + confirm) or **New directory** (default + `$HOME/rm-restore//`; agent expands `$HOME` / + `${HOME}` / `~/` and creates the directory chain). +4. **Review and submit.** Server mints a job, dispatches + `command.run` with a `RestorePayload`, and `HX-Redirect`s to + the live job log. + +`--no-ownership` is gated on restic ≥ 0.17 (the flag was added +in that release). Hosts running 0.16 don't get the flag and +restore as the running user instead. + +## Snapshot diff + +Two snapshot ids in the **Diff** form on the host detail page → +a `JobDiff` job that runs `restic diff `. Output streams +to the standard live job log. Useful when investigating a +suspiciously-sized backup. + +## Job log artefacts + +Every job's log is persisted in `job_logs` (one row per line), +not just streamed in-memory. That gives you: + +- A live view at `/jobs/{id}` while the job runs. +- Two download formats from the same page header dropdown: + - **txt** — one line per row, `HH:MM:SS.mmm TAG payload`. + - **ndjson** — one self-contained JSON object per line + (`{seq, ts, stream, payload}`), perfect for `jq`. + +Downloads work whether the job is running or finished — +the source is the DB, not the live socket. diff --git a/docs/book/src/operations/observability.md b/docs/book/src/operations/observability.md new file mode 100644 index 0000000..f660d06 --- /dev/null +++ b/docs/book/src/operations/observability.md @@ -0,0 +1,61 @@ +# Observability with Prometheus + +restic-manager can expose a Prometheus scrape endpoint at +`GET /metrics`. The endpoint is **opt-in** — without an explicit +auth gate it isn't even mounted, so a forgotten config can't +accidentally publish fleet state. + +The full reference lives at +[`docs/prometheus.md`](https://gitea.dcglab.co.uk/steve/restic-manager/src/branch/main/docs/prometheus.md); +the short version follows. + +## Enable the endpoint + +Set at least one of: + +- `RM_METRICS_TOKEN` — `Authorization: Bearer ` required. +- `RM_METRICS_TRUSTED_CIDR` — restricts source IPs (comma-CIDR). + +Both ANDed when both set. Constant-time token compare; CIDR +honours `X-Forwarded-For` only when the immediate hop matches +`RM_TRUSTED_PROXY`. + +## Metrics emitted + +- **Server gauges**: `rm_hosts_total`, `rm_hosts_online`, + `rm_active_alerts{severity}`, `rm_build_info{...}`. +- **Per-host gauges**: `rm_host_agent_online`, + `rm_host_last_backup_timestamp_seconds`, + `rm_host_last_backup_success`, `rm_host_repo_size_bytes`, + `rm_host_snapshot_count`, `rm_host_open_alerts`, + `rm_host_repo_status`. +- **Histogram**: + `rm_job_duration_seconds{kind,status,le=…}` (buckets + `1, 5, 30, 60, 300, 1800, 3600, 21600, 86400, +Inf`). + +In-memory histogram only. Prometheus persists the scrapes; if +you need durable history at hourly resolution that's +Prometheus's job. + +## Sample Grafana dashboard + +[`deploy/grafana/restic-manager-dashboard.json`](https://gitea.dcglab.co.uk/steve/restic-manager/src/branch/main/deploy/grafana/restic-manager-dashboard.json) +imports through Grafana's **+ → Import → Upload JSON file**. +Six panels: + +1. Fleet status (online / total). +2. Open alerts by severity. +3. Backups failing on most-recent run. +4. Hosts table — last backup, repo size, snapshots, open alerts. +5. Repo size over time, one line per host. +6. Job-duration p95 over a 1h window per kind. + +## Alerting + +restic-manager already has a built-in alert engine +([Alerts](./alerts.md)). The dashboard intentionally doesn't +duplicate it as Prometheus alert rules. If you want +Prometheus-side alerts on top, write your own based on the +metrics above — `rm_host_last_backup_success == 0`, +`time() - rm_host_last_backup_timestamp_seconds > `, +or whatever suits your environment. diff --git a/docs/book/src/operations/updates.md b/docs/book/src/operations/updates.md new file mode 100644 index 0000000..3b571be --- /dev/null +++ b/docs/book/src/operations/updates.md @@ -0,0 +1,50 @@ +# Updating agents + +Server updates are a `docker compose pull && up -d` away. +Agents update via the control plane. + +## Single-host update + +Each host's detail page shows an **Update agent** button when +the agent's reported version is older than the server's. The +button: + +1. Dispatches a `command.update` to that host. +2. The agent fetches the appropriate binary from + `$RM_SERVER/agent/binary?os=…&arch=…` to + `.new`. +3. Copies the running binary to `.old` (one + revision back, in case rollback is needed). +4. Atomic-renames `.new` over the running binary. +5. Exits cleanly. systemd's `Restart=always` (or Windows SCM) + brings the process back on the new binary. + +A 90-second timer on the server side waits for a hello at the +target version and marks the update succeeded — or, if the +agent doesn't reconnect at the expected version in time, marks +the update **failed** and raises an `update_failed` alert. + +## Fleet update + +The admin-only **Settings → Fleet update** page drives a rolling +update across every host in the fleet: + +- One host at a time. +- Wait for hello-with-target-version (max 95s). +- On any host failing, **halt** the rollout, raise a + `fleet_update_halted` alert, leave the rest of the fleet on + the old version. No surprise mass-failures. + +You can cancel an in-progress fleet update; the worker stops +after the current host finishes. + +## TLS and corruption + +Updates rely on the reverse proxy's TLS to detect corruption in +transit. There's no separate sha256 verification step — we +chose the simpler model on the basis that the same TLS already +gates every other byte the server hands to the agent. + +If you'd like a separate signature step before applying updates, +that's a future-phase enhancement (see `tasks.md` Phase 6 +candidates). diff --git a/docs/book/src/reference/env-vars.md b/docs/book/src/reference/env-vars.md new file mode 100644 index 0000000..e193c95 --- /dev/null +++ b/docs/book/src/reference/env-vars.md @@ -0,0 +1,58 @@ +# Environment variables + +The server reads its configuration from environment variables +(canonical) with an optional YAML overlay. Env wins over YAML so +operators can tweak a single setting without rewriting the file. + +## Server + +| Variable | Default | Meaning | +|---------------------------|----------------------------------|---------| +| `RM_LISTEN` | `:8080` | TCP listener for the HTTP server. | +| `RM_DATA_DIR` | `/data` | Persistent state directory (SQLite, secret key, agent assets). | +| `RM_BASE_URL` | (none) | Public URL clients use; required for OIDC redirects + cookie scope. | +| `RM_SECRET_KEY_FILE` | `${RM_DATA_DIR}/secret.key` | Path to the AEAD key file. Auto-generated on first run. | +| `RM_COOKIE_SECURE` | `true` | Set `false` only for local HTTP testing. Controls `Secure` on session cookies. | +| `RM_TRUSTED_PROXY` | (none) | Comma-separated CIDRs trusted for `X-Forwarded-*`. | +| `RM_BUNDLED_ASSETS_DIR` | `/opt/restic-manager/dist` | Read-only path with bundled agent binaries + install scripts (the docker image bakes them here). | +| `RM_METRICS_TOKEN` | (off) | When set, `GET /metrics` requires `Authorization: Bearer `. | +| `RM_METRICS_TRUSTED_CIDR` | (off) | When set, `GET /metrics` restricts source IPs (comma-CIDR). | + +OIDC variables (all optional; empty issuer disables OIDC): + +| Variable | Meaning | +|--------------------------------|---------| +| `RM_OIDC_ISSUER` | OIDC discovery URL (e.g. `https://auth.example.com`). | +| `RM_OIDC_CLIENT_ID` | Client ID registered with the IdP. | +| `RM_OIDC_CLIENT_SECRET` | Client secret (or use `RM_OIDC_CLIENT_SECRET_FILE`). | +| `RM_OIDC_CLIENT_SECRET_FILE` | Path to a file holding the client secret. | +| `RM_OIDC_DISPLAY_NAME` | Button label on the login page (e.g. "Authelia"). | +| `RM_OIDC_ROLE_CLAIM` | Token claim that carries roles (default `groups`). | +| `RM_OIDC_ROLE_MAPPING` | `idp-group=role` entries, comma-separated (e.g. `rm-admin=admin,rm-ops=operator`). | +| `RM_OIDC_REDIRECT_URL` | Override for the redirect URL; defaults to `${RM_BASE_URL}/auth/oidc/callback`. | + +## Agent + +| Variable | Default | Meaning | +|----------------------|---------|---------| +| `RM_AGENT_CONFIG` | `/etc/restic-manager/agent.yaml` (Linux) | Config file path. | + +The agent's other settings live in the YAML file (server URL, +bearer token, optional cert pin). The install script writes that +file for you at enrolment. + +## Build-time + +The Makefile threads `-ldflags` from `git describe` into the +`internal/version` package so `--version` and the dashboard +footer show the right values: + +``` +-X gitea.dcglab.co.uk/steve/restic-manager/internal/version.Version=$(VERSION) +-X gitea.dcglab.co.uk/steve/restic-manager/internal/version.Commit=$(COMMIT) +``` + +If you build with `go build` directly (no Makefile), `Version` +falls back to `dev` and the agent-update comparison falls back +to "always equal". Source-build deployments can still run; they +just don't participate in the self-update flow. diff --git a/docs/book/src/reference/http-endpoints.md b/docs/book/src/reference/http-endpoints.md new file mode 100644 index 0000000..9866066 --- /dev/null +++ b/docs/book/src/reference/http-endpoints.md @@ -0,0 +1,82 @@ +# HTTP endpoints + +A non-exhaustive map of the surfaces the control plane exposes. +All `/api/*` routes return JSON; all other paths render HTML +(server-rendered with HTMX in the loop). + +The canonical wiring lives at +[`internal/server/http/server.go`](https://gitea.dcglab.co.uk/steve/restic-manager/src/branch/main/internal/server/http/server.go); +when in doubt, read the routes block there. + +## Public (no auth) + +| Method | Path | Purpose | +|--------|----------------------------|---------| +| GET | `/healthz` | Liveness probe. Returns 204. | +| POST | `/api/auth/login` | Local-user login. JSON body: `{username, password}`. | +| POST | `/api/auth/logout` | Invalidate the session cookie. | +| POST | `/api/bootstrap` | First-run admin creation. Accepts the token printed at first start. | +| POST | `/api/agents/enroll` | Token-based agent enrolment. | +| POST | `/api/agents/announce` | Announce-and-approve agent enrolment. | +| GET | `/agent/binary?os=&arch=` | Serves the agent binary for the install scripts. | +| GET | `/install/*` | Serves the Linux + Windows install scripts and the systemd unit. | +| GET | `/api/version` | Build version + commit JSON. | +| GET | `/metrics` | Prometheus exposition (only when opted-in via `RM_METRICS_TOKEN` / `RM_METRICS_TRUSTED_CIDR`). | +| GET | `/login`, `/setup`, `/bootstrap` | UI pages. | + +## Authenticated (any role) + +| Method | Path | Purpose | +|--------|------------------------------------------|---------| +| GET | `/` | Dashboard. | +| GET | `/hosts/{id}` | Host detail. | +| GET | `/hosts/{id}/repo` | Repo tab. | +| GET | `/hosts/{id}/jobs` | Jobs tab. | +| GET | `/hosts/{id}/sources` | Source groups list. | +| GET | `/hosts/{id}/schedules` | Schedules list. | +| GET | `/jobs/{id}` | Live job log. | +| GET | `/api/hosts`, `/api/fleet/summary` | JSON list + summary. | +| GET | `/api/jobs/{id}/stream` | WebSocket subscription to a job's live log. | +| GET | `/api/jobs/{id}/log.{txt,ndjson}` | Persisted log download. | + +## Operator role and above + +| Method | Path | Purpose | +|--------|---------------------------------------|---------| +| POST | `/hosts/{id}/run-backup` | Run-now (HTMX form-post). | +| POST | `/hosts/{id}/sources/{gid}/run-now` | Per-source-group run-now. | +| POST | `/hosts/{id}/repo/{prune,check,unlock,reinit,probe}` | Maintenance actions. | +| POST | `/api/hosts/{id}/snapshots/diff` | Snapshot-diff job. | +| POST | `/hosts/{id}/restore` | Restore wizard submit. | +| POST | `/api/jobs/{id}/cancel` | Cancel a running job. | +| POST | `/hosts/{id}/tags` | Update host tags. | +| POST | `/hosts/{id}/sources` and friends | Source-group CRUD. | +| POST | `/hosts/{id}/schedules` and friends | Schedule CRUD. | +| POST | `/hosts/{id}/repo/credentials`, `/admin-credentials` | Credential update. | + +## Admin role only + +| Method | Path | Purpose | +|--------|---------------------------------------|---------| +| POST | `/hosts/new` | Mint enrolment token (Add host). | +| POST | `/hosts/{id}/delete` | Delete + cascade. | +| POST | `/hosts/{id}/update` | Dispatch a single agent update. | +| GET/POST | `/settings/users/...` | User management. | +| POST | `/settings/notifications/...` | Notification channel CRUD + test fire. | +| POST | `/settings/fleet-update/...` | Fleet-update worker. | + +## WebSocket + +| Path | Who connects | Auth | +|--------------------------------|--------------|------| +| `/ws/agent` | Agent | Bearer token issued at enrolment. | +| `/ws/agent/pending` | Agent (announce flow) | Pending-id query param. | +| `/api/jobs/{id}/stream` | Browser | Session cookie. | + +## RBAC enforcement + +Routes are grouped into chi route-groups by required role +(`viewer < operator < admin`); the `requireRole` middleware in +`internal/server/http/middleware.go` is the bouncer. Sessions +re-validate `disabled_at` on every request, so a disabled user's +cookie stops working immediately. diff --git a/docs/book/src/roadmap.md b/docs/book/src/roadmap.md new file mode 100644 index 0000000..c6fdb24 --- /dev/null +++ b/docs/book/src/roadmap.md @@ -0,0 +1,32 @@ +# Roadmap + +The live roadmap is in +[`tasks.md`](https://gitea.dcglab.co.uk/steve/restic-manager/src/branch/main/tasks.md). +Phases ship in order; items inside a phase ship as the +opportunity arises. + +## Status snapshot + +| Phase | Theme | Status | +|-------|--------------------------------------------------|--------| +| 0 | Project bootstrap | ✅ done | +| 1 | MVP: enrolment, visibility, on-demand backup | ✅ done | +| 2 | Scheduling, retention, repo operations | ✅ done | +| 3 | Restore, alerts, audit | ✅ done | +| 4 | RBAC, OIDC, host tags | ✅ done | +| 5 | OSS readiness | 🚧 in flight (this docs site is part of it) | +| 6 | Update delivery + observability polish | ✅ done | + +## What's not on the roadmap + +The non-goals list in [`spec.md` §2](https://gitea.dcglab.co.uk/steve/restic-manager/src/branch/main/spec.md): + +- Replacing restic itself or providing custom repo formats +- Managing non-restic backup tools +- Multi-tenancy / SaaS deployment +- High availability of the control plane (SQLite, single-instance) +- Mobile-native apps (responsive web only) + +If something there is critical to your use case, restic-manager +isn't the right tool. That's not a closed door — it's a +deliberate scope decision so the project stays maintainable. diff --git a/docs/book/src/security/disclosure.md b/docs/book/src/security/disclosure.md new file mode 100644 index 0000000..d03a04f --- /dev/null +++ b/docs/book/src/security/disclosure.md @@ -0,0 +1,35 @@ +# Reporting vulnerabilities + +The full disclosure policy lives in +[`SECURITY.md`](https://gitea.dcglab.co.uk/steve/restic-manager/src/branch/main/SECURITY.md) +at the repo root. The short version: + +- **Don't open a public issue.** +- Send a Gitea private message to `steve` on + , or email the address on the + maintainer's profile, with a subject like + `[SECURITY] restic-manager: `. +- Expect an acknowledgement within 3 working days; escalate + through the other channel if you don't get one. +- Default disclosure window is **30 days from confirmed report + to public disclosure**, faster if a PoC is already + circulating, slower only by mutual agreement. + +## What to include + +A description of the issue and the impact, the affected +component (server / agent / install script / docs), the version, +and reproduction steps. A working PoC is welcome but not +required — a credible threat model is enough. + +## In scope vs. out of scope + +See the full policy. Quick highlights: + +- **In scope:** server, agent, install scripts, docker image, + docker-compose reference, crypto choices, docs that lead to + insecure configs. +- **Out of scope:** restic itself (report upstream), unpatched + third-party deps (report upstream first), pre-authenticated + admin abuse (admins are designed to have full power), DoS on + deployments without the recommended reverse proxy. diff --git a/docs/book/src/security/hardening.md b/docs/book/src/security/hardening.md new file mode 100644 index 0000000..52e3efc --- /dev/null +++ b/docs/book/src/security/hardening.md @@ -0,0 +1,72 @@ +# Hardening checklist + +A baseline for new deployments. Most of these are defaults; the +list is here to make audit easy. + +## Server + +- [ ] Reverse proxy in front, TLS terminating at the proxy + (Caddy/nginx/Traefik). +- [ ] `RM_TRUSTED_PROXY` set to the proxy's CIDR. +- [ ] `RM_BASE_URL` matches the public hostname and the cookie + scope you want. +- [ ] `RM_COOKIE_SECURE=true` (the default; only set `false` + for local HTTP testing). +- [ ] HTTP listener bound to **localhost** in the compose file, + not `0.0.0.0`. The reverse proxy is the only thing that + should reach it. +- [ ] `secret.key` backed up separately from the database. +- [ ] Bootstrap token consumed and the printed log line scrubbed + from any log archive. + +## Authentication + +- [ ] Admin user has a password ≥ 12 characters (the floor). +- [ ] OIDC enabled if you have an IdP — local password auth + stays as a break-glass. +- [ ] Disabled (not deleted) any users who change roles or leave + so their session is invalidated immediately. +- [ ] The last-admin guard isn't tripped — there's always at + least one enabled admin user. + +## Repo credentials + +- [ ] Append-only credential set as the everyday cred for every + host. +- [ ] Admin credential set only where prune cadence is enabled. +- [ ] No credentials reused across hosts. Each host should have + its own credential pair so a single host compromise has a + single blast radius. +- [ ] If using rest-server, `--append-only` flag is on for the + everyday user; the prune user is a separate identity. + +## Agent + +- [ ] Agent runs as `root` (Linux) or `LocalSystem` (Windows) + **only when** the source paths require it. Otherwise pin + a service user that has read access to what's backed up + and nothing else. +- [ ] systemd unit's sandboxing flags are intact + (`NoNewPrivileges`, `Protect*`, `MemoryDenyWriteExecute`). +- [ ] Agent's config file `/etc/restic-manager/agent.yaml` is + mode `0600` and owned by the service user. The bearer + token lives in there. + +## Operations + +- [ ] Alerts wired to a real channel (webhook into Slack, + ntfy topic, SMTP) — not just sitting in the UI. +- [ ] Test-fire each notification channel after configuring. +- [ ] Audit-log retention is long enough to cover the operator's + incident-response window. +- [ ] Prometheus endpoint, if enabled, gated by token AND CIDR + where practical (default is opt-in / off). + +## Recovery + +- [ ] A documented procedure for rotating a leaked agent bearer + (delete + re-enrol the host). +- [ ] A test-restore done at least once, end-to-end, before + relying on the system in anger. +- [ ] `secret.key` and the SQLite database covered by separate + backup paths so neither alone reconstitutes the other. diff --git a/docs/book/src/security/threat-model.md b/docs/book/src/security/threat-model.md new file mode 100644 index 0000000..8af091e --- /dev/null +++ b/docs/book/src/security/threat-model.md @@ -0,0 +1,110 @@ +# Threat model + +This page documents what restic-manager defends against, what it +doesn't, and the trust assumptions a deployment is making. The +canonical version lives in [`spec.md`](https://gitea.dcglab.co.uk/steve/restic-manager/src/branch/main/spec.md) +§11; the summary here is shaped for operators rather than +implementers. + +## Trust boundaries + +``` +┌──────────────────────────────────────────┐ +│ TRUSTED zone │ +│ ┌─────────────┐ ┌──────────────┐ │ +│ │ Operator's │ │ Reverse │ │ +│ │ browser │◄──►│ proxy │ │ TLS terminates here +│ └─────────────┘ └──────┬───────┘ │ +└────────────────────────────┼─────────────┘ + │ HTTP, plaintext + │ (loopback or trusted LAN) +┌────────────────────────────▼─────────────┐ +│ Server (control plane) │ +└────────────┬─────────────────────────────┘ + │ outbound WebSocket (TLS to clients via proxy) + │ — bearer-authenticated +┌────────────▼──────────────┐ +│ Agent (per host) │ ◄── attacker model: assume one +└────────────┬──────────────┘ endpoint can be compromised + │ subprocess + ▼ + restic ──▶ repository (rest-server / S3 / SFTP / …) +``` + +## What we defend against + +### Network attacker between operator and server + +- HTTPS via the reverse proxy is the only operator-facing surface + on a sane deployment. +- `RM_COOKIE_SECURE=true` (default) means the session cookie + refuses to ride a non-HTTPS connection. +- `RM_TRUSTED_PROXY` gates whether `X-Forwarded-*` is honoured; + a bypassing request can't spoof the client IP. + +### Compromised agent host + +- The agent's bearer token can dispatch commands **only on its + own host**. It can't read other hosts' state, dispatch jobs + on other hosts, or escalate within the control plane. +- If you suspect a host compromise: + 1. Disable the agent's host row from **Hosts → Delete** + (cascades the bearer hash). + 2. Rotate the repo credential at the rest-server / object + store side. + 3. Audit-log lists every action that bearer ever drove. + +### DB compromise without the secret key + +- Repo credentials are AEAD-encrypted at rest. A DB dump alone + doesn't expose them. +- Agent bearer **hashes** are leaked; that's enough to + authenticate as any agent until you revoke. A rotation + procedure is just "delete + re-enrol" today. +- Operator passwords are bcrypt-hashed; OIDC users have no + password to leak. +- Session tokens are hashed; an attacker can't replay a + session from a DB dump. + +### DB compromise WITH the secret key + +The attacker can decrypt every credential. Treat +`secret.key` with the same care as a password manager database. +Back it up to a separate vault, not to the same Docker volume +as the database. + +### Forget/prune as a DoS vector + +- The everyday backup credential cannot prune (append-only). +- The admin credential is only pushed to the agent at the + moment of dispatch and discarded after the job ends. +- Compromise of a single agent host does **not** grant prune + rights — at worst the attacker gets fresh write access until + the credential is rotated. + +### Operator-side typo or bad copy-paste + +- Repo credentials are stored encrypted; mis-typed creds fail + fast on the next `restic` invocation rather than silently + corrupting state. +- NS-03 added auto-init: the first dispatched job after creds + change runs `restic init`, surfaces the error eagerly under + the host's vitals strip if the creds are bad, and resets the + host's `repo_status` so the operator can retry without + hunting through job logs. + +## What we don't defend against + +- **Insider threat at the maintainer level.** A malicious + maintainer can publish a backdoored container; SBOM / + signing infrastructure (Phase 6 candidate) would help here + but isn't shipped today. +- **Supply chain.** We pin module versions (`go.sum`) and + pin the Tailwind binary's release tag, but a compromise in + one of those upstreams would land here. +- **Side-channel via restic itself.** A bug in restic that + enables snapshot-content disclosure is restic's problem; the + control plane doesn't see snapshot bytes either way. +- **DoS via resource exhaustion** without the recommended + reverse-proxy / rate-limit in front. Don't expose the + server's HTTP port to the public internet directly. diff --git a/docs/e2e.md b/docs/e2e.md new file mode 100644 index 0000000..7d66739 --- /dev/null +++ b/docs/e2e.md @@ -0,0 +1,120 @@ +# End-to-end test harness + +The e2e harness stands up the full production-shaped stack +(server + agent + rest-server) in Docker Compose and drives it +through Playwright. CI runs it on every PR; operators can run it +locally too. + +## Files + +``` +e2e/ +├── compose.e2e.yml compose stack: server + rest-server + agent +├── Dockerfile.agent Linux container for the agent (alpine + restic) +├── agent-entrypoint.sh decides between announce / token-enrol / run +└── playwright/ + ├── package.json + ├── playwright.config.ts + └── tests/ + ├── lib/server.ts bootstrap, login, accept, poll helpers + └── smoke.spec.ts happy-path: enrol → backup → succeeded +``` + +## Local run + +Prerequisites: Docker + Docker Compose, and `npx` for Playwright. + +```sh +# 1. Build + bring up the stack (server, rest-server, source data). +docker compose -f e2e/compose.e2e.yml up --build -d server rest-server source-fixture + +# 2. Wait for the server, then scrape the bootstrap token from the log. +until curl -fsS http://127.0.0.1:8080/api/version >/dev/null; do sleep 1; done +RM_BOOTSTRAP_TOKEN=$(docker compose -f e2e/compose.e2e.yml logs server \ + | grep -Eo '[a-zA-Z0-9_-]{40,}' | head -1) +export RM_BOOTSTRAP_TOKEN + +# 3. Start the agent (it announces against the running server). +docker compose -f e2e/compose.e2e.yml up -d agent + +# 4. Install + run Playwright. +cd e2e/playwright +npm install +npx playwright install --with-deps chromium +npx playwright test +``` + +When the test passes you'll see: + +``` +Running 2 tests using 1 worker + ✓ smoke: enrol-via-announce → backup › happy path completes in under a minute (47s) + ✓ smoke: scrape /metrics › metrics endpoint exposes the host gauge (180ms) + + 2 passed (47.5s) +``` + +Tear-down: + +```sh +docker compose -f e2e/compose.e2e.yml down -v +``` + +`-v` removes the named volumes too — important between runs because +the rest-server volume holds an initialised repo and the +agent-config volume holds a stale bearer. + +## What the test exercises + +1. **Bootstrap.** Posts the admin-creation request to + `/api/bootstrap` with the token scraped from the server log. +2. **Login (UI).** Drives the login form via Playwright; verifies + the dashboard loads with a session cookie set. +3. **Pending host appears.** Polls the dashboard for the inline + accept form generated by the announcing agent; reads the + pending-id out of its action URL. +4. **Accept.** POSTs `/api/pending-hosts/{id}/accept` with the + rest-server URL + repo password. The server mints a Host row + + bearer + AEAD-encrypted creds and pushes the bearer down + the still-open pending WebSocket. +5. **Online + auto-init.** Polls `/api/hosts` until the new host + is `status=online`. Auto-init runs as part of this — the + first dispatched job after creds save is `restic init`. +6. **Run backup.** Submits the host detail page's `Run now` + form; expects `HX-Redirect` to the live job page. +7. **Verify.** Polls `/api/hosts` until the host's + `last_backup_status` flips to `succeeded`. +8. **Metrics.** Scrapes `/metrics` and asserts the + server-gauge + build-info lines are present (the compose + stack opens the endpoint via `RM_METRICS_TRUSTED_CIDR=0.0.0.0/0`). + +## CI workflow + +[`.gitea/workflows/e2e.yml`](../.gitea/workflows/e2e.yml) runs the +suite on every PR into `main`. On failure it dumps the last 200 +lines of each container log as a workflow annotation and uploads +the Playwright HTML report as an artefact. + +## When tests fail + +- **Pending host never appears.** Agent container probably + couldn't reach the server. Check `docker compose logs agent` + for connection errors and `docker compose logs server` for + any 4xx on `/api/agents/announce`. +- **Backup hangs in `running`.** The agent shells out to + `restic`; check the live job log at + `http://127.0.0.1:8080/jobs/` (still up after a + failed test as long as you didn't `down -v`). +- **`RM_BOOTSTRAP_TOKEN not set`.** The server log scrape + matched the wrong line or the token regex is too tight. The + server prints the token on a line starting with ` ` (four + spaces) inside a banner; widen the regex if your server log + format changes. + +## Adding new tests + +The harness is intentionally flat — one `*.spec.ts` per +scenario. Reuse the helpers in `lib/server.ts` and avoid +duplicating bootstrap / login boilerplate. Heavy fixtures +(custom users, OIDC IdP) belong in their own compose override +file rather than complicating `compose.e2e.yml`. diff --git a/docs/screenshots/01-login.png b/docs/screenshots/01-login.png new file mode 100644 index 0000000000000000000000000000000000000000..30cffbfc120cd4755cf4bc35708b9ff4a9f710bb GIT binary patch literal 27454 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
    iH8o!P8pLJ$j2|4}i$|faLB9>n$b9aBm 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

    0q-Oich;u3IOO0SUF5TWv#;45q{;(1jEp&5* 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®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�eFTjp1b^9<4Vi--N-} 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 e_l-~>OitKb=;DdFl@xDnLe<` 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%0AdR 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%0DpKIRl?)dYG`; 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 yqOcwdJnYlspZ~y|{Qv)-DU20B1{l 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 UuQbTR~TN$l8D10cE$TL_>W&;XYqG$a<=_aw}5y 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 UahV?fM|gotCZPiEENv8WiNsX zCSIo{vi|_|v(XQaq_*nqZAEbe)xVY+Su(mfVEQpR5=lr-zh-LzE^3y#e=) zJ}=d3LFEs}l!>2J%HfVFynWi&*4&E9Iy#Mqt#EUJ^1CXHYi#TN!Qeu1=a$g>tc*~M zI{L)$Y><%dS?hOZ8!fBP?3{)(gNiby z;(`z&V(DjxTKr;JmAZNJh@=Muq2!q`4(>4}Pw-T@V!s1Uy4B7dl-8orqO|J3gSd{% zK~RBZPVK%_N3(lbO$sfp8hUHL*)O-2^1dcw@tkG~0mLQKVQMXj#rSzKeb=-soZY6y zT?-u5w-~DdgVLy98XK1nAaCEG@U6gKa?EeMdk`|evN@t25)y3z%orD1KQHWkZ??P- z`W*%Z{n)XX!Ok?>J2K;brY8Rw*ti9kxv`ZC+^n?+j9j3_xYoQk!T*a_f{iLxVFw!b zIgtz!sTXGGU&|K#pykhIy5v%CMxw0Axm^g<>nnhxr#97uw7^ z9iJ~Wi^hMn?RJBu-fc}HLsT*z-6pEVo*%A-AQ1y1-1SFAM#p3xn-tY%or)FoipcP- z2C+4tn%vY)G#ExsH>~xfxqruR&G&oGA@S3s{oR^a>IFlp)qe3(<8KJhUo4*eBaFLav&Hgv0{$6k4S#SVmFq*U zINUo4;%W^>B=(2fYe}uRwkcJwsyHJLZQE{{q;qEJTt0-@FB*(NcsWc?zb? zYt*?Hm$b|E+g~L8FQ>4ef8;j*w*3E%X;^1!_&W;yeM@3nFKSvryX1_Q@Kwiyfm!K$ zIY3~qbmmYskGdQ}neKZ9HWt;&#MM&*@>YJ4={?;FxgZu-Wi;|f@xx#uzMF~V2L}^e zOQ3Eu+D9v_N8Rs+Z0_(yWtlJ>hw(r*4yt_ujW#0EXv54lVALsD=;ezW2mQ zZe`3JWobc7tQ)9YMH?)VfiNM{a0#_Deqz|d`J!VO`b+O|)t&M7KS68F1OjkPJP1Dv zf#4&z_OiUrFquqb;|tSj_BSPfkpy=C zch>%pscAF0rLnseM0~@7T#TEO5nmE-up!Wh0P)z~N2&&v1$jeN{%FOI%>sF4B)lfOlT>BRm z>)T?w&ho3&+A3O=yoJN#(D5Gux|V}t`0U#=OYkXe+!^DhD2VH!X}t0qt!5a0h}P8* zu5WA1>mf?Hg-D@t)tBoe!kubL)p&O=^XtUMB9lHen#o$3{p`@u&4AtR-qS3ZHTWY+ zVapJ2&SgEzdbIUB5{B)~_nWboFDpx7q9lhg#R}%V^eDO3yDs-4e{ trUDK}df^?t4MiwDykRg?c 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 hX@8tOR+&%Hg`8A-e*sBp%0d7D literal 0 HcmV?d00001 diff --git a/docs/screenshots/05-settings.png b/docs/screenshots/05-settings.png new file mode 100644 index 0000000000000000000000000000000000000000..6a1244a8bb4076b30903faadf1982d287b55e53b GIT binary patch literal 94151 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 QbcRe_S^Ig#Gpo1%1BtbZa{vGU literal 0 HcmV?d00001 diff --git a/e2e/Dockerfile.agent b/e2e/Dockerfile.agent new file mode 100644 index 0000000..e699170 --- /dev/null +++ b/e2e/Dockerfile.agent @@ -0,0 +1,42 @@ +# Build a Linux container that runs the restic-manager agent against a +# sibling rest-server in the e2e compose stack. Used only by tests +# (e2e/compose.e2e.yml + .gitea/workflows/e2e.yml). +# +# Two stages: +# 1. golang:alpine to build the agent binary. +# 2. alpine:3.20 with the `restic` package + the built binary. +# +# Pinning by digest is intentional for CI reproducibility. + +FROM golang:1.25-alpine AS build +WORKDIR /src + +ENV CGO_ENABLED=0 \ + GOFLAGS="-trimpath" + +COPY go.mod go.sum* ./ +RUN go mod download + +COPY . . +ARG VERSION=e2e +RUN go build -ldflags="-s -w -X gitea.dcglab.co.uk/steve/restic-manager/internal/version.Version=${VERSION}" \ + -o /out/restic-manager-agent ./cmd/agent + +FROM alpine:3.20 +RUN apk add --no-cache restic ca-certificates curl +COPY --from=build /out/restic-manager-agent /usr/local/bin/restic-manager-agent + +# Agents normally run as root because backup paths often need it. The +# e2e fixture only backs up paths under /data which we own, so this +# container would tolerate a non-root user — but staying root keeps +# parity with the production install. +USER root + +# The agent needs a writable directory for its config + secrets store. +RUN mkdir -p /etc/restic-manager /var/lib/restic-manager-agent +ENV RM_AGENT_CONFIG=/etc/restic-manager/agent.yaml + +# The compose entrypoint sets the announce URL via env. +COPY e2e/agent-entrypoint.sh /usr/local/bin/entrypoint.sh +RUN chmod +x /usr/local/bin/entrypoint.sh +ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] diff --git a/e2e/agent-entrypoint.sh b/e2e/agent-entrypoint.sh new file mode 100755 index 0000000..7900a88 --- /dev/null +++ b/e2e/agent-entrypoint.sh @@ -0,0 +1,27 @@ +#!/bin/sh +# Entrypoint for the e2e agent container. +# +# Three states: +# 1. Already enrolled (agent.yaml has a bearer): run the agent. +# 2. Token supplied via $RM_ENROL_TOKEN: enrol then run. +# 3. Otherwise: announce against $RM_SERVER and wait for an admin to +# accept us. The announce flow blocks until accepted, then drops +# straight into the normal run loop, so this is the test-friendly +# path. +set -eu + +CFG="${RM_AGENT_CONFIG:-/etc/restic-manager/agent.yaml}" +SERVER="${RM_SERVER:?set RM_SERVER}" + +if [ -f "$CFG" ] && grep -q '^agent_token:' "$CFG"; then + exec restic-manager-agent -config "$CFG" +fi + +if [ -n "${RM_ENROL_TOKEN:-}" ]; then + exec restic-manager-agent -config "$CFG" \ + -enroll-server "$SERVER" \ + -enroll-token "$RM_ENROL_TOKEN" +fi + +# Announce-and-approve: blocks until an admin accepts, then runs. +exec restic-manager-agent -config "$CFG" -enroll-server "$SERVER" diff --git a/e2e/compose.e2e.yml b/e2e/compose.e2e.yml new file mode 100644 index 0000000..bb77b8d --- /dev/null +++ b/e2e/compose.e2e.yml @@ -0,0 +1,87 @@ +# End-to-end test stack — used by .gitea/workflows/e2e.yml and by +# operators who want to run the Playwright suite locally. +# +# Three services: +# * server — restic-manager built from the working tree +# * agent — restic-manager agent built from the working tree +# (announces; Playwright accepts it during the test) +# * rest-server — the actual restic backend, sibling of the agent +# +# Run from the repo root: +# docker compose -f e2e/compose.e2e.yml up --build --abort-on-container-exit + +services: + rest-server: + image: restic/rest-server:0.13.0 + environment: + DATA_DIR: /data + OPTIONS: "--no-auth" + volumes: + - rest-data:/data + networks: [rmnet] + + server: + build: + context: .. + dockerfile: deploy/Dockerfile.server + args: + VERSION: e2e + environment: + RM_LISTEN: ":8080" + RM_DATA_DIR: "/data" + RM_BASE_URL: "http://server:8080" + RM_COOKIE_SECURE: "false" + # Bind the metrics endpoint loose for the test, so one of the + # Playwright assertions can exercise it. + RM_METRICS_TRUSTED_CIDR: "0.0.0.0/0" + volumes: + - server-data:/data + ports: + - "127.0.0.1:8080:8080" + healthcheck: + test: ["CMD", "/usr/local/bin/restic-manager-server", "--version"] + interval: 2s + timeout: 2s + retries: 30 + networks: [rmnet] + + agent: + build: + context: .. + dockerfile: e2e/Dockerfile.agent + args: + VERSION: e2e + environment: + RM_SERVER: "http://server:8080" + depends_on: + - server + volumes: + # Source paths the agent backs up. Compose pre-populates this + # with a few files so the snapshot list isn't empty. + - source-data:/source + - agent-config:/etc/restic-manager + - agent-state:/var/lib/restic-manager-agent + networks: [rmnet] + + # One-shot init container that drops a couple of files into the + # source volume so backups have something to snapshot. + source-fixture: + image: alpine:3.20 + command: > + sh -c 'mkdir -p /source && echo "hello world" > /source/hello.txt && + echo "another file" > /source/two.txt && sleep 0.2' + volumes: + - source-data:/source + networks: [rmnet] + restart: "no" + +volumes: + server-data: + rest-data: + source-data: + agent-config: + agent-state: + +networks: + rmnet: + driver: bridge diff --git a/e2e/playwright/package.json b/e2e/playwright/package.json new file mode 100644 index 0000000..ed7afc3 --- /dev/null +++ b/e2e/playwright/package.json @@ -0,0 +1,14 @@ +{ + "name": "restic-manager-e2e", + "version": "0.0.0", + "private": true, + "type": "module", + "scripts": { + "test": "playwright test", + "test:headed": "playwright test --headed", + "test:debug": "PWDEBUG=1 playwright test" + }, + "devDependencies": { + "@playwright/test": "^1.50.0" + } +} diff --git a/e2e/playwright/playwright.config.ts b/e2e/playwright/playwright.config.ts new file mode 100644 index 0000000..d6dbc0d --- /dev/null +++ b/e2e/playwright/playwright.config.ts @@ -0,0 +1,31 @@ +import { defineConfig, devices } from '@playwright/test'; + +// Single-target Chromium config: the e2e suite is narrow (smoke +// the production-shaped flow against the docker-compose stack). +// Cross-browser matrix doesn't add signal — what we're verifying is +// the server's HTML and the agent's WebSocket handshake, neither of +// which depends on browser engine. + +const baseURL = process.env.RM_BASE_URL ?? 'http://127.0.0.1:8080'; + +export default defineConfig({ + testDir: './tests', + timeout: 60_000, + expect: { timeout: 10_000 }, + fullyParallel: false, + retries: process.env.CI ? 1 : 0, + workers: 1, + reporter: [['list'], ['html', { open: 'never' }]], + use: { + baseURL, + trace: 'retain-on-failure', + screenshot: 'only-on-failure', + video: 'retain-on-failure', + }, + projects: [ + { + name: 'chromium', + use: { ...devices['Desktop Chrome'] }, + }, + ], +}); diff --git a/e2e/playwright/tests/lib/server.ts b/e2e/playwright/tests/lib/server.ts new file mode 100644 index 0000000..397a908 --- /dev/null +++ b/e2e/playwright/tests/lib/server.ts @@ -0,0 +1,114 @@ +// Helpers used by every test. The shape favours the JSON API for +// reads + accept/dispatch (deterministic, easy to assert) and the +// browser for human-facing surfaces (login form, dashboard render). + +import { APIRequestContext, expect, Page } from '@playwright/test'; + +export const baseURL = process.env.RM_BASE_URL ?? 'http://127.0.0.1:8080'; + +export interface HostJSON { + id: string; + name: string; + status: string; + last_backup_status?: string; +} + +export async function readBootstrapToken(): Promise { + const tok = process.env.RM_BOOTSTRAP_TOKEN; + if (!tok) { + throw new Error('RM_BOOTSTRAP_TOKEN not set — the harness scrapes it from server logs'); + } + return tok; +} + +export async function bootstrapAdmin( + request: APIRequestContext, + { + username = 'admin', + password = 'e2e-test-password-1234', + }: { username?: string; password?: string } = {}, +): Promise<{ username: string; password: string }> { + const token = await readBootstrapToken(); + const res = await request.post(`${baseURL}/api/bootstrap`, { + data: { token, username, password }, + }); + if (!res.ok() && res.status() !== 409 /* already bootstrapped */) { + throw new Error(`bootstrap: ${res.status()} ${await res.text()}`); + } + return { username, password }; +} + +export async function loginViaUI(page: Page, username: string, password: string): Promise { + await page.goto(`${baseURL}/login`); + await page.locator('#login-username').fill(username); + await page.locator('#login-password').fill(password); + await Promise.all([ + page.waitForURL(new RegExp(`^${baseURL}/?$`)), + page.locator('form[action="/login"] button[type="submit"]').click(), + ]); +} + +/** + * Polls the dashboard until a pending host card is visible, then + * extracts its pending-id from the inline accept form's action URL. + */ +export async function waitForPendingHostID(page: Page): Promise { + const formLocator = page.locator('form[action^="/api/pending-hosts/"][action$="/accept"]').first(); + await expect(formLocator).toBeVisible({ timeout: 60_000 }); + const action = await formLocator.getAttribute('action'); + if (!action) throw new Error('pending host form has no action attribute'); + const m = action.match(/\/api\/pending-hosts\/([^/]+)\/accept/); + if (!m) throw new Error(`unexpected action URL: ${action}`); + return m[1]; +} + +export async function acceptPending( + request: APIRequestContext, + cookie: string, + pendingID: string, + repo: { url: string; username?: string; password: string }, +): Promise { + const res = await request.post(`${baseURL}/api/pending-hosts/${pendingID}/accept`, { + headers: { cookie, 'content-type': 'application/json' }, + data: { + repo_url: repo.url, + repo_username: repo.username ?? '', + repo_password: repo.password, + }, + }); + if (!res.ok()) { + throw new Error(`accept: ${res.status()} ${await res.text()}`); + } +} + +export async function listHosts(request: APIRequestContext, cookie: string): Promise { + const res = await request.get(`${baseURL}/api/hosts`, { headers: { cookie } }); + if (!res.ok()) throw new Error(`list hosts: ${res.status()} ${await res.text()}`); + const body = (await res.json()) as { items?: HostJSON[]; hosts?: HostJSON[] }; + return body.items ?? body.hosts ?? []; +} + +export async function waitForHostStatus( + request: APIRequestContext, + cookie: string, + matcher: (h: HostJSON) => boolean, + timeoutMs = 60_000, +): Promise { + const deadline = Date.now() + timeoutMs; + let last: HostJSON | undefined; + while (Date.now() < deadline) { + const hosts = await listHosts(request, cookie); + const hit = hosts.find(matcher); + if (hit) return hit; + last = hosts[0]; + await new Promise((r) => setTimeout(r, 1_000)); + } + throw new Error(`waitForHostStatus: timeout. Last seen: ${JSON.stringify(last)}`); +} + +export async function getSessionCookie(page: Page): Promise { + const cookies = await page.context().cookies(); + const c = cookies.find((c) => c.name === 'rm_session'); + if (!c) throw new Error('rm_session cookie not set after login'); + return `${c.name}=${c.value}`; +} diff --git a/e2e/playwright/tests/smoke.spec.ts b/e2e/playwright/tests/smoke.spec.ts new file mode 100644 index 0000000..0dbd307 --- /dev/null +++ b/e2e/playwright/tests/smoke.spec.ts @@ -0,0 +1,80 @@ +// End-to-end smoke: bootstrap → accept pending host → run backup → see succeeded. +// +// The compose stack stands up a server, a sibling rest-server, and an +// agent in announce-and-approve mode. This test drives the operator +// path through the UI (login + dashboard) and the API +// (accept + run-now + poll for terminal) — UI for the human surfaces, +// API for the deterministic ones. + +import { test, expect } from '@playwright/test'; +import { + baseURL, + bootstrapAdmin, + loginViaUI, + waitForPendingHostID, + acceptPending, + waitForHostStatus, + getSessionCookie, +} from './lib/server'; + +test.describe('smoke: enrol-via-announce → backup', () => { + test('happy path completes in under a minute', async ({ page, request }) => { + const { username, password } = await bootstrapAdmin(request); + await loginViaUI(page, username, password); + + // Dashboard renders. + await expect(page.locator('main')).toContainText(/host|fleet|pending/i, { timeout: 10_000 }); + + // Pending host appears (the agent container has been + // announcing since startup). + const pendingID = await waitForPendingHostID(page); + const cookie = await getSessionCookie(page); + + // Accept with the rest-server creds. compose's rest-server runs + // --no-auth, so any credentials work; restic still demands a + // password to encrypt the repo. + await acceptPending(request, cookie, pendingID, { + url: 'rest:http://rest-server:8000/', + password: 'e2e-repo-password', + }); + + // Wait for the host to come online + auto-init to land. + const onlineHost = await waitForHostStatus( + request, cookie, + (h) => h.status === 'online', + 60_000, + ); + expect(onlineHost.id).toBeTruthy(); + + // Trigger a backup via the UI form-post (HX-Redirect to /jobs/{id}). + await page.goto(`${baseURL}/hosts/${onlineHost.id}`); + await Promise.all([ + page.waitForURL(/\/jobs\//), + page.locator('form[action$="/run-backup"] button[type="submit"]').first().click(), + ]); + + // Wait for the host's last_backup_status to flip to 'succeeded'. + // The job page itself is harder to assert on (it uses + // server-pushed updates and a reload-on-finish pattern); the + // host record is the source of truth and is what the dashboard + // surfaces. + const finishedHost = await waitForHostStatus( + request, cookie, + (h) => h.id === onlineHost.id && h.last_backup_status === 'succeeded', + 120_000, + ); + expect(finishedHost.last_backup_status).toBe('succeeded'); + }); +}); + +test.describe('smoke: scrape /metrics', () => { + test('metrics endpoint exposes the host gauge', async ({ request }) => { + // Compose sets RM_METRICS_TRUSTED_CIDR=0.0.0.0/0 so the + // endpoint is open to the test runner. + const res = await request.get(`${baseURL}/metrics`); + expect(res.status()).toBe(200); + const body = await res.text(); + expect(body).toContain('rm_hosts_total'); + expect(body).toContain('rm_build_info{'); + }); +}); diff --git a/tasks.md b/tasks.md index a696930..843a2b6 100644 --- a/tasks.md +++ b/tasks.md @@ -326,12 +326,54 @@ Sizes: **S** = under a day, **M** = 1–3 days, **L** = 3–7 days. ## Phase 5 — OSS readiness -- [ ] **P5-01** (M) Documentation site (mdBook or similar) with install, concepts, security model, screenshots -- [ ] **P5-02** (S) `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md`, issue + PR templates +- [x] **P5-01** (M) Documentation site (mdBook or similar) with install, concepts, security model, screenshots +- [x] **P5-02** (S) `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md`, issue + PR templates - [x] **P5-03** (S) Release automation — **pivoted away from goreleaser/binary archives** on 2026-05-05 (spec: `docs/superpowers/specs/2026-05-05-p5-03-docker-only-release.md`). Single deliverable per tag: a multi-arch (linux amd64+arm64) server image, with cross-compiled agent binaries (linux amd64+arm64, windows amd64) + `install.sh` + `install.ps1` + the systemd unit baked under `/opt/restic-manager/dist/`. The `/agent/binary` and `/install/*` handlers fall back from `/...` to `/...` so a fresh container Just Works. Workflow `.gitea/workflows/release.yml` triggers on `v*.*.*` tag-push (real release: fan-out `:vX.Y.Z`, `:X.Y`, `:X`, plus `:latest` once `MAJOR>=1`) and `workflow_dispatch` (snapshot: `:snapshot-` only). Pushed to the Gitea container registry on this instance — no external creds, no GHCR mirror. Cosign / SBOM / minisign / GHCR mirror deferred to Phase 6. Source builds via `make build` remain a first-class path. -- [ ] **P5-04** (S) Demo screenshots / short Loom walkthrough in README -- [ ] **P5-05** (S) `SECURITY.md` with disclosure process -- [ ] **P5-06** (M) End-to-end test suite in CI (Playwright vs. compose stack with sibling Linux agent) +- [x] **P5-04** (S) Demo screenshots / short Loom walkthrough in README +- [x] **P5-05** (S) `SECURITY.md` with disclosure process +- [x] **P5-06** (M) End-to-end test suite in CI (Playwright vs. compose stack with sibling Linux agent) + +> **As shipped (2026-05-07, branch `p5-oss-readiness`):** +> +> **P5-01 — docs site.** mdBook under `docs/book/` with structured +> chapters: getting-started (install, enrolling hosts, reverse +> proxy), concepts (architecture, credentials, schedules + source +> groups, repo maintenance), operations (backups + restores, alerts, +> observability, updates), security (threat model, hardening, +> disclosure), reference (env vars, HTTP endpoints), plus +> contributing / roadmap / license pages. mdBook binary downloaded +> via Makefile (`make docs` / `make docs-watch`) — same "static +> binary, no toolchain" pattern as Tailwind. Generated `book/` +> dir gitignored. +> +> **P5-02 — CONTRIBUTING + CoC + templates.** `CONTRIBUTING.md` +> rewritten from placeholder to full guide (setup, conventions, +> workflow, RBAC of the project itself). `CODE_OF_CONDUCT.md` +> shaped on the Contributor Covenant but adapted for a +> single-maintainer project. `.gitea/issue_template/{bug_report,feature_request}.md` +> + `.gitea/PULL_REQUEST_TEMPLATE.md`. +> +> **P5-04 — README screenshots.** Six full-page captures from a +> fresh server bootstrap under `docs/screenshots/` (login, empty +> dashboard, add host, alerts, settings, audit log). README +> rewritten to centre the screenshot grid + link out to docs site. +> Captured live from a working build via Playwright; replaceable +> as the UI evolves without breaking layout. +> +> **P5-05 — SECURITY.md.** Disclosure policy (3-day ack, 30-day +> default disclosure window), supported-versions matrix, scope +> in/out, threat-model summary, hardening checklist for +> operators. Mirrored as a chapter in the docs site. +> +> **P5-06 — e2e harness.** `e2e/compose.e2e.yml` stands up +> server + sibling Linux agent (alpine + restic) + restic/rest-server +> backend, with announce-and-approve as the enrolment path so +> Playwright drives the operator flow end-to-end. Tests under +> `e2e/playwright/tests/`: smoke spec covers bootstrap → login → +> accept-pending → backup → terminal-status; second spec scrapes +> `/metrics` to verify the P6-04 endpoint. New +> `.gitea/workflows/e2e.yml` runs on every PR (separate from the +> fast lint/test workflow). Local how-to in `docs/e2e.md`. - [x] **P5-07** (S) Reference deployment landed alongside P5-03. `deploy/docker-compose.yml` stands up *only* the server (image-pinned via `RM_VERSION`, named volume for operator state, bound to localhost) — TLS termination is left to whichever reverse proxy the operator already runs. `docs/reverse-proxy.md` documents the headers + WebSocket pass-through the proxy must forward, the `RM_TRUSTED_PROXY` CIDR rule, and worked examples for Caddy, nginx, and Traefik. ### Phase 5 acceptance