feat(catalog): sync 5 new Bicep modules; fix docs for broken /data hot-reload
All checks were successful
Build and Deploy iLSP / test (push) Successful in 25s
Build and Deploy iLSP / build-and-deploy (push) Successful in 3m13s

- 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:
2026-08-14 12:04:33 +02:00
parent b8eb1d8085
commit 4e957133d0
3 changed files with 3265 additions and 31 deletions

View File

@@ -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_iac_module_sources.py # → iac_source_catalog.json (from DevOpsMCP)
python3 scripts/sync_bicep_modules.py # → bicep_modules_catalog.json python3 scripts/sync_bicep_modules.py # → bicep_modules_catalog.json
# 2. Push and deploy # 2. Commit + push — Gitea Actions builds the image and Nomad redeploys it
bash scripts/push_catalogs.sh 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 > **Note**: `scripts/push_catalogs.sh` and the `/reload` endpoint only take effect if
files if present, so you can update without a full redeploy for pipeline templates. > `/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`.
--- ---

View File

@@ -31,9 +31,14 @@ make health # curl health endpoint
## Updating catalogs ## 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 ```bash
python3 scripts/sync_pipeline_templates.py # scan AzDO + GHA template repos 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 ## Deploy

File diff suppressed because it is too large Load Diff