Site icon CentLinux

How to install Ansible AWX on AlmaLinux 9

Share on Social Media

Learn how to install and configure Ansible AWX on AlmaLinux 9 with this step-by-step guide. Set up automation with Docker/Podman, PostgreSQL, and Ansible, troubleshoot common issues, and optimize AWX for IT automation. Get started today! #centlinux #linux #ansible


Table of Contents


Effortless IT Automation: Installing Ansible AWX on AlmaLinux 9

In today’s fast-paced IT landscape, automation is more than just a luxury—it’s a necessity. That’s where Ansible AWX comes in. As the upstream, open-source project behind Red Hat Ansible Automation Platform (formerly Ansible Tower), AWX provides a powerful web-based interface, REST API, and task engine for managing and automating IT operations at scale. It offers the same core functionalities as Ansible Tower—without the licensing fees—making it an excellent choice for teams looking to implement enterprise-grade automation on a budget.

So, why choose AWX? Whether you’re managing cloud infrastructure, deploying applications, or orchestrating complex workflows, AWX simplifies automation with role-based access control, job scheduling, and centralized logging. It brings all the power of Ansible to a graphical dashboard, reducing complexity and enhancing collaboration among teams.

And when it comes to the best operating system for hosting AWX, AlmaLinux 9 stands out. As a robust, enterprise-grade RHEL-compatible distribution, AlmaLinux offers stability, long-term support, and security—all essential for running automation workloads in production environments. Its lightweight footprint and compatibility with modern containerization tools like Podman and Docker make it an ideal choice for deploying AWX.

In this guide, we’ll walk you through the step-by-step process of installing Ansible AWX on AlmaLinux 9. By the end, you’ll have a fully functional AWX instance, ready to streamline your IT automation workflows. Whether you’re a seasoned sysadmin or just starting with Ansible, this tutorial will ensure a smooth installation and configuration process. Let’s dive in!

How to install Ansible AWX on AlmaLinux 9

Prerequisites for Installing Ansible AWX on AlmaLinux 9

Before installing Ansible AWX on AlmaLinux 9, ensure your system meets the necessary requirements and is properly configured. This section covers hardware requirements, necessary software, user permissions, and security settings to prepare your system for a smooth installation.


1. Minimum System Requirements

Ansible AWX is resource-intensive, especially when managing multiple automation jobs. The following are the recommended minimum requirements:

Check your system specifications using:

lscpu | grep "Model name"   # Check CPU model
free -h                     # Check available RAM
df -h /                     # Check available disk space

2. Required Software

Several essential packages must be installed before deploying AWX.

Python 3

AlmaLinux 9 comes with Python 3, but you can verify and install it if needed:

python3 --version
sudo dnf install -y python3 python3-pip

Podman or Docker

AWX runs in containers, so you need Podman (default) or Docker.

To install Podman (recommended for AlmaLinux 9):

sudo dnf install -y podman
podman --version

To install Docker (optional alternative):

sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install -y docker-ce docker-ce-cli containerd.io
sudo systemctl enable --now docker
docker --version

PostgreSQL (Database for AWX)

AWX requires a PostgreSQL database (version 13 or later). Install and enable it:

sudo dnf install -y postgresql-server postgresql-contrib
sudo postgresql-setup --initdb
sudo systemctl enable --now postgresql
psql --version

3. User Permissions


4. Firewall and SELinux Settings

Configure Firewall Rules

If you have firewalld enabled, allow AWX-related ports:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-port=5432/tcp  # PostgreSQL
sudo firewall-cmd --reload

Adjust SELinux (If Enforcing Mode is Enabled)

For smooth installation, set SELinux to permissive mode temporarily:

sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config

Check the current SELinux mode:

sestatus

5. Verify System Compatibility

Before proceeding with installation, ensure everything is set up correctly:

# Check AlmaLinux version
cat /etc/os-release | grep "VERSION_ID"

# Verify Podman or Docker installation
podman --version || docker --version

# Confirm PostgreSQL is running
sudo systemctl status postgresql | grep "active (running)"

# Check firewall and SELinux status
sudo firewall-cmd --list-all
sestatus

