AWX — Web UI, API, and Task Engine for Ansible
AWX is the upstream open-source project behind Red Hat Ansible Automation Platform, providing a web UI, REST API, and task engine for running, scheduling, and managing Ansible playbooks at scale.
What it is
AWX is the upstream open-source project behind Red Hat Ansible Automation Platform. It provides a web-based user interface, REST API, and task engine built on top of Ansible. AWX lets teams manage playbook execution, inventories, credentials, scheduling, and role-based access control through a central dashboard rather than running Ansible from individual command lines.
Operations teams and DevOps engineers who run Ansible at scale across multiple environments and team members benefit most. AWX adds the collaboration, scheduling, and auditing layers that raw Ansible CLI lacks.
How it saves time or tokens
AWX centralizes Ansible automation management. Instead of each engineer running playbooks from their laptop with different inventory files and variable overrides, AWX provides a single source of truth. Job templates define exactly what runs, against which inventory, with which credentials. The REST API enables integration with CI/CD pipelines, ticketing systems, and monitoring tools. Scheduled jobs and webhook triggers automate recurring tasks without manual intervention.
How to use
- Deploy AWX using the AWX Operator on Kubernetes:
# Install the AWX Operator
kubectl apply -f https://raw.githubusercontent.com/ansible/awx-operator/main/deploy/awx-operator.yaml
# Create an AWX instance
cat <<EOF | kubectl apply -f -
apiVersion: awx.ansible.com/v1beta1
kind: AWX
metadata:
name: awx
spec:
service_type: nodeport
EOF
- Access the web UI at the NodePort address and log in with the admin credentials.
- Create a Project (Git repo with playbooks), Inventory, Credential, and Job Template to start running automation.
Example
# Trigger a job template via REST API
curl -X POST https://awx.example.com/api/v2/job_templates/5/launch/ \
-H 'Authorization: Bearer YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"extra_vars": {"env": "production", "version": "2.1.0"}}'
# Check job status
curl https://awx.example.com/api/v2/jobs/42/ \
-H 'Authorization: Bearer YOUR_TOKEN'
Related on TokRepo
- DevOps Tools -- Infrastructure automation and deployment tools
- Self-Hosted Solutions -- Self-hosted automation platforms
Common pitfalls
- AWX requires Kubernetes for deployment (via the AWX Operator). The older Docker Compose method is deprecated. Plan for a K8s cluster or use K3s for lightweight setups.
- AWX is the upstream project and moves faster than the commercial Ansible Automation Platform. Expect more frequent updates and occasional breaking changes.
- Resource requirements are significant. AWX needs at least 4GB RAM and 2 CPU cores for the Kubernetes pods. Large inventories and concurrent jobs require more.
Frequently Asked Questions
AWX is the upstream open-source project. Ansible Tower was the commercial product built from AWX, now rebranded as Ansible Automation Platform. AWX is free and community-supported; the commercial version adds enterprise support, certified content, and SLA guarantees.
Yes. AWX supports cron-like scheduling for job templates. You can configure daily, weekly, or custom schedules directly in the web UI. Scheduled jobs run automatically and store results for audit.
Yes. AWX provides RBAC for organizations, teams, and users. You can control who can view, edit, or run specific job templates, inventories, and credentials. This is critical for multi-team environments.
AWX exposes a REST API and webhook endpoints. CI/CD tools like Jenkins, GitLab CI, or GitHub Actions can trigger job templates via API calls. AWX returns job status and output through the same API.
The officially supported deployment method uses the AWX Operator on Kubernetes. The legacy Docker Compose method exists but is deprecated and no longer maintained. For simple setups, use K3s as a lightweight Kubernetes distribution.
Citations (3)
- AWX GitHub Repository— AWX is the upstream project behind Red Hat Ansible Automation Platform
- AWX Operator GitHub— AWX Operator deploys AWX on Kubernetes
- AWX Documentation— AWX provides web UI, REST API, and RBAC for Ansible
Related on TokRepo
Discussion
Related Assets
Hugging Face Tokenizers — Fast Text Tokenization for ML Pipelines
Hugging Face Tokenizers is a Rust-powered tokenization library with Python bindings that implements BPE, WordPiece, Unigram, and SentencePiece tokenizers with training and encoding speeds of gigabytes per second, used as the backbone for Transformers model tokenization.
Cleanlab — Find and Fix Label Errors in Any ML Dataset
Cleanlab is a data-centric AI Python library that automatically detects label errors, outliers, and data quality issues in classification and regression datasets, helping improve model accuracy by cleaning training data rather than tuning models.
Hugging Face Datasets — Access and Process ML Datasets at Scale
Hugging Face Datasets is a Python library for efficiently loading, processing, and sharing machine learning datasets with Apache Arrow-backed memory mapping, streaming support, and access to thousands of community datasets on the Hub.