SysTeam/Docs/Service Catalog

Service Catalog

Map your services, define ownership, track dependencies, and link health checks to the services they monitor.

Overview

A Service represents a deployable unit in your infrastructure — an API, a worker, a database, a frontend app. Each service has an owner team, an escalation policy, and a tier that indicates its criticality.

Services exist alongside Projects (which group checks into folders). A check can belong to a Project (organizational grouping) and have a Service assigned (ownership and routing).

Service Tiers

Tiers classify the business criticality of a service:

TierMeaningExample
P1Critical — revenue-impacting, customer-facingPayment API, Authentication service
P2Important — significant impact if downSearch service, Notification system
P3Standard — internal tools, moderate impactAdmin dashboard, Reporting service
P4Low — minimal impact, best-effortInternal docs, Dev tools

Creating a Service

Navigate to Services in the sidebar and click Add Service.

  • Name — a human-readable name (slug is auto-generated)
  • Tier — P1 through P4
  • Owner Team — the team responsible for this service
  • Escalation Policy — who gets paged when this service has incidents
  • Repository URL — link to the source code
  • Documentation URL — link to internal docs or runbook
  • Slack Channel — the team's communication channel

Dependencies

Dependencies model how services relate to each other. On a service's detail page, you can add dependencies to show what this service depends on.

Three dependency types:

  • Runtime — hard dependency. If the dependency is down, this service fails too. Example: API → Database.
  • Build — needed for deployment but not runtime. Example: Frontend → CI/CD pipeline.
  • Optional — soft dependency. Service degrades but doesn't fail. Example: API → Cache (falls back to database).

The dependency map on the service detail page shows a visual layout: services that depend on this one (left), the current service (center), and what it depends on (right).

Tip

A service cannot depend on itself, and duplicate dependencies are prevented. Dependencies are directional — if A depends on B, that does not mean B depends on A.

Linking Checks to Services

You can assign a check to a service from the check's detail page. This links the check to the service for ownership tracking and future auto-routing.

The service detail page shows a count of linked checks and will display them in a table.

Coming Soon

  • Auto-routing — when a check with a service triggers an incident, automatically use the service's escalation policy
  • Blast radius analysis — when a service goes down, show all affected dependent services and their tier
  • Dependency graph visualization — interactive full-org graph showing all services and their relationships
  • External import — sync services from GitHub repositories or Terraform

API Reference

MethodEndpointDescription
GET/api/organizations/{id}/servicesList all services
POST/api/organizations/{id}/servicesCreate service
GET/api/organizations/{id}/services/{sid}Get service with dependencies
PUT/api/organizations/{id}/services/{sid}Update service
DELETE/api/organizations/{id}/services/{sid}Delete service
POST.../services/{sid}/dependenciesAdd dependency
DELETE.../services/{sid}/dependencies/{did}Remove dependency