If you've been following my blog series, you already know I've set up Ansible AWX on Kubernetes using Helm. Now the next logical step for me was — how do I actually get my playbooks into AWX without manually uploading them every time? The answer is GitLab. In this blog I'll walk through how I installed GitLab on a VM, pushed my Ansible playbooks to it, and then synced that repo into AWX as a project — in two ways: Using an SSH key (SCM Private Key) — this is what I actually use in production Using a Personal Access Token over HTTP — good for quick lab setups Let's get into it. What We're Building Here The flow looks like this: Ansible Server → Push Playbooks → GitLab (self-hosted VM) → Sync → AWX Project & Templates Once this is set up, every time I update a playbook and push to GitLab, AWX syncs and picks up the latest version automatically. That's the real power of this setup. Part 1 — Installing GitLab on a VM I installed GitLab on a separate Ubuntu 22.04 VM.…