sourcebot/kubernetes/chart/values.schema.json
Andre Nogueira 9c8224e39f
Add Sourcebot Helm Chart (#370)
* feat: add helm chart

Signed-off-by: Andre Nogueira <andre.nogueira@mollie.com>

* feat: add sts support to use internal DB and improve values docs

Signed-off-by: Andre Nogueira <andre.nogueira@mollie.com>

* fix: include postgresql extra dependency

Signed-off-by: Andre Nogueira <andre.nogueira@mollie.com>

* fix: remove autoscaler

Signed-off-by: Andre Nogueira <andre.nogueira@mollie.com>

* fix: remove sts

Signed-off-by: Andre Nogueira <andre.nogueira@mollie.com>

* fix: add more suggestive env var example

Signed-off-by: Andre Nogueira <andre.nogueira@mollie.com>

* fix: add chart dependency lock

Signed-off-by: Andre Nogueira <andre.nogueira@mollie.com>

* fix: add host infer to the chart docs

Signed-off-by: Andre Nogueira <andre.nogueira@mollie.com>

---------

Signed-off-by: Andre Nogueira <andre.nogueira@mollie.com>
2025-10-03 15:39:26 -07:00

460 lines
9 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Sourcebot Helm Chart Values Schema",
"additionalProperties": false,
"type": "object",
"properties": {
"nameOverride": {
"type": "string"
},
"fullnameOverride": {
"type": "string"
},
"replicaCount": {
"type": "integer",
"minimum": 1
},
"image": {
"type": "object",
"properties": {
"repository": {
"type": "string"
},
"tag": {
"type": "string"
},
"digest": {
"type": "string"
},
"pullPolicy": {
"type": "string",
"enum": [
"Always",
"IfNotPresent",
"Never"
]
}
},
"required": [
"repository"
]
},
"imagePullSecrets": {
"type": "array",
"items": {
"type": "string"
}
},
"command": {
"type": "array",
"items": {
"type": "string"
}
},
"args": {
"type": "array",
"items": {
"type": "string"
}
},
"database": {
"type": "object"
},
"redis": {
"type": "object"
},
"license": {
"type": "object"
},
"envSecrets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"secretName": {
"type": "string"
},
"secretKey": {
"type": "string"
},
"envName": {
"type": "string"
}
},
"required": [
"secretName",
"secretKey",
"envName"
]
}
},
"envs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"name",
"value"
]
}
},
"config": {
"type": "object",
"properties": {
"connections": {
"type": "object"
},
"settings": {
"type": "object"
}
}
},
"serviceAccount": {
"type": "object",
"properties": {
"create": {
"type": "boolean"
},
"name": {
"type": "string"
},
"annotations": {
"type": "object"
},
"automount": {
"type": "boolean"
}
}
},
"podSecurityContext": {
"type": "object",
"properties": {
"runAsUser": {
"type": "integer"
},
"runAsGroup": {
"type": "integer"
},
"runAsNonRoot": {
"type": "boolean"
},
"fsGroup": {
"type": "integer"
}
}
},
"containerSecurityContext": {
"type": "object",
"properties": {
"allowPrivilegeEscalation": {
"type": "boolean"
},
"privileged": {
"type": "boolean"
},
"readOnlyRootFilesystem": {
"type": "boolean"
},
"runAsUser": {
"type": "integer"
},
"runAsGroup": {
"type": "integer"
},
"capabilities": {
"type": "object",
"properties": {
"drop": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"seccompProfile": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"RuntimeDefault",
"Unconfined",
"Localhost"
]
}
}
}
}
},
"service": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"ClusterIP",
"NodePort",
"LoadBalancer",
"ExternalName"
]
},
"containerPort": {
"type": "integer"
},
"port": {
"type": "integer"
},
"annotations": {
"type": "object"
}
}
},
"ingress": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"className": {
"type": "string"
},
"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": [
"ImplementationSpecific",
"Exact",
"Prefix"
]
}
}
}
}
}
},
"tls": {
"type": "object",
"properties": {
"secretName": {
"type": "string"
},
"hosts": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"secretName",
"hosts"
]
}
}
}
},
"initContainers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"image": {
"type": "string"
},
"args": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"resources": {
"type": "object",
"properties": {
"limits": {
"type": "object",
"properties": {
"cpu": {
"type": "string"
},
"memory": {
"type": "string"
}
}
},
"requests": {
"type": "object",
"properties": {
"cpu": {
"type": "string"
},
"memory": {
"type": "string"
}
}
}
}
},
"livenessProbe": {
"$ref": "#/definitions/probe"
},
"readinessProbe": {
"$ref": "#/definitions/probe"
},
"startupProbe": {
"$ref": "#/definitions/probe"
},
"volumes": {
"type": "array",
"items": {
"type": "object"
}
},
"volumeMounts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"mountPath": {
"type": "string"
},
"readOnly": {
"type": "boolean"
}
}
}
},
"podDisruptionBudget": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
},
"minAvailable": {
"type": [
"integer",
"string"
]
},
"maxUnavailable": {
"type": [
"integer",
"string"
]
}
}
},
"podAnnotations": {
"type": "object"
},
"additionalLabels": {
"type": "object"
},
"nodeSelector": {
"type": "object"
},
"tolerations": {
"type": "array",
"items": {
"type": "object"
}
},
"affinity": {
"type": "object"
},
"priorityClassName": {
"type": "string"
},
"postgresql": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean"
}
},
"required": [
"enabled"
]
}
},
"definitions": {
"probe": {
"type": "object",
"properties": {
"httpGet": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"port": {
"type": [
"string",
"integer"
]
}
},
"required": [
"path",
"port"
]
},
"initialDelaySeconds": {
"type": "integer",
"minimum": 0
},
"periodSeconds": {
"type": "integer",
"minimum": 1
},
"timeoutSeconds": {
"type": "integer",
"minimum": 1
},
"successThreshold": {
"type": "integer",
"minimum": 1
},
"failureThreshold": {
"type": "integer",
"minimum": 1
}
}
}
}
}