# 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` | | 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. ```bash ./scripts/setup-postgresql-awx.sh ``` Start the backend with AWX delivery scheduling enabled: ```bash ./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`.