191 lines
7.7 KiB
JSON
191 lines
7.7 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema",
|
|
"$id": "http://example.com/example.json",
|
|
"title": "HPE Storage Array Exporter for Prometheus Helm Chart JSON Schema",
|
|
"type": "object",
|
|
"default":
|
|
{
|
|
"acceptEula": false,
|
|
"image": {
|
|
"registry": "quay.io",
|
|
"pullPolicy": "IfNotPresent"
|
|
},
|
|
"logLevel": "info",
|
|
"service": {
|
|
"type": "ClusterIP",
|
|
"port": "9090"
|
|
}
|
|
},
|
|
"required": [
|
|
"acceptEula",
|
|
"arraySecret",
|
|
"image",
|
|
"logLevel",
|
|
"metrics",
|
|
"service"
|
|
],
|
|
"properties": {
|
|
"acceptEula": {
|
|
"$id": "#/properties/acceptEula",
|
|
"title": "Accept the HPE End User License Agreement",
|
|
"description": "Confirm your acceptance of the HPE End User License Agreement at https://www.hpe.com/us/en/software/licensing.html by setting this value to true.",
|
|
"type": "boolean",
|
|
"default": false
|
|
},
|
|
"arraySecret": {
|
|
"$id": "#/properties/arraySecret",
|
|
"title": "Storage array access Secret",
|
|
"description": "The name of a Secret in the same namespace as the Helm chart installation providing storage array access information: \"address\" (or \"backend\"), \"username\", and \"password\".",
|
|
"type": "string",
|
|
"pattern": "[a-z0-9]([-a-z0-9]*[a-z0-9])?",
|
|
"minLength": 1,
|
|
"maxLength": 63
|
|
},
|
|
"image": {
|
|
"$id": "#/properties/image",
|
|
"title": "Container image configuration",
|
|
"type": "object",
|
|
"default": {
|
|
"registry": "quay.io",
|
|
"pullPolicy": "IfNotPresent"
|
|
},
|
|
"required": [
|
|
"registry",
|
|
"pullPolicy"
|
|
],
|
|
"properties": {
|
|
"registry": {
|
|
"$id": "#/properties/image/properties/registry",
|
|
"title": "Container image registry",
|
|
"description": "The registry from which to pull container images.",
|
|
"type": "string",
|
|
"default": "quay.io"
|
|
},
|
|
"pullPolicy": {
|
|
"$id": "#/properties/image/properties/pullPolicy",
|
|
"title": "Container image pull policy",
|
|
"type": "string",
|
|
"default": "IfNotPresent",
|
|
"enum": [ "Always", "IfNotPresent", "Never" ]
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"logLevel": {
|
|
"$id": "#/properties/logLevel",
|
|
"title": "Logging level",
|
|
"description": "Minimum severity of messages to output.",
|
|
"type": "string",
|
|
"default": "info",
|
|
"enum": [ "info", "debug", "trace", "warn", "error" ]
|
|
},
|
|
"metrics": {
|
|
"$id": "#/properties/metrics",
|
|
"title": "Metrics customization",
|
|
"description": "Customization of the metrics provided.",
|
|
"type": "object",
|
|
"default": {
|
|
"disableIntrospection": false
|
|
},
|
|
"required": [
|
|
"disableIntrospection"
|
|
],
|
|
"properties": {
|
|
"disableIntrospection": {
|
|
"$id": "#/properties/metrics/properties/disableIntrospection",
|
|
"title": "Disable introspection metrics",
|
|
"description": "Exclude metrics about the metrics provider itself, with prefixes such as \"promhttp\", \"process\", and \"go\".",
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"service": {
|
|
"$id": "#/properties/service",
|
|
"title": "Service settings",
|
|
"description": "Settings for the Service providing access to storage array metrics.",
|
|
"type": "object",
|
|
"default": {
|
|
"type": "ClusterIP",
|
|
"port": "9090"
|
|
},
|
|
"required": [
|
|
"type",
|
|
"port"
|
|
],
|
|
"properties": {
|
|
"type": {
|
|
"$id": "#/properties/service/properties/type",
|
|
"title": "Service type",
|
|
"description": "The type of Service to create, ClusterIP for access solely from within the cluster or NodePort to provide access from outside the cluster.",
|
|
"type": "string",
|
|
"default": "ClusterIP",
|
|
"enum": [ "ClusterIP", "NodePort" ]
|
|
},
|
|
"port": {
|
|
"$id": "#/properties/service/properties/port",
|
|
"title": "Service port",
|
|
"description": "The TCP port at which to expose access to storage array metrics within the cluster.",
|
|
"type": "integer",
|
|
"default": 9090,
|
|
"minimum": 0,
|
|
"maximum": 65535
|
|
},
|
|
"nodePort": {
|
|
"$id": "#/properties/service/properties/nodePort",
|
|
"title": "Node port",
|
|
"description": "The TCP port at which to expose access to storage array metrics externally at each cluster node, if the Service type is NodePort and automatic assignment is not desired.",
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"maximum": 65535
|
|
},
|
|
"labels": {
|
|
"$id": "#/properties/service/properties/labels",
|
|
"title": "Custom labels",
|
|
"description": "Labels to add to the Service, for example to include target labels in a ServiceMonitor scrape configuration.",
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
},
|
|
"annotations": {
|
|
"$id": "#/properties/service/properties/annotations",
|
|
"title": "Custom annotations",
|
|
"description": "Annotations to add to the Service, for example to configure it as a scrape target when using the Prometheus Helm chart's default configuration.",
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"serviceMonitor": {
|
|
"$id": "#/properties/serviceMonitor",
|
|
"title": "ServiceMonitor settings",
|
|
"description": "Settings for the ServiceMonitor scraped by the Prometheus Operator.",
|
|
"type": "object",
|
|
"default": {
|
|
"enable": false,
|
|
"targetLabels": []
|
|
},
|
|
"properties": {
|
|
"enable": {
|
|
"$id": "#/properties/serviceMonitor/properties/enable",
|
|
"title": "Enable ServiceMonitor for Array Exporter",
|
|
"description": "description",
|
|
"type": "boolean",
|
|
"additionalProperties": true
|
|
},
|
|
"targetLabels": {
|
|
"$id": "#/properties/serviceMonitor/properties/targetLabels",
|
|
"title": "Service target labels",
|
|
"description": "Labels from the Service to add to the scraped metric labels.",
|
|
"type": "array",
|
|
"additionalProperties": true
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
"global": {}
|
|
},
|
|
"additionalProperties": false
|
|
}
|