Local PostgreSQL AWX setup
This directory keeps the local configuration used to expose the PostgreSQL
delivery playbook through AWX. Files ending in .env are ignored; their
.env.example counterparts document the supported parameters.
The local object mapping is:
| AWX object | Local value |
|---|---|
| Project | XINFRA PostgreSQL Project |
| Project source | local ansible/, committed into AWX task pod local Git |
| Inventory | XINFRA PostgreSQL Inventory |
| Inventory host | postgresql-218-11-5-224 -> public 218.11.5.224, SSH via 192.168.1.5 |
| Machine credential | XINFRA PostgreSQL SSH, user root |
| Private key | /Users/lx/xengineer-cs2.pem |
| Secret credential | XINFRA PostgreSQL Runtime Secrets |
| Job Template | XINFRA PostgreSQL Delivery |
| Playbook | postgresql-deploy.yml |
| Rollback Template | XINFRA PostgreSQL Rollback |
| Rollback Playbook | postgresql-rollback.yml |
| Instance Group | xinfra-e2e-execution |
Run the idempotent setup whenever the AWX task pod restarts or the local playbook changes. This AWX installation has project persistence disabled and cannot use a Manual Project, so the Project is Git-backed with launch updates disabled. The script refreshes a local Git source inside the AWX task pod and runs a project update so AWX rebuilds its playbook index.
The setup output includes DELIVERY_POSTGRESQL_ROLLBACK_TEMPLATE_ID; copy that
value into config/local/server-postgresql.env before starting the scheduler.
PostgreSQL CloudDM registration is optional and requires the dedicated URL,
API token, username, and password documented in the server env example. The
CloudDM password must match the PostgreSQL administrator password configured
in the AWX runtime credential.
./scripts/setup-postgresql-awx.sh
Start the backend with AWX delivery scheduling enabled:
./scripts/run-server-postgresql-local.sh
Then start the frontend and open /service/catalog/pgsql. Select
XINFRA PostgreSQL Delivery as the target. The inventory currently contains
one host, so only standalone can be deployed until more distinct inventory
hosts are added.
The frontend dev server listens on http://127.0.0.1:5173. Port 3000 is
reserved for the local authserver MySQL container and must not be used by
Vite. Set XINFRA_BACKEND_PROXY_TARGET only when the backend is listening on a
non-default address.
The AWX HTTP API is http://127.0.0.1:59123. Local port 59121 is Minikube
SSH and must not be used as AWX_BASE_URL.