summaryrefslogtreecommitdiffstats
path: root/src/go/collectors/go.d.plugin/modules/unbound/config_schema.json
blob: 500b601690d6364f8e247e3ea80ccd5da5442f0c (plain)
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
{
  "jsonSchema": {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "title": "Unbound collector configuration.",
    "type": "object",
    "properties": {
      "update_every": {
        "title": "Update every",
        "description": "Data collection interval, measured in seconds.",
        "type": "integer",
        "minimum": 1,
        "default": 1
      },
      "address": {
        "title": "Address",
        "description": "The IP address and port where the Unbound server listens for connections.",
        "type": "string",
        "default": "127.0.0.1:8953"
      },
      "timeout": {
        "title": "Timeout",
        "description": "The timeout duration, in seconds, for connection, read, write, and SSL handshake operations.",
        "type": "number",
        "minimum": 0.5,
        "default": 1
      },
      "conf_path": {
        "title": "Path to unbound.conf",
        "description": "The absolute path to the Unbound configuration file. Providing this path enables the tool to make adjustments based on the 'remote-control' section.",
        "type": "string",
        "default": "/etc/unbound/unbound.conf"
      },
      "cumulative_stats": {
        "title": "Cumulative stats",
        "description": "Specifies whether statistics collection mode is enabled. Should match the 'statistics-cumulative' parameter in unbound.conf.",
        "type": "boolean",
        "default": false
      },
      "use_tls": {
        "title": "Use TLS",
        "description": "Indicates whether TLS should be used for secure communication.",
        "type": "boolean",
        "default": true
      },
      "tls_skip_verify": {
        "title": "Skip TLS verification",
        "description": "If set, TLS certificate verification will be skipped.",
        "type": "boolean",
        "default": true
      },
      "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",
        "default": "/etc/unbound/unbound_control.pem",
        "pattern": "^$|^/"
      },
      "tls_key": {
        "title": "TLS key",
        "description": "The path to the client key file for TLS authentication.",
        "type": "string",
        "default": "/etc/unbound/unbound_control.key",
        "pattern": "^$|^/"
      }
    },
    "required": [
      "address"
    ],
    "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)."
    },
    "ui:flavour": "tabs",
    "ui:options": {
      "tabs": [
        {
          "title": "Base",
          "fields": [
            "update_every",
            "address",
            "timeout",
            "conf_path",
            "cumulative_stats"
          ]
        },
        {
          "title": "TLS",
          "fields": [
            "use_tls",
            "tls_skip_verify",
            "tls_ca",
            "tls_cert",
            "tls_key"
          ]
        }
      ]
    }
  }
}