The AWX project is how Red Hat and Ansible demonstrate their commitment to creating a world-class open-source project on top of the Ansible Tower codebase.
This installation is based on Ubuntu 24.
sudo su -
touch /etc/sudoers.d/mansible
echo "mansible ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/mansible
apt update
apt -y upgrade
apt install -y apt-transport-https apt-utils bind9-host ca-certificates curl gnupg htop iotop iptraf-ng links lsb-release \
lynx make man-db manpages manpages-dev manpages-posix mc locate net-tools nano nocache pv python-is-python3 screen software-properties-common wget
apt install -y docker.io
systemctl enable --now docker
usermod -aG docker mansible
newgrp docker
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.31/deb/Release.key | gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
chmod 644 /etc/apt/keyrings/kubernetes-apt-keyring.gpg
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.31/deb/ /' | tee /etc/apt/sources.list.d/kubernetes.list
chmod 644 /etc/apt/sources.list.d/kubernetes.list
apt update
apt install -y kubectl
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube_latest_amd64.deb
dpkg -i minikube_latest_amd64.deb
exit
minikube start
minikube dashboard --url &
kubectl proxy --address=0.0.0.0 --accept-hosts='.*' &
http://YOUR_SERVER_IP:8001/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/
git clone https://github.com/ansible/awx-operator.git
cd awx-operator
git checkout tags/2.19.1
export VERSION=2.19.1
nano kustomization.yaml
Add this content to the file:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- github.com/ansible/awx-operator/config/default?ref=2.19.1
images:
- name: quay.io/ansible/awx-operator
newTag: 2.19.1
namespace: awx
kubectl apply -k .
nano awx.yml
Add this content to the file:
---
apiVersion: awx.ansible.com/v1beta1
kind: AWX
metadata:
name: awx
spec:
service_type: nodeport
...
resources:
- github.com/ansible/awx-operator/config/default?ref=<tag>
# Add this extra line:
- awx.yml
...
kubectl apply -k .
… just wait a bit ;)
kubectl port-forward -n awx service/awx-service --address YOUR_SERVER_IP 8080:80 &> /dev/null &
kubectl get secret awx-admin-password -o jsonpath="{.data.password}" | base64 --decode
http://YOUR_SERVER_IP:8080