The CloudSOE AWX image runs AWX 24 on a single-node k3s Kubernetes cluster, deployed by the AWX Operator on a hardened Ubuntu base. All container images (AWX, execution environments, PostgreSQL 15, Redis 7) are pre-pulled into the image, so first boot rolls out the stack without downloading gigabytes. The image contains no baked-in passwords: the admin password is set uniquely per instance on first boot.

What you’ll need

  • An Azure subscription
  • An SSH public key (password login is disabled in the image)
  • About fifteen minutes — the first boot takes around eight of them

Step 1 — Create the VM

  1. Find the CloudSOE AWX offer in the Azure Marketplace and click Create.
  2. Choose a resource group, region and VM name.
  3. Pick a size with at least 8 GB RAMStandard_D2as_v4 (2 vCPU, 8 GB) is a good starting point. AWX runs a control plane, PostgreSQL and Redis on one node and is memory-hungry.
  4. Under Administrator account, select SSH public key, pick a username (e.g. azureuser) and paste your key.
  5. Create or attach a public IP. For production, make it Static so the portal address survives stop/start.

Step 2 — Open the firewall ports

In the VM’s network security group, allow inbound:

PortProtocolPurpose
22TCPSSH administration
30300TCPAWX web portal (Kubernetes NodePort)

Restrict both to your own IP range where possible.

Step 3 — Watch first boot roll out AWX

On the very first boot the awx-firstboot service applies the AWX Operator manifests, waits for the PostgreSQL, task and web pods to come up, runs the database migrations and sets the admin password. The whole rollout takes about eight minutes.

You don’t have to wait blind — SSH in with your chosen admin username and a live progress bar appears automatically at login:

ssh <admin-user>@<public-ip>

Press Ctrl+C to drop to your shell at any time; run awx-bootstrap-status to bring the meter back. The MOTD also shows a static percentage as a fallback.

Step 4 — Retrieve your credentials

Once the bar reaches 100%, your login details are in a root-protected file readable by your admin user:

cat /opt/default-awx-login.txt

The username is admin and the password is a unique per-instance identifier generated on first boot — never baked into the image. Change it after your first login (see the configuration guide).

Step 5 — Log in to AWX

From your own machine (an Azure VM often cannot reach its own public IP from inside), browse to http://<public-ip>:30300 and sign in with the credentials above. You’ll land on the AWX dashboard, ready to add inventories, credentials and job templates. kubectl also works on-box if you want to poke at the underlying cluster:

kubectl get pods

Next steps

  • Configure AWX — file locations, kubectl, storage and changing the admin password
  • Tips & tricks — backups, troubleshooting first boot and sizing advice