Setting up Service Catalog


The Service Catalog displays a list of services. The Registered column in the Ownership tab indicates that a corresponding service is registered with a green check mark.

To update the service definition, use the Service Definition API or Terraform.

For services that already send APM data

Any service that sends tracing data to Datadog APM is automatically listed in the Service Catalog. Until you register it, it shows a gray check mark when you hover over it.

To register the service and add ownership information, related links such as runbooks, and links to source code repositories, update the service definition.

Go to Service Catalog > Get Started to get help forming valid JSON to post with the API.

For all other services you want to catalog

If the service, API, or custom library you are interested in is not listed on the catalog page:

  1. Go to Get Started.

  2. The Register Services form helps you generate JSON that you can post to Service Catalog API endpoint. Provide a service name in the dd-service field. Fill in ownership, source, and other service information in the Service Definition schema presented. Refer to the full JSON schema on GitHub for complete details.

  3. Click the Copy button to copy the generated JSON. Send this as the body of a POST API call with the Service Definition API.

Discover services being reported in other Datadog telemetry data

This feature is in beta.

To discover other services through existing Datadog telemetry such as infrastructure metrics, go to the Discover Services tab and follow instructions there. Discovery uses the DD_SERVICE Unified Service Tagging convention to locate services sending data to your Datadog organization.

Store and edit service definitions in GitHub

Configure the GitHub Apps integration to directly link from where you view the service’s definition in the Service Catalog to where it’s stored and editable in GitHub.

To install the GitHub Apps integration, navigate to the integration tile and click Link GitHub Account in the Repo Configuration tab.

Service definition YAML files

Datadog scans for the service.datadog.yaml file at the root of each repository with read permissions. You can register multiple services in one YAML file by creating multiple YAML documents. Separate each document with three dashes (---).

Modify service definition

When the GitHub Apps integration is set up for your service definitions, an Edit in Github button appears in the service’s Definition tab and links you to GitHub to commit changes.

An Edit in Github button appears in the Definition tab of a service in the Service Catalog

After you update the YAML files for your repositories, your changes propagate to the Service Catalog.

To prevent accidental overwriting, create and modify your service definition files with either the GitHub Apps integration or the Service Definition API endpoints. Updating the same service using both the GitHub and the API could result in unintended overwriting.

Automate service definition updates with Terraform

The Service Catalog provides a service definition as a Terraform resource. Creating and managing services in the Service Catalog through automated pipelines requires Datadog Provider v3.16.0 or later.

For more information, see the Datadog Provider documentation.

Further reading