summaryrefslogtreecommitdiffstats
path: root/src/go/collectors/go.d.plugin/modules/dnsquery/config_schema.json
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/go/collectors/go.d.plugin/modules/dnsquery/config_schema.json133
1 files changed, 133 insertions, 0 deletions
diff --git a/src/go/collectors/go.d.plugin/modules/dnsquery/config_schema.json b/src/go/collectors/go.d.plugin/modules/dnsquery/config_schema.json
new file mode 100644
index 000000000..cfa6f3a14
--- /dev/null
+++ b/src/go/collectors/go.d.plugin/modules/dnsquery/config_schema.json
@@ -0,0 +1,133 @@
+{
+ "jsonSchema": {
+ "$schema": "http://json-schema.org/draft-07/schema#",
+ "title": "DNS query collector configuration.",
+ "type": "object",
+ "properties": {
+ "update_every": {
+ "title": "Update every",
+ "description": "Data collection interval, measured in seconds.",
+ "type": "integer",
+ "minimum": 1,
+ "default": 5
+ },
+ "timeout": {
+ "title": "Timeout",
+ "description": "Timeout for DNS queries, in seconds.",
+ "type": "number",
+ "default": 2
+ },
+ "network": {
+ "title": "Protocol",
+ "description": "Network protocol for DNS queries.",
+ "type": "string",
+ "enum": [
+ "udp",
+ "tcp",
+ "tcp-tls"
+ ],
+ "default": "udp"
+ },
+ "port": {
+ "title": "Port",
+ "description": "Port number for DNS servers.",
+ "type": "integer",
+ "default": 53
+ },
+ "record_types": {
+ "title": "Record types",
+ "description": "Types of DNS records to query for each server.",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "type": "string",
+ "enum": [
+ "A",
+ "AAAA",
+ "ANY",
+ "CNAME",
+ "MX",
+ "NS",
+ "PTR",
+ "SOA",
+ "SPF",
+ "SRV",
+ "TXT"
+ ],
+ "default": "A"
+ },
+ "default": [
+ "A"
+ ],
+ "uniqueItems": true
+ },
+ "servers": {
+ "title": "Servers",
+ "description": "List of DNS servers to query.",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "title": "DNS server",
+ "description": "IP address or hostname of the DNS server.",
+ "type": "string"
+ },
+ "default": [
+ "8.8.8.8"
+ ],
+ "uniqueItems": true,
+ "minItems": 1
+ },
+ "domains": {
+ "title": "Domains",
+ "description": "List of domains or subdomains to query. A random domain will be selected from this list at each iteration.",
+ "type": [
+ "array",
+ "null"
+ ],
+ "items": {
+ "title": "Domain",
+ "type": "string"
+ },
+ "default": [
+ "google.com",
+ "github.com"
+ ],
+ "uniqueItems": true,
+ "minItems": 1
+ }
+ },
+ "required": [
+ "domains",
+ "servers",
+ "network"
+ ],
+ "additionalProperties": false,
+ "patternProperties": {
+ "^name$": {}
+ }
+ },
+ "uiSchema": {
+ "uiOptions": {
+ "fullPage": true
+ },
+ "timeout": {
+ "ui:help": "Accepts decimals for precise control (e.g., type 1.5 for 1.5 seconds)."
+ },
+ "network": {
+ "ui:widget": "radio",
+ "ui:options": {
+ "inline": true
+ }
+ },
+ "servers": {
+ "ui:listFlavour": "list"
+ },
+ "domains": {
+ "ui:listFlavour": "list"
+ }
+ }
+}