18 Commits

Author SHA1 Message Date
S
5a8a23ef69 docs: add macvlan LAN-only warning for runners outside the network
Macvlan container IPs are only reachable on the LAN. Runners working
remotely (coffee shop, VPN) must use the public GITEA_DOMAIN instead
of the LAN IP in their .runner file. Added inline comments to
.env.example and troubleshooting entries to README.md and USAGE_GUIDE.md.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 06:24:23 -06:00
S
63f5bf6ea7 feat: add support for public DNS target IP and private DNS allowance in Cloudflare setup 2026-03-02 23:27:04 -06:00
S
78376f0137 feat: add phase 7.5 Nginx to Caddy migration script and update usage guide 2026-03-02 22:20:36 -06:00
S
d9fb5254cd feat: add post-migration check section to usage guide for infrastructure validation 2026-03-02 20:25:29 -06:00
S
25a28d78f0 fix: update usage guide to include non-interactive execution option for teardown scripts 2026-03-02 11:55:06 -05:00
S
59285d0b35 fix: update Unraid commands to use environment variable for compose directory 2026-03-02 11:41:45 -05:00
S
fc9ef70045 fix: clarify input validation details and automatic URL derivation in usage guide 2026-03-02 10:51:44 -05:00
S
37e855b210 fix: update usage guide to clarify network setup and add runner scoping instructions 2026-03-02 09:16:03 -05:00
S
22bf55010b fix: update usage guide to include instructions for enabling passwordless sudo on remote hosts 2026-03-02 08:53:23 -05:00
S
045283be50 docs: fix stale references across all documentation
README.md: add missing configure_runners.sh, fix check count 22→24
USAGE_GUIDE.md: fix check refs 23-24→21-22, add CAP column to
  manage_runner list example
PLAN.md: fix mirror-sync→push_mirrors-sync endpoint
contracts/gitea-api.md: add 5 missing endpoints (DELETE tokens,
  repo-scoped runner registration, PUT/POST GitHub Pages, GitHub
  commits), remove unused actions/workflows endpoint, fix
  GET /settings/api Used-in to include Phase 2

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 12:55:23 -05:00
S
95eeb698da docs: fix stale counts and preflight check numbering
README.md: 10 templates→9, ~6500 lines→~8000, 25 checks→22, ~50 prompts→~65
CLAUDE.md: ~55 env vars→~70
PLAN.md: mark all tracker items DONE, fix Nginx→Caddy/SSL→TLS refs,
  add missing setup scripts and template entries
USAGE_GUIDE.md: add configure_runners.sh mention, fix check 15→14 ref
preflight.sh: renumber checks to fill gaps at 14 and 19 (now 1-22)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 11:59:35 -05:00
S
b573b77ab1 fix: remove unused FEDORA_CADDY_IP from validation and wizard
No phase script deploys Caddy on Fedora — only Unraid gets a Caddy
container. Removed from .env.example, validation arrays, preflight
required vars, IP ping check, wizard prompts, and doc references.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 11:39:15 -05:00
S
e737128028 docs: update USAGE_GUIDE.md — Nginx→Caddy, ports→IPs, dynamic repos
- Prerequisites: Nginx container→Cloudflare API token, ports→macvlan IPs
- Edge cases: replaced Nginx/Certbot troubleshooting with Caddy/TLS_MODE
- Rollback: Nginx config removal→Caddy container/config removal
- Day-to-day: replaced certbot renewal with Caddy auto-renewal
- Adding repos: REPO_4_NAME→append to REPO_NAMES

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 11:08:10 -05:00
S
93355ee143 docs: update USAGE_GUIDE.md for single GitHub token
Consolidated two tokens into one GITHUB_TOKEN with repo scope.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 10:02:35 -05:00
S
6100d482d2 docs: update usage guide with boot-mode native runner details and sudo requirements 2026-03-01 08:28:49 -05:00
S
0e0aeda658 feat: extract .env validators to common.sh and add validate_env()
Move 10 validation functions from configure_env.sh to lib/common.sh as
shared utilities. Define variable-to-validator mapping using parallel
arrays (bash 3.2 compatible). validate_env() checks all ~50 .env
variables against their expected format and reports all failures at once.

Wired into preflight.sh (Check 6b) and bitwarden_to_env.sh (post-restore).
configure_env.sh now sources validators from common.sh instead of
defining its own copies.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 22:08:01 -05:00
S
572e4c151c chore: snapshot current workspace changes 2026-02-28 21:35:03 -05:00
S
088e355962 docs: add README.md and USAGE_GUIDE.md
README covers architecture, 9-phase pipeline, file structure, design
decisions with rationale (bash over Ansible, single control plane,
envsubst templates, check-before-act idempotency, SQLite, mirror
marking vs archiving), and compromises (shared credentials, 3-repo
limit, syntactic workflow migration, no automatic rollback, timeout
polling, unencrypted backups, Docker socket exposure).

USAGE_GUIDE covers the happy path (automated and manual), resuming
after failure, edge cases (rate limits, token expiry, large repos,
port conflicts, DNS, Certbot, SSH, runner offline, invalid YAML),
rollback procedures (full, partial, single-phase, with cleanup),
verification commands for each rollback scenario, day-to-day ops
(version updates, token rotation, adding repos, mirror sync, SSL
renewal), backup/restore, runner management, and troubleshooting.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 21:06:36 -05:00