Files
dsk-devops-toolchains/helm/teleport-cluster/values.schema.json
2024-01-03 17:29:11 +09:00

924 lines
31 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema",
"type": "object",
"required": [
"clusterName",
"authentication",
"enterprise",
"operator",
"podSecurityPolicy",
"labels",
"chartMode",
"validateConfigOnDeploy",
"highAvailability",
"podMonitor",
"tls",
"image",
"enterpriseImage",
"log",
"affinity",
"nodeSelector",
"annotations",
"extraVolumes",
"extraVolumeMounts",
"imagePullPolicy",
"initContainers",
"resources",
"tolerations",
"probeTimeoutSeconds"
],
"properties": {
"clusterName": {
"$id": "#/properties/clusterName",
"type": "string",
"default": ""
},
"auth": {
"$id": "#/properties/auth",
"type": "object"
},
"proxy": {
"$id": "#/properties/proxy",
"type": "object"
},
"createProxyToken": {
"$id": "#/properties/createProxyToken",
"type": "boolean",
"default": true
},
"podMonitor": {
"$id": "#/properties/podMonitor",
"type": "object",
"required": ["enabled"],
"properties": {
"enabled": {
"$id": "#/properties/podMonitor/enabled",
"type": "boolean",
"default": false
},
"additionalLabels": {
"$id": "#/properties/podMonitor/additionalLabels",
"type": "object",
"default": {"prometheus": "default"},
"additionalProperties": {"type": "string"}
},
"interval": {
"$id": "#/properties/podMonitor/interval",
"type": "string",
"default": "30s"
}
}
},
"authentication": {
"$id": "#/properties/authentication",
"type": "object",
"required": ["type", "localAuth"],
"properties": {
"type": {
"$id": "#/properties/authentication/properties/type",
"type": "string",
"default": "local"
},
"connectorName": {
"$id": "#/properties/authentication/properties/connectorName",
"type": "string",
"default": ""
},
"localAuth": {
"$id": "#/properties/authentication/properties/localAuth",
"type": "boolean",
"default": true
},
"lockingMode": {
"$id": "#/properties/authentication/properties/lockingMode",
"type": "string",
"default": ""
},
"secondFactor": {
"$id": "#/properties/authentication/properties/secondFactor",
"type": "string",
"enum": ["off", "on", "otp", "optional", "webauthn"],
"default": "otp"
},
"webauthn": {
"$id": "#/properties/authentication/properties/webauthn",
"type": "object",
"required": [],
"properties": {
"attestationAllowedCas": {
"$id": "#/properties/authentication/properties/webauthn/properties/attestationAllowedCas",
"type": "array",
"default": []
},
"attestationDeniedCas": {
"$id": "#/properties/authentication/properties/webauthn/properties/attestationDeniedCas",
"type": "array",
"default": []
}
}
}
}
},
"authenticationType": {
"$id": "#/properties/authenticationType",
"type": "string"
},
"authenticationSecondFactor": {
"$id": "#/properties/authenticationSecondFactor",
"type": "object",
"required": [],
"properties": {
"secondFactor": {
"$id": "#/properties/authenticationSecondFactor/properties/secondFactor",
"type": "string",
"enum": ["off", "on", "otp", "optional", "webauthn"],
"default": "otp"
},
"webauthn": {
"$id": "#/properties/authenticationSecondFactor/properties/webauthn",
"type": "object",
"required": [],
"properties": {
"attestationAllowedCas": {
"$id": "#/properties/authenticationSecondFactor/properties/webauthn/properties/attestationAllowedCas",
"type": "array",
"default": []
},
"attestationDeniedCas": {
"$id": "#/properties/authenticationSecondFactor/properties/webauthn/properties/attestationDeniedCas",
"type": "array",
"default": []
}
}
}
}
},
"proxyListenerMode": {
"$id": "#/properties/proxyListenerMode",
"type": "string",
"default": ""
},
"sessionRecording": {
"$id": "#/properties/sessionRecording",
"type": "string",
"default": ""
},
"separatePostgresListener": {
"$id": "#/properties/separatePostgresListener",
"type": "boolean",
"default": false
},
"separateMongoListener": {
"$id": "#/properties/separateMongoListener",
"type": "boolean",
"default": false
},
"publicAddr": {
"$id": "#/properties/publicAddr",
"type": "array",
"items": {
"type": "string"
},
"default": []
},
"kubePublicAddr": {
"$id": "#/properties/kubePublicAddr",
"type": "array",
"items": {
"type": "string"
},
"default": []
},
"mongoPublicAddr": {
"$id": "#/properties/mongoPublicAddr",
"type": "array",
"items": {
"type": "string"
},
"default": []
},
"mysqlPublicAddr": {
"$id": "#/properties/mysqlPublicAddr",
"type": "array",
"items": {
"type": "string"
},
"default": []
},
"postgresPublicAddr": {
"$id": "#/properties/postgresPublicAddr",
"type": "array",
"items": {
"type": "string"
},
"default": []
},
"sshPublicAddr": {
"$id": "#/properties/sshPublicAddr",
"type": "array",
"items": {
"type": "string"
},
"default": []
},
"tunnelPublicAddr": {
"$id": "#/properties/tunnelPublicAddr",
"type": "array",
"items": {
"type": "string"
},
"default": []
},
"teleportVersionOverride": {
"$id": "#/properties/teleportVersionOverride",
"type": "string",
"default": ""
},
"acme": {
"$id": "#/properties/acme",
"type": "boolean",
"default": false
},
"acmeEmail": {
"$id": "#/properties/acmeEmail",
"type": "string",
"default": ""
},
"acmeURI": {
"$id": "#/properties/acmeURI",
"type": "string",
"default": ""
},
"enterprise": {
"$id": "#/properties/enterprise",
"type": "boolean",
"default": false
},
"installCRDs": {
"$id": "#/properties/installCRDs",
"type": "boolean"
},
"operator": {
"$id": "#/properties/operator",
"type": "object",
"required": ["enabled"],
"properties": {
"enabled": {
"$id": "#/properties/operator/properties/enabled",
"type": "boolean",
"default": false
},
"image": {
"$id": "#/properties/operator/properties/image",
"type": "string",
"default": "public.ecr.aws/gravitational/teleport-operator"
},
"resources": {
"$id": "#/properties/operator/properties/resources",
"type": "object",
"default": {}
}
}
},
"podSecurityPolicy": {
"$id": "#/properties/podSecurityPolicy",
"type": "object",
"required": [
"enabled"
],
"properties": {
"enabled": {
"$id": "#/properties/podSecurityPolicy/properties/enabled",
"type": "boolean",
"default": true
}
}
},
"labels": {
"$id": "#/properties/labels",
"type": "object",
"default": {}
},
"chartMode": {
"$id": "#/properties/chartMode",
"type": "string",
"enum": [
"standalone",
"aws",
"azure",
"gcp",
"scratch"
],
"default": "standalone"
},
"validateConfigOnDeploy": {
"$id": "#/properties/validateConfigOnDeploy",
"type": "boolean",
"default": true
},
"standalone": {
"$id": "#/properties/standalone",
"type": "object",
"required": [
"volumeSize"
],
"properties": {
"existingClaimName": {
"$id": "#/properties/standalone/properties/existingClaimName",
"type": "string",
"default": ""
},
"volumeSize": {
"$id": "#/properties/standalone/properties/volumeSize",
"type": "string",
"default": ""
}
}
},
"persistence": {
"$id": "#/properties/persistence",
"type": "object",
"required": [
"enabled",
"volumeSize"
],
"properties": {
"enabled": {
"$id": "#/properties/persistence/properties/enabled",
"type": "boolean",
"default": "true"
},
"existingClaimName": {
"$id": "#/properties/persistence/properties/existingClaimName",
"type": "string",
"default": ""
},
"storageClassName": {
"$id": "#/properties/persistence/properties/storageClassName",
"type": "string",
"default": ""
},
"volumeSize": {
"$id": "#/properties/persistence/properties/volumeSize",
"type": "string",
"default": ""
}
}
},
"aws": {
"$id": "#/properties/aws",
"type": "object",
"properties": {
"region": {
"$id": "#/properties/aws/properties/region",
"type": "string",
"default": ""
},
"backendTable": {
"$id": "#/properties/aws/properties/backendTable",
"type": "string",
"default": ""
},
"auditLogTable": {
"$id": "#/properties/aws/properties/auditLogTable",
"type": "string",
"default": ""
},
"auditLogMirrorOnStdout": {
"$id": "#/properties/aws/properties/auditLogMirrorOnStdout",
"type": "boolean",
"default": "false"
},
"sessionRecordingBucket": {
"$id": "#/properties/aws/properties/sessionRecordingBucket",
"type": "string",
"default": ""
},
"backups": {
"$id": "#/properties/aws/properties/backups",
"type": "boolean",
"default": false
},
"dynamoAutoScaling": {
"$id": "#/properties/aws/properties/dynamoAutoScaling",
"type": "boolean",
"default": false
}
},
"if": {
"properties": {
"dynamoAutoScaling": {
"const": true
}
}
},
"then": {
"properties": {
"readMinCapacity": {
"$id": "#/properties/aws/properties/readMinCapacity",
"type": "integer"
},
"readMaxCapacity": {
"$id": "#/properties/aws/properties/readMaxCapacity",
"type": "integer"
},
"readTargetValue": {
"$id": "#/properties/aws/properties/readTargetValue",
"type": "number"
},
"writeMinCapacity": {
"$id": "#/properties/aws/properties/writeMinCapacity",
"type": "integer"
},
"writeMaxCapacity": {
"$id": "#/properties/aws/properties/writeMaxCapacity",
"type": "integer"
},
"writeTargetValue": {
"$id": "#/properties/aws/properties/writeTargetValue",
"type": "number"
}
}
},
"else": {
"properties": {
"readMinCapacity": {
"$id": "#/properties/aws/properties/readMinCapacity",
"type": "null"
},
"readMaxCapacity": {
"$id": "#/properties/aws/properties/readMaxCapacity",
"type": "null"
},
"readTargetValue": {
"$id": "#/properties/aws/properties/readTargetValue",
"type": "null"
},
"writeMinCapacity": {
"$id": "#/properties/aws/properties/writeMinCapacity",
"type": "null"
},
"writeMaxCapacity": {
"$id": "#/properties/aws/properties/writeMaxCapacity",
"type": "null"
},
"writeTargetValue": {
"$id": "#/properties/aws/properties/writeTargetValue",
"type": "null"
}
}
}
},
"azure": {
"$id": "#/properties/azure",
"type": "object",
"properties": {
"databaseHost": {
"$id": "#/properties/azure/properties/databaseHost",
"type": "string",
"default": ""
},
"databaseUser": {
"$id": "#/properties/azure/properties/databaseUser",
"type": "string",
"default": ""
},
"backendDatabase": {
"$id": "#/properties/azure/properties/backendDatabase",
"type": "string",
"default": "teleport_backend"
},
"auditLogDatabase": {
"$id": "#/properties/azure/properties/auditLogDatabase",
"type": "string",
"default": "teleport_audit"
},
"auditLogMirrorOnStdout": {
"$id": "#/properties/azure/properties/auditLogMirrorOnStdout",
"type": "boolean",
"default": false
},
"sessionRecordingStorageAccount": {
"$id": "#/properties/azure/properties/sessionRecordingStorageAccount",
"type": "string",
"default": ""
},
"clientID": {
"$id": "#/properties/azure/properties/clientID",
"type": "string",
"default": ""
},
"databasePoolMaxConnections": {
"$id": "#/properties/azure/properties/databasePoolMaxConnections",
"type": "integer",
"default": 0
}
}
},
"gcp": {
"$id": "#/properties/gcp",
"type": "object",
"properties": {
"projectId": {
"$id": "#/properties/gcp/properties/projectId",
"type": "string",
"default": ""
},
"backendTable": {
"$id": "#/properties/gcp/properties/backendTable",
"type": "string",
"default": ""
},
"auditLogTable": {
"$id": "#/properties/gcp/properties/auditLogTable",
"type": "string",
"default": ""
},
"auditLogMirrorOnStdout": {
"$id": "#/properties/aws/properties/auditLogMirrorOnStdout",
"type": "boolean",
"default": "false"
},
"sessionRecordingBucket": {
"$id": "#/properties/gcp/properties/sessionRecordingBucket",
"type": "string",
"default": ""
},
"credentialSecretName": {
"$id": "#/properties/gcp/properties/credentialSecretName",
"type": "string",
"default": "teleport-gcp-credentials"
}
}
},
"highAvailability": {
"$id": "#/properties/highAvailability",
"type": "object",
"required": [
"replicaCount",
"requireAntiAffinity",
"certManager",
"minReadySeconds",
"podDisruptionBudget"
],
"properties": {
"replicaCount": {
"$id": "#/properties/highAvailability/properties/replicaCount",
"type": "integer",
"default": 1
},
"requireAntiAffinity": {
"$id": "#/properties/highAvailability/properties/requireAntiAffinity",
"type": "boolean",
"default": false
},
"certManager": {
"$id": "#/properties/highAvailability/properties/certManager",
"type": "object",
"required": [
"enabled",
"issuerName",
"issuerKind",
"issuerGroup"
],
"properties": {
"addCommonName": {
"$id": "#/properties/highAvailability/properties/certManager/properties/addCommonName",
"type": "boolean",
"default": "false"
},
"enabled": {
"$id": "#/properties/highAvailability/properties/certManager/properties/enabled",
"type": "boolean",
"default": "false"
},
"issuerName": {
"$id": "#/properties/highAvailability/properties/certManager/properties/issuerName",
"type": "string",
"default": ""
},
"issuerKind": {
"$id": "#/properties/highAvailability/properties/certManager/properties/issuerKind",
"type": "string",
"default": "Issuer"
},
"issuerGroup": {
"$id": "#/properties/highAvailability/properties/certManager/properties/issuerGroup",
"type": "string",
"default": "cert-manager.io"
}
}
},
"minReadySeconds": {
"$id": "#/properties/highAvailability/properties/minReadySeconds",
"type": "integer",
"default": 15
},
"podDisruptionBudget": {
"$id": "#/properties/highAvailability/properties/podDisruptionBudget",
"type": "object",
"required": [
"enabled",
"minAvailable"
],
"properties": {
"enabled": {
"$id": "#/properties/highAvailability/properties/podDisruptionBudget/properties/enabled",
"type": "boolean",
"default": false
},
"minAvailable": {
"$id": "#/properties/highAvailability/properties/podDisruptionBudget/properties/minAvailable",
"type": "integer",
"default": 1
}
}
}
}
},
"tls": {
"$id": "#/properties/tls",
"type": "object",
"required": [
"existingSecretName",
"existingCASecretName"
],
"properties": {
"existingSecretName": {
"$id": "#/properties/tls/properties/existingSecretName",
"type": "string",
"default": ""
},
"existingCASecretName": {
"$id": "#/properties/tls/properties/existingCASecretName",
"type": "string",
"default": ""
}
}
},
"image": {
"$id": "#/properties/image",
"type": "string",
"default": "public.ecr.aws/gravitational/teleport-distroless"
},
"enterpriseImage": {
"$id": "#/properties/enterpriseImage",
"type": "string",
"default": "public.ecr.aws/gravitational/teleport-ent-distroless"
},
"imagePullSecrets": {
"$id": "#/properties/imagePullSecrets",
"type": "array",
"default": []
},
"logLevel": {
"$id": "#/properties/logLevel",
"type": "string",
"enum": [
"DEBUG",
"INFO",
"WARN",
"WARNING",
"ERROR"
],
"default": "INFO"
},
"log": {
"$id": "#/properties/log",
"type": "object",
"required": [
"output",
"format",
"extraFields"
],
"properties": {
"level": {
"$id": "#/properties/log/properties/level",
"type": "string",
"enum": ["DEBUG", "INFO", "WARN", "WARNING", "ERROR"],
"default": "INFO"
},
"deployment": {
"$id": "#/properties/log/properties/output",
"type": "string",
"default": {}
},
"pod": {
"$id": "#/properties/log/properties/format",
"type": "string",
"default": {}
},
"service": {
"$id": "#/properties/log/properties/extraFields",
"type": "array",
"default": {}
}
}
},
"affinity": {
"$id": "#/properties/affinity",
"type": "object",
"default": {}
},
"nodeSelector": {
"$id": "#/properties/nodeSelector",
"type": "object",
"default": {}
},
"annotations": {
"$id": "#/properties/annotations",
"type": "object",
"required": [
"config",
"deployment",
"pod",
"service",
"serviceAccount",
"certSecret",
"ingress"
],
"properties": {
"config": {
"$id": "#/properties/annotations/properties/config",
"type": "object",
"default": {}
},
"deployment": {
"$id": "#/properties/annotations/properties/deployment",
"type": "object",
"default": {}
},
"pod": {
"$id": "#/properties/annotations/properties/pod",
"type": "object",
"default": {}
},
"service": {
"$id": "#/properties/annotations/properties/service",
"type": "object",
"default": {}
},
"serviceAccount": {
"$id": "#/properties/annotations/properties/serviceAccount",
"type": "object",
"default": {}
},
"certSecret": {
"$id": "#/properties/annotations/properties/certSecret",
"type": "object",
"default": {}
}
}
},
"service": {
"$id": "#/properties/service",
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"$id": "#properties/service/type",
"type": "string",
"default": "LoadBalancer"
},
"spec": {
"$id": "#/properties/service/spec",
"type": "object",
"default": {}
}
}
},
"ingress": {
"enabled": {
"$id": "#/properties/ingress/enabled",
"type": "boolean",
"default": false
},
"suppressAutomaticWildcards": {
"$id": "#/properties/ingress/suppressAutomaticWildcards",
"type": "boolean",
"default": false
},
"spec": {
"$id": "#/properties/ingress/spec",
"type": "object",
"default": {}
}
},
"serviceAccount": {
"$id": "#/properties/serviceAccount",
"type": "object",
"required": [],
"properties": {
"name": {
"$id": "#properties/service/name",
"type": "string",
"default": ""
},
"create": {
"$id": "#properties/service/create",
"type": "boolean",
"default": true
}
}
},
"rbac": {
"$id": "#/properties/rbac",
"type": "object",
"required": [],
"properties": {
"create": {
"$id": "#properties/rbac/create",
"type": "boolean",
"default": true
}
}
},
"extraArgs": {
"$id": "#/properties/extraArgs",
"type": "array",
"default": []
},
"extraEnv": {
"$id": "#/properties/extraEnv",
"type": "array",
"default": []
},
"extraVolumes": {
"$id": "#/properties/extraVolumes",
"type": "array",
"default": []
},
"extraVolumeMounts": {
"$id": "#/properties/extraVolumeMounts",
"type": "array",
"default": []
},
"imagePullPolicy": {
"$id": "#/properties/imagePullPolicy",
"type": "string",
"enum": [
"Never",
"IfNotPresent",
"Always"
],
"default": "IfNotPresent"
},
"initContainers": {
"$id": "#/properties/initContainers",
"type": "array",
"default": []
},
"postStart": {
"$id": "#/properties/postStart",
"type": "object",
"required": [
"command"
],
"properties": {
"command": {
"$id": "#properties/postStart/command",
"type": "array",
"default": []
}
}
},
"kubeClusterName": {
"$id": "#/properties/kubeClusterName",
"type": "string",
"default": ""
},
"resources": {
"$id": "#/properties/resources",
"type": "object",
"default": {}
},
"securityContext": {
"$id": "#/properties/securityContext",
"type": "object",
"default": {}
},
"tolerations": {
"$id": "#/properties/tolerations",
"type": "array",
"default": []
},
"priorityClassName": {
"$id": "#/properties/priorityClassName",
"type": "string",
"default": ""
},
"probeTimeoutSeconds": {
"$id": "#/properties/probeTimeoutSeconds",
"type": "integer",
"default": 1
},
"terminationGracePeriodSeconds": {
"$id": "#/properties/terminationGracePeriodSeconds",
"type": "integer",
"default": 60
}
}
}