Internal Service Catalog Entry Builder

Document an internal service for an engineering service catalog

Builds a complete internal service catalog entry with service name, owner team, criticality tier, SLA and latency targets, API endpoint summary, dependencies, deployment info, runbook link, and on-call contact — ready to paste into Backstage, a wiki, or a YAML record. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

What is a service catalog?

A service catalog is a central inventory of every service an organization runs, with ownership, dependencies, and operational metadata for each one. It helps engineers find who owns a service, how to page them, and how it is deployed during incidents.

A catalog entry without the blank-page problem

A good service catalog is only useful when every service has a complete, consistent entry. This builder turns a short form into a clean, structured Markdown record covering ownership, reliability targets, API surface, dependencies, deployment, and on-call — the fields responders actually need at 3am during an incident.

How it works

You fill in the service identity (name, owner team, criticality tier, language, repository) and a one-line description. The tool derives a stable catalog ID by lowercasing the name and replacing spaces with hyphens. You then add reliability targets (availability SLA and latency SLO), list API endpoints and dependencies one per line, and provide deployment notes, a runbook URL, and an on-call contact. The builder assembles all of this into ordered Markdown sections so the same shape is reused for every service, which is what makes a catalog searchable and trustworthy.

What a complete entry enables

During an incident: a responder who has never touched the service can find the owner in one lookup, get the on-call number, pull up the runbook, and know which upstream dependencies to check — without paging three people to ask.

Blast-radius analysis: explicit dependency lists let you trace the downstream impact of a failing service immediately. “Payments-API is down — which services depend on it?” is answerable in seconds if every service lists its dependencies.

Capacity planning: the tier and SLA information drives infrastructure investment decisions. A Tier 1 service needs redundancy, multi-region failover, and rigorous SLO tracking; a Tier 4 service may run on shared resources.

Onboarding: new engineers can read the catalog to understand what every service does and who owns it before their first on-call rotation.

Criticality tier definitions

Most organizations use a four-tier model, though naming varies:

TierImpact of outageOn-call expectation
Tier 1Direct revenue loss or safety impactImmediate page, 24/7
Tier 2Significant degradation, workaround existsPage during business hours
Tier 3Internal tooling; users adaptNext-business-day
Tier 4Best-effort; low usageWeekly sweep

The tier drives SLA targets — you cannot reasonably commit to 99.99% for a Tier 3 service without the same investment you would make in a Tier 1 service.

Example entry structure

## payments-api

**Owner:** Platform Team
**Tier:** 1
**Description:** Handles all Stripe charge and refund requests.

### Reliability
- Availability SLA: 99.95%
- P95 latency SLO: 200ms

### API
- POST /charges — create a charge
- POST /refunds — issue a refund

### Dependencies
- postgres-payments
- stripe-gateway
- redis-session

### Deployment
- Railway: payments-api-production
- Runbook: https://wiki.internal/runbooks/payments-api

### On-call
- PagerDuty: payments-oncall
- Slack: #payments-oncall

Tips

  • Keep endpoint lines in METHOD /path — purpose form so the catalog reads like lightweight API docs.
  • Put one dependency per line so blast-radius tooling can parse them programmatically.
  • Match the criticality tier to your on-call policy: a Tier 1 service needs a paging contact, not just a Slack channel.
  • Reuse the same catalog ID as your repo and deploy names so a responder can jump between them without guessing.