master
json 196 lines 5.06 KB
Raw
1 {
2 "jsonSchema": {
3 "$schema": "http://json-schema.org/draft-07/schema#",
4 "title": "Geth 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": 1
13 },
14 "url": {
15 "title": "URL",
16 "description": "The URL of the Geth [Prometheus endpoint](https://geth.ethereum.org/docs/monitoring/metrics).",
17 "type": "string",
18 "default": "http://127.0.0.1:6060/debug/metrics/prometheus",
19 "format": "uri"
20 },
21 "timeout": {
22 "title": "Timeout",
23 "description": "The timeout in seconds for the HTTP request.",
24 "type": "number",
25 "minimum": 0.5,
26 "default": 1
27 },
28 "not_follow_redirects": {
29 "title": "Not follow redirects",
30 "description": "If set, the client will not follow HTTP redirects automatically.",
31 "type": "boolean"
32 },
33 "username": {
34 "title": "Username",
35 "description": "The username for basic authentication.",
36 "type": "string",
37 "sensitive": true
38 },
39 "password": {
40 "title": "Password",
41 "description": "The password for basic authentication.",
42 "type": "string",
43 "sensitive": true
44 },
45 "bearer_token_file": {
46 "title": "Bearer Token File",
47 "description": "Path to a file containing a bearer token for HTTP authentication.",
48 "type": "string"
49 },
50 "force_http2": {
51 "title": "Force HTTP2",
52 "description": "If set, forces the use of HTTP/2 protocol for all requests, even over plain TCP (h2c).",
53 "type": "boolean"
54 },
55 "proxy_url": {
56 "title": "Proxy URL",
57 "description": "The URL of the proxy server.",
58 "type": "string"
59 },
60 "proxy_username": {
61 "title": "Proxy username",
62 "description": "The username for proxy authentication.",
63 "type": "string",
64 "sensitive": true
65 },
66 "proxy_password": {
67 "title": "Proxy password",
68 "description": "The password for proxy authentication.",
69 "type": "string",
70 "sensitive": true
71 },
72 "headers": {
73 "title": "Headers",
74 "description": "Additional HTTP headers to include in the request.",
75 "type": [
76 "object",
77 "null"
78 ],
79 "additionalProperties": {
80 "type": "string"
81 }
82 },
83 "tls_skip_verify": {
84 "title": "Skip TLS verification",
85 "description": "If set, TLS certificate verification will be skipped.",
86 "type": "boolean"
87 },
88 "tls_ca": {
89 "title": "TLS CA",
90 "description": "The path to the CA certificate file for TLS verification.",
91 "type": "string",
92 "pattern": "^$|^/"
93 },
94 "tls_cert": {
95 "title": "TLS certificate",
96 "description": "The path to the client certificate file for TLS authentication.",
97 "type": "string",
98 "pattern": "^$|^/"
99 },
100 "tls_key": {
101 "title": "TLS key",
102 "description": "The path to the client key file for TLS authentication.",
103 "type": "string",
104 "pattern": "^$|^/"
105 },
106 "body": {
107 "title": "Body",
108 "type": "string"
109 },
110 "method": {
111 "title": "Method",
112 "type": "string"
113 }
114 },
115 "required": [
116 "url"
117 ]
118 },
119 "uiSchema": {
120 "ui:flavour": "tabs",
121 "ui:options": {
122 "tabs": [
123 {
124 "title": "Base",
125 "fields": [
126 "update_every",
127 "url",
128 "timeout",
129 "not_follow_redirects"
130 ]
131 },
132 {
133 "title": "Auth",
134 "fields": [
135 "username",
136 "password"
137 ]
138 },
139 {
140 "title": "TLS",
141 "fields": [
142 "tls_skip_verify",
143 "tls_ca",
144 "tls_cert",
145 "tls_key"
146 ]
147 },
148 {
149 "title": "Proxy",
150 "fields": [
151 "proxy_url",
152 "proxy_username",
153 "proxy_password"
154 ]
155 },
156 {
157 "title": "Headers",
158 "fields": [
159 "headers"
160 ]
161 }
162 ]
163 },
164 "uiOptions": {
165 "fullPage": true
166 },
167 "body": {
168 "ui:widget": "hidden"
169 },
170 "method": {
171 "ui:widget": "hidden"
172 },
173 "bearer_token_file": {
174 "ui:help": "The token is sent in the Authorization header as `Bearer <token>`. **Takes priority over basic authentication**.",
175 "ui:widget": "hidden"
176 },
177 "force_http2": {
178 "ui:widget": "hidden"
179 },
180 "timeout": {
181 "ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
182 },
183 "username": {
184 "ui:widget": "password"
185 },
186 "proxy_username": {
187 "ui:widget": "password"
188 },
189 "password": {
190 "ui:widget": "password"
191 },
192 "proxy_password": {
193 "ui:widget": "password"
194 }
195 }
196 }