- 필수 기능
- 시작하기
- Glossary
- 표준 속성
- Guides
- Agent
- 통합
- 개방형텔레메트리
- 개발자
- Administrator's Guide
- API
- Datadog Mobile App
- CoScreen
- Cloudcraft
- 앱 내
- 서비스 관리
- 인프라스트럭처
- 애플리케이션 성능
- APM
- Continuous Profiler
- 스팬 시각화
- 데이터 스트림 모니터링
- 데이터 작업 모니터링
- 디지털 경험
- 소프트웨어 제공
- 보안
- AI Observability
- 로그 관리
- 관리
Software Catalog uses definition schemas to store and display relevant metadata about your services. The schemas have built-in validation rules to ensure that only valid values are accepted. You can view warnings in the Definition tab on the Software Catalog side panel for any selected services.
Datadog supports four versions of the definition schema:
Each version builds upon the previous one, adding new functionality while maintaining backwards compatibility. Choose the version that best suits your needs and infrastructure complexity.
The following features are supported in each version:
Feature | v3.0 | v2.2 | v2.1 | v2.0 |
---|---|---|---|---|
Basic Metadata | ||||
Service Groupings | ||||
User Annotations | ||||
CI Pipeline Associations | ||||
Expanded Data Model | ||||
Multi-ownership | ||||
Manual Dependency Declaration |
For detailed information about each version, including full schemas and example YAML files, see the individual version pages in Supported versions.
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.
To install the GitHub integration:
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.
The Software Catalog provides a definition as a Terraform resource. Creating and managing services in the Software Catalog through automated pipelines requires Datadog Provider v3.16.0 or later.
As an alternative to the GitHub integration and Terraform, you can use an open-sourced GitHub Action solution named Datadog Software Catalog Metadata Provider.
You can add metadata to APIs through the Datadog UI or API, or use automated pipelines through the GitHub integration or Terraform.
Combine metadata schema v3.0 with OpenAPI definitions by setting kind: api
and specifying the owner
field:
apiVersion: v3
kind: api
metadata:
name: API Name
description: API Description
displayName: API Name
owner: dd-team
spec:
type: openapi
interface:
definition:
info:
title: API Name
openapi: 3.0.2
paths:
/api/v2/customers/{id}:
get:
summary: get customer information
operationId: getCustomerInfo
tags:
- public
- important
parameters:
- in: path
name: id
responses:
'200':
description: Successful operation
content:
application/vnd.api+json:
schema:
type: object
properties:
data:
type: array
description: Contains customer information
'400':
description: Invalid arguments
'401':
description: Unauthorized operation
'500':
description: Internal server error
The extensions
field is supported in all versions including v2.0. You can incorporate this custom field into deployment processes to standardize and codify best practices.
service.datadog.yaml
schema-version: v2.2
dd-service: web-store
team: shopist
...
extensions:
shopist.com/release-scheduler:
release-manager:
slack: "release-train-shopist"
schedule: "* * * * *"
env:
- name: "staging"
ci_pipeline: "//domains/examples/apps/hello-joe/config/k8s:release-staging"
branch: "hello-joe/staging"
schedule: "* * * * 1"
Datadog provides a JSON Schema for definitions so that when you are editing a definition in a supporting IDE, features such as autocomplete and validation are provided.
The JSON schema for Datadog definitions is registered with the open source Schema Store.