Prompt
How do I surface service dependencies and on-call info in one place?
Latest observation
Oct 26, 2026
OpenAI APIWeb search: off
A good way to surface service dependencies and on-call info in one place is to create a service catalog / service portal that acts as the system of record for each service and pulls in data from your existing tools.
What to include
For each service, show:
- Owner team
- Primary on-call / secondary on-call
- Escalation policy
- Upstream dependencies and downstream dependents
- Runbooks / dashboards / alerts
- SLOs / health status
- Links to deploys, incidents, and docs
Common ways to implement it
1) Use an existing service catalog
Tools like:
- Backstage
- OpsLevel
- Compass
- Port
- Jellyfish (more delivery/engineering focus)
These can ingest:
- On-call schedules from PagerDuty, Opsgenie, VictorOps
- Dependencies from Kubernetes, cloud resources, CMDB, tracing/APM tools
- Ownership metadata from Git repos, YAML descriptors, service registries
This is usually the fastest path.
2) Build a lightweight internal portal
If you want something custom:
- Store service metadata in a repo or DB
- Sync on-call from PagerDuty/Opsgenie APIs
- Discover dependencies from:
- service manifests
- OpenTelemetry traces
- Terraform / Kubernetes config
- API gateway/service mesh data
- Render in a simple web UI with search and service pages
A common pattern is:
- Source of truth: repo-based service descriptor (
catalog-info.yaml,service.yaml) - Enrichment: API-synced on-call and dependency graphs
- Presentation: searchable portal with each service page
Recommended architecture
Best practice: keep ownership and static metadata in version control, and sync dynamic info from operational tools.
Example data sources:
- Service metadata: repo YAML/Backstage catalog
- On-call: PagerDuty API
- Dependencies: OpenTelemetry + service mesh + infra config
- Docs/runbooks: links from the service catalog
Good UX pattern
On each service page, show:
- Service name and description
- Current primary on-call
- Escalation chain
- Dependency graph
- Recent incidents
- Dashboards and alerts
- Runbooks and owner team
If you want a simple starting point
Start with a table like:
| Service | Owner | On-call | Upstream deps | Downstream deps | Runbook |
|---|
Then evolve into a clickable service graph.
Practical recommendation
If you’re starting from scratch, Backstage + PagerDuty integration is one of the most common and effective solutions.
If you want, I can also give you:
- a minimal schema for service metadata
- a Backstage setup
- or a custom dashboard design for this use case.