Files
ansible-gitea-runner/readme.md
2025-10-24 21:04:34 +02:00

86 lines
2.6 KiB
Markdown

# 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 Rocky Linux 10 VM.
To deploy a Rocky Linux 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 Rocky Linux 10 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 Rocky Linux VM
- Update the system packages and reboot if required
- Install necessary dependencies
- Set hostname to rocky10
- 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.