Skip to content

Service Registry

The Service Registry maps your monitoring alerts to your actual infrastructure services — the repositories where the code lives and the platforms where it runs. When the AI Chat investigates an alert for a registered service, it automatically knows which GitHub repo to search and which deploy platform to target, producing more specific and actionable guidance.

Without the Service Registry, the AI Chat can analyze alert text and metrics but has no connection to your codebase or deployment infrastructure. With it, the AI can:

  • Suggest gh search commands scoped to the correct repository
  • Generate deployment-specific CLI commands (e.g., railway logs vs. kubectl logs)
  • Reference the right cluster, project, or namespace in its instructions
  • Recommend code paths to investigate based on the service’s language and structure

The Service Registry is configured in the Chrome extension’s Options page. Each entry maps a service name (as it appears in your monitoring platform alerts) to its code and deployment details.

  1. Open Extension Options

    Right-click the Overwatch extension icon in Chrome and select Options, or click the extension icon and then the settings gear.

  2. Scroll to Service Registry

    The Service Registry section is below the environment configuration fields (AWS, Kubernetes, etc.).

  3. Add a Service

    Click Add Service to create a new entry.

  4. Fill in the Service Details

    Configure each field as described below, then click Save Settings.

For each service, you configure the following fields:

FieldDescriptionExample
Service NameThe name as it appears in your monitoring platform alerts. Used for matching.quickshop-api
GitHub RepoThe repository URL or owner/repo shorthand where the service’s code lives.acme-corp/quickshop-api
Deploy PlatformThe hosting platform where this service runs. Selected from a dropdown.Railway
Deploy IdentifierPlatform-specific identifier used to target the correct deployment.quickshop/api-production
LanguageThe primary programming language of the service.Python
Code PathsKey source directories within the repository to focus investigation on.src/, app/
NotesFree-text description of the service for additional AI context.FastAPI backend, uses Redis cache

A fully configured service entry for a Python API deployed on Railway:

{
"quickshop-api": {
"githubRepo": "acme-corp/quickshop-api",
"deployPlatform": "railway",
"deployIdentifier": "quickshop/api-production",
"language": "python",
"codePaths": "app/, services/",
"notes": "FastAPI backend with PostgreSQL and Redis. Handles order processing."
}
}

The Deploy Platform dropdown includes the following options. The Deploy Identifier format varies by platform.

PlatformDeploy Identifier FormatExample
RailwayProject name / Service namequickshop/api-production
AWS ECSCluster / Serviceprod-cluster/quickshop-api-service
AWS LambdaFunction namequickshop-order-processor
KubernetesContext / Namespace / Deploymentprod-cluster/default/quickshop-api
GCP Cloud RunProject / Service / Regionacme-prod/quickshop-api/us-central1
Azure Container AppsResource Group / App nameacme-rg/quickshop-api
Docker ComposeCompose project / Service namequickshop/api
VercelProject namequickshop-frontend
Fly.ioApp namequickshop-api
OtherFree-form identifierAny string meaningful to your setup

When an alert fires for a service that is registered in the Service Registry, the extension automatically includes the service configuration in the AI Chat context. This changes the AI’s behavior in several concrete ways.

The AI sees only the alert payload:

“Alert: High error rate on quickshop-api (5xx errors > 5%)”

The AI provides general troubleshooting advice but cannot reference your specific infrastructure.

The AI knows the full service context:

Service: quickshop-api Repo: acme-corp/quickshop-api Platform: Railway (quickshop/api-production) Language: Python Code Paths: app/, services/

This allows the AI to generate targeted recommendations:

Terminal window
# Search for error handling in the relevant service
gh search code "500" --repo acme-corp/quickshop-api --path app/
# Look at recent commits that may have introduced the issue
gh api repos/acme-corp/quickshop-api/commits --jq '.[0:5] | .[].commit.message'

The service registry data flows through the system as follows:

  1. An alert fires on your monitoring platform (Datadog, Grafana, PagerDuty, etc.)
  2. The extension detects the alert and extracts the service name
  3. The UserProfileService looks up the service name in the registry via getServiceConfig()
  4. If a match is found, the service configuration is included in the getContextForAPI() payload
  5. The AI Chat receives the enriched context and tailors its response accordingly

Earlier versions of the extension used Railway-specific fields (railwayProject, railwayService) at the top level of the service registry entry. These legacy fields are automatically migrated to the platform-agnostic format when the Options page loads.

Legacy format (pre-v3.2):

{
"quickshop-api": {
"githubRepo": "acme-corp/quickshop-api",
"railwayProject": "quickshop",
"railwayService": "api-production"
}
}

Current format (v3.2+):

{
"quickshop-api": {
"githubRepo": "acme-corp/quickshop-api",
"deployPlatform": "railway",
"deployIdentifier": "quickshop/api-production"
}
}

Register all services that generate alerts. If a service sends alerts through your monitoring platform and those alerts reach Overwatch, register it. Even partial configuration (just the GitHub repo) is better than none.

Keep GitHub repo URLs current. If you rename or move a repository, update the service registry. The AI uses these URLs to generate gh CLI commands and search queries.

Use descriptive notes. The Notes field is passed directly to the AI as context. Include details like the tech stack, key dependencies, or common failure modes. For example: “FastAPI backend, uses Redis for session cache, PostgreSQL for persistence. Known issue: connection pool exhaustion under load.”

Match service names exactly. The service name in the registry must match what appears in your monitoring alerts. Check your alert payloads to confirm the exact string used.

Configure code paths for large repositories. If a repository contains multiple services or has a deep directory structure, specify the relevant source paths (e.g., backend/app/, backend/services/). This helps the AI narrow its code search suggestions.

Review entries after importing settings. When you import a settings file from another team member or environment, verify that the service registry entries reference the correct repositories and deploy identifiers for your context.


Related Documentation:


Document version: 1.0 — Initial release