{ "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "properties": { "nameOverride": { "type": "string" }, "fullnameOverride": { "type": "string" }, "config": { "type": "object", "properties": { "database": { "type": "object", "properties": { "existingSecret": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "secretName": { "type": "string" } }, "required": [ "enabled", "secretName" ] }, "secret": { "type": "object", "properties": { "annotations": { "type": "object" }, "labels": { "type": "object" }, "databaseUsername": { "type": "string" }, "databasePassword": { "type": "string" }, "databaseConnectionUrl": { "type": "string" } }, "required": [ "annotations", "labels", "databaseUsername", "databasePassword", "databaseConnectionUrl" ] } }, "required": [ "existingSecret", "secret" ] }, "exporterConfig": { "type": "object", "properties": { "existingSecret": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "secretName": { "type": "string" } }, "required": [ "enabled", "secretName" ] }, "secret": { "type": "object", "properties": { "annotations": { "type": "object" }, "labels": { "type": "object" }, "exporterConfig": { "type": "object" } }, "required": [ "annotations", "labels", "exporterConfig" ] } }, "required": [ "existingSecret", "secret" ] }, "webConfig": { "type": "object", "properties": { "existingSecret": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "secretName": { "type": "string" } }, "required": [ "enabled", "secretName" ] }, "secret": { "type": "object", "properties": { "annotations": { "type": "object" }, "labels": { "type": "object" }, "webConfig": { "type": "object" } }, "required": [ "annotations", "labels", "webConfig" ] } }, "required": [ "existingSecret", "secret" ] } }, "required": [ "database", "exporterConfig", "webConfig" ] }, "deployment": { "type": "object", "properties": { "annotations": { "type": "object" }, "labels": { "type": "object" }, "additionalContainers": { "type": "array", "items": {} }, "affinity": { "type": "object" }, "initContainers": { "type": "array", "items": {} }, "dnsConfig": { "type": "object" }, "dnsPolicy": { "type": "string" }, "hostname": { "type": "string" }, "subdomain": { "type": "string" }, "hostNetwork": { "type": "boolean" }, "imagePullSecrets": { "type": "array", "items": {} }, "postgresExporter": { "type": "object", "properties": { "args": { "type": "array", "items": {} }, "env": { "type": "array", "items": {} }, "envFrom": { "type": "array", "items": {} }, "image": { "type": "object", "properties": { "registry": { "type": "string" }, "repository": { "type": "string" }, "tag": { "type": "string" }, "pullPolicy": { "type": "string" } }, "required": [ "registry", "repository", "tag", "pullPolicy" ] }, "resources": { "type": "object" }, "securityContext": { "type": "object" }, "volumeMounts": { "type": "array", "items": {} } }, "required": [ "args", "env", "envFrom", "image", "resources", "securityContext", "volumeMounts" ] }, "nodeSelector": { "type": "object" }, "priorityClassName": { "type": "string" }, "replicas": { "type": "integer" }, "restartPolicy": { "type": "string" }, "securityContext": { "type": "object" }, "strategy": { "type": "object", "properties": { "type": { "type": "string" }, "rollingUpdate": { "type": "object", "properties": { "maxSurge": { "type": "integer" }, "maxUnavailable": { "type": "integer" } }, "required": [ "maxSurge", "maxUnavailable" ] } }, "required": [ "type", "rollingUpdate" ] }, "terminationGracePeriodSeconds": { "type": "integer" }, "tolerations": { "type": "array", "items": {} }, "topologySpreadConstraints": { "type": "array", "items": {} }, "volumes": { "type": "array", "items": {} } }, "required": [ "annotations", "labels", "additionalContainers", "affinity", "initContainers", "dnsConfig", "dnsPolicy", "hostname", "subdomain", "hostNetwork", "imagePullSecrets", "postgresExporter", "nodeSelector", "priorityClassName", "replicas", "restartPolicy", "securityContext", "strategy", "terminationGracePeriodSeconds", "tolerations", "topologySpreadConstraints", "volumes" ] }, "grafana": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "dashboardDiscoveryLabels": { "type": "object" }, "dashboards": { "type": "object", "properties": { "postgresExporter": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "annotations": { "type": "object" }, "labels": { "type": "object" } }, "required": [ "enabled", "annotations", "labels" ] } }, "required": [ "postgresExporter" ] } }, "required": [ "enabled", "dashboardDiscoveryLabels", "dashboards" ] }, "ingress": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "className": { "type": "string" }, "annotations": { "type": "object" }, "labels": { "type": "object" }, "hosts": { "type": "array", "items": {} }, "tls": { "type": "array", "items": {} } }, "required": [ "enabled", "className", "annotations", "labels", "hosts", "tls" ] }, "podDisruptionBudget": { "type": "object" }, "networkPolicies": { "type": "object" }, "prometheus": { "type": "object", "properties": { "metrics": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "podMonitor": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "annotations": { "type": "object" }, "enableHttp2": { "type": "boolean" }, "followRedirects": { "type": "boolean" }, "honorLabels": { "type": "boolean" }, "labels": { "type": "object" }, "interval": { "type": "string" }, "path": { "type": "string" }, "relabelings": { "type": "array", "items": {} }, "scrapeTimeout": { "type": "string" }, "scheme": { "type": "string" }, "tlsConfig": { "type": "object" } }, "required": [ "enabled", "annotations", "enableHttp2", "followRedirects", "honorLabels", "labels", "interval", "path", "relabelings", "scrapeTimeout", "scheme", "tlsConfig" ] }, "serviceMonitor": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "annotations": { "type": "object" }, "labels": { "type": "object" }, "enableHttp2": { "type": "boolean" }, "followRedirects": { "type": "boolean" }, "honorLabels": { "type": "boolean" }, "interval": { "type": "string" }, "path": { "type": "string" }, "relabelings": { "type": "array", "items": {} }, "scrapeTimeout": { "type": "string" }, "scheme": { "type": "string" }, "tlsConfig": { "type": "object" } }, "required": [ "enabled", "annotations", "labels", "enableHttp2", "followRedirects", "honorLabels", "interval", "path", "relabelings", "scrapeTimeout", "scheme", "tlsConfig" ] } }, "required": [ "enabled", "podMonitor", "serviceMonitor" ] }, "rules": { "type": "array", "items": {} } }, "required": [ "metrics", "rules" ] }, "services": { "type": "object", "properties": { "http": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "annotations": { "type": "object" }, "externalIPs": { "type": "array", "items": {} }, "externalTrafficPolicy": { "type": "string" }, "internalTrafficPolicy": { "type": "string" }, "ipFamilies": { "type": "array", "items": {} }, "labels": { "type": "object" }, "loadBalancerClass": { "type": "string" }, "loadBalancerIP": { "type": "string" }, "loadBalancerSourceRanges": { "type": "array", "items": {} }, "port": { "type": "integer" }, "sessionAffinity": { "type": "string" }, "sessionAffinityConfig": { "type": "object" }, "type": { "type": "string" } }, "required": [ "enabled", "annotations", "externalIPs", "externalTrafficPolicy", "internalTrafficPolicy", "ipFamilies", "labels", "loadBalancerClass", "loadBalancerIP", "loadBalancerSourceRanges", "port", "sessionAffinity", "sessionAffinityConfig", "type" ] } }, "required": [ "http" ] }, "serviceAccount": { "type": "object", "properties": { "existing": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "serviceAccountName": { "type": "string" } }, "required": [ "enabled", "serviceAccountName" ] }, "new": { "type": "object", "properties": { "annotations": { "type": "object" }, "labels": { "type": "object" }, "automountServiceAccountToken": { "type": "boolean" }, "imagePullSecrets": { "type": "array", "items": {} }, "secrets": { "type": "array", "items": {} } }, "required": [ "annotations", "labels", "automountServiceAccountToken", "imagePullSecrets", "secrets" ] } }, "required": [ "existing", "new" ] } }, "required": [ "nameOverride", "fullnameOverride", "config", "deployment", "grafana", "ingress", "podDisruptionBudget", "networkPolicies", "prometheus", "services", "serviceAccount" ] }