master
json 228 lines 7.01 KB
Raw
1 {
2 "jsonSchema": {
3 "$schema": "http://json-schema.org/draft-07/schema#",
4 "title": "IPFS 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 "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": 60
20 },
21 "url": {
22 "title": "URL",
23 "description": "The base URL where the IPFS API can be accessed.",
24 "type": "string",
25 "default": "http://127.0.0.1:5001",
26 "format": "uri"
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": 1
34 },
35 "not_follow_redirects": {
36 "title": "Not follow redirects",
37 "description": "If set, the client will not follow HTTP redirects automatically.",
38 "type": "boolean"
39 },
40 "vnode": {
41 "title": "Vnode",
42 "description": "Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).",
43 "type": "string"
44 },
45 "repoapi": {
46 "title": "Query Repo API",
47 "description": "Enables querying the [/api/v0/stats/repo](https://docs.ipfs.tech/reference/kubo/rpc/#api-v0-repo-stat) endpoint for repository statistics. **Disabled by default** due to potential high CPU usage.",
48 "type": "boolean"
49 },
50 "pinapi": {
51 "title": "Query Pin API",
52 "description": "Enables querying the [/api/v0/pin/ls](https://docs.ipfs.tech/reference/kubo/rpc/#api-v0-pin-ls) endpoint to retrieve a list of all pinned objects. **Consider enabling only if necessary**.",
53 "type": "boolean"
54 },
55 "username": {
56 "title": "Username",
57 "description": "The username for basic authentication.",
58 "type": "string",
59 "sensitive": true
60 },
61 "password": {
62 "title": "Password",
63 "description": "The password for basic authentication.",
64 "type": "string",
65 "sensitive": true
66 },
67 "bearer_token_file": {
68 "title": "Bearer Token File",
69 "description": "Path to a file containing a bearer token for HTTP authentication.",
70 "type": "string"
71 },
72 "force_http2": {
73 "title": "Force HTTP2",
74 "description": "If set, forces the use of HTTP/2 protocol for all requests, even over plain TCP (h2c).",
75 "type": "boolean"
76 },
77 "proxy_url": {
78 "title": "Proxy URL",
79 "description": "The URL of the proxy server.",
80 "type": "string"
81 },
82 "proxy_username": {
83 "title": "Proxy username",
84 "description": "The username for proxy authentication.",
85 "type": "string",
86 "sensitive": true
87 },
88 "proxy_password": {
89 "title": "Proxy password",
90 "description": "The password for proxy authentication.",
91 "type": "string",
92 "sensitive": true
93 },
94 "headers": {
95 "title": "Headers",
96 "description": "Additional HTTP headers to include in the request.",
97 "type": [
98 "object",
99 "null"
100 ],
101 "additionalProperties": {
102 "type": "string"
103 }
104 },
105 "tls_skip_verify": {
106 "title": "Skip TLS verification",
107 "description": "If set, TLS certificate verification will be skipped.",
108 "type": "boolean"
109 },
110 "tls_ca": {
111 "title": "TLS CA",
112 "description": "The path to the CA certificate file for TLS verification.",
113 "type": "string",
114 "pattern": "^$|^/"
115 },
116 "tls_cert": {
117 "title": "TLS certificate",
118 "description": "The path to the client certificate file for TLS authentication.",
119 "type": "string",
120 "pattern": "^$|^/"
121 },
122 "tls_key": {
123 "title": "TLS key",
124 "description": "The path to the client key file for TLS authentication.",
125 "type": "string",
126 "pattern": "^$|^/"
127 },
128 "body": {
129 "title": "Body",
130 "type": "string"
131 },
132 "method": {
133 "title": "Method",
134 "type": "string"
135 }
136 },
137 "required": [
138 "url"
139 ]
140 },
141 "uiSchema": {
142 "uiOptions": {
143 "fullPage": true
144 },
145 "body": {
146 "ui:widget": "hidden"
147 },
148 "method": {
149 "ui:widget": "hidden"
150 },
151 "bearer_token_file": {
152 "ui:help": "The token is sent in the Authorization header as `Bearer <token>`. **Takes priority over basic authentication**.",
153 "ui:widget": "hidden"
154 },
155 "force_http2": {
156 "ui:widget": "hidden"
157 },
158 "autodetection_retry": {
159 "ui:help": "This option determines how frequently (in seconds) Netdata will retry data collection jobs that failed initially, with the value of 60 meaning it retries to start data collection jobs every 60 seconds, while setting it to 0 disables this retry mechanism entirely."
160 },
161 "vnode": {
162 "ui:placeholder": "To use this option, first create a Virtual Node and then reference its name here."
163 },
164 "timeout": {
165 "ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
166 },
167 "repoapi": {
168 "ui:help": "This endpoint retrieves the number of objects in the local repository, which is not cached and can be computationally expensive for IPFS to calculate, especially with frequent collection intervals. See [#7528](https://github.com/ipfs/go-ipfs/issues/7528)."
169 },
170 "pinapi": {
171 "ui:help": "Performance may decrease as the number of pinned objects grows, as the entire list needs to be retrieved. See [#3874](https://github.com/ipfs/go-ipfs/issues/3874)."
172 },
173 "password": {
174 "ui:widget": "password"
175 },
176 "proxy_password": {
177 "ui:widget": "password"
178 },
179 "ui:flavour": "tabs",
180 "ui:options": {
181 "tabs": [
182 {
183 "title": "Base",
184 "fields": [
185 "update_every",
186 "autodetection_retry",
187 "url",
188 "timeout",
189 "repoapi",
190 "pinapi",
191 "not_follow_redirects",
192 "vnode"
193 ]
194 },
195 {
196 "title": "Auth",
197 "fields": [
198 "username",
199 "password"
200 ]
201 },
202 {
203 "title": "TLS",
204 "fields": [
205 "tls_skip_verify",
206 "tls_ca",
207 "tls_cert",
208 "tls_key"
209 ]
210 },
211 {
212 "title": "Proxy",
213 "fields": [
214 "proxy_url",
215 "proxy_username",
216 "proxy_password"
217 ]
218 },
219 {
220 "title": "Headers",
221 "fields": [
222 "headers"
223 ]
224 }
225 ]
226 }
227 }
228 }