Once all prerequisites are met, you are ready to install and configure Ansible AWX on AlmaLinux 9.

Recommended Training: Dive Into Ansible – Beginner to Expert in Ansible – DevOps


Preparing AlmaLinux 9 for Ansible AWX Installation

Before installing Ansible AWX on AlmaLinux 9, you need to prepare the system by updating packages, installing dependencies, creating a dedicated AWX user, and configuring security settings. Follow this step-by-step guide to ensure a smooth setup.


Step 1: Update the System

Keeping your system up to date ensures security patches and the latest package versions are installed.

sudo dnf update -y

Why? This updates all installed packages to their latest stable versions, reducing compatibility issues.

After updating, reboot the system to apply kernel updates (if any):

sudo reboot

Step 2: Install Essential Dependencies

Install EPEL Repository

EPEL (Extra Packages for Enterprise Linux) provides additional useful packages.

sudo dnf install epel-release -y

Why? AWX and its dependencies may require certain packages that are not available in AlmaLinux’s default repositories.

Install Git and Required Tools

Git is required to clone the AWX installation files.

sudo dnf install git -y

Why? AWX is hosted on GitHub, and we need Git to fetch its source code.

Verify installation:

git --version

Step 3: Create a Dedicated AWX User

For security and best practices, AWX should run under a non-root user with appropriate permissions.

sudo useradd -m -d /opt/awx -s /bin/bash awx

Why? Running applications under a dedicated user prevents unintended system-wide modifications.

Grant sudo privileges to the awx user:

echo "awx ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/awx

Why? This allows the AWX user to execute necessary administrative commands without a password prompt.

Switch to the AWX user:

sudo su - awx

Why? All AWX-related installations and configurations should be done under this user.


Step 4: Configure Firewall Rules

To allow AWX access, open necessary ports in firewalld:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-port=5432/tcp  # PostgreSQL
sudo firewall-cmd --reload

Why?

Verify active firewall rules:

sudo firewall-cmd --list-all

Step 5: Adjust SELinux (If Enforcing Mode is Enabled)

AWX runs in containers, which may require adjustments to SELinux policies. To prevent installation issues, set SELinux to permissive mode temporarily:

sudo setenforce 0

Make it permanent by editing the SELinux config file:

sudo sed -i 's/^SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config

Why? Enforcing mode may block AWX-related container processes. You can later create custom SELinux policies for AWX.

Check the current SELinux status:

sestatus

Final Verification

Before proceeding to install AWX, confirm that everything is set up correctly:

# Check system version
cat /etc/os-release | grep "VERSION_ID"

# Verify user switch (should return 'awx')
whoami

# Confirm Git installation
git --version

# Check firewall and SELinux status
sudo firewall-cmd --list-all
sestatus

🎉 Your AlmaLinux 9 system is now fully prepared for Ansible AWX installation! You can now proceed with installing and configuring AWX in the next steps.


Installing and Configuring Docker or Podman on AlmaLinux 9

Ansible AWX runs inside containers, so you need a container runtime to deploy it. AlmaLinux 9 supports Podman (the recommended default) and Docker (a popular alternative). This guide helps you choose the right tool and walks you through installing and verifying the container runtime.


Choosing Between Podman and Docker

FeaturePodman 🟢 (Recommended)Docker 🔵
Rootless ExecutionYes (default) ✅No (requires extra setup) ❌
Service ModeRuns containers without a daemon ✅Uses dockerd service ❌
Compatibility with Docker CLIYes ✅Native support ✅
SecurityMore secure (no root privileges needed) ✅Runs as root by default ❌
System Resource UsageLighter ✅Slightly heavier ❌
Orchestration SupportWorks with Kubernetes/OpenShift ✅Native Kubernetes support ✅
Persistent DaemonNo (per container) ❌Yes (via dockerd) ✅

💡 Best Choice: If security and rootless execution are important, Podman is the better choice for AlmaLinux 9. However, if you need a traditional Docker setup (for compatibility with existing tools), you can install Docker instead.


Step 1: Install Podman and Docker Compose

sudo dnf install -y podman docker-compose

Why?

Step 2: Verify the Installation

Check the installed version:

podman --version

Step 3: Run a Test Container

Run an Alpine Linux test container:

podman run --rm -it alpine sh

Explanation:

To exit, type:

exit

Installing Docker (Alternative Choice)

If you prefer Docker, follow these steps instead.

Step 1: Install Docker

sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install -y docker-ce docker-ce-cli containerd.io docker-compose

Why?

Step 2: Enable and Start Docker

sudo systemctl enable --now docker

Why?

Verify Docker is running:

sudo systemctl status docker

Step 3: Run a Test Container

sudo docker run --rm -it alpine sh

Same as Podman, but requires sudo (unless configured for rootless mode).

Exit the container with:

exit

Final Verification

Check if the container runtime is working properly:

Expected output: An empty list (since no containers are running).


Conclusion

After installing your preferred container runtime, you are now ready to install and configure Ansible AWX!


Installing Ansible and AWX CLI on AlmaLinux 9

To manage and interact with Ansible AWX, you need to install:
Ansible → The automation engine used by AWX to run playbooks.
AWX CLI (Ansible Tower CLI) → A command-line tool to manage AWX from the terminal.

Follow this step-by-step guide to install both on AlmaLinux 9.


Step 1: Install Ansible

Ansible is available in AlmaLinux’s official repositories. Install it using:

sudo dnf install ansible -y

Explanation:

Step 2: Verify Ansible Installation

Check the installed version:

ansible --version

Expected output (example):

ansible [core 2.14.0]
  config file = /etc/ansible/ansible.cfg
  python version = 3.9

Why? Ensures that Ansible is installed and ready for use.


Step 3: Install AWX CLI (Ansible Tower CLI)

AWX CLI (formerly Ansible Tower CLI) allows you to interact with AWX from the command line.

Install AWX CLI using pip

pip3 install ansible-tower-cli --user

Explanation:

Step 4: Verify AWX CLI Installation

Run the following command to check if AWX CLI is installed:

awx --help

Expected output: A list of available AWX CLI commands.


How Ansible and AWX CLI Work Together

ComponentPurposeInteraction
AnsibleAutomation engine for running playbooksAWX executes Ansible playbooks in containers
AWXWeb-based automation controllerUses Ansible to manage IT infrastructure
AWX CLICommand-line tool for AWXManages AWX tasks, inventories, and jobs from the terminal

🎯 Now that Ansible and AWX CLI are installed, you can proceed with deploying Ansible AWX on AlmaLinux 9!


Downloading and Configuring the AWX Installer on AlmaLinux 9

Now that you have prepared your AlmaLinux 9 system, installed Ansible, and set up a container runtime, it’s time to download and configure the AWX installer. This guide covers:
✅ Cloning the AWX installer from GitHub
✅ Modifying the inventory file for database and authentication settings
✅ Customizing ports and other parameters


Step 1: Clone the AWX Installer from GitHub

The AWX installer is hosted on GitHub. Clone it using Git:

git clone https://github.com/ansible/awx.git

Why? This downloads the latest AWX source code, including the installer and deployment scripts.

Navigate to the installer directory:

cd awx/installer

Why? The installer/ directory contains the files needed to deploy AWX using Ansible.


Step 2: Modify the AWX Inventory File

The inventory file contains essential settings for AWX deployment, including database credentials, admin login details, and ports.

Open the inventory file in a text editor:

nano inventory

Key Parameters to Modify

🔹 PostgreSQL Database Configuration

Modify the following lines to set up PostgreSQL (used by AWX for data storage):

postgres_data_dir="/var/lib/pgdocker"
pg_username="awx"
pg_password="StrongDBPassword123"
pg_database="awx"
pg_port="5432"

Best Practices:

🔹 Admin Credentials for AWX

Set the admin username and password for the AWX web interface:

admin_user="admin"
admin_password="SecureAWXPass!"

Tip: Use a strong password to secure AWX access.

🔹 Container Runtime Selection

By default, the installer uses Docker. If you’re using Podman, modify this line:

awx_task_hostname="localhost"
docker_compose_use_podman=True

Why? This ensures AWX runs correctly in a Podman environment.

🔹 Port Configuration

By default, AWX runs on port 80. To change it (e.g., to 8080):

awx_web_port="8080"

Why? If another service is using port 80, change it to avoid conflicts.


Step 3: Save and Exit

After modifying the inventory file:
1️⃣ Press CTRL + X to exit.
2️⃣ Press Y to save changes.
3️⃣ Press Enter to confirm.

✅ The AWX installer is now configured. Next, you’ll run the installer to deploy AWX on AlmaLinux 9! 🚀


Deploying AWX Using Ansible on AlmaLinux 9

Now that the AWX installer is configured, it’s time to deploy AWX using Ansible. This guide walks you through running the playbook, monitoring logs, and troubleshooting common errors.


Step 1: Run the Ansible Playbook

Navigate to the installer directory:

cd ~/awx/installer

Run the Ansible playbook to start the installation:

ansible-playbook -i inventory install.yml

What happens during execution?

💡 Tip: If you’re using Podman instead of Docker, ensure you set docker_compose_use_podman=True in the inventory file.


Step 2: Monitor the Installation Progress

The playbook execution may take several minutes. To check the logs:

journalctl -u awx --no-pager --lines=50

Why? This displays the latest 50 log lines from the AWX service.

To monitor logs in real time:

tail -f /var/log/messages

Why? This continuously outputs system logs related to AWX deployment.


Step 3: Verify AWX Deployment

Once the playbook completes successfully:
1️⃣ Check if the AWX containers are running:

2️⃣ Open a web browser and access AWX:

http://<server-ip>:8080

(Replace 8080 with your AWX port if you changed it in the inventory file.)

3️⃣ Log in using the admin credentials set in the inventory file:


Step 4: Troubleshooting Common Installation Errors

❌ Issue: “ERROR! the playbook execution failed”

Fix: Check the Ansible logs:

less /var/log/ansible.log

Look for missing dependencies or permission issues.


❌ Issue: “Failed to start PostgreSQL container”

Fix: Verify PostgreSQL is running:

sudo systemctl status postgresql

If it’s not running, start it:

sudo systemctl start postgresql

❌ Issue: “Error connecting to AWX Web UI”

Fix: Ensure the AWX service is running:

podman ps   # If using Podman
sudo docker ps   # If using Docker

If the container is down, restart it:

podman start <container-id>   # Podman
sudo docker start <container-id>   # Docker

Fix: Check the firewall rules:

sudo firewall-cmd --list-ports

If port 8080 (or your configured port) is not listed, add it:

sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

🎉 AWX is now deployed! You can start creating projects, inventories, and automation jobs in the AWX web UI.


Accessing the Ansible AWX Web Interface on AlmaLinux 9

Now that AWX is successfully deployed, it’s time to access the web interface. This guide covers:
✅ Retrieving the admin password from logs
✅ Finding the AWX server IP address
✅ Logging in to the AWX dashboard
Security best practices after the first login


Step 1: Retrieve the Admin Password

If you didn’t manually set the admin password in the inventory file before installation, AWX generates one automatically. To retrieve it, check the logs:

sudo journalctl -u awx --no-pager | grep "awx admin password"

Alternatively, if using Podman or Docker, check the container logs:

🔹 Tip: Replace <awx-task-container-id> with the actual AWX task container ID, which you can find by running:

podman ps  # For Podman  
sudo docker ps  # For Docker  

Step 2: Determine the AWX Server IP Address

To access AWX, you need the server’s IP address. Run:

ip a | grep inet

Look for the primary IP address (often associated with eth0 or ens192).

🔹 If accessing remotely: Ensure the AWX server has a public or private IP that’s reachable from your network.


Step 3: Access the AWX Web Interface

Using a Web Browser

1️⃣ Open your web browser and enter the following URL:

http://<server-ip>:8080

(Replace 8080 with your configured AWX port if you changed it in the inventory file.)

2️⃣ When prompted, enter the admin username and password:

Read Also: How to install Ansible AWX on CentOS 7


Step 4: Overview of the AWX Dashboard

After logging in, you’ll see the AWX dashboard, which includes:

Tip: Click on Jobs to monitor running and completed automation tasks.


