If you already have data or services registered in Backstage, you can import these services into Datadog directly.
If you use API or Terraform, replace the YAMLs in your requests.
If you use GitHub integration, directly save your Backstage YAMLs to a repo with Datadog read permission. Datadog scans for files named catalog-info.yaml located at the root folder of a repo.
Upon import, the following occurs:
Datadog recognizes kind:component and kind:system in Backstage YAML; kind:component in Backstage is recognized as a service in Datadog
metadata.name gets mapped to dd-service
metadata.namespace gets mapped to a custom tag with the format namespace:${metadata.namespace}
spec.lifecycle gets mapped to lifecycle
spec.owner gets mapped to team
metadata.links gets mapped to links
The annotation github.com/project-slug maps to a link with type=repo and url=https://www.github.com/${github.com/project-slug}
The annotations pagerduty.com/service-id and pagerduty.com/account are combined and map to integration.pagerduty
metadata.description gets mapped to description
spec.system gets mapped to application
spec.dependsOn gets mapped to dependsOn
Other spec values get mapped to custom tags
Note: The Service Catalog processes the entire YAML file as a whole. If any section of the YAML file does not have kind:component or kind:system, the entire catalog-info.yaml file is rejected. Schema version v3.0 is required to use kind:system and the dependsOn field.
Example YAML for catalog-info.yaml
catalog-info.yaml
apiVersion:backstage.io/v1alpha1kind:Componentmetadata:name:artist-webdescription:The place to be, for great artistsspec:type:servicelifecycle:productionowner:artist-relations-teamsystem:artist-engagement-portaldependsOn:- service:email-service
Further reading
Additional helpful documentation, links, and articles: