-
Notifications
You must be signed in to change notification settings - Fork 25
Expand file tree
/
Copy pathmetadata.schema.json
More file actions
148 lines (148 loc) · 4.44 KB
/
metadata.schema.json
File metadata and controls
148 lines (148 loc) · 4.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
{
"$schema": "http://json-schema.org/draft-07/schema",
"$id": "https://raw.githubusercontent.com/DataDog/schema/main/service-catalog/v3/metadata.schema.json",
"description": "Metadata fields common to all versions/kinds of an entity.",
"type": "object",
"required": ["name"],
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"description": "A read-only globally unique identifier for the entity generated by Datadog. User supplied values are ignored.",
"examples": ["4b163705-23c0-4573-b2fb-f6cea2163fcb"],
"minLength": 1
},
"inheritFrom": {
"description": "The entity reference from which to inherit metadata",
"examples": [
"application:default/myapp"
],
"type": "string"
},
"managed": {
"type": "object",
"description": "A read-only set of Datadog managed attributes generated by Datadog. User supplied values are ignored.",
"additionalProperties": true
},
"owner": {
"description": "The owner of the entity, usually a team",
"examples": ["myTeam"],
"type": "string"
},
"additionalOwners": {
"description": "The additional owners of the entity, usually a team",
"additionalProperties": false,
"type": "array",
"items": {
"properties": {
"name": {
"description": "Team name",
"type": "string"
},
"type": {
"description": "Team type",
"type": "string"
}
},
"required": ["name"]
}
},
"name": {
"type": "string",
"description": "Unique name given to an entity under the kind/namespace ",
"examples": ["myService"],
"minLength": 1
},
"description": {
"type": "string",
"description": "Short description of the entity. The UI can leverage the description for display"
},
"displayName": {
"type": "string",
"description": "User friendly name of the entity. The UI can leverage the displayName for display"
},
"tags": {
"description": "A set of custom tags",
"examples": [["my:tag"]],
"type": "array",
"items": {
"type": "string"
}
},
"contacts": {
"description": "A list of contacts for the entity",
"additionalProperties": false,
"type": "array",
"items": {
"additionalProperties": false,
"type": "object",
"properties": {
"name": {
"description": "Contact name",
"examples": ["Oncall Slack", "Team Email"],
"type": "string",
"minLength": 2
},
"type": {
"description": "Contact type. See examples for a list of recognizable types",
"examples": ["email", "slack", "microsoft-teams"],
"type": "string"
},
"contact": {
"description": "Contact value",
"examples": [
"contact@datadoghq.com",
"https://my-org.slack.com/archives/my-channel"
],
"type": "string"
}
},
"if": {
"properties": { "type": { "const": "email" } }
},
"then": {
"properties": { "contact": { "format": "email" } }
},
"required": ["type", "contact"]
}
},
"links": {
"description": "A list of links for the entity",
"additionalProperties": false,
"type": "array",
"items": {
"additionalProperties": false,
"type": "object",
"properties": {
"name": {
"description": "Link name",
"examples": ["Runbook", "Dashboard"],
"type": "string"
},
"type": {
"description": "Link type. See examples for a list of recognizable types",
"examples": ["runbook", "doc", "repo", "dashboard", "other"],
"type": "string",
"default": "other"
},
"url": {
"description": "Link url",
"examples": ["https://my-runbook"],
"type": "string",
"format": "uri"
},
"provider": {
"description": "Link provider. See examples for a list of recognizable providers",
"examples": ["Github", "Confluence"],
"type": "string"
}
},
"required": [
"name",
"type",
"url"
]
}
}
}
}