{ "definitions": { "ConfigGRPCConfig": { "properties": { "enableGRPCGateway": { "default": true, "type": "boolean" }, "enableInstrumentation": { "type": "boolean" }, "enableReflection": { "type": "boolean" }, "enabled": { "type": "boolean" }, "grpcGatewayPath": { "default": "/grpc-api", "type": "string" }, "listen": { "type": "string" }, "logRequests": { "type": "boolean" } }, "type": "object" }, "ConfigHTTPConfig": { "properties": { "enabled": { "type": "boolean" }, "idleTimeout": { "type": "string" }, "listen": { "type": "string" }, "logRequests": { "type": "boolean" }, "readTimeout": { "type": "string" }, "writeTimeout": { "type": "string" } }, "type": "object" }, "ConfigLogConfig": { "properties": { "enabled": { "type": "boolean" }, "format": { "type": "string" }, "level": { "type": "string" }, "output": { "type": "string" }, "timeFormat": { "type": "string" } }, "type": "object" }, "ConfigOTELConfig": { "properties": { "enabled": { "type": "boolean" }, "metricIntervalSecs": { "type": "integer" }, "prometheusEnabled": { "type": "boolean" }, "prometheusPath": { "type": "string" }, "stdoutEnabled": { "type": "boolean" } }, "type": "object" }, "ConfigRecorderConfig": { "properties": { "keepLast": { "default": 120, "type": "integer" }, "redisConfig": { "$ref": "#/definitions/ConfigRedisConfig" }, "type": { "enum": [ "memory", "redis", "noop" ], "type": "string" } }, "type": "object" }, "ConfigRedisConfig": { "properties": { "redisDB": { "default": 0, "type": "integer" }, "redisHost": { "default": "127.0.0.1", "type": "string" }, "redisPassword": { "type": "string" }, "redisPort": { "default": 6379, "type": "integer" }, "redisTLS": { "default": false, "type": "boolean" }, "redisTLSInsecure": { "default": false, "type": "boolean" }, "redisUser": { "type": "string" } }, "type": "object" }, "ConfigWeatherStation": { "properties": { "awnPassKey": { "type": "string" }, "dropMetrics": { "items": { "type": "string" }, "type": "array" }, "equipment": { "type": "string" }, "keepMetrics": { "items": { "type": "string" }, "type": "array" }, "name": { "type": "string" }, "proxyToAWN": { "type": "boolean" }, "proxyToWunderground": { "type": "boolean" }, "sensorMappings": { "additionalProperties": { "type": "string" }, "type": "object" }, "wundergroundID": { "type": "string" }, "wundergroundPassword": { "type": "string" } }, "type": "object" } }, "properties": { "environment": { "type": "string" }, "grpc": { "$ref": "#/definitions/ConfigGRPCConfig" }, "http": { "$ref": "#/definitions/ConfigHTTPConfig" }, "logging": { "$ref": "#/definitions/ConfigLogConfig" }, "metricPrefix": { "default": "weather", "type": "string" }, "name": { "type": "string" }, "otel": { "$ref": "#/definitions/ConfigOTELConfig" }, "recorderConfig": { "$ref": "#/definitions/ConfigRecorderConfig" }, "updatesToKeep": { "default": 1, "type": [ "null", "integer" ] }, "version": { "type": "string" }, "weatherStations": { "items": { "$ref": "#/definitions/ConfigWeatherStation" }, "type": "array" } }, "type": "object" }