feat(catalog): sync 5 new Bicep modules; fix docs for broken /data hot-reload
- Refreshed bicep_modules_catalog.json from ACR (27 -> 32 modules): adds elasticpool, managedidentity, signalr, testmodule, virtualnetworks. - Corrected README/EDITOR_SETUP: production ilsp.nomad has no /data volume mount (the Nomad client disables raw Docker bind mounts), so scripts/push_catalogs.sh + POST /reload silently no-op in prod. Catalog updates require commit + push (Gitea Actions rebuild + Nomad redeploy). /data hot-reload still works for local dev via `make run-with-data`.
This commit is contained in:
@@ -182,12 +182,20 @@ python3 scripts/sync_pipeline_templates.py # → pipeline_templates_catalog.js
|
||||
python3 scripts/sync_iac_module_sources.py # → iac_source_catalog.json (from DevOpsMCP)
|
||||
python3 scripts/sync_bicep_modules.py # → bicep_modules_catalog.json
|
||||
|
||||
# 2. Push and deploy
|
||||
bash scripts/push_catalogs.sh
|
||||
# 2. Commit + push — Gitea Actions builds the image and Nomad redeploys it
|
||||
git add bicep_modules_catalog.json iac_source_catalog.json pipeline_templates_catalog.json
|
||||
git commit -m "chore: refresh catalogs"
|
||||
git push
|
||||
```
|
||||
|
||||
The `/reload` endpoint on the running service reloads catalogs from volume-mounted
|
||||
files if present, so you can update without a full redeploy for pipeline templates.
|
||||
> **Note**: `scripts/push_catalogs.sh` and the `/reload` endpoint only take effect if
|
||||
> `/data` is volume-mounted into the running container. **Production (`ilsp.nomad`)
|
||||
> currently has no `/data` mount** — the underlying Nomad client has raw Docker bind
|
||||
> mounts disabled (`volumes are not enabled`), so `push_catalogs.sh` silently pushes
|
||||
> to a path the container never sees, and `/reload` is a no-op there. `/data` only
|
||||
> works for **local dev** via `make run-with-data`. In production, catalog updates
|
||||
> always require a commit + redeploy (as above) until the client is configured with
|
||||
> a proper Nomad `host_volume`.
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -31,9 +31,14 @@ make health # curl health endpoint
|
||||
|
||||
## Updating catalogs
|
||||
|
||||
Catalogs are baked into the Docker image at build time — commit + push to update
|
||||
production (see [EDITOR_SETUP.md](EDITOR_SETUP.md#updating-catalogs) for the full
|
||||
workflow and a note on why `push_catalogs.sh` / `/reload` don't take effect in prod).
|
||||
|
||||
```bash
|
||||
python3 scripts/sync_pipeline_templates.py # scan AzDO + GHA template repos
|
||||
bash scripts/push_catalogs.sh # scp to server + /reload
|
||||
python3 scripts/sync_bicep_modules.py # from DevOpsMCP repo — needs az CLI + ACR access
|
||||
git add *_catalog.json && git commit -m "chore: refresh catalogs" && git push
|
||||
```
|
||||
|
||||
## Deploy
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user