conference logo

Playlist "FrOSCon 2023"

AWX mit GitLab

Ottavia Balducci

AWX ist ein auf Ansible basierendes Open-Source-Werkzeug, mit welchem
sich die Systemkonfiguration automatisieren lässt. Die eigenen
Playbooks und Ansible Collections können in AWX aus verschiedensten
Quellen synchronisiert werden. Eine gute Möglichkeit dafür bietet
GitLab. In diesem Vortrag möchte ich eine Einführung in AWX geben und
dessen Zusammenarbeit mit GitLab anhand einiger Anwendungsbeispiele
vorstellen.

Ansible ist ein Kommandozeilenwerkzeug zur Systemkonfiguration mittels
YAML-Dateien. Wem reines Ansible noch nicht genug ist, findet im
darauf aufbauenden Open-Source-Projekt AWX weitergehende
Möglichkeiten, wie zum Beispiel ein GUI zum Planen der Jobs und
Rechtemanagement. Insbesondere in großen Organisationen kommt AWX zum
Einsatz.

AWX kann unter anderem den Ansible-Code aus GitLab ziehen und dann in
ein AWX-Projekt synchronisieren. GitLab ist eine Open-Source
Versionsverwaltungsplattform, welche im Bereich DevOps und DevSecOps
besonders beliebt ist. Die Zusammenarbeit zwischen GitLab und AWX kann
aber deutlich über das reine Synchronisieren von Playbooks hinaus
gehen.

Zum Beispiel kann AWX mit Webhooks arbeiten. Dadurch lassen sich
Ansible Jobs in AWX automatisch nach jedem Push-Event in GitLab
starten.

Ein weiterer Anwendungsfall betrifft die sogenannten Execution
Environments: Das sind Container-Images, welche den eigentlichen
ansible-playbook-Befehl ausführen. Diese kann man selbst bauen und mit
eigenen Ansible-Collections ausstatten. Zum Hinterlegen und
Versionieren der Images kann wiederum GitLab eingesetzt werden.

In meinem Vortrag möchte ich eine Einführung in AWX geben und tiefer
auf die Zusammenarbeit zwischen AWX und GitLab eingehen. Dazu werde
ich unter anderem folgende Themen vorstellen: Ansible Playbooks, AWX,
Ansible Collections und Execution Environments.