blumeops/ansible/roles/forgejo_runner/defaults/main.yml
Erich Blume fdf5153130
Some checks failed
Test CI / test (pull_request) Failing after 48s
Containerize forgejo-runner with Tailscale gateway for tailnet access
Architecture:
- tailscale_ci_gateway role: Runs Tailscale container on tailnet-jobs network
- forgejo_runner role: Runs runner daemon in container on same network
- Job containers also use tailnet-jobs network

This allows the runner and jobs to reach forge.tail8d86e.ts.net via
the Tailscale gateway, avoiding hairpinning issues with localhost.

Changes:
- Add tailscale_ci_gateway role with launchd management
- Refactor forgejo_runner to use containerized daemon
- Runner registers with Tailscale URL instead of localhost
- Job containers run on tailnet-jobs network
- Update playbook role ordering (gateway before runner)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 11:28:35 -08:00

42 lines
1.7 KiB
YAML

---
# Forgejo Runner - containerized daemon on tailnet-jobs network
#
# The runner daemon runs in a Docker container with access to the tailnet
# via the tailscale-ci-gateway. This allows it to register with Forgejo
# using the Tailscale URL, so job containers can also reach Forgejo.
forgejo_runner_data_dir: /Users/erichblume/.forgejo-runner
forgejo_runner_config_dir: /Users/erichblume/.config/forgejo-runner
forgejo_runner_log_dir: /Users/erichblume/Library/Logs
# Container settings
forgejo_runner_container_name: forgejo-runner
forgejo_runner_image: code.forgejo.org/forgejo/runner:6.2.1
forgejo_runner_network: tailnet-jobs
# Runner registration - use Tailscale URL since we're on tailnet-jobs network
forgejo_runner_instance_url: "https://forge.tail8d86e.ts.net"
forgejo_runner_name: "indri-docker-runner"
# Labels format: label:docker://image
#
# Job containers also run on tailnet-jobs network and can reach:
# - forge.tail8d86e.ts.net for git clone
# - registry.tail8d86e.ts.net for container push/pull
#
# Bootstrap mode (use upstream images until we build ci-base):
# docker-builder:docker://docker:27-cli
# ubuntu-latest:docker://catthehacker/ubuntu:act-22.04
#
# Production mode (use our own images from zot):
# docker-builder:docker://registry.tail8d86e.ts.net/blumeops/ci-base:latest
# ubuntu-latest:docker://registry.tail8d86e.ts.net/blumeops/ci-base:latest
#
forgejo_runner_labels: "docker-builder:docker://docker:27-cli,ubuntu-latest:docker://catthehacker/ubuntu:act-22.04,ubuntu-22.04:docker://catthehacker/ubuntu:act-22.04"
# Runner config
forgejo_runner_capacity: 2
forgejo_runner_timeout: 3h
# Docker container settings for jobs
forgejo_runner_privileged: true # Needed for container builds