helm/values.schema.json
Rama main · réplica de lectura del repositorio original.
{
"$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"] }
}
}
}