feat(delivery): integrate PostgreSQL delivery
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
# 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`.
|
||||
Reference in New Issue
Block a user