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
|
{
"jsonSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "X509Check collector configuration.",
"type": "object",
"properties": {
"update_every": {
"title": "Update every",
"description": "Data collection interval, measured in seconds.",
"type": "integer",
"minimum": 1,
"default": 1
},
"source": {
"title": "Certificate source",
"description": "The source of the certificate. Allowed schemes: https, tcp, tcp4, tcp6, udp, udp4, udp6, file, smtp.",
"type": "string"
},
"timeout": {
"title": "Timeout",
"description": "The timeout in seconds for the certificate retrieval.",
"type": "number",
"minimum": 0.5,
"default": 1
},
"check_revocation_status": {
"title": "Revocation status check",
"description": "Whether to check the revocation status of the certificate.",
"type": "boolean"
},
"days_until_expiration_warning": {
"title": "Days until warning",
"description": "Number of days before the alarm status is set to warning.",
"type": "integer",
"minimum": 1,
"default": 14
},
"days_until_expiration_critical": {
"title": "Days until critical",
"description": "Number of days before the alarm status is set to critical.",
"type": "integer",
"minimum": 1,
"default": 7
},
"tls_skip_verify": {
"title": "Skip TLS verification",
"description": "If set, TLS certificate verification will be skipped.",
"type": "boolean"
},
"tls_ca": {
"title": "TLS CA",
"description": "The path to the CA certificate file for TLS verification.",
"type": "string",
"pattern": "^$|^/"
},
"tls_cert": {
"title": "TLS certificate",
"description": "The path to the client certificate file for TLS authentication.",
"type": "string",
"pattern": "^$|^/"
},
"tls_key": {
"title": "TLS key",
"description": "The path to the client key file for TLS authentication.",
"type": "string",
"pattern": "^$|^/"
}
},
"required": [
"source"
],
"additionalProperties": false,
"patternProperties": {
"^name$": {}
}
},
"uiSchema": {
"uiOptions": {
"fullPage": true
},
"source": {
"ui:placeholder": "https://example.com:443",
"ui:help": " Website: `https://domainName:443`. Local file: `file:///path/to/cert.pem`. SMTP: `smtp://smtp.example.com:587`."
},
"timeout": {
"ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
},
"ui:flavour": "tabs",
"ui:options": {
"tabs": [
{
"title": "Base",
"fields": [
"update_every",
"source",
"timeout",
"check_revocation_status",
"days_until_expiration_warning",
"days_until_expiration_critical"
]
},
{
"title": "TLS",
"fields": [
"tls_skip_verify",
"tls_ca",
"tls_cert",
"tls_key"
]
}
]
}
}
}
|