feat: bake bicep catalog into image; fix dict-based modules parsing
Some checks failed
Build and Deploy iLSP / build-and-deploy (push) Has been cancelled
Build and Deploy iLSP / test (push) Successful in 18s

- Remove all DevOpsMCP/aiohttp runtime deps from BicepModuleCatalog
- BicepModuleCatalog.load() reads bicep_modules_catalog.json from disk at startup (sync)
- Fix _load_catalog: catalog uses dict {path: {versions, schema}} not a list
- server.py: call BicepModuleCatalog.load() synchronously, not via asyncio.gather
- Dockerfile: COPY bicep_modules_catalog.json into both builder + runtime stages
- Health endpoint now reports bicep_modules: 27

Verified locally: make run-quick → health returns pypi_packages:40 bicep_modules:27
This commit is contained in:
Henrik Jess Nielsen
2026-05-10 13:40:48 +02:00
parent 44da791f5a
commit 6b38cbd70c
4 changed files with 12658 additions and 95 deletions

View File

@@ -19,6 +19,7 @@ FROM python:3.12-slim AS builder
WORKDIR /build
COPY pyproject.toml .
COPY ilsp/ ilsp/
COPY bicep_modules_catalog.json .
RUN pip install --upgrade pip build \
&& python -m build --wheel --outdir /dist
@@ -40,6 +41,7 @@ COPY --from=bicep-downloader /opt/bicep-langserver /opt/bicep-langserver
# Install Python package and dependencies
COPY --from=builder /dist/*.whl /tmp/
COPY --from=builder /build/bicep_modules_catalog.json /bicep_modules_catalog.json
RUN pip3 install --no-cache-dir --break-system-packages /tmp/*.whl && rm /tmp/*.whl
# Configuration defaults (override via Nomad env)