tree: 438ddd64d78e4443bb4cc2a13467e4a0256b66d0 [path history] [tgz]
  1. templates/
  2. .gitignore
  3. .helmignore
  4. Chart.lock
  5. Chart.yaml
  6. README.md
  7. README.md.gotmpl
  8. values.yaml
helm/superset/README.md

superset

Version: 0.12.10

Apache Superset is a modern, enterprise-ready business intelligence web application

Homepage: https://superset.apache.org/

Source Code

TL;DR

helm repo add superset http://apache.github.io/superset/
helm install my-superset superset/superset

Make sure you set your own SECRET_KEY to something unique and secret. This secret key is used by Flask for securely signing the session cookie and will be used to encrypt sensitive data on Superset's metadata database. It should be a long random bytes or str.

On helm this can be set on extraSecretEnv.SUPERSET_SECRET_KEY or configOverrides.secrets

Requirements

RepositoryNameVersion
https://charts.bitnami.com/bitnamipostgresql12.1.6
https://charts.bitnami.com/bitnamiredis17.9.4

Values

KeyTypeDefaultDescription
affinityobject{}
bootstrapScriptstringsee values.yamlInstall additional packages and do any other bootstrap configuration in this script For production clusters it's recommended to build own image with this step done in CI
configFromSecretstring"{{ template \"superset.fullname\" . }}-config"The name of the secret which we will use to generate a superset_config.py file Note: this secret must have the key superset_config.py in it and can include other files as well
configMountPathstring"/app/pythonpath"
configOverridesobject{}A dictionary of overrides to append at the end of superset_config.py - the name does not matter WARNING: the order is not guaranteed Files can be passed as helm --set-file configOverrides.my-override=my-file.py
configOverridesFilesobject{}Same as above but the values are files
envFromSecretstring"{{ template \"superset.fullname\" . }}-env"The name of the secret which we will use to populate env vars in deployed pods This can be useful for secret keys, etc.
envFromSecretslist[]This can be a list of templated strings
extraConfigMountPathstring"/app/configs"
extraConfigsobject{}Extra files to mount on /app/pythonpath
extraEnvobject{}Extra environment variables that will be passed into pods
extraEnvRawlist[]Extra environment variables in RAW format that will be passed into pods
extraSecretEnvobject{}Extra environment variables to pass as secrets
extraSecretsobject{}Extra files to mount on /app/pythonpath as secrets
extraVolumeMountslist[]
extraVolumeslist[]
fullnameOverridestringnilProvide a name to override the full names of resources
hostAliaseslist[]Custom hostAliases for all superset pods # https://kubernetes.io/docs/tasks/network/customize-hosts-file-for-pods/
image.pullPolicystring"IfNotPresent"
image.repositorystring"apachesuperset.docker.scarf.sh/apache/superset"
image.tagstringnil
imagePullSecretslist[]
ingress.annotationsobject{}
ingress.enabledboolfalse
ingress.extraHostsRawlist[]
ingress.hosts[0]string"chart-example.local"
ingress.ingressClassNamestringnil
ingress.pathstring"/"
ingress.pathTypestring"ImplementationSpecific"
ingress.tlslist[]
init.adminUser.emailstring"admin@superset.com"
init.adminUser.firstnamestring"Superset"
init.adminUser.lastnamestring"Admin"
init.adminUser.passwordstring"admin"
init.adminUser.usernamestring"admin"
init.affinityobject{}
init.commandlista superset_init.sh commandCommand
init.containerSecurityContextobject{}
init.createAdminbooltrue
init.enabledbooltrue
init.extraContainerslist[]Launch additional containers into init job pod
init.initContainerslista container waiting for postgresList of initContainers
init.initscriptstringa script to create admin user and initialize rolesA Superset init script
init.jobAnnotations.“helm.sh/hook”string"post-install,post-upgrade"
init.jobAnnotations.“helm.sh/hook-delete-policy”string"before-hook-creation"
init.loadExamplesboolfalse
init.podAnnotationsobject{}
init.podSecurityContextobject{}
init.resourcesobject{}
init.tolerationslist[]
init.topologySpreadConstraintslist[]TopologySpreadConstrains to be added to init job
initImage.pullPolicystring"IfNotPresent"
initImage.repositorystring"apache/superset"
initImage.tagstring"dockerize"
nameOverridestringnilProvide a name to override the name of the chart
nodeSelectorobject{}
postgresqlobjectsee values.yamlConfiguration values for the postgresql dependency. ref: https://github.com/bitnami/charts/tree/main/bitnami/postgresql
redisobjectsee values.yamlConfiguration values for the Redis dependency. ref: https://github.com/bitnami/charts/blob/master/bitnami/redis More documentation can be found here: https://artifacthub.io/packages/helm/bitnami/redis
resourcesobject{}
runAsUserint0User ID directive. This user must have enough permissions to run the bootstrap script Running containers as root is not recommended in production. Change this to another UID - e.g. 1000 to be more secure
secretEnvobject{"create":true}Specify rather or not helm should create the secret described in secret-env.yaml template
secretEnv.createbooltrueChange to false in order to support externally created secret (Binami “Sealed Secrets” for Kubernetes or External Secrets Operator) note: when externally creating the secret, the chart still expects to pull values from a secret with the name of the release defaults to release-name-superset-env - full logic located in _helpers.tpl file: define "superset.fullname"
service.annotationsobject{}
service.loadBalancerIPstringnil
service.nodePort.httpint"nil"
service.portint8088
service.typestring"ClusterIP"
serviceAccount.annotationsobject{}
serviceAccount.createboolfalseCreate custom service account for Superset. If create: true and serviceAccountName is not provided, superset.fullname will be used.
serviceAccountNamestringnilSpecify service account name to be used
supersetCeleryBeat.affinityobject{}Affinity to be added to supersetCeleryBeat deployment
supersetCeleryBeat.commandlista celery beat commandCommand
supersetCeleryBeat.containerSecurityContextobject{}
supersetCeleryBeat.deploymentAnnotationsobject{}Annotations to be added to supersetCeleryBeat deployment
supersetCeleryBeat.enabledboolfalseThis is only required if you intend to use alerts and reports
supersetCeleryBeat.extraContainerslist[]Launch additional containers into supersetCeleryBeat pods
supersetCeleryBeat.forceReloadboolfalseIf true, forces deployment to reload on each upgrade
supersetCeleryBeat.initContainerslista container waiting for postgresList of init containers
supersetCeleryBeat.podAnnotationsobject{}Annotations to be added to supersetCeleryBeat pods
supersetCeleryBeat.podDisruptionBudgetobject{"enabled":false,"maxUnavailable":1,"minAvailable":1}Sets the pod disruption budget for supersetCeleryBeat pods
supersetCeleryBeat.podDisruptionBudget.enabledboolfalseWhether the pod disruption budget should be created
supersetCeleryBeat.podDisruptionBudget.maxUnavailableint1If set, minAvailable must not be set - see https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget
supersetCeleryBeat.podDisruptionBudget.minAvailableint1If set, maxUnavailable must not be set - see https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget
supersetCeleryBeat.podLabelsobject{}Labels to be added to supersetCeleryBeat pods
supersetCeleryBeat.podSecurityContextobject{}
supersetCeleryBeat.resourcesobject{}Resource settings for the CeleryBeat pods - these settings overwrite might existing values from the global resources object defined above.
supersetCeleryBeat.topologySpreadConstraintslist[]TopologySpreadConstrains to be added to supersetCeleryBeat deployments
supersetCeleryFlower.affinityobject{}Affinity to be added to supersetCeleryFlower deployment
supersetCeleryFlower.commandlista celery flower commandCommand
supersetCeleryFlower.containerSecurityContextobject{}
supersetCeleryFlower.deploymentAnnotationsobject{}Annotations to be added to supersetCeleryFlower deployment
supersetCeleryFlower.enabledboolfalseEnables a Celery flower deployment (management UI to monitor celery jobs) WARNING: on superset 1.x, this requires a Superset image that has flower<1.0.0 installed (which is NOT the case of the default images) flower>=1.0.0 requires Celery 5+ which Superset 1.5 does not support
supersetCeleryFlower.extraContainerslist[]Launch additional containers into supersetCeleryFlower pods
supersetCeleryFlower.initContainerslista container waiting for postgres and redisList of init containers
supersetCeleryFlower.livenessProbe.failureThresholdint3
supersetCeleryFlower.livenessProbe.httpGet.pathstring"/api/workers"
supersetCeleryFlower.livenessProbe.httpGet.portstring"flower"
supersetCeleryFlower.livenessProbe.initialDelaySecondsint5
supersetCeleryFlower.livenessProbe.periodSecondsint5
supersetCeleryFlower.livenessProbe.successThresholdint1
supersetCeleryFlower.livenessProbe.timeoutSecondsint1
supersetCeleryFlower.podAnnotationsobject{}Annotations to be added to supersetCeleryFlower pods
supersetCeleryFlower.podDisruptionBudgetobject{"enabled":false,"maxUnavailable":1,"minAvailable":1}Sets the pod disruption budget for supersetCeleryFlower pods
supersetCeleryFlower.podDisruptionBudget.enabledboolfalseWhether the pod disruption budget should be created
supersetCeleryFlower.podDisruptionBudget.maxUnavailableint1If set, minAvailable must not be set - see https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget
supersetCeleryFlower.podDisruptionBudget.minAvailableint1If set, maxUnavailable must not be set - see https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget
supersetCeleryFlower.podLabelsobject{}Labels to be added to supersetCeleryFlower pods
supersetCeleryFlower.podSecurityContextobject{}
supersetCeleryFlower.readinessProbe.failureThresholdint3
supersetCeleryFlower.readinessProbe.httpGet.pathstring"/api/workers"
supersetCeleryFlower.readinessProbe.httpGet.portstring"flower"
supersetCeleryFlower.readinessProbe.initialDelaySecondsint5
supersetCeleryFlower.readinessProbe.periodSecondsint5
supersetCeleryFlower.readinessProbe.successThresholdint1
supersetCeleryFlower.readinessProbe.timeoutSecondsint1
supersetCeleryFlower.replicaCountint1
supersetCeleryFlower.resourcesobject{}Resource settings for the CeleryBeat pods - these settings overwrite might existing values from the global resources object defined above.
supersetCeleryFlower.service.annotationsobject{}
supersetCeleryFlower.service.loadBalancerIPstringnil
supersetCeleryFlower.service.nodePort.httpint"nil"
supersetCeleryFlower.service.portint5555
supersetCeleryFlower.service.typestring"ClusterIP"
supersetCeleryFlower.startupProbe.failureThresholdint60
supersetCeleryFlower.startupProbe.httpGet.pathstring"/api/workers"
supersetCeleryFlower.startupProbe.httpGet.portstring"flower"
supersetCeleryFlower.startupProbe.initialDelaySecondsint5
supersetCeleryFlower.startupProbe.periodSecondsint5
supersetCeleryFlower.startupProbe.successThresholdint1
supersetCeleryFlower.startupProbe.timeoutSecondsint1
supersetCeleryFlower.topologySpreadConstraintslist[]TopologySpreadConstrains to be added to supersetCeleryFlower deployments
supersetNode.affinityobject{}Affinity to be added to supersetNode deployment
supersetNode.autoscaling.enabledboolfalse
supersetNode.autoscaling.maxReplicasint100
supersetNode.autoscaling.minReplicasint1
supersetNode.autoscaling.targetCPUUtilizationPercentageint80
supersetNode.commandlistSee values.yamlStartup command
supersetNode.connections.db_hoststring"{{ .Release.Name }}-postgresql"
supersetNode.connections.db_namestring"superset"
supersetNode.connections.db_passstring"superset"
supersetNode.connections.db_portstring"5432"
supersetNode.connections.db_userstring"superset"
supersetNode.connections.redis_cache_dbstring"1"
supersetNode.connections.redis_celery_dbstring"0"
supersetNode.connections.redis_hoststring"{{ .Release.Name }}-redis-headless"Change in case of bringing your own redis and then also set redis.enabled:false
supersetNode.connections.redis_portstring"6379"
supersetNode.connections.redis_ssl.enabledboolfalse
supersetNode.connections.redis_ssl.ssl_cert_reqsstring"CERT_NONE"
supersetNode.connections.redis_userstring""
supersetNode.containerSecurityContextobject{}
supersetNode.deploymentAnnotationsobject{}Annotations to be added to supersetNode deployment
supersetNode.deploymentLabelsobject{}Labels to be added to supersetNode deployment
supersetNode.envobject{}
supersetNode.extraContainerslist[]Launch additional containers into supersetNode pod
supersetNode.forceReloadboolfalseIf true, forces deployment to reload on each upgrade
supersetNode.initContainerslista container waiting for postgresInit containers
supersetNode.livenessProbe.failureThresholdint3
supersetNode.livenessProbe.httpGet.pathstring"/health"
supersetNode.livenessProbe.httpGet.portstring"http"
supersetNode.livenessProbe.initialDelaySecondsint15
supersetNode.livenessProbe.periodSecondsint15
supersetNode.livenessProbe.successThresholdint1
supersetNode.livenessProbe.timeoutSecondsint1
supersetNode.podAnnotationsobject{}Annotations to be added to supersetNode pods
supersetNode.podDisruptionBudgetobject{"enabled":false,"maxUnavailable":1,"minAvailable":1}Sets the pod disruption budget for supersetNode pods
supersetNode.podDisruptionBudget.enabledboolfalseWhether the pod disruption budget should be created
supersetNode.podDisruptionBudget.maxUnavailableint1If set, minAvailable must not be set - see https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget
supersetNode.podDisruptionBudget.minAvailableint1If set, maxUnavailable must not be set - see https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget
supersetNode.podLabelsobject{}Labels to be added to supersetNode pods
supersetNode.podSecurityContextobject{}
supersetNode.readinessProbe.failureThresholdint3
supersetNode.readinessProbe.httpGet.pathstring"/health"
supersetNode.readinessProbe.httpGet.portstring"http"
supersetNode.readinessProbe.initialDelaySecondsint15
supersetNode.readinessProbe.periodSecondsint15
supersetNode.readinessProbe.successThresholdint1
supersetNode.readinessProbe.timeoutSecondsint1
supersetNode.replicaCountint1
supersetNode.resourcesobject{}Resource settings for the supersetNode pods - these settings overwrite might existing values from the global resources object defined above.
supersetNode.startupProbe.failureThresholdint60
supersetNode.startupProbe.httpGet.pathstring"/health"
supersetNode.startupProbe.httpGet.portstring"http"
supersetNode.startupProbe.initialDelaySecondsint15
supersetNode.startupProbe.periodSecondsint5
supersetNode.startupProbe.successThresholdint1
supersetNode.startupProbe.timeoutSecondsint1
supersetNode.strategyobject{}
supersetNode.topologySpreadConstraintslist[]TopologySpreadConstrains to be added to supersetNode deployments
supersetWebsockets.affinityobject{}Affinity to be added to supersetWebsockets deployment
supersetWebsockets.commandlist[]
supersetWebsockets.configobjectsee values.yamlThe config.json to pass to the server, see https://github.com/apache/superset/tree/master/superset-websocket Note that the configuration can also read from environment variables (which will have priority), see https://github.com/apache/superset/blob/master/superset-websocket/src/config.ts for a list of supported variables
supersetWebsockets.containerSecurityContextobject{}
supersetWebsockets.deploymentAnnotationsobject{}
supersetWebsockets.enabledboolfalseThis is only required if you intend to use GLOBAL_ASYNC_QUERIES in ws mode see https://github.com/apache/superset/blob/master/CONTRIBUTING.md#async-chart-queries
supersetWebsockets.extraContainerslist[]Launch additional containers into supersetWebsockets pods
supersetWebsockets.image.pullPolicystring"IfNotPresent"
supersetWebsockets.image.repositorystring"oneacrefund/superset-websocket"There is no official image (yet), this one is community-supported
supersetWebsockets.image.tagstring"latest"
supersetWebsockets.ingress.pathstring"/ws"
supersetWebsockets.ingress.pathTypestring"Prefix"
supersetWebsockets.livenessProbe.failureThresholdint3
supersetWebsockets.livenessProbe.httpGet.pathstring"/health"
supersetWebsockets.livenessProbe.httpGet.portstring"ws"
supersetWebsockets.livenessProbe.initialDelaySecondsint5
supersetWebsockets.livenessProbe.periodSecondsint5
supersetWebsockets.livenessProbe.successThresholdint1
supersetWebsockets.livenessProbe.timeoutSecondsint1
supersetWebsockets.podAnnotationsobject{}
supersetWebsockets.podDisruptionBudgetobject{"enabled":false,"maxUnavailable":1,"minAvailable":1}Sets the pod disruption budget for supersetWebsockets pods
supersetWebsockets.podDisruptionBudget.enabledboolfalseWhether the pod disruption budget should be created
supersetWebsockets.podDisruptionBudget.maxUnavailableint1If set, minAvailable must not be set - see https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget
supersetWebsockets.podDisruptionBudget.minAvailableint1If set, maxUnavailable must not be set - see https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget
supersetWebsockets.podLabelsobject{}
supersetWebsockets.podSecurityContextobject{}
supersetWebsockets.readinessProbe.failureThresholdint3
supersetWebsockets.readinessProbe.httpGet.pathstring"/health"
supersetWebsockets.readinessProbe.httpGet.portstring"ws"
supersetWebsockets.readinessProbe.initialDelaySecondsint5
supersetWebsockets.readinessProbe.periodSecondsint5
supersetWebsockets.readinessProbe.successThresholdint1
supersetWebsockets.readinessProbe.timeoutSecondsint1
supersetWebsockets.replicaCountint1
supersetWebsockets.resourcesobject{}
supersetWebsockets.service.annotationsobject{}
supersetWebsockets.service.loadBalancerIPstringnil
supersetWebsockets.service.nodePort.httpint"nil"
supersetWebsockets.service.portint8080
supersetWebsockets.service.typestring"ClusterIP"
supersetWebsockets.startupProbe.failureThresholdint60
supersetWebsockets.startupProbe.httpGet.pathstring"/health"
supersetWebsockets.startupProbe.httpGet.portstring"ws"
supersetWebsockets.startupProbe.initialDelaySecondsint5
supersetWebsockets.startupProbe.periodSecondsint5
supersetWebsockets.startupProbe.successThresholdint1
supersetWebsockets.startupProbe.timeoutSecondsint1
supersetWebsockets.strategyobject{}
supersetWebsockets.topologySpreadConstraintslist[]TopologySpreadConstrains to be added to supersetWebsockets deployments
supersetWorker.affinityobject{}Affinity to be added to supersetWorker deployment
supersetWorker.autoscaling.enabledboolfalse
supersetWorker.autoscaling.maxReplicasint100
supersetWorker.autoscaling.minReplicasint1
supersetWorker.autoscaling.targetCPUUtilizationPercentageint80
supersetWorker.commandlista celery worker commandWorker startup command
supersetWorker.containerSecurityContextobject{}
supersetWorker.deploymentAnnotationsobject{}Annotations to be added to supersetWorker deployment
supersetWorker.deploymentLabelsobject{}Labels to be added to supersetWorker deployment
supersetWorker.extraContainerslist[]Launch additional containers into supersetWorker pod
supersetWorker.forceReloadboolfalseIf true, forces deployment to reload on each upgrade
supersetWorker.initContainerslista container waiting for postgres and redisInit container
supersetWorker.livenessProbe.exec.commandlista celery inspect ping commandLiveness probe command
supersetWorker.livenessProbe.failureThresholdint3
supersetWorker.livenessProbe.initialDelaySecondsint120
supersetWorker.livenessProbe.periodSecondsint60
supersetWorker.livenessProbe.successThresholdint1
supersetWorker.livenessProbe.timeoutSecondsint60
supersetWorker.podAnnotationsobject{}Annotations to be added to supersetWorker pods
supersetWorker.podDisruptionBudgetobject{"enabled":false,"maxUnavailable":1,"minAvailable":1}Sets the pod disruption budget for supersetWorker pods
supersetWorker.podDisruptionBudget.enabledboolfalseWhether the pod disruption budget should be created
supersetWorker.podDisruptionBudget.maxUnavailableint1If set, minAvailable must not be set - see https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget
supersetWorker.podDisruptionBudget.minAvailableint1If set, maxUnavailable must not be set - see https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget
supersetWorker.podLabelsobject{}Labels to be added to supersetWorker pods
supersetWorker.podSecurityContextobject{}
supersetWorker.readinessProbeobject{}No startup/readiness probes by default since we don‘t really care about its startup time (it doesn’t serve traffic)
supersetWorker.replicaCountint1
supersetWorker.resourcesobject{}Resource settings for the supersetWorker pods - these settings overwrite might existing values from the global resources object defined above.
supersetWorker.startupProbeobject{}No startup/readiness probes by default since we don‘t really care about its startup time (it doesn’t serve traffic)
supersetWorker.strategyobject{}
supersetWorker.topologySpreadConstraintslist[]TopologySpreadConstrains to be added to supersetWorker deployments
tolerationslist[]
topologySpreadConstraintslist[]TopologySpreadConstrains to be added to all deployments