{ "$schema": "https://json-schema.org/draft-07/schema#", "title": "GoModel Helm chart values", "type": "object", "properties": { "replicaCount": { "type": "integer", "minimum": 0 }, "image": { "type": "object", "properties": { "repository": { "type": "string", "minLength": 1 }, "tag": { "type": "string" }, "pullPolicy": { "type": "string", "enum": ["Always", "IfNotPresent", "Never"] } }, "required": ["repository"] }, "imagePullSecrets": { "type": "array" }, "nameOverride": { "type": "string" }, "fullnameOverride": { "type": "string" }, "env": { "$ref": "#/definitions/envMap" }, "secretEnv": { "$ref": "#/definitions/envMap" }, "extraEnvFrom": { "type": "array", "items": { "type": "object" } }, "extraEnv": { "type": "array", "items": { "type": "object", "required": ["name"], "properties": { "name": { "type": "string" } } } }, "config": { "type": "string" }, "existingConfigMap": { "type": "string" }, "storage": { "type": "object", "properties": { "type": { "type": "string", "enum": ["sqlite", "postgresql", "mongodb"] }, "url": { "type": "string" } }, "required": ["type"] }, "persistence": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "existingClaim": { "type": "string" }, "storageClass": { "type": "string" }, "accessModes": { "type": "array", "items": { "type": "string" }, "minItems": 1 }, "size": { "type": "string", "pattern": "^[0-9]+(\\.[0-9]+)?(Ki|Mi|Gi|Ti|Pi|Ei|k|M|G|T|P|E)?$" }, "annotations": { "type": "object" } } }, "updateStrategy": { "type": "object" }, "metrics": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "serviceMonitor": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "interval": { "type": "string" }, "namespace": { "type": "string" }, "labels": { "type": "object" } } } } }, "service": { "type": "object", "properties": { "type": { "type": "string", "enum": ["ClusterIP", "NodePort", "LoadBalancer"] }, "port": { "type": "integer", "minimum": 1, "maximum": 65535 }, "annotations": { "type": "object" } } }, "ingress": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "className": { "type": "string" }, "annotations": { "type": "object" }, "hosts": { "type": "array", "items": { "type": "object", "required": ["host", "paths"], "properties": { "host": { "type": "string" }, "paths": { "type": "array", "minItems": 1, "items": { "type": "object", "required": ["path"], "properties": { "path": { "type": "string" }, "pathType": { "type": "string", "enum": ["Prefix", "Exact", "ImplementationSpecific"] } } } } } } }, "tls": { "type": "array" } } }, "httpRoute": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "parentRefs": { "type": "array", "items": { "type": "object", "required": ["name"] } }, "hostnames": { "type": "array", "items": { "type": "string" } } } }, "serviceAccount": { "type": "object", "properties": { "create": { "type": "boolean" }, "annotations": { "type": "object" }, "name": { "type": "string" }, "automountServiceAccountToken": { "type": "boolean" } } }, "resources": { "type": "object" }, "autoscaling": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "minReplicas": { "type": "integer", "minimum": 1 }, "maxReplicas": { "type": "integer", "minimum": 1 }, "targetCPUUtilizationPercentage": { "type": ["integer", "null"], "minimum": 1, "maximum": 100 }, "targetMemoryUtilizationPercentage": { "type": ["integer", "null"], "minimum": 1, "maximum": 100 } } }, "podDisruptionBudget": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "minAvailable": { "type": ["integer", "string", "null"] }, "maxUnavailable": { "type": ["integer", "string", "null"] } } }, "livenessProbe": { "type": "object" }, "readinessProbe": { "type": "object" }, "terminationGracePeriodSeconds": { "type": "integer", "minimum": 0 }, "podSecurityContext": { "type": "object" }, "securityContext": { "type": "object" }, "podAnnotations": { "type": "object" }, "podLabels": { "type": "object" }, "priorityClassName": { "type": "string" }, "nodeSelector": { "type": "object" }, "tolerations": { "type": "array" }, "affinity": { "type": "object" }, "topologySpreadConstraints": { "type": "array" }, "extraVolumes": { "type": "array" }, "extraVolumeMounts": { "type": "array" } }, "definitions": { "envMap": { "type": "object", "propertyNames": { "pattern": "^[A-Za-z_][A-Za-z0-9_]*$" }, "additionalProperties": { "type": ["string", "number", "boolean"] } } } }