Go to file
Henrik Jess Nielsen 71738d856e Fix: include azure_roles.json in wheel package data
The pyproject.toml packaging config only included .py files, so
azure_roles.json (682 Azure role names) never made it into the built
wheel/Docker image. This silently broke the 'roles: [...]' array
completion feature in production even though the code and local dev
worked fine (repo files were always on disk locally).

Root-caused via a raw WebSocket JSON-RPC test against production that
returned 0 completion items for a roles array, despite the same logic
returning 682 items when exercised directly against the local module
in this repo.
2026-08-14 17:04:41 +02:00

iLSP — Internal LSP Proxy

Self-hosted Language Server Protocol proxy for LRU's internal tooling. Runs at https://ilsp.i80.dk (Nomad/Docker, autobox.i80.dk).

Provides smart autocomplete on top of standard LSPs:

Language Endpoint Extra completions
Bicep wss://ilsp.i80.dk/bicep Internal ACR modules, versions, params
YAML wss://ilsp.i80.dk/yaml AzDO pipeline templates, GHA reusable workflows
Python wss://ilsp.i80.dk/python Jedi (standard)

→ See EDITOR_SETUP.md for editor configuration and a full feature overview.

Quick start

# Check service health
curl https://ilsp.i80.dk/health

# Run smoke tests
python3 scripts/smoke_test_completions.py

# Local dev
make run        # build + start + health check
make run-quick  # start without rebuilding
make logs       # tail container logs
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 for the full workflow and a note on why push_catalogs.sh / /reload don't take effect in prod).

python3 scripts/sync_pipeline_templates.py  # scan AzDO + GHA template repos
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

Push to main → Gitea Actions builds image → Nomad deploys automatically.

# Manual deploy (if CI is down)
git push
ssh autobox.i80.dk 'nomad job run /opt/nomad/jobs/ilsp.nomad'
Description
No description provided
Readme 441 KiB
Languages
Python 91%
Shell 3.7%
Makefile 2.5%
HCL 1.5%
Dockerfile 1.3%