AWX: Web interface and API for Ansible automation
Django-based control plane for centralized Ansible management.
Learn more about awx
AWX is a control plane application built on top of Ansible that adds centralized management capabilities to Ansible deployments. The project is implemented using Django and Django REST Framework for the backend, with a React-based frontend, and includes a task engine for orchestrating Ansible playbook execution. It exposes both a web interface and REST API for managing inventories, credentials, job templates, and execution workflows. AWX is commonly deployed in enterprise environments where teams need centralized automation governance, audit trails, and multi-user access control for Ansible infrastructure.
Upstream Ansible Platform
Community-driven project that feeds directly into Red Hat Ansible Automation Platform. Evaluate enterprise features early and contribute to the roadmap before commercial release, with full visibility into upstream development.
Independent Component Scaling
Django REST API, React frontend, and task execution engine run as separate services. Scale job runners independently from the web interface based on workload, enabling resource optimization for large automation deployments.
Pluggable Architecture Refactoring
Features a modular plugin system that allows extending core functionality without modifying base code. Custom inventory sources, credential types, and notification backends can be added independently, enabling tailored automation solutions.
// Launch an existing job template via AWX API
const response = await fetch('https://awx.example.com/api/v2/job_templates/42/launch/', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({ extra_vars: { target_env: 'production' } })
});
const job = await response.json();
console.log(`Job ${job.id} started`);Patch release fixing RBAC permission issues and adding TASK_MANAGER_LOCK_TIMEOUT setting; requires sqlparse 0.5.2 if Django dependency errors occur.
- –Pin sqlparse to 0.5.2 if you encounter Django dependency errors during installation or upgrade.
- –Set TASK_MANAGER_LOCK_TIMEOUT in database connection settings to control task manager lock behavior if needed.
Maintenance release patching CVE-2024-23829 in aiohttp and renaming AWX_DIRECT_SHARED_RESOURCE_MANAGEMENT_ENABLED to ALLOW_LOCAL_RESOURCE_MANAGEMENT.
- –Update aiohttp dependency to address CVE-2024-23829 security vulnerability.
- –Rename environment variable AWX_DIRECT_SHARED_RESOURCE_MANAGEMENT_ENABLED to ALLOW_LOCAL_RESOURCE_MANAGEMENT in configs.
Adds OpenTelemetry centralized logging, AWS SNS webhook notifications, and Kubernetes credential inventory sources; updates Django to 4.2.10.
- –Configure OpenTelemetry for centralized logging if monitoring integration is required.
- –Set OPTIONAL_API_URLPATTERN_PREFIX environment variable if using custom URL prefixes for API endpoints.
See how people are using awx
Top in Cloud & DevOps
Related Repositories
Discover similar tools and frameworks used by developers
portainer
Web-based management platform for multi-orchestrator container environments.
gluetun
Lightweight Go VPN client for routing containerized traffic.
upload-artifact
Store workflow files as versioned zip artifacts.
OpenZFS
Production-ready, enterprise-grade filesystem combining volume management, data integrity protection, snapshots, and compression for Linux, FreeBSD, and illumos systems.
OpenLens
Community-built Kubernetes IDE without authentication requirements.