--- gitea_runner_version: "1.0.8" runner_labels: "docker,ubuntu-latest:docker://runner-images:ubuntu-26.04" skip_runner_registration: false # Per-runner user (rootless isolation) gitea_runner_user_prefix: "grm-" gitea_runner_base_home: "/home" gitea_runner_service_user: "{{ gitea_runner_user_prefix }}{{ runner_name }}" gitea_runner_home: "{{ gitea_runner_base_home }}/{{ gitea_runner_service_user }}" # Base paths (instance-scoped via runner_name) gitea_runner_base_data_dir: "/var/lib/gitea-runner" gitea_runner_base_config_dir: "/etc/gitea-runner" gitea_runner_data_dir: "{{ gitea_runner_base_data_dir }}/{{ runner_name }}" gitea_runner_config_dir: "{{ gitea_runner_base_config_dir }}/{{ runner_name }}" gitea_runner_binary_path: "/usr/local/bin/gitea_runner" # Prune configuration gitea_runner_prune_until: "24h" gitea_runner_prune_schedule: "daily" gitea_runner_prune_label: "gitea-runner=true" # Service configuration gitea_runner_service_restart_sec: "5" # Health check configuration gitea_runner_healthcheck_interval: "5min" gitea_runner_healthcheck_boot_delay: "2min" gitea_runner_healthcheck_disk_threshold: 85 gitea_runner_healthcheck_script_path: "{{ gitea_runner_config_dir }}/healthcheck.sh" # Admin token for runner deregistration via Gitea API. # If not set, falls back to registration_token (which likely lacks admin scope). # Set this to a token with admin scope to enable automatic runner cleanup on removal. gitea_admin_token: "" # Removal defaults remove_systemd_template: true remove_runner_user: true # Runner configuration gitea_runner_log_level: "info" gitea_runner_container_label: "gitea-runner=true" gitea_runner_file: ".runner" # Docker installation (for rootless dependencies) docker_gpg_key_path: "/etc/apt/keyrings/docker.gpg" docker_apt_arch: "{{ 'amd64' if ansible_facts['architecture'] == 'x86_64' else ansible_facts['architecture'] }}" docker_apt_source_line: >- deb [arch={{ docker_apt_arch }} signed-by={{ docker_gpg_key_path }}] https://download.docker.com/linux/{{ ansible_facts['distribution'] | lower }} {{ ansible_facts['distribution_release'] }} stable # Set to false in CI/molecule to skip rootless daemon startup (needs kernel userns) docker_rootless_setup: true # Rootless Docker network driver: "pasta" (IPv6 support) or "slirp4netns" (IPv4 only) # pasta has proper outgoing IPv6 support; slirp4netns does not (known limitation). docker_rootless_net_driver: "pasta" # IPv6 subnet for rootless Docker containers (ULA range, not routable on internet) docker_ipv6_cidr: "fd00:dead:beef::/48"