Autogenerate schema files (#19194)

Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com>
This commit is contained in:
Antonio Gámez, PhD
2023-09-11 11:23:08 +02:00
committed by GitHub
parent 2e53be9ba6
commit a2c2090b5a
107 changed files with 179793 additions and 2813 deletions

View File

@@ -0,0 +1,708 @@
{
"title": "Chart Values",
"type": "object",
"properties": {
"global": {
"type": "object",
"properties": {
"imageRegistry": {
"type": "string",
"description": "Global Docker image registry",
"default": ""
},
"imagePullSecrets": {
"type": "array",
"description": "Global Docker registry secret names as an array",
"default": [],
"items": {}
},
"storageClass": {
"type": "string",
"description": "Global StorageClass for Persistent Volume(s)",
"default": ""
}
}
},
"kubeVersion": {
"type": "string",
"description": "Override Kubernetes version",
"default": ""
},
"nameOverride": {
"type": "string",
"description": "String to partially override common.names.fullname",
"default": ""
},
"fullnameOverride": {
"type": "string",
"description": "String to fully override common.names.fullname",
"default": ""
},
"commonLabels": {
"type": "object",
"description": "Labels to add to all deployed objects",
"default": {}
},
"commonAnnotations": {
"type": "object",
"description": "Annotations to add to all deployed objects",
"default": {}
},
"clusterDomain": {
"type": "string",
"description": "Kubernetes cluster domain name",
"default": "cluster.local"
},
"extraDeploy": {
"type": "array",
"description": "Array of extra objects to deploy with the release",
"default": [],
"items": {}
},
"diagnosticMode": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable diagnostic mode (all probes will be disabled and the command will be overridden)",
"default": false
},
"command": {
"type": "array",
"description": "Command to override all containers in the deployment",
"default": [
"sleep"
],
"items": {
"type": "string"
}
},
"args": {
"type": "array",
"description": "Args to override all containers in the deployment",
"default": [
"infinity"
],
"items": {
"type": "string"
}
}
}
},
"service": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "haproxy service type",
"default": "LoadBalancer"
},
"ports": {
"type": "array",
"description": "",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": ""
},
"protocol": {
"type": "string",
"description": ""
},
"port": {
"type": "number",
"description": ""
},
"targetPort": {
"type": "string",
"description": ""
}
}
}
},
"clusterIP": {
"type": "string",
"description": "haproxy service Cluster IP",
"default": ""
},
"loadBalancerIP": {
"type": "string",
"description": "haproxy service Load Balancer IP",
"default": ""
},
"loadBalancerSourceRanges": {
"type": "array",
"description": "haproxy service Load Balancer sources",
"default": [],
"items": {}
},
"externalTrafficPolicy": {
"type": "string",
"description": "haproxy service external traffic policy",
"default": "Cluster"
},
"annotations": {
"type": "object",
"description": "Additional custom annotations for haproxy service",
"default": {}
},
"sessionAffinity": {
"type": "string",
"description": "Session Affinity for Kubernetes service, can be \"None\" or \"ClientIP\"",
"default": "None"
},
"sessionAffinityConfig": {
"type": "object",
"description": "Additional settings for the sessionAffinity",
"default": {}
},
"labels": {
"type": "object",
"description": "Additional custom labels for haproxy service",
"default": {}
}
}
},
"ingress": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable ingress record generation for haproxy",
"default": false
},
"pathType": {
"type": "string",
"description": "Ingress path type",
"default": "ImplementationSpecific"
},
"apiVersion": {
"type": "string",
"description": "Force Ingress API version (automatically detected if not set)",
"default": ""
},
"hostname": {
"type": "string",
"description": "Default host for the ingress record",
"default": "haproxy.local"
},
"path": {
"type": "string",
"description": "Default path for the ingress record",
"default": "/"
},
"annotations": {
"type": "object",
"description": "Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations.",
"default": {}
},
"tls": {
"type": "boolean",
"description": "Enable TLS configuration for the host defined at `ingress.hostname` parameter",
"default": false
},
"selfSigned": {
"type": "boolean",
"description": "Create a TLS secret for this ingress record using self-signed certificates generated by Helm",
"default": false
},
"extraHosts": {
"type": "array",
"description": "An array with additional hostname(s) to be covered with the ingress record",
"default": [],
"items": {}
},
"extraPaths": {
"type": "array",
"description": "An array with additional arbitrary paths that may need to be added to the ingress under the main host",
"default": [],
"items": {}
},
"extraTls": {
"type": "array",
"description": "TLS configuration for additional hostname(s) to be covered with this ingress record",
"default": [],
"items": {}
},
"secrets": {
"type": "array",
"description": "Custom TLS certificates as secrets",
"default": [],
"items": {}
},
"ingressClassName": {
"type": "string",
"description": "IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+)",
"default": ""
},
"extraRules": {
"type": "array",
"description": "Additional rules to be covered with this ingress record",
"default": [],
"items": {}
}
}
},
"image": {
"type": "object",
"properties": {
"registry": {
"type": "string",
"description": "HAProxy image registry",
"default": "docker.io"
},
"repository": {
"type": "string",
"description": "HAProxy image repository",
"default": "bitnami/haproxy"
},
"tag": {
"type": "string",
"description": "HAProxy image tag (immutable tags are recommended)",
"default": "2.8.3-debian-11-r0"
},
"digest": {
"type": "string",
"description": "HAProxy image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag",
"default": ""
},
"pullPolicy": {
"type": "string",
"description": "HAProxy image pull policy",
"default": "IfNotPresent"
},
"pullSecrets": {
"type": "array",
"description": "HAProxy image pull secrets",
"default": [],
"items": {}
}
}
},
"replicaCount": {
"type": "number",
"description": "Number of haproxy replicas to deploy",
"default": 1
},
"startupProbe": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable startupProbe on haproxy nodes",
"default": false
},
"initialDelaySeconds": {
"type": "number",
"description": "Initial delay seconds for startupProbe",
"default": 15
},
"periodSeconds": {
"type": "number",
"description": "Period seconds for startupProbe",
"default": 10
},
"timeoutSeconds": {
"type": "number",
"description": "Timeout seconds for startupProbe",
"default": 5
},
"failureThreshold": {
"type": "number",
"description": "Failure threshold for startupProbe",
"default": 5
},
"successThreshold": {
"type": "number",
"description": "Success threshold for startupProbe",
"default": 1
}
}
},
"livenessProbe": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable livenessProbe on haproxy nodes",
"default": true
},
"initialDelaySeconds": {
"type": "number",
"description": "Initial delay seconds for livenessProbe",
"default": 15
},
"periodSeconds": {
"type": "number",
"description": "Period seconds for livenessProbe",
"default": 10
},
"timeoutSeconds": {
"type": "number",
"description": "Timeout seconds for livenessProbe",
"default": 5
},
"failureThreshold": {
"type": "number",
"description": "Failure threshold for livenessProbe",
"default": 5
},
"successThreshold": {
"type": "number",
"description": "Success threshold for livenessProbe",
"default": 1
}
}
},
"readinessProbe": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable readinessProbe on haproxy nodes",
"default": true
},
"initialDelaySeconds": {
"type": "number",
"description": "Initial delay seconds for readinessProbe",
"default": 15
},
"periodSeconds": {
"type": "number",
"description": "Period seconds for readinessProbe",
"default": 10
},
"timeoutSeconds": {
"type": "number",
"description": "Timeout seconds for readinessProbe",
"default": 5
},
"failureThreshold": {
"type": "number",
"description": "Failure threshold for readinessProbe",
"default": 5
},
"successThreshold": {
"type": "number",
"description": "Success threshold for readinessProbe",
"default": 1
}
}
},
"customStartupProbe": {
"type": "object",
"description": "Custom startupProbe that overrides the default one",
"default": {}
},
"customLivenessProbe": {
"type": "object",
"description": "Custom livenessProbe that overrides the default one",
"default": {}
},
"customReadinessProbe": {
"type": "object",
"description": "Custom readinessProbe that overrides the default one",
"default": {}
},
"resources": {
"type": "object",
"properties": {
"limits": {
"type": "object",
"description": "The resources limits for the haproxy containers",
"default": {}
},
"requests": {
"type": "object",
"description": "The requested resources for the haproxy containers",
"default": {}
}
}
},
"podSecurityContext": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enabled haproxy pods' Security Context",
"default": true
},
"fsGroup": {
"type": "number",
"description": "Set haproxy pod's Security Context fsGroup",
"default": 1001
}
}
},
"containerSecurityContext": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enabled haproxy containers' Security Context",
"default": true
},
"runAsUser": {
"type": "number",
"description": "Set haproxy containers' Security Context runAsUser",
"default": 1001
},
"runAsNonRoot": {
"type": "boolean",
"description": "Set haproxy container's Security Context runAsNonRoot",
"default": true
}
}
},
"pdb": {
"type": "object",
"properties": {
"create": {
"type": "boolean",
"description": "Enable a Pod Disruption Budget creation",
"default": false
},
"minAvailable": {
"type": "number",
"description": "Minimum number/percentage of pods that should remain scheduled",
"default": 1
},
"maxUnavailable": {
"type": "string",
"description": "Maximum number/percentage of pods that may be made unavailable",
"default": ""
}
}
},
"autoscaling": {
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Enable Horizontal POD autoscaling for HAProxy",
"default": false
},
"minReplicas": {
"type": "number",
"description": "Minimum number of HAProxy replicas",
"default": 1
},
"maxReplicas": {
"type": "number",
"description": "Maximum number of HAProxy replicas",
"default": 11
},
"targetCPU": {
"type": "number",
"description": "Target CPU utilization percentage",
"default": 50
},
"targetMemory": {
"type": "number",
"description": "Target Memory utilization percentage",
"default": 50
}
}
},
"command": {
"type": "array",
"description": "Override default container command (useful when using custom images)",
"default": [],
"items": {}
},
"args": {
"type": "array",
"description": "Override default container args (useful when using custom images)",
"default": [],
"items": {}
},
"hostAliases": {
"type": "array",
"description": "haproxy pods host aliases",
"default": [],
"items": {}
},
"podLabels": {
"type": "object",
"description": "Extra labels for haproxy pods",
"default": {}
},
"podAnnotations": {
"type": "object",
"description": "Annotations for haproxy pods",
"default": {}
},
"podAffinityPreset": {
"type": "string",
"description": "Pod affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`",
"default": ""
},
"podAntiAffinityPreset": {
"type": "string",
"description": "Pod anti-affinity preset. Ignored if `affinity` is set. Allowed values: `soft` or `hard`",
"default": "soft"
},
"nodeAffinityPreset": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "Node affinity preset type. Ignored if `affinity` is set. Allowed values: `soft` or `hard`",
"default": ""
},
"key": {
"type": "string",
"description": "Node label key to match. Ignored if `affinity` is set",
"default": ""
},
"values": {
"type": "array",
"description": "Node label values to match. Ignored if `affinity` is set",
"default": [],
"items": {}
}
}
},
"configuration": {
"type": "string",
"description": "haproxy configuration",
"default": "global\n log stdout format raw local0\n maxconn 1024\ndefaults\n log global\n timeout client 60s\n timeout connect 60s\n timeout server 60s\nfrontend fe_main\n bind :8080\n default_backend be_main\nbackend be_main\n server web1 10.0.0.1:8080 check\n"
},
"containerPorts": {
"type": "array",
"description": "",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": ""
},
"containerPort": {
"type": "number",
"description": ""
}
}
}
},
"existingConfigmap": {
"type": "string",
"description": "configmap with HAProxy configuration",
"default": ""
},
"affinity": {
"type": "object",
"description": "Affinity for haproxy pods assignment",
"default": {}
},
"nodeSelector": {
"type": "object",
"description": "Node labels for haproxy pods assignment",
"default": {}
},
"tolerations": {
"type": "array",
"description": "Tolerations for haproxy pods assignment",
"default": [],
"items": {}
},
"schedulerName": {
"type": "string",
"description": "Name of the k8s scheduler (other than default)",
"default": ""
},
"topologySpreadConstraints": {
"type": "array",
"description": "Topology Spread Constraints for pod assignment",
"default": [],
"items": {}
},
"updateStrategy": {
"type": "object",
"properties": {
"type": {
"type": "string",
"description": "haproxy statefulset strategy type",
"default": "RollingUpdate"
}
}
},
"priorityClassName": {
"type": "string",
"description": "haproxy pods' priorityClassName",
"default": ""
},
"lifecycleHooks": {
"type": "object",
"description": "for the haproxy container(s) to automate configuration before or after startup",
"default": {}
},
"extraEnvVars": {
"type": "array",
"description": "Array with extra environment variables to add to haproxy nodes",
"default": [],
"items": {}
},
"extraEnvVarsCM": {
"type": "string",
"description": "Name of existing ConfigMap containing extra env vars for haproxy nodes",
"default": ""
},
"extraEnvVarsSecret": {
"type": "string",
"description": "Name of existing Secret containing extra env vars for haproxy nodes",
"default": ""
},
"extraVolumes": {
"type": "array",
"description": "Optionally specify extra list of additional volumes for the haproxy pod(s)",
"default": [],
"items": {}
},
"extraVolumeMounts": {
"type": "array",
"description": "Optionally specify extra list of additional volumeMounts for the haproxy container(s)",
"default": [],
"items": {}
},
"sidecars": {
"type": "array",
"description": "Add additional sidecar containers to the haproxy pod(s)",
"default": [],
"items": {}
},
"initContainers": {
"type": "array",
"description": "Add additional init containers to the haproxy pod(s)",
"default": [],
"items": {}
},
"serviceAccount": {
"type": "object",
"properties": {
"create": {
"type": "boolean",
"description": "Specifies whether a ServiceAccount should be created",
"default": true
},
"name": {
"type": "string",
"description": "The name of the ServiceAccount to use.",
"default": ""
},
"automountServiceAccountToken": {
"type": "boolean",
"description": "Automount service account token for the server service account",
"default": true
},
"annotations": {
"type": "object",
"description": "Annotations for service account. Evaluated as a template. Only used if `create` is `true`.",
"default": {}
}
}
}
}
}