Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
352 changes: 352 additions & 0 deletions charts/qdrant/values.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,352 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Schema for validating Helm values for Qdrant Helm chart",
"type": "object",
"definitions": {
"stringMap": {
"type": "object",
"additionalProperties": { "type": "string" }
},
"probe": {
"type": "object",
"properties": {
"enabled": { "type": "boolean" },
"initialDelaySeconds": { "type": "integer", "minimum": 0 },
"periodSeconds": { "type": "integer", "minimum": 1 },
"timeoutSeconds": { "type": "integer", "minimum": 1 },
"failureThreshold": { "type": "integer", "minimum": 1 },
"successThreshold": { "type": "integer", "minimum": 1 }
}
},
"apiKey": {
"description": "false: disabled, true: auto-generated, string: the key itself, object: valueFrom reference to an external secret",
"oneOf": [
{ "type": "boolean" },
{ "type": "string" },
{
"type": "object",
"properties": {
"valueFrom": {
"type": "object",
"properties": {
"secretKeyRef": {
"type": "object",
"properties": {
"name": { "type": "string" },
"key": { "type": "string" }
},
"required": ["name", "key"]
}
},
"required": ["secretKeyRef"]
}
},
"required": ["valueFrom"]
}
]
},
"volumeClaim": {
"type": "object",
"properties": {
"accessModes": {
"type": "array",
"items": {
"type": "string",
"enum": [
"ReadWriteOnce",
"ReadOnlyMany",
"ReadWriteMany",
"ReadWriteOncePod"
]
}
},
"size": { "type": "string" },
"annotations": { "type": "object" },
"additionalLabels": { "type": "object" },
"storageVolumeName": { "type": "string" },
"storageSubPath": { "type": "string" },
"storageClassName": { "type": "string" },
"snapshotsVolumeName": { "type": "string" },
"snapshotsSubPath": { "type": "string" },
"volumeAttributesClassName": { "type": "string" }
}
}
},
"properties": {
"replicaCount": { "type": "integer", "minimum": 0 },
"image": {
"type": "object",
"properties": {
"repository": { "type": "string" },
"pullPolicy": {
"type": "string",
"enum": ["Always", "IfNotPresent", "Never"]
},
"tag": { "type": "string" },
"useUnprivilegedImage": { "type": "boolean" }
}
},
"imagePullSecrets": {
"type": "array",
"items": { "type": "object" }
},
"nameOverride": { "type": "string" },
"fullnameOverride": { "type": "string" },
"args": {
"type": "array",
"items": { "type": "string" }
},
"env": {
"type": "array",
"items": { "type": "object" }
},
"service": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": ["ClusterIP", "NodePort", "LoadBalancer", "ExternalName"]
},
"additionalLabels": { "type": "object" },
"annotations": { "type": "object" },
"loadBalancerIP": { "type": "string" },
"ports": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": { "type": "string" },
"port": { "type": "integer", "minimum": 1, "maximum": 65535 },
"targetPort": {
"oneOf": [
{ "type": "integer", "minimum": 1, "maximum": 65535 },
{ "type": "string" }
]
},
"protocol": {
"type": "string",
"enum": ["TCP", "UDP", "SCTP"]
},
"checksEnabled": { "type": "boolean" },
"appProtocol": { "type": "string" }
},
"required": ["name", "port", "targetPort"]
}
}
}
},
"ingress": {
"type": "object",
"properties": {
"enabled": { "type": "boolean" },
"ingressClassName": { "type": "string" },
"additionalLabels": { "type": "object" },
"annotations": { "type": "object" },
"hosts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"host": { "type": "string" },
"paths": {
"type": "array",
"items": {
"type": "object",
"properties": {
"path": { "type": "string" },
"pathType": {
"type": "string",
"enum": ["Prefix", "Exact", "ImplementationSpecific"]
},
"servicePort": {
"oneOf": [
{ "type": "integer", "minimum": 1, "maximum": 65535 },
{ "type": "string" }
]
}
}
}
}
}
}
},
"tls": {
"type": "array",
"items": { "type": "object" }
}
}
},
"livenessProbe": { "$ref": "#/definitions/probe" },
"readinessProbe": { "$ref": "#/definitions/probe" },
"startupProbe": { "$ref": "#/definitions/probe" },
"additionalLabels": { "type": "object" },
"additionalAnnotations": { "type": "object" },
"podAnnotations": { "type": "object" },
"podLabels": { "type": "object" },
"resources": { "type": "object" },
"containerSecurityContext": {
"type": ["object", "boolean"],
"properties": {
"runAsNonRoot": { "type": "boolean" },
"runAsUser": { "type": "integer", "minimum": 0 },
"runAsGroup": { "type": "integer", "minimum": 0 },
"allowPrivilegeEscalation": { "type": "boolean" },
"privileged": { "type": "boolean" },
"readOnlyRootFilesystem": { "type": "boolean" }
}
},
"podSecurityContext": {
"type": ["object", "boolean"],
"properties": {
"fsGroup": { "type": "integer", "minimum": 0 },
"fsGroupChangePolicy": {
"type": "string",
"enum": ["Always", "OnRootMismatch"]
}
}
},
"lifecycle": { "type": "object" },
"updateVolumeFsOwnership": { "type": "boolean" },
"nodeSelector": { "type": "object" },
"tolerations": {
"type": "array",
"items": { "type": "object" }
},
"affinity": { "type": "object" },
"topologySpreadConstraints": {
"type": "array",
"items": { "type": "object" }
},
"persistence": { "$ref": "#/definitions/volumeClaim" },
"snapshotPersistence": {
"allOf": [
{ "$ref": "#/definitions/volumeClaim" },
{
"type": "object",
"properties": { "enabled": { "type": "boolean" } }
}
]
},
"snapshotRestoration": {
"type": "object",
"properties": {
"enabled": { "type": "boolean" },
"pvcName": { "type": "string" },
"mountPath": { "type": "string" },
"snapshots": {
"type": ["array", "null"],
"items": { "type": "string" }
}
}
},
"config": {
"description": "Free-form Qdrant configuration, rendered into the config file. Left open because Qdrant adds options between releases.",
"type": "object",
"properties": {
"cluster": {
"type": "object",
"properties": {
"enabled": { "type": "boolean" },
"p2p": {
"type": "object",
"properties": {
"port": { "type": "integer", "minimum": 1, "maximum": 65535 },
"enable_tls": { "type": "boolean" }
}
},
"consensus": {
"type": "object",
"properties": {
"tick_period_ms": { "type": "integer", "minimum": 1 }
}
}
}
},
"service": {
"type": "object",
"properties": {
"enable_tls": { "type": "boolean" }
}
}
}
},
"sidecarContainers": {
"type": "array",
"items": { "type": "object" }
},
"metrics": {
"type": "object",
"properties": {
"serviceMonitor": {
"type": "object",
"properties": {
"enabled": { "type": "boolean" },
"additionalLabels": { "type": "object" },
"scrapeInterval": { "type": "string" },
"scrapeTimeout": { "type": "string" },
"targetPort": {
"oneOf": [{ "type": "string" }, { "type": "integer" }]
},
"targetPath": { "type": "string" },
"metricRelabelings": { "type": "array" },
"relabelings": { "type": "array" },
"authorization": { "type": "object" }
}
}
}
},
"serviceAccount": {
"type": "object",
"properties": {
"create": { "type": "boolean" },
"name": { "type": "string" },
"annotations": { "type": "object" }
}
},
"priorityClassName": { "type": "string" },
"shareProcessNamespace": { "type": "boolean" },
"terminationGracePeriodSeconds": { "type": "integer", "minimum": 0 },
"podManagementPolicy": {
"type": "string",
"enum": ["Parallel", "OrderedReady"]
},
"podDisruptionBudget": {
"type": "object",
"properties": {
"enabled": { "type": "boolean" },
"maxUnavailable": {
"oneOf": [{ "type": "integer", "minimum": 0 }, { "type": "string" }]
},
"minAvailable": {
"oneOf": [{ "type": "integer", "minimum": 0 }, { "type": "string" }]
},
"unhealthyPodEvictionPolicy": {
"type": "string",
"enum": ["", "IfHealthyBudget", "AlwaysAllow"]
}
}
},
"apiKey": { "$ref": "#/definitions/apiKey" },
"readOnlyApiKey": { "$ref": "#/definitions/apiKey" },
"additionalVolumes": {
"type": "array",
"items": { "type": "object" }
},
"additionalVolumeMounts": {
"type": "array",
"items": { "type": "object" }
},
"chartTests": {
"type": "object",
"properties": {
"dbInteraction": {
"type": "object",
"properties": {
"image": { "type": "string" },
"resources": { "type": "object" }
}
}
}
}
}
}
Loading