diff --git a/readme.md b/readme.md index 78d2845..e1a1238 100644 --- a/readme.md +++ b/readme.md @@ -7,22 +7,25 @@ To deploy a Rocky Linux virtual machine, please go to [this repository](https:// ## Repository Structure ``` -├── ansible.cfg # Ansible configuration settings -├── inventory.ini # Host inventory definition -├── setup.yml # Main playbook for Gitea Runner configuration -├── update.yml # Playbook to ensure system is up-to-date +├── 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.36` +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 @@ -32,36 +35,52 @@ To deploy a Rocky Linux virtual machine, please go to [this repository](https:// ``` 2. **Ensure SSH key exists**: - ```bash + + ``` ls ~/.ssh/terraform_key ``` -3. **Run the playbooks**: - ```bash +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: -1. Connect to the specified Rocky Linux VM -2. Update the system packages -3. Install necessary dependencies (git) -4. Create a dedicated gitea-runner user -5. Set hostname to rocky10 -6. Download and install Gitea Runner v0.2.13 -7. Configure systemd service for automatic startup -8. 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. +- 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 +- 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](https://docs.ansible.com/ansible/latest/index.html). \ No newline at end of file +For additional help with Ansible configuration, consult the official Ansible documentation. \ No newline at end of file