Files
iLSP/README.md
Henrik Jess Nielsen 4e957133d0
All checks were successful
Build and Deploy iLSP / test (push) Successful in 25s
Build and Deploy iLSP / build-and-deploy (push) Successful in 3m13s
feat(catalog): sync 5 new Bicep modules; fix docs for broken /data hot-reload
- 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`.
2026-08-14 12:04:33 +02:00

53 lines
1.7 KiB
Markdown

# 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](EDITOR_SETUP.md)** for editor configuration and a full feature overview.
## Quick start
```bash
# 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](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
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.
```bash
# Manual deploy (if CI is down)
git push
ssh autobox.i80.dk 'nomad job run /opt/nomad/jobs/ilsp.nomad'
```