Step 5: Security Best Practices Post-Login

🔐 1. Change the Default Admin Password
Go to:
SettingsUsers → Select admin → Change password.

🔐 2. Enable HTTPS (SSL/TLS) for Secure Access
Use an Nginx or Apache reverse proxy with an SSL certificate (e.g., Let’s Encrypt).

🔐 3. Restrict Access with a Firewall
Only allow trusted IPs to access AWX:

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="YOUR_IP" port port=8080 protocol=tcp accept'
sudo firewall-cmd --reload

🔐 4. Create Additional Users with Limited Permissions
Go to UsersCreate New User and assign roles based on responsibilities.

🎉 AWX is now ready for automation! You can start adding inventories, playbooks, and job templates to manage IT infrastructure efficiently.


Post-Installation Guide: Configuring Ansible AWX on AlmaLinux 9

After successfully installing Ansible AWX, the next step is to configure it for automation workflows. This guide covers:


1. Managing Users & Roles in AWX (RBAC)

Step 1: Create a New User

1️⃣ Log in to AWX Web UI (http://<server-ip>:8080).
2️⃣ Navigate to AccessUsersAdd (+).
3️⃣ Enter:

Step 2: Assign Role-Based Access

AWX uses RBAC to control permissions. Assign roles based on user responsibilities:

RoleAccess LevelUse Case
System AdministratorFull access to AWXIT Managers, DevOps Engineers
AuditorRead-only accessCompliance & Security Teams
Project AdminManages playbooksLead DevOps Engineers
Job ExecutorRuns job templatesJunior Sysadmins, Developers

1️⃣ Go to Users → Select devops_user
2️⃣ Click RolesAdd Role
3️⃣ Choose a role (e.g., Job Executor) and click Save

Real-World Example: Assign developers the ability to run playbooks without modifying configurations.


2. Adding an Inventory & Setting Up Credentials

Step 1: Create an Inventory

Inventories define the hosts AWX manages.

1️⃣ Go to ResourcesInventoriesAdd (+)
2️⃣ Enter:

Step 2: Add Hosts to Inventory

1️⃣ Select the newly created Inventory
2️⃣ Click HostsAdd (+)
3️⃣ Enter:

Step 3: Configure SSH Credentials

1️⃣ Go to ResourcesCredentialsAdd (+)
2️⃣ Enter:

3️⃣ Assign the SSH Credential to your Inventory.

🔹 Real-World Example: If managing AWS EC2 instances, create AWS credentials instead.


3. Creating Projects & Job Templates

Step 1: Create a Project (GitHub/GitLab Integration)

Projects store Ansible playbooks.

1️⃣ Go to ResourcesProjectsAdd (+)
2️⃣ Enter:

3️⃣ Click SaveSync to fetch playbooks.

Real-World Example: Automate Apache installation via a Git-based repository.

Step 2: Create a Job Template

1️⃣ Go to ResourcesTemplatesAdd (+) Job Template
2️⃣ Enter:

3️⃣ Click SaveLaunch 🚀

Real-World Example: Deploy an Apache web server on a fleet of servers with a single click!


4. Security Hardening Best Practices

🔐 1. Restrict Web UI Access

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="YOUR_IP" port port=8080 protocol=tcp accept'
sudo firewall-cmd --reload

🔐 2. Enable HTTPS with SSL
Set up Nginx as a reverse proxy with a Let’s Encrypt SSL certificate.

🔐 3. Use Role-Based Access Control (RBAC)

🔐 4. Enable Logging & Audit Trails
Go to SettingsSystemEnable Logging for compliance monitoring.

🔐 5. Regularly Update AWX & Dependencies

sudo dnf update -y

🎉 AWX is now fully configured! You can start automating IT infrastructure, deploying applications, and managing configurations—all from a centralized web interface.


Troubleshooting Ansible AWX on AlmaLinux 9

Even with a successful installation, you may encounter issues while running Ansible AWX. This guide covers common AWX troubleshooting scenarios, including:


1. Fixing Installation Failures

Check System Logs for Errors

If the AWX installation fails, check the system logs:

sudo journalctl -xe

Look for AWX service errors, missing dependencies, or permission issues.

Check AWX Installer Logs

If the Ansible playbook fails, check the output logs:

cd ~/awx/installer
ansible-playbook -i inventory install.yml -vvv

What to look for?

Check Docker or Podman Logs

Example Fix: If awx-task container keeps restarting, inspect logs for missing Python dependencies and install them:

pip3 install --upgrade pip
pip3 install -r ~/awx/requirements.txt

2. Resolving Database Connection Issues

If AWX cannot connect to PostgreSQL, you might see errors like:

django.db.utils.OperationalError: could not connect to server

Step 1: Verify PostgreSQL is Running

sudo systemctl status postgresql

Fix: If PostgreSQL is not running, start it:

sudo systemctl start postgresql
sudo systemctl enable postgresql

Step 2: Check Database Connection from AWX Container

Fix: If the connection fails, ensure DATABASE_USER, DATABASE_NAME, and DATABASE_PASSWORD are correctly set in the inventory file (~/awx/installer/inventory).

Step 3: Check Firewall & SELinux

sudo firewall-cmd --list-ports

Fix: Open port 5432 for PostgreSQL if needed:

sudo firewall-cmd --permanent --add-port=5432/tcp
sudo firewall-cmd --reload

3. Debugging Authentication & Login Failures

Problem 1: Forgot Admin Password

Fix: Reset it using the AWX task container:

sudo docker exec -it awx-task awx-manage changepassword admin

Or for Podman:

podman exec -it awx-task awx-manage changepassword admin

Problem 2: “Invalid Login Credentials” Error

Fix: Ensure database migrations ran successfully:

sudo docker exec -it awx-task awx-manage migrate

Or for Podman:

podman exec -it awx-task awx-manage migrate

Problem 3: AWX Web UI Not Loading

Fix: Restart AWX containers:

sudo docker restart <container_id>

Or

podman restart <container_id>

4. Finding & Interpreting AWX Logs

AWX logs are crucial for troubleshooting. Here’s where to find them:

AWX Service Logs

sudo journalctl -u awx --no-pager --lines=50

AWX Task Container Logs

AWX API Logs (Web & API Errors)

sudo docker exec -it awx-task awx-manage showmigrations

Real-World Example: Debugging AWX Job Failures

If an Ansible job template fails, check job logs in the AWX Web UI:

1️⃣ Go to Jobs → Select the failed job
2️⃣ Click View Logs
3️⃣ Look for:


5. Common AWX Errors & Fixes

IssuePossible CauseSolution
awx-task container keeps restartingMissing dependenciesRun pip3 install -r requirements.txt
403 Forbidden on Web UIMissing permissionsEnsure admin user has correct roles
Job fails with "Host Unreachable"SSH issuesVerify inventory and credentials
Playbook syntax errorYAML formatting issueRun ansible-lint on playbooks
Cannot connect to PostgreSQLService not runningStart PostgreSQL with systemctl start postgresql
SSL certificate errorSelf-signed cert issueInstall valid SSL or bypass with --insecure

Troubleshooting AWX on AlmaLinux 9 requires log analysis, system checks, and debugging configurations. By using the right commands, you can quickly resolve most issues and keep your automation workflows running smoothly.


Final Thoughts

Congratulations! 🎉 You’ve successfully installed and configured Ansible AWX on AlmaLinux 9. With AWX up and running, you now have a powerful, web-based automation platform to manage your IT infrastructure efficiently.

Whether you need cloud optimization, server management, or automation, I provide comprehensive AWS and Linux services. Hire me on Fiverr to elevate your systems.

Quick Recap of Installation Steps

Best Practices for Maintaining AWX

Further Learning & Resources

📖 Official Ansible AWX Documentationhttps://github.com/ansible/awx
📖 Ansible Automation Guidehttps://docs.ansible.com/
📖 Podman/Docker Best Practiceshttps://podman.io/

Next Steps: Start Automating! 🚀

Now that AWX is set up, explore automation workflows by:

Ansible AWX unlocks next-level automation, streamlining IT operations and saving valuable time. Keep experimenting, optimize your workflows, and embrace the power of automation! 💡⚡

Exit mobile version