261fa74ac9
Add a configuration option `interface` to allow configuring where the HTTP metric server should bind to.
83 lines
3.2 KiB
JSON
83 lines
3.2 KiB
JSON
{
|
|
"pluginAlias": "PrometheusExporter",
|
|
"pluginType": "platform",
|
|
"singular": true,
|
|
"schema": {
|
|
"type": "object",
|
|
"required": ["pin"],
|
|
"properties": {
|
|
"pin": {
|
|
"title": "Pin",
|
|
"description": "Homebridge PIN for service authentication",
|
|
"type": "string",
|
|
"pattern": "^\\d{3}-\\d{2}-\\d{3}$",
|
|
"required": true
|
|
},
|
|
"debug": {
|
|
"title": "Debug",
|
|
"type": "boolean",
|
|
"required": false,
|
|
"default": false
|
|
},
|
|
"prefix": {
|
|
"title": "Metrics prefix",
|
|
"type": "string",
|
|
"required": false,
|
|
"default": "homebridge"
|
|
},
|
|
"port": {
|
|
"title": "Metrics server port",
|
|
"description": "TCP port where the Prometheus metrics server listens",
|
|
"type": "integer",
|
|
"required": false,
|
|
"default": 36123
|
|
},
|
|
"interface": {
|
|
"title": "Metrics server interface",
|
|
"description": "Interface where the Prometheus metrics server listens. Can be an IP, a hostname, \"0.0.0.0\" for all IPv4 interfaces, \"::1\" for all IPv6 interfaces. Default is \"::\" which means \"any interface\"",
|
|
"type": "string",
|
|
"default": "::"
|
|
},
|
|
"refresh_interval": {
|
|
"title": "Service refresh interval",
|
|
"description": "Discover new services every <interval> seconds",
|
|
"type": "integer",
|
|
"required": false,
|
|
"default": 60
|
|
},
|
|
"request_timeout": {
|
|
"title": "Request timeout",
|
|
"description": "Request timeout when interacting with homebridge instances",
|
|
"type": "integer",
|
|
"required": false,
|
|
"default": 10
|
|
},
|
|
"discovery_timeout": {
|
|
"title": "Service discovery timeout",
|
|
"description": "Discovery timeout after which the current discovery is considered failed",
|
|
"type": "integer",
|
|
"required": false,
|
|
"default": 20
|
|
},
|
|
"tls_cert_file": {
|
|
"title": "TLS cert file",
|
|
"description": "Path to TLS certificate file (in PEM format)",
|
|
"type": "string",
|
|
"required": false
|
|
},
|
|
"tls_key_file": {
|
|
"title": "TLS key file",
|
|
"description": "Path to TLS key file",
|
|
"type": "string",
|
|
"required": false
|
|
},
|
|
"basic_auth": {
|
|
"title": "Basic auth username/password pairs",
|
|
"description": "Usernames and passwords for basic auth. Object key is the username, object value is the password. Password must be encoded with bcrypt. Example: {\"joanna\": \"$2a$12$5/mmmRB28wg9yzaXhee5Iupq3UrFr/qMgAe9LvAxGoY5jLcfVGTUq\"}",
|
|
"type": "object",
|
|
"additionalProperties": { "type": "string" },
|
|
"required": false
|
|
}
|
|
}
|
|
}
|
|
}
|