Navigate:
~$AWX0.0%

AWX: Web interface and API for Ansible automation

Django-based control plane for centralized Ansible management.

LIVE RANKINGS • 06:52 AM • STEADY
OVERALL
#216
5
CLOUD & DEVOPS
#13
30 DAY RANKING TREND
ovr#216
·Cloud#13
STARS
15.2K
FORKS
3.6K
DOWNLOADS
6
7D STARS
+6
7D FORKS
+1
See Repo:
Share:

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.


1

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.

2

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.

3

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`);


v24.6.1

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.
v24.6.0

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.
v24.5.0

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

Loading tweets...


[ EXPLORE MORE ]

Related Repositories

Discover similar tools and frameworks used by developers