manually create definitions through the Datadog UI.
manage definitions in code and automate import through GitHub, Terraform, or the Datadog API.
Through the Datadog UI
Software Catalog provides a guided workflow for creating entity definitions. After you select an entity type from the Kind dropdown (Service, API, System, and others), the form presents metadata fields and options specific to that type. For example, selecting API surfaces fields for uploading an OpenAPI or gRPC specification, while selecting Service surfaces fields for defining the service type and lifecycle.
Note: Creating and managing services in the Software Catalog through automated pipelines requires Datadog Provider v3.16.0 or later.
Datadog APIs: Import your definition using the Service Definition API (for schema v2.x) or the Software Catalog API (for schema v3+), which are both open-sourced GitHub Action solutions.
Configure the GitHub integration to directly link from where you view the service’s definition in the Software Catalog to where it’s stored and editable in GitHub. Datadog scans for the service.datadog.yaml and entity.datadog.yaml files throughout each repository with read permissions.
Click Link GitHub Account in the Repo Configuration tab.
When the GitHub integration is set up for your definitions, an Edit in GitHub button appears in the service’s Definition tab and links you to GitHub to commit changes.
After you update the YAML files for your repositories, your changes propagate to the Software Catalog. You can register multiple services in one YAML file by creating multiple YAML documents. Separate each document with three dashes (---).
To prevent accidental overwriting, create and modify your definition files with either the GitHub integration or the Definition API endpoints. Updating the same service using both the GitHub and the API may result in unintended overwriting.
Integration validation
To validate your service definitions ingested by Datadog’s GitHub integration, you can view events when services are updated or when there is an error. To view validation errors in Event Management, filter by source:software_catalog and status:error. Adjust the timeframe as needed.
Further reading
Additional helpful documentation, links, and articles: