master
json 207 lines 5.54 KB
Raw
1 {
2 "jsonSchema": {
3 "$schema": "http://json-schema.org/draft-07/schema#",
4 "title": "DCGM exporter collector configuration.",
5 "type": "object",
6 "properties": {
7 "update_every": {
8 "title": "Update every",
9 "description": "Data collection interval, measured in seconds.",
10 "type": "integer",
11 "minimum": 1,
12 "default": 30
13 },
14 "autodetection_retry": {
15 "title": "Detection retry",
16 "description": "Recheck interval in seconds. Zero means no recheck will be scheduled.",
17 "type": "integer",
18 "minimum": 0,
19 "default": 0
20 },
21 "url": {
22 "title": "URL",
23 "description": "The URL of the dcgm-exporter Prometheus endpoint.",
24 "type": "string",
25 "format": "uri",
26 "default": "http://127.0.0.1:9400/metrics"
27 },
28 "timeout": {
29 "title": "Timeout",
30 "description": "The timeout in seconds for the HTTP request.",
31 "type": "number",
32 "minimum": 0.5,
33 "default": 10
34 },
35 "max_time_series": {
36 "title": "Time series limit",
37 "description": "If an endpoint returns more time series than this limit, the data is not processed. Set to 0 for no limit.",
38 "type": "integer",
39 "minimum": 0,
40 "default": 2000
41 },
42 "max_time_series_per_metric": {
43 "title": "Time series per metric limit",
44 "description": "Metrics with more time series than this limit are skipped. Set to 0 for no limit.",
45 "type": "integer",
46 "minimum": 0,
47 "default": 200
48 },
49 "vnode": {
50 "title": "Vnode",
51 "description": "Associates this data collection job with a Virtual Node.",
52 "type": "string"
53 },
54 "username": {
55 "title": "Username",
56 "description": "The username for basic authentication.",
57 "type": "string",
58 "sensitive": true
59 },
60 "password": {
61 "title": "Password",
62 "description": "The password for basic authentication.",
63 "type": "string",
64 "sensitive": true
65 },
66 "bearer_token_file": {
67 "title": "Bearer token file",
68 "description": "The path to the file with Bearer token.",
69 "type": "string"
70 },
71 "proxy_url": {
72 "title": "Proxy URL",
73 "description": "The URL of the proxy server.",
74 "type": "string"
75 },
76 "proxy_username": {
77 "title": "Proxy username",
78 "description": "The username for proxy authentication.",
79 "type": "string",
80 "sensitive": true
81 },
82 "proxy_password": {
83 "title": "Proxy password",
84 "description": "The password for proxy authentication.",
85 "type": "string",
86 "sensitive": true
87 },
88 "headers": {
89 "title": "Headers",
90 "description": "Additional HTTP headers to include in the request.",
91 "type": [
92 "object",
93 "null"
94 ],
95 "additionalProperties": {
96 "type": "string"
97 }
98 },
99 "tls_skip_verify": {
100 "title": "Skip TLS verification",
101 "description": "If set, TLS certificate verification will be skipped.",
102 "type": "boolean"
103 },
104 "tls_ca": {
105 "title": "TLS CA",
106 "description": "The path to the CA certificate file for TLS verification.",
107 "type": "string",
108 "pattern": "^$|^/"
109 },
110 "tls_cert": {
111 "title": "TLS certificate",
112 "description": "The path to the client certificate file for TLS authentication.",
113 "type": "string",
114 "pattern": "^$|^/"
115 },
116 "tls_key": {
117 "title": "TLS key",
118 "description": "The path to the client key file for TLS authentication.",
119 "type": "string",
120 "pattern": "^$|^/"
121 },
122 "body": {
123 "title": "Body",
124 "type": "string"
125 },
126 "method": {
127 "title": "Method",
128 "type": "string"
129 },
130 "not_follow_redirects": {
131 "title": "Not follow redirects",
132 "description": "If set, the client will not follow HTTP redirects automatically.",
133 "type": "boolean"
134 },
135 "force_http2": {
136 "title": "Force HTTP2",
137 "description": "If set, forces the use of HTTP/2 protocol for all requests, even over plain TCP (h2c).",
138 "type": "boolean"
139 }
140 },
141 "required": [
142 "url"
143 ]
144 },
145 "uiSchema": {
146 "uiOptions": {
147 "fullPage": true
148 },
149 "ui:flavour": "tabs",
150 "ui:options": {
151 "tabs": [
152 {
153 "title": "Base",
154 "fields": [
155 "update_every",
156 "autodetection_retry",
157 "url",
158 "timeout",
159 "vnode"
160 ]
161 },
162 {
163 "title": "Limits",
164 "fields": [
165 "max_time_series",
166 "max_time_series_per_metric"
167 ]
168 },
169 {
170 "title": "Auth",
171 "fields": [
172 "username",
173 "password",
174 "bearer_token_file"
175 ]
176 },
177 {
178 "title": "TLS",
179 "fields": [
180 "tls_skip_verify",
181 "tls_ca",
182 "tls_cert",
183 "tls_key"
184 ]
185 },
186 {
187 "title": "Proxy",
188 "fields": [
189 "proxy_url",
190 "proxy_username",
191 "proxy_password"
192 ]
193 },
194 {
195 "title": "Request",
196 "fields": [
197 "headers",
198 "method",
199 "body",
200 "not_follow_redirects",
201 "force_http2"
202 ]
203 }
204 ]
205 }
206 }
207 }