Skip to content

feat: add pack-sentinel and impossibleG service clients - #1

Merged
autoantohaki merged 1 commit into
mainfrom
feat/sources
Oct 21, 2026
Merged

autoantohaki merged 1 commit into
mainfrom
feat/sources

Conversation

@autoantohaki

Copy link
Copy Markdown
Member

Requested by mau

Before: relay-dash only drew an empty frame and could not talk to anything.

After: Relay Dash can read pack-sentinel (health, collector state, open and acknowledged incidents, recent signals) and any impossibleG service (live and ready checks, loaded models, queue depth, active requests). relay-dash --json polls every source once, prints the results, and exits 1 if anything is down or not ready, so it already works as a script check.

Sources come from relay-dash.json in the working directory, --config, or --sentinel / --service name=url / --no-sentinel / --interval flags. The pack-sentinel token is read only from RELAY_DASH_SENTINEL_TOKEN (or the variable named by sentinel.tokenEnv); a token written in the config file is rejected.

How: small clients under src/sources/. The service client tries /health/* first and falls back to /healthz and /readyz (MCP server, ReAct agent), reads every /v1/models shape the services use (OpenAI-style, embeddings, OCR), and parses Prometheus text for impossible_queue_depth and *_active_requests. Tests use a fake fetch with recorded response shapes, plus one CLI test against a local HTTP server.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant