Commit Graph

13 Commits

Author SHA1 Message Date
S
a037f22dcd fix: correct TOTAL_PROMPTS base count to 62 (including TLS conditional slots)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 10:37:13 -05:00
S
07d2d5ffdd chore: fix stale SSL_MODE comments in configure_env.sh
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 10:35:07 -05:00
S
e8000a2f4f feat: replace Nginx/SSL prompts with Caddy/TLS prompts in configure_env.sh
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 10:33:36 -05:00
S
df297334ff feat: replace port prompts with macvlan networking in configure_env.sh
Remove UNRAID_GITEA_PORT, UNRAID_GITEA_SSH_PORT, FEDORA_GITEA_PORT,
FEDORA_GITEA_SSH_PORT prompts. Add DOCKER NETWORKING section with 14
macvlan prompts (parent NIC, subnet, gateway, IP range, container
IPs for gitea/db/caddy on each host). Update TOTAL_PROMPTS to 59.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 10:26:31 -05:00
S
f098abbe55 feat: add conditional database prompts to configure_env.sh wizard
Add db_type validation case. After GITEA_DB_TYPE prompt, conditionally
show 5 database connection prompts (host, port, name, user, passwd)
when DB type is not sqlite3. Auto-suggest default port per DB type
(mysql=3306, postgres=5432, mssql=1433). Update TOTAL_PROMPTS
dynamically.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 10:18:52 -05:00
S
567f507d05 refactor: update runner var names in configure_env.sh wizard
- Remove RUNNER_DEFAULT_CAPACITY prompt (smart defaults in runner wizard)
- RUNNER_DEFAULT_DATA_PATH → RUNNER_DATA_BASE_PATH
- LOCAL_RUNNER_DATA_PATH → LOCAL_RUNNER_DATA_BASE_PATH
- TOTAL_PROMPTS 53 → 52

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 10:10:41 -05:00
S
6c193eb4b5 feat: dynamic repo count in configure_env.sh wizard
Replace 3 hardcoded REPO_N_NAME prompts with:
- "How many repos?" prompt
- Loop for each repo name
- Saves as space-delimited REPO_NAMES in .env
TOTAL_PROMPTS computed dynamically after repo count is known.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 10:08:28 -05:00
S
e9c165e350 fix: update configure_env.sh versions, descriptions, consolidate tokens
- GITEA_VERSION default 1.23 → 1.25, ACT_RUNNER_VERSION 0.2.11 → 0.3.0
- GITHUB_TOKEN description: "repo read" → "repo scope (read+write)"
- BACKUP_STORAGE_PATH description: "Absolute path on Fedora for backup archives"
- Remove GITHUB MIRROR section, move GITHUB_MIRROR_INTERVAL to REPOSITORIES
- TOTAL_PROMPTS 57 → 56

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 10:01:47 -05:00
S
10b155da74 fix: correct total prompts count in configure_env.sh 2026-03-01 08:58:56 -05:00
S
a34cc69681 refactor: streamline environment variable loading with dedicated function 2026-03-01 08:40:25 -05:00
S
f4a6b04d14 feat: rework runner config to INI format with full field support
Replace pipe-delimited runners.conf with INI-style sections supporting
host resolution, container images, repo-scoped tokens, resource limits,
capacity, and SSH key passthrough. All defaults pulled from .env.

- Add INI parsing helpers (ini_list_sections, ini_get, ini_set) to common.sh
- Add SSH key support (UNRAID_SSH_KEY, FEDORA_SSH_KEY) to ssh_exec/scp_to
- Add .env vars: RUNNER_DEFAULT_IMAGE, RUNNER_DEFAULT_CAPACITY,
  RUNNER_DEFAULT_DATA_PATH, LOCAL_RUNNER_DATA_PATH, LOCAL_REGISTRY
- Rewrite manage_runner.sh with host/image/token resolution and resource limits
- Rewrite configure_runners.sh wizard for INI format with all 9 fields
- Update phase3 scripts to use ini_list_sections instead of pipe parsing
- Add runners.conf INI validation to preflight.sh (check 5b)
- Update templates to use resolved labels, capacity, and deploy resources

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 23:14:46 -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
5f043cbb45 feat: add setup scripts (configure_env, macbook, unraid, fedora)
- configure_env.sh: interactive 50-prompt wizard with progress [N/50],
  input validation (IP, port, email, path, URL, bool, password, ssl_mode),
  conditional SSL prompts based on SSL_MODE, summary with masked passwords
- macbook.sh: Homebrew packages, envsubst, Xcode CLI tools, SSH tests
- unraid.sh: Docker verify, docker-compose + jq static binary install
- fedora.sh: Docker CE + compose plugin install, jq, docker group setup

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 15:07:34 -06:00