Commit graph

3 commits

Author SHA1 Message Date
3aaa1c96a8 Fix bash syntax error: apostrophe inside \${VAR:?message} broke brace matching
"the repo's Actions" inside FORGEJO_RUNNER_TOKEN's :? error message threw
off bash's parser even though the whole expression sits inside double
quotes - confirmed live via bisection (bash -n on truncated line ranges
pinpointed line 20 exactly, "unexpected EOF while looking for matching
`''`"). Single quotes inside \${VAR:?message} aren't neutralized by the
outer double quotes the way they would be in a plain string. Reworded to
avoid the apostrophe entirely.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-22 22:51:51 +03:00
71ba82e0f0 Add a host-level CI runner + one-click "deploy from scratch" workflow
setup-forgejo-runner.sh gained RUNNER_LABEL/RUNNER_DIR/SERVICE_NAME/
RUNNER_USER params so the same script can register either kind of runner:
- inside the container (unchanged defaults, root - already scoped to just
  that container)
- on the Proxmox host itself, where RUNNER_USER=claude-deploy is required:
  a root-owned systemd service with no User= would hand every CI job
  unrestricted root on the host, defeating the whole point of
  claude-deploy's narrowly-scoped sudoers rules.

deploy-from-scratch.yml runs create-graylog-lxc.sh on the host-level
runner. Deliberately does NOT run pct destroy - that stays a manual,
deliberate human step. The idempotent create+install path is safe to
trigger any time: repairs an existing container in place, or fully
recreates one if it was destroyed beforehand.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-22 22:40:20 +03:00
458aada5a5 Add setup-forgejo-runner.sh and document the full from-scratch deployment
The CI runner setup was done by hand this session (download, verify,
register, systemd unit) - script it the same idempotent way as
install-graylog.sh so a fresh deployment can reproduce it instead of
requiring manual SSH archaeology. Wire it into create-graylog-lxc.sh's
payload copy, and add step 9 to both READMEs covering the one-time setup.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-22 21:55:29 +03:00