feat: YAML LSP (/yaml endpoint) + IAC source catalog enrichment
- 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:
@@ -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 \
|
||||
|
||||
Reference in New Issue
Block a user