feat: YAML LSP (/yaml endpoint) + IAC source catalog enrichment
All checks were successful
Build and Deploy iLSP / test (push) Successful in 21s
Build and Deploy iLSP / build-and-deploy (push) Successful in 2m49s

- Add yaml-language-server (Node.js) to Dockerfile stage 3
- Add YAML_LSP_PORT=2090 env var (Dockerfile + ilsp.nomad)
- Start yaml-language-server in background thread (_serve_yaml_lsp)
- Expose /yaml WebSocket endpoint (same WS→TCP proxy as /python and /bicep)
- Load iac_source_catalog.json alongside bicep_modules_catalog.json
- Enrich param_completion_items() with descriptions + required flag from IAC source
  - Required params sorted first (sortText 0_lru_param_0_...) and marked with *
  - detail field shows * prefix for required params
- Update /health to report iac_source_modules + yaml_lsp fields
- Rewrite EDITOR_SETUP.md: WebSocket URLs, YAML schemas config for all editors
  (Helix, Neovim, PyCharm, VS Code) with azure-pipelines + gitea actions schemas
- All 35 tests pass
This commit is contained in:
Henrik Jess Nielsen
2026-05-10 15:40:13 +02:00
parent b93aa84737
commit 5501254b55
5 changed files with 161 additions and 36 deletions

View File

@@ -30,10 +30,11 @@ RUN pip install --upgrade pip build \
# issue on newer Debian hosts (trixie+ rejects packages.microsoft.com GPG since 2026-02-01).
FROM mcr.microsoft.com/dotnet/runtime:10.0
# Install Python 3 + pip (the dotnet base image is Debian bookworm)
# Install Python 3 + pip + Node.js (for yaml-language-server)
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
python3 python3-pip wget \
python3 python3-pip wget nodejs npm \
&& npm install -g yaml-language-server \
&& rm -rf /var/lib/apt/lists/*
# Copy Bicep Language Server (baked in at build time — no volume needed)
@@ -47,6 +48,7 @@ RUN pip3 install --no-cache-dir --break-system-packages /tmp/*.whl && rm /tmp/*.
# Configuration defaults (override via Nomad env)
ENV PYTHON_LSP_PORT=2087 \
BICEP_LSP_PORT=2088 \
YAML_LSP_PORT=2090 \
HEALTH_PORT=2089 \
BICEP_LS_PATH=/opt/bicep-langserver/Bicep.LangServer.dll \
DEVOPS_MCP_URL=https://devops-mcp.i80.dk \