# Gitea Runner Automation with Ansible This repository contains an Ansible playbook and configuration files to automate the deployment and configuration of a Gitea Runner on a Fedora Rawhide Cloud VM. To deploy a Fedora Rawhide Cloud virtual machine, please go to [this repository](https://git.phyllo.me/IaC/advanced-libvirt-terraform-examples). ## Repository Structure ``` ├── ansible.cfg # Ansible configuration settings ├── inventory.ini # Host inventory definition ├── setup.yml # Main playbook for basic system setup ├── update.yml # Playbook to ensure system is up-to-date ├── runner_setup.yml # Playbook for Gitea Runner installation and configuration ``` ## Prerequisites 1. Ansible installed on your control machine 2. Access to a Fedora Rawhide Cloud VM with IP `10.17.3.250` 3. SSH key authentication configured with `~/.ssh/terraform_key` 4. Root privileges or sudo access on the target VM 5. Gitea registration token (to be placed in runner_setup.yml) ## How to Use 1. **Install Ansible** (if not already installed): ```bash # For CentOS/RHEL/Fedora sudo yum install ansible # For Ubuntu/Debian sudo apt update && sudo apt install ansible ``` 2. **Ensure SSH key exists**: ``` ls ~/.ssh/terraform_key ``` 3. **Set registration token in runner_setup.yml**: ``` registration_token: "your_actual_token_here" ``` > Obtain the token from: https://git.phyllo.me/user/settings/actions/runners > For a runner to have the global scope, one needs to generate a token with a Gitea superuser 4. **Run the playbooks**: ``` ansible-playbook update.yml ansible-playbook setup.yml ansible-playbook runner_setup.yml ``` ## What This Does This automation will: - Connect to the specified Fedora Rawhide Cloud VM - Update the system packages and reboot if required - Install necessary dependencies - Set hostname to fedora-rawhide10 - Create a dedicated gitea-runner user - Download and install Gitea Runner - Configure systemd service for automatic startup - Register the runner with Gitea using the provided token - Start the Gitea Runner service - The result is a fully configured Gitea Runner that will automatically start on system boot, ready to execute Gitea Actions workflows. ## Troubleshooting If you encounter issues: - Verify SSH connectivity to the target VM - Ensure Ansible can reach the specified IP address - Check that ~/.ssh/terraform_key has correct permissions (600) - Review output logs for specific error messages - Make sure the registration token is valid For additional help with Ansible configuration, consult the official Ansible documentation.