mirror of
https://github.com/bitnami/charts.git
synced 2026-03-06 06:58:50 +08:00
1337 lines
54 KiB
JSON
1337 lines
54 KiB
JSON
{
|
|
"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": "Force target Kubernetes version (using Helm capabilities if not set)",
|
|
"default": ""
|
|
},
|
|
"nameOverride": {
|
|
"type": "string",
|
|
"description": "String to partially override discourse.fullname template (will maintain the release name)",
|
|
"default": ""
|
|
},
|
|
"fullnameOverride": {
|
|
"type": "string",
|
|
"description": "String to fully override discourse.fullname template",
|
|
"default": ""
|
|
},
|
|
"clusterDomain": {
|
|
"type": "string",
|
|
"description": "Kubernetes Cluster Domain",
|
|
"default": "cluster.local"
|
|
},
|
|
"commonLabels": {
|
|
"type": "object",
|
|
"description": "Labels to be added to all deployed resources",
|
|
"default": {}
|
|
},
|
|
"commonAnnotations": {
|
|
"type": "object",
|
|
"description": "Annotations to be added to all deployed resources",
|
|
"default": {}
|
|
},
|
|
"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 the deployment(s)/statefulset(s)",
|
|
"default": [
|
|
"sleep"
|
|
],
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"args": {
|
|
"type": "array",
|
|
"description": "Args to override all containers in the the deployment(s)/statefulset(s)",
|
|
"default": [
|
|
"infinity"
|
|
],
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"image": {
|
|
"type": "object",
|
|
"properties": {
|
|
"registry": {
|
|
"type": "string",
|
|
"description": "Discourse image registry",
|
|
"default": "docker.io"
|
|
},
|
|
"repository": {
|
|
"type": "string",
|
|
"description": "Discourse image repository",
|
|
"default": "bitnami/discourse"
|
|
},
|
|
"tag": {
|
|
"type": "string",
|
|
"description": "Discourse image tag",
|
|
"default": "3.0.6-debian-11-r15"
|
|
},
|
|
"digest": {
|
|
"type": "string",
|
|
"description": "Discourse image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag",
|
|
"default": ""
|
|
},
|
|
"pullPolicy": {
|
|
"type": "string",
|
|
"description": "Discourse image pull policy",
|
|
"default": "IfNotPresent"
|
|
},
|
|
"pullSecrets": {
|
|
"type": "array",
|
|
"description": "Discourse image pull secrets",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"debug": {
|
|
"type": "boolean",
|
|
"description": "Enable image debug mode",
|
|
"default": false
|
|
}
|
|
}
|
|
},
|
|
"auth": {
|
|
"type": "object",
|
|
"properties": {
|
|
"email": {
|
|
"type": "string",
|
|
"description": "Discourse admin user email",
|
|
"default": "user@example.com"
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"description": "Discourse admin user",
|
|
"default": "user"
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"description": "Discourse admin password. WARNING: Minimum length of 10 characters",
|
|
"default": ""
|
|
},
|
|
"existingSecret": {
|
|
"type": "string",
|
|
"description": "Name of an existing secret to use for Discourse credentials",
|
|
"default": ""
|
|
}
|
|
}
|
|
},
|
|
"host": {
|
|
"type": "string",
|
|
"description": "Hostname to create application URLs (include the port if =/= 80)",
|
|
"default": ""
|
|
},
|
|
"siteName": {
|
|
"type": "string",
|
|
"description": "Discourse site name",
|
|
"default": "My Site!"
|
|
},
|
|
"smtp": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Enable/disable SMTP",
|
|
"default": false
|
|
},
|
|
"host": {
|
|
"type": "string",
|
|
"description": "SMTP host name",
|
|
"default": ""
|
|
},
|
|
"port": {
|
|
"type": "string",
|
|
"description": "SMTP port number",
|
|
"default": ""
|
|
},
|
|
"user": {
|
|
"type": "string",
|
|
"description": "SMTP account user name",
|
|
"default": ""
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"description": "SMTP account password",
|
|
"default": ""
|
|
},
|
|
"protocol": {
|
|
"type": "string",
|
|
"description": "SMTP protocol (Allowed values: tls, ssl)",
|
|
"default": ""
|
|
},
|
|
"auth": {
|
|
"type": "string",
|
|
"description": "SMTP authentication method",
|
|
"default": ""
|
|
},
|
|
"existingSecret": {
|
|
"type": "string",
|
|
"description": "Name of an existing Kubernetes secret. The secret must have the following key configured: `smtp-password`",
|
|
"default": ""
|
|
}
|
|
}
|
|
},
|
|
"replicaCount": {
|
|
"type": "number",
|
|
"description": "Number of Discourse & Sidekiq replicas",
|
|
"default": 1
|
|
},
|
|
"podSecurityContext": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Enabled Discourse pods' Security Context",
|
|
"default": false
|
|
},
|
|
"fsGroup": {
|
|
"type": "number",
|
|
"description": "Set Discourse pod's Security Context fsGroup",
|
|
"default": 0
|
|
}
|
|
}
|
|
},
|
|
"hostAliases": {
|
|
"type": "array",
|
|
"description": "Add deployment host aliases",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"podAnnotations": {
|
|
"type": "object",
|
|
"description": "Additional pod annotations",
|
|
"default": {}
|
|
},
|
|
"podLabels": {
|
|
"type": "object",
|
|
"description": "Additional pod labels",
|
|
"default": {}
|
|
},
|
|
"podAffinityPreset": {
|
|
"type": "string",
|
|
"description": "Pod affinity preset. Allowed values: soft, 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": {}
|
|
}
|
|
}
|
|
},
|
|
"affinity": {
|
|
"type": "object",
|
|
"description": "Affinity for pod assignment",
|
|
"default": {}
|
|
},
|
|
"nodeSelector": {
|
|
"type": "object",
|
|
"description": "Node labels for pod assignment.",
|
|
"default": {}
|
|
},
|
|
"tolerations": {
|
|
"type": "array",
|
|
"description": "Tolerations for pod assignment.",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"topologySpreadConstraints": {
|
|
"type": "array",
|
|
"description": "Topology Spread Constraints for pod assignment spread across your cluster among failure-domains. Evaluated as a template",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"priorityClassName": {
|
|
"type": "string",
|
|
"description": "Priority Class Name",
|
|
"default": ""
|
|
},
|
|
"schedulerName": {
|
|
"type": "string",
|
|
"description": "Use an alternate scheduler, e.g. \"stork\".",
|
|
"default": ""
|
|
},
|
|
"terminationGracePeriodSeconds": {
|
|
"type": "string",
|
|
"description": "Seconds Discourse pod needs to terminate gracefully",
|
|
"default": ""
|
|
},
|
|
"updateStrategy": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"description": "Discourse deployment strategy type",
|
|
"default": "RollingUpdate"
|
|
},
|
|
"rollingUpdate": {
|
|
"type": "object",
|
|
"description": "Discourse deployment rolling update configuration parameters",
|
|
"default": {}
|
|
}
|
|
}
|
|
},
|
|
"sidecars": {
|
|
"type": "array",
|
|
"description": "Add additional sidecar containers to the Discourse pods",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"initContainers": {
|
|
"type": "array",
|
|
"description": "Add additional init containers to the Discourse pods",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"extraVolumeMounts": {
|
|
"type": "array",
|
|
"description": "Optionally specify extra list of additional volumeMounts for the Discourse pods",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"extraVolumes": {
|
|
"type": "array",
|
|
"description": "Optionally specify extra list of additional volumes for the Discourse pods",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"discourse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"skipInstall": {
|
|
"type": "boolean",
|
|
"description": "Do not run the Discourse installation wizard",
|
|
"default": false
|
|
},
|
|
"plugins": {
|
|
"type": "array",
|
|
"description": "List of plugins to be installed before the container initialization",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"command": {
|
|
"type": "array",
|
|
"description": "Custom command to override image cmd",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"args": {
|
|
"type": "array",
|
|
"description": "Custom args for the custom command",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"extraEnvVars": {
|
|
"type": "array",
|
|
"description": "Array with extra environment variables to add Discourse pods",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"extraEnvVarsCM": {
|
|
"type": "string",
|
|
"description": "ConfigMap containing extra environment variables for Discourse pods",
|
|
"default": ""
|
|
},
|
|
"extraEnvVarsSecret": {
|
|
"type": "string",
|
|
"description": "Secret containing extra environment variables (in case of sensitive data) for Discourse pods",
|
|
"default": ""
|
|
},
|
|
"containerPorts": {
|
|
"type": "object",
|
|
"properties": {
|
|
"http": {
|
|
"type": "number",
|
|
"description": "Discourse HTTP container port",
|
|
"default": 8080
|
|
}
|
|
}
|
|
},
|
|
"livenessProbe": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Enable livenessProbe on Discourse containers",
|
|
"default": true
|
|
},
|
|
"initialDelaySeconds": {
|
|
"type": "number",
|
|
"description": "Initial delay seconds for livenessProbe",
|
|
"default": 500
|
|
},
|
|
"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": 6
|
|
},
|
|
"successThreshold": {
|
|
"type": "number",
|
|
"description": "Success threshold for livenessProbe",
|
|
"default": 1
|
|
}
|
|
}
|
|
},
|
|
"readinessProbe": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Enable readinessProbe on Discourse containers",
|
|
"default": true
|
|
},
|
|
"initialDelaySeconds": {
|
|
"type": "number",
|
|
"description": "Initial delay seconds for readinessProbe",
|
|
"default": 180
|
|
},
|
|
"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": 6
|
|
},
|
|
"successThreshold": {
|
|
"type": "number",
|
|
"description": "Success threshold for readinessProbe",
|
|
"default": 1
|
|
}
|
|
}
|
|
},
|
|
"startupProbe": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Enable startupProbe on Discourse containers",
|
|
"default": false
|
|
},
|
|
"initialDelaySeconds": {
|
|
"type": "number",
|
|
"description": "Initial delay seconds for startupProbe",
|
|
"default": 60
|
|
},
|
|
"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": 15
|
|
},
|
|
"successThreshold": {
|
|
"type": "number",
|
|
"description": "Success threshold for startupProbe",
|
|
"default": 1
|
|
}
|
|
}
|
|
},
|
|
"customLivenessProbe": {
|
|
"type": "object",
|
|
"description": "Custom livenessProbe that overrides the default one",
|
|
"default": {}
|
|
},
|
|
"customReadinessProbe": {
|
|
"type": "object",
|
|
"description": "Custom readinessProbe that overrides the default one",
|
|
"default": {}
|
|
},
|
|
"customStartupProbe": {
|
|
"type": "object",
|
|
"description": "Custom startupProbe that overrides the default one",
|
|
"default": {}
|
|
},
|
|
"resources": {
|
|
"type": "object",
|
|
"properties": {
|
|
"limits": {
|
|
"type": "object",
|
|
"description": "The resources limits for the Discourse containers",
|
|
"default": {}
|
|
},
|
|
"requests": {
|
|
"type": "object",
|
|
"description": "The requested resources for the Discourse containers",
|
|
"default": {}
|
|
}
|
|
}
|
|
},
|
|
"containerSecurityContext": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Enabled Discourse containers' Security Context",
|
|
"default": false
|
|
},
|
|
"runAsUser": {
|
|
"type": "number",
|
|
"description": "Set Discourse containers' Security Context runAsUser",
|
|
"default": 0
|
|
},
|
|
"runAsNonRoot": {
|
|
"type": "boolean",
|
|
"description": "Set Discourse containers' Security Context runAsNonRoot",
|
|
"default": false
|
|
}
|
|
}
|
|
},
|
|
"lifecycleHooks": {
|
|
"type": "object",
|
|
"description": "for the Discourse container(s) to automate configuration before or after startup",
|
|
"default": {}
|
|
},
|
|
"extraVolumeMounts": {
|
|
"type": "array",
|
|
"description": "Optionally specify extra list of additional volumeMounts for the Discourse pods",
|
|
"default": [],
|
|
"items": {}
|
|
}
|
|
}
|
|
},
|
|
"persistence": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Enable persistence using Persistent Volume Claims",
|
|
"default": true
|
|
},
|
|
"storageClass": {
|
|
"type": "string",
|
|
"description": "Persistent Volume storage class",
|
|
"default": ""
|
|
},
|
|
"accessModes": {
|
|
"type": "array",
|
|
"description": "Persistent Volume access modes",
|
|
"default": [
|
|
"ReadWriteOnce"
|
|
],
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"accessMode": {
|
|
"type": "string",
|
|
"description": "Persistent Volume access mode (DEPRECATED: use `persistence.accessModes` instead)",
|
|
"default": "ReadWriteOnce"
|
|
},
|
|
"size": {
|
|
"type": "string",
|
|
"description": "Persistent Volume size",
|
|
"default": "10Gi"
|
|
},
|
|
"existingClaim": {
|
|
"type": "string",
|
|
"description": "The name of an existing PVC to use for persistence",
|
|
"default": ""
|
|
},
|
|
"selector": {
|
|
"type": "object",
|
|
"description": "Selector to match an existing Persistent Volume for Discourse data PVC",
|
|
"default": {}
|
|
},
|
|
"annotations": {
|
|
"type": "object",
|
|
"description": "Persistent Volume Claim annotations",
|
|
"default": {}
|
|
}
|
|
}
|
|
},
|
|
"sidekiq": {
|
|
"type": "object",
|
|
"properties": {
|
|
"command": {
|
|
"type": "array",
|
|
"description": "Custom command to override image cmd (evaluated as a template)",
|
|
"default": [
|
|
"/opt/bitnami/scripts/discourse/entrypoint.sh"
|
|
],
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"args": {
|
|
"type": "array",
|
|
"description": "Custom args for the custom command (evaluated as a template)",
|
|
"default": [
|
|
"/opt/bitnami/scripts/discourse-sidekiq/run.sh"
|
|
],
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"extraEnvVars": {
|
|
"type": "array",
|
|
"description": "Array with extra environment variables to add Sidekiq pods",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"extraEnvVarsCM": {
|
|
"type": "string",
|
|
"description": "ConfigMap containing extra environment variables for Sidekiq pods",
|
|
"default": ""
|
|
},
|
|
"extraEnvVarsSecret": {
|
|
"type": "string",
|
|
"description": "Secret containing extra environment variables (in case of sensitive data) for Sidekiq pods",
|
|
"default": ""
|
|
},
|
|
"livenessProbe": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Enable livenessProbe on Sidekiq containers",
|
|
"default": true
|
|
},
|
|
"initialDelaySeconds": {
|
|
"type": "number",
|
|
"description": "Delay before liveness probe is initiated",
|
|
"default": 500
|
|
},
|
|
"periodSeconds": {
|
|
"type": "number",
|
|
"description": "How often to perform the probe",
|
|
"default": 10
|
|
},
|
|
"timeoutSeconds": {
|
|
"type": "number",
|
|
"description": "When the probe times out",
|
|
"default": 5
|
|
},
|
|
"failureThreshold": {
|
|
"type": "number",
|
|
"description": "Minimum consecutive failures for the probe",
|
|
"default": 6
|
|
},
|
|
"successThreshold": {
|
|
"type": "number",
|
|
"description": "Minimum consecutive successes for the probe",
|
|
"default": 1
|
|
}
|
|
}
|
|
},
|
|
"readinessProbe": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Enable readinessProbe on Sidekiq containers",
|
|
"default": true
|
|
},
|
|
"initialDelaySeconds": {
|
|
"type": "number",
|
|
"description": "Delay before readiness probe is initiated",
|
|
"default": 30
|
|
},
|
|
"periodSeconds": {
|
|
"type": "number",
|
|
"description": "How often to perform the probe",
|
|
"default": 10
|
|
},
|
|
"timeoutSeconds": {
|
|
"type": "number",
|
|
"description": "When the probe times out",
|
|
"default": 5
|
|
},
|
|
"failureThreshold": {
|
|
"type": "number",
|
|
"description": "Minimum consecutive failures for the probe",
|
|
"default": 6
|
|
},
|
|
"successThreshold": {
|
|
"type": "number",
|
|
"description": "Minimum consecutive successes for the probe",
|
|
"default": 1
|
|
}
|
|
}
|
|
},
|
|
"startupProbe": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Enable startupProbe on Sidekiq containers",
|
|
"default": false
|
|
},
|
|
"initialDelaySeconds": {
|
|
"type": "number",
|
|
"description": "Initial delay seconds for startupProbe",
|
|
"default": 60
|
|
},
|
|
"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": 15
|
|
},
|
|
"successThreshold": {
|
|
"type": "number",
|
|
"description": "Success threshold for startupProbe",
|
|
"default": 1
|
|
}
|
|
}
|
|
},
|
|
"customLivenessProbe": {
|
|
"type": "object",
|
|
"description": "Custom livenessProbe that overrides the default one",
|
|
"default": {}
|
|
},
|
|
"customReadinessProbe": {
|
|
"type": "object",
|
|
"description": "Custom readinessProbe that overrides the default one",
|
|
"default": {}
|
|
},
|
|
"customStartupProbe": {
|
|
"type": "object",
|
|
"description": "Custom startupProbe that overrides the default one",
|
|
"default": {}
|
|
},
|
|
"resources": {
|
|
"type": "object",
|
|
"properties": {
|
|
"limits": {
|
|
"type": "object",
|
|
"description": "The resources limits for the Sidekiq containers",
|
|
"default": {}
|
|
},
|
|
"requests": {
|
|
"type": "object",
|
|
"description": "The requested resources for the Sidekiq containers",
|
|
"default": {}
|
|
}
|
|
}
|
|
},
|
|
"containerSecurityContext": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Enabled Sidekiq containers' Security Context",
|
|
"default": false
|
|
},
|
|
"runAsUser": {
|
|
"type": "number",
|
|
"description": "Set Sidekiq containers' Security Context runAsUser",
|
|
"default": 0
|
|
},
|
|
"runAsNonRoot": {
|
|
"type": "boolean",
|
|
"description": "Set Sidekiq containers' Security Context runAsNonRoot",
|
|
"default": false
|
|
}
|
|
}
|
|
},
|
|
"lifecycleHooks": {
|
|
"type": "object",
|
|
"description": "for the Sidekiq container(s) to automate configuration before or after startup",
|
|
"default": {}
|
|
},
|
|
"extraVolumeMounts": {
|
|
"type": "array",
|
|
"description": "Optionally specify extra list of additional volumeMounts for the Sidekiq pods",
|
|
"default": [],
|
|
"items": {}
|
|
}
|
|
}
|
|
},
|
|
"service": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"description": "Discourse service type",
|
|
"default": "ClusterIP"
|
|
},
|
|
"ports": {
|
|
"type": "object",
|
|
"properties": {
|
|
"http": {
|
|
"type": "number",
|
|
"description": "Discourse service HTTP port",
|
|
"default": 80
|
|
}
|
|
}
|
|
},
|
|
"nodePorts": {
|
|
"type": "object",
|
|
"properties": {
|
|
"http": {
|
|
"type": "string",
|
|
"description": "Node port for HTTP",
|
|
"default": ""
|
|
}
|
|
}
|
|
},
|
|
"sessionAffinity": {
|
|
"type": "string",
|
|
"description": "Control where client requests go, to the same pod or round-robin",
|
|
"default": "None"
|
|
},
|
|
"sessionAffinityConfig": {
|
|
"type": "object",
|
|
"description": "Additional settings for the sessionAffinity",
|
|
"default": {}
|
|
},
|
|
"clusterIP": {
|
|
"type": "string",
|
|
"description": "Discourse service Cluster IP",
|
|
"default": ""
|
|
},
|
|
"loadBalancerIP": {
|
|
"type": "string",
|
|
"description": "Discourse service Load Balancer IP",
|
|
"default": ""
|
|
},
|
|
"loadBalancerSourceRanges": {
|
|
"type": "array",
|
|
"description": "Discourse service Load Balancer sources",
|
|
"default": [],
|
|
"items": {}
|
|
},
|
|
"externalTrafficPolicy": {
|
|
"type": "string",
|
|
"description": "Discourse service external traffic policy",
|
|
"default": "Cluster"
|
|
},
|
|
"annotations": {
|
|
"type": "object",
|
|
"description": "Additional custom annotations for Discourse service",
|
|
"default": {}
|
|
},
|
|
"extraPorts": {
|
|
"type": "array",
|
|
"description": "Extra port to expose on Discourse service",
|
|
"default": [],
|
|
"items": {}
|
|
}
|
|
}
|
|
},
|
|
"ingress": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Enable ingress record generation for Discourse",
|
|
"default": false
|
|
},
|
|
"ingressClassName": {
|
|
"type": "string",
|
|
"description": "IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+)",
|
|
"default": ""
|
|
},
|
|
"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": "discourse.local"
|
|
},
|
|
"path": {
|
|
"type": "string",
|
|
"description": "Default path for the ingress record",
|
|
"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": {}
|
|
},
|
|
"extraRules": {
|
|
"type": "array",
|
|
"description": "Additional rules to be covered with this ingress record",
|
|
"default": [],
|
|
"items": {}
|
|
}
|
|
}
|
|
},
|
|
"volumePermissions": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Enable init container that changes the owner and group of the persistent volume",
|
|
"default": false
|
|
},
|
|
"image": {
|
|
"type": "object",
|
|
"properties": {
|
|
"registry": {
|
|
"type": "string",
|
|
"description": "Init container volume-permissions image registry",
|
|
"default": "docker.io"
|
|
},
|
|
"repository": {
|
|
"type": "string",
|
|
"description": "Init container volume-permissions image repository",
|
|
"default": "bitnami/os-shell"
|
|
},
|
|
"tag": {
|
|
"type": "string",
|
|
"description": "Init container volume-permissions image tag (immutable tags are recommended)",
|
|
"default": "11-debian-11-r40"
|
|
},
|
|
"digest": {
|
|
"type": "string",
|
|
"description": "Init container volume-permissions image digest in the way sha256:aa.... Please note this parameter, if set, will override the tag",
|
|
"default": ""
|
|
},
|
|
"pullPolicy": {
|
|
"type": "string",
|
|
"description": "Init container volume-permissions image pull policy",
|
|
"default": "IfNotPresent"
|
|
},
|
|
"pullSecrets": {
|
|
"type": "array",
|
|
"description": "Init container volume-permissions image pull secrets",
|
|
"default": [],
|
|
"items": {}
|
|
}
|
|
}
|
|
},
|
|
"resources": {
|
|
"type": "object",
|
|
"properties": {
|
|
"limits": {
|
|
"type": "object",
|
|
"description": "Init container volume-permissions resource limits",
|
|
"default": {}
|
|
},
|
|
"requests": {
|
|
"type": "object",
|
|
"description": "Init container volume-permissions resource requests",
|
|
"default": {}
|
|
}
|
|
}
|
|
},
|
|
"containerSecurityContext": {
|
|
"type": "object",
|
|
"properties": {
|
|
"runAsUser": {
|
|
"type": "number",
|
|
"description": "User ID for the init container",
|
|
"default": 0
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"serviceAccount": {
|
|
"type": "object",
|
|
"properties": {
|
|
"create": {
|
|
"type": "boolean",
|
|
"description": "Enable creation of ServiceAccount for Discourse pods",
|
|
"default": false
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the ServiceAccount to use.",
|
|
"default": ""
|
|
},
|
|
"automountServiceAccountToken": {
|
|
"type": "boolean",
|
|
"description": "Allows auto mount of ServiceAccountToken on the serviceAccount created",
|
|
"default": true
|
|
},
|
|
"annotations": {
|
|
"type": "object",
|
|
"description": "Additional custom annotations for the ServiceAccount",
|
|
"default": {}
|
|
}
|
|
}
|
|
},
|
|
"networkPolicy": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Enable network policies",
|
|
"default": false
|
|
},
|
|
"ingress": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Enable network policy for Ingress Proxies",
|
|
"default": false
|
|
},
|
|
"namespaceSelector": {
|
|
"type": "object",
|
|
"description": "Ingress Proxy namespace selector labels. These labels will be used to identify the Ingress Proxy's namespace.",
|
|
"default": {}
|
|
},
|
|
"podSelector": {
|
|
"type": "object",
|
|
"description": "Ingress Proxy pods selector labels. These labels will be used to identify the Ingress Proxy pods.",
|
|
"default": {}
|
|
}
|
|
}
|
|
},
|
|
"ingressRules": {
|
|
"type": "object",
|
|
"properties": {
|
|
"backendOnlyAccessibleByFrontend": {
|
|
"type": "boolean",
|
|
"description": "Enable ingress rule that makes the backends (PostgreSQL and Redis) only accessible by Discourse's pods.",
|
|
"default": false
|
|
},
|
|
"customBackendSelector": {
|
|
"type": "object",
|
|
"description": "Backend selector labels. These labels will be used to identify the backend pods.",
|
|
"default": {}
|
|
},
|
|
"accessOnlyFrom": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Enable ingress rule that makes Discourse only accessible from a particular origin",
|
|
"default": false
|
|
},
|
|
"namespaceSelector": {
|
|
"type": "object",
|
|
"description": "Namespace selector label that is allowed to access Discourse. This label will be used to identified the allowed namespace(s).",
|
|
"default": {}
|
|
},
|
|
"podSelector": {
|
|
"type": "object",
|
|
"description": "Pods selector label that is allowed to access Discourse. This label will be used to identified the allowed pod(s).",
|
|
"default": {}
|
|
}
|
|
}
|
|
},
|
|
"customRules": {
|
|
"type": "object",
|
|
"description": "Custom network policy ingress rule",
|
|
"default": {}
|
|
}
|
|
}
|
|
},
|
|
"egressRules": {
|
|
"type": "object",
|
|
"properties": {
|
|
"denyConnectionsToExternal": {
|
|
"type": "boolean",
|
|
"description": "Enable egress rule that denies outgoing traffic outside the cluster, except for DNS (port 53).",
|
|
"default": false
|
|
},
|
|
"customRules": {
|
|
"type": "object",
|
|
"description": "Custom network policy rule",
|
|
"default": {}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"postgresql": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Switch to enable or disable the PostgreSQL helm chart",
|
|
"default": true
|
|
},
|
|
"auth": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enablePostgresUser": {
|
|
"type": "boolean",
|
|
"description": "Assign a password to the \"postgres\" admin user. Otherwise, remote access will be blocked for this user",
|
|
"default": true
|
|
},
|
|
"postgresPassword": {
|
|
"type": "string",
|
|
"description": "Password for the \"postgres\" admin user",
|
|
"default": "bitnami"
|
|
},
|
|
"username": {
|
|
"type": "string",
|
|
"description": "Name for a custom user to create",
|
|
"default": "bn_discourse"
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"description": "Password for the custom user to create",
|
|
"default": ""
|
|
},
|
|
"database": {
|
|
"type": "string",
|
|
"description": "Name for a custom database to create",
|
|
"default": "bitnami_application"
|
|
},
|
|
"existingSecret": {
|
|
"type": "string",
|
|
"description": "Name of existing secret to use for PostgreSQL credentials",
|
|
"default": ""
|
|
}
|
|
}
|
|
},
|
|
"architecture": {
|
|
"type": "string",
|
|
"description": "PostgreSQL architecture (`standalone` or `replication`)",
|
|
"default": "standalone"
|
|
}
|
|
}
|
|
},
|
|
"externalDatabase": {
|
|
"type": "object",
|
|
"properties": {
|
|
"host": {
|
|
"type": "string",
|
|
"description": "Database host",
|
|
"default": "localhost"
|
|
},
|
|
"port": {
|
|
"type": "number",
|
|
"description": "Database port number",
|
|
"default": 5432
|
|
},
|
|
"user": {
|
|
"type": "string",
|
|
"description": "Non-root username for Discourse",
|
|
"default": "bn_discourse"
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"description": "Password for the non-root username for Discourse",
|
|
"default": ""
|
|
},
|
|
"database": {
|
|
"type": "string",
|
|
"description": "Discourse database name",
|
|
"default": "bitnami_application"
|
|
},
|
|
"create": {
|
|
"type": "boolean",
|
|
"description": "Switch to enable user/database creation during the installation stage",
|
|
"default": true
|
|
},
|
|
"postgresUser": {
|
|
"type": "string",
|
|
"description": "PostgreSQL admin user, used during the installation stage",
|
|
"default": ""
|
|
},
|
|
"postgresPassword": {
|
|
"type": "string",
|
|
"description": "PostgreSQL admin password, used during the installation stage",
|
|
"default": ""
|
|
},
|
|
"existingSecret": {
|
|
"type": "string",
|
|
"description": "Name of an existing secret resource containing the database credentials",
|
|
"default": ""
|
|
},
|
|
"existingSecretPasswordKey": {
|
|
"type": "string",
|
|
"description": "Name of an existing secret key containing the database credentials",
|
|
"default": "password"
|
|
},
|
|
"existingSecretPostgresPasswordKey": {
|
|
"type": "string",
|
|
"description": "Name of an existing secret key containing the database admin user credentials",
|
|
"default": "postgres-password"
|
|
}
|
|
}
|
|
},
|
|
"redis": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Switch to enable or disable the Redis® helm",
|
|
"default": true
|
|
},
|
|
"auth": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"description": "Enable password authentication",
|
|
"default": true
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"description": "Redis® password",
|
|
"default": ""
|
|
},
|
|
"existingSecret": {
|
|
"type": "string",
|
|
"description": "The name of an existing secret with Redis® credentials",
|
|
"default": ""
|
|
}
|
|
}
|
|
},
|
|
"architecture": {
|
|
"type": "string",
|
|
"description": "Redis® architecture. Allowed values: `standalone` or `replication`",
|
|
"default": "standalone"
|
|
}
|
|
}
|
|
},
|
|
"externalRedis": {
|
|
"type": "object",
|
|
"properties": {
|
|
"host": {
|
|
"type": "string",
|
|
"description": "Redis® host",
|
|
"default": "localhost"
|
|
},
|
|
"port": {
|
|
"type": "number",
|
|
"description": "Redis® port number",
|
|
"default": 6379
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"description": "Redis® password",
|
|
"default": ""
|
|
},
|
|
"existingSecret": {
|
|
"type": "string",
|
|
"description": "Name of an existing secret resource containing the Redis&trade credentials",
|
|
"default": ""
|
|
},
|
|
"existingSecretPasswordKey": {
|
|
"type": "string",
|
|
"description": "Name of an existing secret key containing the Redis&trade credentials",
|
|
"default": "redis-password"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |