You've already forked prometheus-postgres-exporter
							
							
		
			
				
	
	
		
			701 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
			
		
		
	
	
			701 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
| {
 | |
|   "$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"
 | |
|   ]
 | |
| }
 |