Files
PFVCluster/awx/awx-instance.yaml
T
mrcharles 153cfc2bd6 feat(awx): deploy AWX 24.6.1 on tsys-awx via k3s + AWX Operator
AWX (Ansible automation controller) deployed on tsys-awx.knel.net (VMID 600
on pfv-tsys6). Accessible at http://tsys-awx.knel.net:80 (admin/Gransyan1!).

Deployment details:
- k3s v1.36.2 single-node (no Traefik) on Debian 13 trixie
- AWX Operator 2.19.1 + AWX CR (LoadBalancer service via k3s ServiceLB)
- PostgreSQL 15 bundled (8 GiB PVC on local-path provisioner)
- VM disk resized 32->60 GB; swap partition converted to swapfile
- Fixed kube-rbac-proxy image (gcr.io removed -> quay.io/brancz replacement)
- Fixed AWX CR field names (postgres_data_volume_size ->
  postgres_storage_requirements)

Scripts: awx/install-k3s.sh, awx/deploy-awx.sh, awx/verify-awx.sh
Manifests: awx/awx-instance.yaml, awx/namespace.yaml
Docs: awx/README.md

All pods running: operator 2/2, postgres 1/1, web 3/3, task 4/4.

💘 Generated with Crush

Assisted-by: Crush:glm-5.2
2026-07-29 19:12:03 -05:00

47 lines
978 B
YAML

---
# AWX namespace
apiVersion: v1
kind: Namespace
metadata:
name: awx
---
# Admin password secret — the password is 'Gransyan1!' (fleet standard)
apiVersion: v1
kind: Secret
metadata:
name: awx-admin-password
namespace: awx
type: Opaque
stringData:
password: Gransyan1!
---
# AWX Custom Resource — single instance, LoadBalancer service
apiVersion: awx.ansible.com/v1beta1
kind: AWX
metadata:
name: tsys-awx
namespace: awx
spec:
service_type: LoadBalancer
ingress_type: none
admin_user: admin
admin_password_secret: awx-admin-password
# PostgreSQL — bundled, stored on local disk via PVC (k3s local-path)
postgres_storage_class: local-path
postgres_storage_requirements:
requests:
storage: 8Gi
postgres_resource_requirements:
requests:
memory: 1Gi
# Resource limits — fit within 12 GB host RAM
web_resource_requirements:
requests:
memory: 1Gi
task_resource_requirements:
requests:
memory: 1Gi