3.3 KiB
Purpose: Once AWX is deployed, you will want to connect Gitea at https://git.bunny-lab.io. The reason for this is so we can pull in our playbooks, inventories, and templates automatically into AWX, making it more stateless overall and more resilient to potential failures of either AWX or the underlying Kubernetes Cluster hosting it.
Obtain Gitea Token
You already have this documented in Vaultwarden's password notes for awx.bunny-lab.io, but in case it gets lost, go to the Gitea Token Page to set up an application token with read-only access for AWX, with a descriptive name.
Create Gitea Credentials
Before you make move on and make the project, you need to associate the Gitea token with an AWX "Credential". Navigate to Resources > Credentials > Add
Field | Value |
---|---|
Credential Name | git.bunny-lab.io |
Description | Gitea |
Organization | Default (Click the Magnifying Lens) |
Credential Type | Source Control |
Username | Gitea Username (e.g. nicole ) |
Password | <Gitea Token> |
Create an AWX Project
In order to link AWX to Gitea, you have to connect the two of them together with an AWX "Project". Navigate to Resources > Projects > Add
Project Variables:
Field | Value |
---|---|
Project Name | Bunny-Lab |
Description | Homelab Environment |
Organization | Default |
Execution Environment | AWX EE (latest) (Click the Magnifying Lens) |
Source Control Type | Git |
Gitea-specific Variables:
Field | Value |
---|---|
Source Control URL | https://git.bunny-lab.io/GitOps/awx.bunny-lab.io.git |
Source Control Branch/Tag/Commit | main |
Source Control Credential | git.bunny-lab.io (Click the Magnifying Lens) |
Add Playbooks
AWX automatically imports any playbooks it finds from the project, and makes them available for templates operating within the same project-space. (e.g. "Bunny-Lab"). This means no special configuration is needed for the playbooks.
Create an Inventory
You will want to associate an inventory with the Gitea project now. Navigate to Resources > Inventories > Add
Field | Value |
---|---|
Inventory Name | Homelab |
Description | Homelab Inventory |
Organization | Default |
Add Gitea Inventory Source
Now you will want to connect this inventory to the inventory file(s) hosted in the aforementioned Gitea repository. Navigate to Resources > Inventories > Homelab > Sources > Add
Field | Value |
---|---|
Source Name | git.bunny-lab.io |
Description | Gitea |
Execution Environment | AWX EE (latest) (Click the Magnifying Lens) |
Source | Sourced from a Project |
Project | Bunny-Lab |
Inventory File | inventories/homelab.ini |
!!! info "Overwriting Existing Inventory Data" You want to make sure that the checkboxes for "Overwrite" and "Overwrite Variables" are checked. This ensures that if devices and/or group variables are removed from the inventory file in Gitea, they will also be removed from the inventory inside AWX.
Webhooks
Optionally, set up webhooks in Gitea to trigger inventory updates in AWX upon changes in the repository. This section is not documented yet, but will eventually be documented.