feat(helm): Support for flower and websocket containers (#21806)
This commit is contained in:
parent
7e3e13321b
commit
06da7bf65c
|
|
@ -44,3 +44,4 @@ jobs:
|
||||||
CT_CHART_DIRS: helm
|
CT_CHART_DIRS: helm
|
||||||
CT_LINT_CONF: lintconf.yaml
|
CT_LINT_CONF: lintconf.yaml
|
||||||
CT_SINCE: HEAD
|
CT_SINCE: HEAD
|
||||||
|
CT_CHART_REPOS: bitnami=https://charts.bitnami.com/bitnami
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
"no-bare-urls": false,
|
||||||
|
"line-length": false
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
dependencies:
|
||||||
|
- name: postgresql
|
||||||
|
repository: https://charts.bitnami.com/bitnami
|
||||||
|
version: 11.1.22
|
||||||
|
- name: redis
|
||||||
|
repository: https://charts.bitnami.com/bitnami
|
||||||
|
version: 16.3.1
|
||||||
|
digest: sha256:f80cc4ec2bb6f327d348bc15e9192cc6ab2163781c1e35f85720565a36a1cb14
|
||||||
|
generated: "2022-10-13T16:59:44.305764+02:00"
|
||||||
|
|
@ -18,17 +18,24 @@ apiVersion: v2
|
||||||
appVersion: "1.0"
|
appVersion: "1.0"
|
||||||
description: Apache Superset is a modern, enterprise-ready business intelligence web application
|
description: Apache Superset is a modern, enterprise-ready business intelligence web application
|
||||||
name: superset
|
name: superset
|
||||||
|
icon: https://artifacthub.io/image/68c1d717-0e97-491f-b046-754e46f46922@2x
|
||||||
|
home: https://superset.apache.org/
|
||||||
|
keywords:
|
||||||
|
- business intelligence
|
||||||
|
- data science
|
||||||
|
sources:
|
||||||
|
- https://github.com/apache/superset
|
||||||
maintainers:
|
maintainers:
|
||||||
- name: craig-rueda
|
- name: craig-rueda
|
||||||
email: craig@craigrueda.com
|
email: craig@craigrueda.com
|
||||||
url: https://github.com/craig-rueda
|
url: https://github.com/craig-rueda
|
||||||
version: 0.7.4
|
version: 0.7.5
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: postgresql
|
- name: postgresql
|
||||||
version: 11.1.22
|
version: 11.1.22
|
||||||
repository: https://charts.bitnami.com/bitnami
|
repository: https://charts.bitnami.com/bitnami
|
||||||
condition: postgresql.enabled
|
condition: postgresql.enabled
|
||||||
- name: redis
|
- name: redis
|
||||||
version: 16.3.1
|
version: 16.3.1
|
||||||
repository: https://charts.bitnami.com/bitnami
|
repository: https://charts.bitnami.com/bitnami
|
||||||
condition: redis.enabled
|
condition: redis.enabled
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,249 @@
|
||||||
|
<!--
|
||||||
|
Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
or more contributor license agreements. See the NOTICE file
|
||||||
|
distributed with this work for additional information
|
||||||
|
regarding copyright ownership. The ASF licenses this file
|
||||||
|
to you under the Apache License, Version 2.0 (the
|
||||||
|
"License"); you may not use this file except in compliance
|
||||||
|
with the License. You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing,
|
||||||
|
software distributed under the License is distributed on an
|
||||||
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
KIND, either express or implied. See the License for the
|
||||||
|
specific language governing permissions and limitations
|
||||||
|
under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
# superset
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
Apache Superset is a modern, enterprise-ready business intelligence web application
|
||||||
|
|
||||||
|
**Homepage:** <https://superset.apache.org/>
|
||||||
|
|
||||||
|
## Source Code
|
||||||
|
|
||||||
|
* <https://github.com/apache/superset>
|
||||||
|
|
||||||
|
## TL;DR
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm repo add superset http://apache.github.io/superset/
|
||||||
|
helm install my-superset superset/superset
|
||||||
|
```
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
| Repository | Name | Version |
|
||||||
|
|------------|------|---------|
|
||||||
|
| https://charts.bitnami.com/bitnami | postgresql | 11.1.22 |
|
||||||
|
| https://charts.bitnami.com/bitnami | redis | 16.3.1 |
|
||||||
|
|
||||||
|
## Values
|
||||||
|
|
||||||
|
| Key | Type | Default | Description |
|
||||||
|
|-----|------|---------|-------------|
|
||||||
|
| affinity | object | `{}` | |
|
||||||
|
| bootstrapScript | string | see `values.yaml` | Install 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 |
|
||||||
|
| configFromSecret | string | `"{{ 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 |
|
||||||
|
| configMountPath | string | `"/app/pythonpath"` | |
|
||||||
|
| configOverrides | object | `{}` | 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 |
|
||||||
|
| configOverridesFiles | object | `{}` | Same as above but the values are files |
|
||||||
|
| envFromSecret | string | `"{{ 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. |
|
||||||
|
| envFromSecrets | list | `[]` | This can be a list of templated strings |
|
||||||
|
| extraConfigMountPath | string | `"/app/configs"` | |
|
||||||
|
| extraConfigs | object | `{}` | Extra files to mount on `/app/pythonpath` |
|
||||||
|
| extraEnv | object | `{}` | Extra environment variables that will be passed into pods |
|
||||||
|
| extraEnvRaw | list | `[]` | Extra environment variables in RAW format that will be passed into pods |
|
||||||
|
| extraSecretEnv | object | `{}` | Extra environment variables to pass as secrets |
|
||||||
|
| extraSecrets | object | `{}` | Extra files to mount on `/app/pythonpath` as secrets |
|
||||||
|
| extraVolumeMounts | list | `[]` | |
|
||||||
|
| extraVolumes | list | `[]` | |
|
||||||
|
| hostAliases | list | `[]` | Custom hostAliases for all superset pods # https://kubernetes.io/docs/tasks/network/customize-hosts-file-for-pods/ |
|
||||||
|
| image.pullPolicy | string | `"IfNotPresent"` | |
|
||||||
|
| image.repository | string | `"apache/superset"` | |
|
||||||
|
| image.tag | string | `"latest"` | |
|
||||||
|
| imagePullSecrets | list | `[]` | |
|
||||||
|
| ingress.annotations | object | `{}` | |
|
||||||
|
| ingress.enabled | bool | `false` | |
|
||||||
|
| ingress.hosts[0] | string | `"chart-example.local"` | |
|
||||||
|
| ingress.path | string | `"/"` | |
|
||||||
|
| ingress.pathType | string | `"ImplementationSpecific"` | |
|
||||||
|
| ingress.tls | list | `[]` | |
|
||||||
|
| init.adminUser.email | string | `"admin@superset.com"` | |
|
||||||
|
| init.adminUser.firstname | string | `"Superset"` | |
|
||||||
|
| init.adminUser.lastname | string | `"Admin"` | |
|
||||||
|
| init.adminUser.password | string | `"admin"` | |
|
||||||
|
| init.adminUser.username | string | `"admin"` | |
|
||||||
|
| init.command | list | a `superset_init.sh` command | Command |
|
||||||
|
| init.containerSecurityContext | object | `{}` | |
|
||||||
|
| init.createAdmin | bool | `true` | |
|
||||||
|
| init.enabled | bool | `true` | |
|
||||||
|
| init.initContainers | list | a container waiting for postgres | List of initContainers |
|
||||||
|
| init.initscript | string | a script to create admin user and initailize roles | A Superset init script |
|
||||||
|
| init.loadExamples | bool | `false` | |
|
||||||
|
| init.podAnnotations | object | `{}` | |
|
||||||
|
| init.podSecurityContext | object | `{}` | |
|
||||||
|
| init.resources | object | `{}` | |
|
||||||
|
| initImage.pullPolicy | string | `"IfNotPresent"` | |
|
||||||
|
| initImage.repository | string | `"jwilder/dockerize"` | |
|
||||||
|
| initImage.tag | string | `"latest"` | |
|
||||||
|
| nodeSelector | object | `{}` | |
|
||||||
|
| postgresql | object | see `values.yaml` | Configuration values for the postgresql dependency. ref: https://github.com/kubernetes/charts/blob/master/stable/postgresql/README.md |
|
||||||
|
| redis | object | see `values.yaml` | Configuration 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 |
|
||||||
|
| resources | object | `{}` | |
|
||||||
|
| runAsUser | int | `0` | User 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 |
|
||||||
|
| service.annotations | object | `{}` | |
|
||||||
|
| service.loadBalancerIP | string | `nil` | |
|
||||||
|
| service.port | int | `8088` | |
|
||||||
|
| service.type | string | `"ClusterIP"` | |
|
||||||
|
| serviceAccount.annotations | object | `{}` | |
|
||||||
|
| serviceAccount.create | bool | `false` | Create custom service account for Superset. If create: true and name is not provided, `superset.fullname` will be used. |
|
||||||
|
| supersetCeleryBeat.command | list | a `celery beat` command | Command |
|
||||||
|
| supersetCeleryBeat.containerSecurityContext | object | `{}` | |
|
||||||
|
| supersetCeleryBeat.deploymentAnnotations | object | `{}` | Annotations to be added to supersetCeleryBeat deployment |
|
||||||
|
| supersetCeleryBeat.enabled | bool | `false` | This is only required if you intend to use alerts and reports |
|
||||||
|
| supersetCeleryBeat.forceReload | bool | `false` | If true, forces deployment to reload on each upgrade |
|
||||||
|
| supersetCeleryBeat.initContainers | list | a container waiting for postgres | List of init containers |
|
||||||
|
| supersetCeleryBeat.podAnnotations | object | `{}` | Annotations to be added to supersetCeleryBeat pods |
|
||||||
|
| supersetCeleryBeat.podLabels | object | `{}` | Labels to be added to supersetCeleryBeat pods |
|
||||||
|
| supersetCeleryBeat.podSecurityContext | object | `{}` | |
|
||||||
|
| supersetCeleryBeat.resources | object | `{}` | Resource settings for the CeleryBeat pods - these settings overwrite might existing values from the global resources object defined above. |
|
||||||
|
| supersetCeleryFlower.command | list | a `celery flower` command | Command |
|
||||||
|
| supersetCeleryFlower.containerSecurityContext | object | `{}` | |
|
||||||
|
| supersetCeleryFlower.deploymentAnnotations | object | `{}` | Annotations to be added to supersetCeleryBeat deployment |
|
||||||
|
| supersetCeleryFlower.enabled | bool | `false` | Enables 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.initContainers | list | a container waiting for postgres and redis | List of init containers |
|
||||||
|
| supersetCeleryFlower.livenessProbe.failureThreshold | int | `3` | |
|
||||||
|
| supersetCeleryFlower.livenessProbe.httpGet.path | string | `"/api/workers"` | |
|
||||||
|
| supersetCeleryFlower.livenessProbe.httpGet.port | string | `"flower"` | |
|
||||||
|
| supersetCeleryFlower.livenessProbe.initialDelaySeconds | int | `5` | |
|
||||||
|
| supersetCeleryFlower.livenessProbe.periodSeconds | int | `5` | |
|
||||||
|
| supersetCeleryFlower.livenessProbe.successThreshold | int | `1` | |
|
||||||
|
| supersetCeleryFlower.livenessProbe.timeoutSeconds | int | `1` | |
|
||||||
|
| supersetCeleryFlower.podAnnotations | object | `{}` | Annotations to be added to supersetCeleryBeat pods |
|
||||||
|
| supersetCeleryFlower.podLabels | object | `{}` | Labels to be added to supersetCeleryBeat pods |
|
||||||
|
| supersetCeleryFlower.podSecurityContext | object | `{}` | |
|
||||||
|
| supersetCeleryFlower.readinessProbe.failureThreshold | int | `3` | |
|
||||||
|
| supersetCeleryFlower.readinessProbe.httpGet.path | string | `"/api/workers"` | |
|
||||||
|
| supersetCeleryFlower.readinessProbe.httpGet.port | string | `"flower"` | |
|
||||||
|
| supersetCeleryFlower.readinessProbe.initialDelaySeconds | int | `5` | |
|
||||||
|
| supersetCeleryFlower.readinessProbe.periodSeconds | int | `5` | |
|
||||||
|
| supersetCeleryFlower.readinessProbe.successThreshold | int | `1` | |
|
||||||
|
| supersetCeleryFlower.readinessProbe.timeoutSeconds | int | `1` | |
|
||||||
|
| supersetCeleryFlower.replicaCount | int | `1` | |
|
||||||
|
| supersetCeleryFlower.resources | object | `{}` | Resource settings for the CeleryBeat pods - these settings overwrite might existing values from the global resources object defined above. |
|
||||||
|
| supersetCeleryFlower.service.annotations | object | `{}` | |
|
||||||
|
| supersetCeleryFlower.service.port | int | `5555` | |
|
||||||
|
| supersetCeleryFlower.service.type | string | `"ClusterIP"` | |
|
||||||
|
| supersetCeleryFlower.startupProbe.failureThreshold | int | `60` | |
|
||||||
|
| supersetCeleryFlower.startupProbe.httpGet.path | string | `"/api/workers"` | |
|
||||||
|
| supersetCeleryFlower.startupProbe.httpGet.port | string | `"flower"` | |
|
||||||
|
| supersetCeleryFlower.startupProbe.initialDelaySeconds | int | `5` | |
|
||||||
|
| supersetCeleryFlower.startupProbe.periodSeconds | int | `5` | |
|
||||||
|
| supersetCeleryFlower.startupProbe.successThreshold | int | `1` | |
|
||||||
|
| supersetCeleryFlower.startupProbe.timeoutSeconds | int | `1` | |
|
||||||
|
| supersetNode.command | list | See `values.yaml` | Startup command |
|
||||||
|
| supersetNode.connections.db_host | string | `"{{ template \"superset.fullname\" . }}-postgresql"` | |
|
||||||
|
| supersetNode.connections.db_name | string | `"superset"` | |
|
||||||
|
| supersetNode.connections.db_pass | string | `"superset"` | |
|
||||||
|
| supersetNode.connections.db_port | string | `"5432"` | |
|
||||||
|
| supersetNode.connections.db_user | string | `"superset"` | |
|
||||||
|
| supersetNode.connections.redis_host | string | `"{{ template \"superset.fullname\" . }}-redis-headless"` | Change in case of bringing your own redis and then also set redis.enabled:false |
|
||||||
|
| supersetNode.connections.redis_port | string | `"6379"` | |
|
||||||
|
| supersetNode.containerSecurityContext | object | `{}` | |
|
||||||
|
| supersetNode.deploymentAnnotations | object | `{}` | Annotations to be added to supersetNode deployment |
|
||||||
|
| supersetNode.env | object | `{}` | |
|
||||||
|
| supersetNode.forceReload | bool | `false` | If true, forces deployment to reload on each upgrade |
|
||||||
|
| supersetNode.initContainers | list | a container waiting for postgres | Init containers |
|
||||||
|
| supersetNode.livenessProbe.failureThreshold | int | `3` | |
|
||||||
|
| supersetNode.livenessProbe.httpGet.path | string | `"/health"` | |
|
||||||
|
| supersetNode.livenessProbe.httpGet.port | string | `"http"` | |
|
||||||
|
| supersetNode.livenessProbe.initialDelaySeconds | int | `15` | |
|
||||||
|
| supersetNode.livenessProbe.periodSeconds | int | `15` | |
|
||||||
|
| supersetNode.livenessProbe.successThreshold | int | `1` | |
|
||||||
|
| supersetNode.livenessProbe.timeoutSeconds | int | `1` | |
|
||||||
|
| supersetNode.podAnnotations | object | `{}` | Annotations to be added to supersetNode pods |
|
||||||
|
| supersetNode.podLabels | object | `{}` | Labels to be added to supersetNode pods |
|
||||||
|
| supersetNode.podSecurityContext | object | `{}` | |
|
||||||
|
| supersetNode.readinessProbe.failureThreshold | int | `3` | |
|
||||||
|
| supersetNode.readinessProbe.httpGet.path | string | `"/health"` | |
|
||||||
|
| supersetNode.readinessProbe.httpGet.port | string | `"http"` | |
|
||||||
|
| supersetNode.readinessProbe.initialDelaySeconds | int | `15` | |
|
||||||
|
| supersetNode.readinessProbe.periodSeconds | int | `15` | |
|
||||||
|
| supersetNode.readinessProbe.successThreshold | int | `1` | |
|
||||||
|
| supersetNode.readinessProbe.timeoutSeconds | int | `1` | |
|
||||||
|
| supersetNode.replicaCount | int | `1` | |
|
||||||
|
| supersetNode.resources | object | `{}` | Resource settings for the supersetNode pods - these settings overwrite might existing values from the global resources object defined above. |
|
||||||
|
| supersetNode.startupProbe.failureThreshold | int | `60` | |
|
||||||
|
| supersetNode.startupProbe.httpGet.path | string | `"/health"` | |
|
||||||
|
| supersetNode.startupProbe.httpGet.port | string | `"http"` | |
|
||||||
|
| supersetNode.startupProbe.initialDelaySeconds | int | `15` | |
|
||||||
|
| supersetNode.startupProbe.periodSeconds | int | `5` | |
|
||||||
|
| supersetNode.startupProbe.successThreshold | int | `1` | |
|
||||||
|
| supersetNode.startupProbe.timeoutSeconds | int | `1` | |
|
||||||
|
| supersetNode.strategy | object | `{}` | |
|
||||||
|
| supersetWebsockets.command | list | `[]` | |
|
||||||
|
| supersetWebsockets.config | object | see `values.yaml` | The 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.containerSecurityContext | object | `{}` | |
|
||||||
|
| supersetWebsockets.deploymentAnnotations | object | `{}` | |
|
||||||
|
| supersetWebsockets.enabled | bool | `false` | This 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.image.pullPolicy | string | `"IfNotPresent"` | |
|
||||||
|
| supersetWebsockets.image.repository | string | `"oneacrefund/superset-websocket"` | There is no official image (yet), this one is community-supported |
|
||||||
|
| supersetWebsockets.image.tag | string | `"latest"` | |
|
||||||
|
| supersetWebsockets.ingress.path | string | `"/ws"` | |
|
||||||
|
| supersetWebsockets.ingress.pathType | string | `"Prefix"` | |
|
||||||
|
| supersetWebsockets.livenessProbe.failureThreshold | int | `3` | |
|
||||||
|
| supersetWebsockets.livenessProbe.httpGet.path | string | `"/health"` | |
|
||||||
|
| supersetWebsockets.livenessProbe.httpGet.port | string | `"ws"` | |
|
||||||
|
| supersetWebsockets.livenessProbe.initialDelaySeconds | int | `5` | |
|
||||||
|
| supersetWebsockets.livenessProbe.periodSeconds | int | `5` | |
|
||||||
|
| supersetWebsockets.livenessProbe.successThreshold | int | `1` | |
|
||||||
|
| supersetWebsockets.livenessProbe.timeoutSeconds | int | `1` | |
|
||||||
|
| supersetWebsockets.podAnnotations | object | `{}` | |
|
||||||
|
| supersetWebsockets.podLabels | object | `{}` | |
|
||||||
|
| supersetWebsockets.podSecurityContext | object | `{}` | |
|
||||||
|
| supersetWebsockets.readinessProbe.failureThreshold | int | `3` | |
|
||||||
|
| supersetWebsockets.readinessProbe.httpGet.path | string | `"/health"` | |
|
||||||
|
| supersetWebsockets.readinessProbe.httpGet.port | string | `"ws"` | |
|
||||||
|
| supersetWebsockets.readinessProbe.initialDelaySeconds | int | `5` | |
|
||||||
|
| supersetWebsockets.readinessProbe.periodSeconds | int | `5` | |
|
||||||
|
| supersetWebsockets.readinessProbe.successThreshold | int | `1` | |
|
||||||
|
| supersetWebsockets.readinessProbe.timeoutSeconds | int | `1` | |
|
||||||
|
| supersetWebsockets.replicaCount | int | `1` | |
|
||||||
|
| supersetWebsockets.resources | object | `{}` | |
|
||||||
|
| supersetWebsockets.service.annotations | object | `{}` | |
|
||||||
|
| supersetWebsockets.service.port | int | `8080` | |
|
||||||
|
| supersetWebsockets.service.type | string | `"ClusterIP"` | |
|
||||||
|
| supersetWebsockets.startupProbe.failureThreshold | int | `60` | |
|
||||||
|
| supersetWebsockets.startupProbe.httpGet.path | string | `"/health"` | |
|
||||||
|
| supersetWebsockets.startupProbe.httpGet.port | string | `"ws"` | |
|
||||||
|
| supersetWebsockets.startupProbe.initialDelaySeconds | int | `5` | |
|
||||||
|
| supersetWebsockets.startupProbe.periodSeconds | int | `5` | |
|
||||||
|
| supersetWebsockets.startupProbe.successThreshold | int | `1` | |
|
||||||
|
| supersetWebsockets.startupProbe.timeoutSeconds | int | `1` | |
|
||||||
|
| supersetWebsockets.strategy | object | `{}` | |
|
||||||
|
| supersetWorker.command | list | a `celery worker` command | Worker startup command |
|
||||||
|
| supersetWorker.containerSecurityContext | object | `{}` | |
|
||||||
|
| supersetWorker.deploymentAnnotations | object | `{}` | Annotations to be added to supersetWorker deployment |
|
||||||
|
| supersetWorker.forceReload | bool | `false` | If true, forces deployment to reload on each upgrade |
|
||||||
|
| supersetWorker.initContainers | list | a container waiting for postgres and redis | Init container |
|
||||||
|
| supersetWorker.livenessProbe.exec.command | list | a `celery inspect ping` command | Liveness probe command |
|
||||||
|
| supersetWorker.livenessProbe.failureThreshold | int | `3` | |
|
||||||
|
| supersetWorker.livenessProbe.initialDelaySeconds | int | `120` | |
|
||||||
|
| supersetWorker.livenessProbe.periodSeconds | int | `60` | |
|
||||||
|
| supersetWorker.livenessProbe.successThreshold | int | `1` | |
|
||||||
|
| supersetWorker.livenessProbe.timeoutSeconds | int | `60` | |
|
||||||
|
| supersetWorker.podAnnotations | object | `{}` | Annotations to be added to supersetWorker pods |
|
||||||
|
| supersetWorker.podLabels | object | `{}` | Labels to be added to supersetWorker pods |
|
||||||
|
| supersetWorker.podSecurityContext | object | `{}` | |
|
||||||
|
| supersetWorker.readinessProbe | object | `{}` | No startup/readiness probes by default since we don't really care about its startup time (it doesn't serve traffic) |
|
||||||
|
| supersetWorker.replicaCount | int | `1` | |
|
||||||
|
| supersetWorker.resources | object | `{}` | Resource settings for the supersetWorker pods - these settings overwrite might existing values from the global resources object defined above. |
|
||||||
|
| supersetWorker.startupProbe | object | `{}` | No startup/readiness probes by default since we don't really care about its startup time (it doesn't serve traffic) |
|
||||||
|
| supersetWorker.strategy | object | `{}` | |
|
||||||
|
| tolerations | list | `[]` | |
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
<!--
|
||||||
|
Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
or more contributor license agreements. See the NOTICE file
|
||||||
|
distributed with this work for additional information
|
||||||
|
regarding copyright ownership. The ASF licenses this file
|
||||||
|
to you under the Apache License, Version 2.0 (the
|
||||||
|
"License"); you may not use this file except in compliance
|
||||||
|
with the License. You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing,
|
||||||
|
software distributed under the License is distributed on an
|
||||||
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
KIND, either express or implied. See the License for the
|
||||||
|
specific language governing permissions and limitations
|
||||||
|
under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
{{ template "chart.header" . }}
|
||||||
|
{{ template "chart.deprecationWarning" . }}
|
||||||
|
|
||||||
|
{{ template "chart.versionBadge" . }}
|
||||||
|
|
||||||
|
{{ template "chart.description" . }}
|
||||||
|
|
||||||
|
{{ template "chart.homepageLine" . }}
|
||||||
|
|
||||||
|
{{ template "chart.sourcesSection" . }}
|
||||||
|
|
||||||
|
## TL;DR
|
||||||
|
|
||||||
|
```console
|
||||||
|
helm repo add superset http://apache.github.io/superset/
|
||||||
|
helm install my-superset superset/superset
|
||||||
|
```
|
||||||
|
|
||||||
|
{{ template "chart.requirementsSection" . }}
|
||||||
|
|
||||||
|
{{ template "chart.valuesSection" . }}
|
||||||
|
|
@ -26,7 +26,7 @@ metadata:
|
||||||
heritage: {{ .Release.Service }}
|
heritage: {{ .Release.Service }}
|
||||||
{{- if .Values.supersetCeleryBeat.deploymentAnnotations }}
|
{{- if .Values.supersetCeleryBeat.deploymentAnnotations }}
|
||||||
annotations:
|
annotations:
|
||||||
{{ toYaml .Values.supersetCeleryBeat.deploymentAnnotations | nindent 4 }}
|
{{- toYaml .Values.supersetCeleryBeat.deploymentAnnotations | nindent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
spec:
|
spec:
|
||||||
# This must be a singleton
|
# This must be a singleton
|
||||||
|
|
@ -50,13 +50,13 @@ spec:
|
||||||
force-reload: {{ randAlphaNum 5 | quote }}
|
force-reload: {{ randAlphaNum 5 | quote }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{- if .Values.supersetCeleryBeat.podAnnotations }}
|
{{- if .Values.supersetCeleryBeat.podAnnotations }}
|
||||||
{{ toYaml .Values.supersetCeleryBeat.podAnnotations | nindent 8 }}
|
{{- toYaml .Values.supersetCeleryBeat.podAnnotations | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
labels:
|
labels:
|
||||||
app: {{ template "superset.name" . }}-celerybeat
|
app: "{{ template "superset.name" . }}-celerybeat"
|
||||||
release: {{ .Release.Name }}
|
release: {{ .Release.Name }}
|
||||||
{{- if .Values.supersetCeleryBeat.podLabels }}
|
{{- if .Values.supersetCeleryBeat.podLabels }}
|
||||||
{{ toYaml .Values.supersetCeleryBeat.podLabels | nindent 8 }}
|
{{- toYaml .Values.supersetCeleryBeat.podLabels | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
spec:
|
spec:
|
||||||
{{- if or (.Values.serviceAccount.create) (.Values.serviceAccountName) }}
|
{{- if or (.Values.serviceAccount.create) (.Values.serviceAccountName) }}
|
||||||
|
|
@ -65,21 +65,21 @@ spec:
|
||||||
securityContext:
|
securityContext:
|
||||||
runAsUser: {{ .Values.runAsUser }}
|
runAsUser: {{ .Values.runAsUser }}
|
||||||
{{- if .Values.supersetCeleryBeat.podSecurityContext }}
|
{{- if .Values.supersetCeleryBeat.podSecurityContext }}
|
||||||
{{ toYaml .Values.supersetCeleryBeat.podSecurityContext | nindent 8 }}
|
{{- toYaml .Values.supersetCeleryBeat.podSecurityContext | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.supersetCeleryBeat.initContainers }}
|
{{- if .Values.supersetCeleryBeat.initContainers }}
|
||||||
initContainers:
|
initContainers:
|
||||||
{{- tpl (toYaml .Values.supersetCeleryBeat.initContainers) . | nindent 6 }}
|
{{- tpl (toYaml .Values.supersetCeleryBeat.initContainers) . | nindent 6 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with .Values.hostAliases }}
|
{{- with .Values.hostAliases }}
|
||||||
hostAliases: {{ toYaml . | nindent 6 }}
|
hostAliases: {{- toYaml . | nindent 6 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
containers:
|
containers:
|
||||||
- name: {{ .Chart.Name }}
|
- name: "{{ .Chart.Name }}-celerybeat"
|
||||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
||||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||||
{{- if .Values.supersetCeleryBeat.containerSecurityContext }}
|
{{- if .Values.supersetCeleryBeat.containerSecurityContext }}
|
||||||
securityContext: {{ toYaml .Values.supersetCeleryBeat.containerSecurityContext | nindent 12 }}
|
securityContext: {{- toYaml .Values.supersetCeleryBeat.containerSecurityContext | nindent 12 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
command: {{ tpl (toJson .Values.supersetCeleryBeat.command) . }}
|
command: {{ tpl (toJson .Values.supersetCeleryBeat.command) . }}
|
||||||
env:
|
env:
|
||||||
|
|
@ -108,25 +108,25 @@ spec:
|
||||||
{{- end }}
|
{{- end }}
|
||||||
resources:
|
resources:
|
||||||
{{- if .Values.supersetCeleryBeat.resources }}
|
{{- if .Values.supersetCeleryBeat.resources }}
|
||||||
{{ toYaml .Values.supersetCeleryBeat.resources | indent 12 }}
|
{{- toYaml .Values.supersetCeleryBeat.resources | nindent 12 }}
|
||||||
{{- else }}
|
{{- else }}
|
||||||
{{ toYaml .Values.resources | indent 12 }}
|
{{- toYaml .Values.resources | nindent 12 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with .Values.nodeSelector }}
|
{{- with .Values.nodeSelector }}
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
{{ toYaml . | indent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with .Values.affinity }}
|
{{- with .Values.affinity }}
|
||||||
affinity:
|
affinity:
|
||||||
{{ toYaml . | indent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with .Values.tolerations }}
|
{{- with .Values.tolerations }}
|
||||||
tolerations:
|
tolerations:
|
||||||
{{ toYaml . | indent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.imagePullSecrets }}
|
{{- if .Values.imagePullSecrets }}
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
{{ toYaml .Values.imagePullSecrets | indent 8 }}
|
{{- toYaml .Values.imagePullSecrets | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
volumes:
|
volumes:
|
||||||
- name: superset-config
|
- name: superset-config
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,142 @@
|
||||||
|
{{- if .Values.supersetCeleryFlower.enabled -}}
|
||||||
|
#
|
||||||
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
# contributor license agreements. See the NOTICE file distributed with
|
||||||
|
# this work for additional information regarding copyright ownership.
|
||||||
|
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||||
|
# (the "License"); you may not use this file except in compliance with
|
||||||
|
# the License. You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: {{ template "superset.fullname" . }}-flower
|
||||||
|
labels:
|
||||||
|
app: {{ template "superset.name" . }}-flower
|
||||||
|
chart: {{ template "superset.chart" . }}
|
||||||
|
release: {{ .Release.Name }}
|
||||||
|
heritage: {{ .Release.Service }}
|
||||||
|
{{- if .Values.supersetCeleryFlower.deploymentAnnotations }}
|
||||||
|
annotations:
|
||||||
|
{{- toYaml .Values.supersetCeleryFlower.deploymentAnnotations | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
replicas: {{ .Values.supersetCeleryFlower.replicaCount }}
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: {{ template "superset.name" . }}-flower
|
||||||
|
release: {{ .Release.Name }}
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
checksum/config: {{ include "superset-config" . | sha256sum }}
|
||||||
|
checksum/secrets: {{ tpl (toJson .Values.extraSecretEnv) . | sha256sum }}
|
||||||
|
{{- if .Values.supersetCeleryFlower.podAnnotations }}
|
||||||
|
{{- toYaml .Values.supersetCeleryFlower.podAnnotations | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
app: "{{ template "superset.name" . }}-flower"
|
||||||
|
release: {{ .Release.Name }}
|
||||||
|
{{- if .Values.supersetCeleryFlower.podLabels }}
|
||||||
|
{{- toYaml .Values.supersetCeleryFlower.podLabels | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
{{- if or (.Values.serviceAccount.create) (.Values.serviceAccountName) }}
|
||||||
|
serviceAccountName: {{ template "superset.serviceAccountName" . }}
|
||||||
|
{{- end }}
|
||||||
|
securityContext:
|
||||||
|
runAsUser: {{ .Values.runAsUser }}
|
||||||
|
{{- if .Values.supersetCeleryFlower.podSecurityContext }}
|
||||||
|
{{- toYaml .Values.supersetCeleryFlower.podSecurityContext | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.supersetCeleryFlower.initContainers }}
|
||||||
|
initContainers:
|
||||||
|
{{- tpl (toYaml .Values.supersetCeleryFlower.initContainers) . | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.hostAliases }}
|
||||||
|
hostAliases: {{- toYaml . | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
|
containers:
|
||||||
|
- name: "{{ .Chart.Name }}-flower"
|
||||||
|
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
||||||
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||||
|
{{- if .Values.supersetCeleryFlower.containerSecurityContext }}
|
||||||
|
securityContext: {{- toYaml .Values.supersetCeleryFlower.containerSecurityContext | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
command: {{ tpl (toJson .Values.supersetCeleryFlower.command) . }}
|
||||||
|
env:
|
||||||
|
{{- range $key, $value := .Values.extraEnv }}
|
||||||
|
- name: {{ $key | quote}}
|
||||||
|
value: {{ $value | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.extraEnvRaw }}
|
||||||
|
{{- toYaml .Values.extraEnvRaw | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
envFrom:
|
||||||
|
- secretRef:
|
||||||
|
name: {{ tpl .Values.envFromSecret . | quote }}
|
||||||
|
{{- range .Values.envFromSecrets }}
|
||||||
|
- secretRef:
|
||||||
|
name: {{ tpl . $ | quote }}
|
||||||
|
{{- end }}
|
||||||
|
ports:
|
||||||
|
- name: flower
|
||||||
|
containerPort: 5555
|
||||||
|
protocol: TCP
|
||||||
|
volumeMounts:
|
||||||
|
- name: superset-config
|
||||||
|
mountPath: {{ .Values.configMountPath | quote }}
|
||||||
|
readOnly: true
|
||||||
|
{{- with .Values.extraVolumeMounts }}
|
||||||
|
{{- tpl (toYaml .) $ | nindent 12 -}}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.supersetCeleryFlower.startupProbe }}
|
||||||
|
startupProbe:
|
||||||
|
{{- .Values.supersetCeleryFlower.startupProbe | toYaml | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.supersetCeleryFlower.readinessProbe }}
|
||||||
|
readinessProbe:
|
||||||
|
{{- .Values.supersetCeleryFlower.readinessProbe | toYaml | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.supersetCeleryFlower.livenessProbe }}
|
||||||
|
livenessProbe:
|
||||||
|
{{- .Values.supersetCeleryFlower.livenessProbe | toYaml | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
resources:
|
||||||
|
{{- if .Values.supersetCeleryFlower.resources }}
|
||||||
|
{{- toYaml .Values.supersetCeleryFlower.resources | nindent 12 }}
|
||||||
|
{{- else }}
|
||||||
|
{{- toYaml .Values.resources | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.nodeSelector }}
|
||||||
|
nodeSelector:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.affinity }}
|
||||||
|
affinity:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.tolerations }}
|
||||||
|
tolerations:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.imagePullSecrets }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{- toYaml .Values.imagePullSecrets | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
volumes:
|
||||||
|
- name: superset-config
|
||||||
|
secret:
|
||||||
|
secretName: {{ tpl .Values.configFromSecret . }}
|
||||||
|
{{- with .Values.extraVolumes }}
|
||||||
|
{{- tpl (toYaml .) $ | nindent 8 -}}
|
||||||
|
{{- end }}
|
||||||
|
{{- end -}}
|
||||||
|
|
@ -25,7 +25,7 @@ metadata:
|
||||||
heritage: {{ .Release.Service }}
|
heritage: {{ .Release.Service }}
|
||||||
{{- if .Values.supersetWorker.deploymentAnnotations }}
|
{{- if .Values.supersetWorker.deploymentAnnotations }}
|
||||||
annotations:
|
annotations:
|
||||||
{{ toYaml .Values.supersetWorker.deploymentAnnotations | nindent 4 }}
|
{{- toYaml .Values.supersetWorker.deploymentAnnotations | nindent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
spec:
|
spec:
|
||||||
replicas: {{ .Values.supersetWorker.replicaCount }}
|
replicas: {{ .Values.supersetWorker.replicaCount }}
|
||||||
|
|
@ -52,13 +52,13 @@ spec:
|
||||||
force-reload: {{ randAlphaNum 5 | quote }}
|
force-reload: {{ randAlphaNum 5 | quote }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
{{- if .Values.supersetWorker.podAnnotations }}
|
{{- if .Values.supersetWorker.podAnnotations }}
|
||||||
{{ toYaml .Values.supersetWorker.podAnnotations | nindent 8 }}
|
{{- toYaml .Values.supersetWorker.podAnnotations | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
labels:
|
labels:
|
||||||
app: {{ template "superset.name" . }}-worker
|
app: {{ template "superset.name" . }}-worker
|
||||||
release: {{ .Release.Name }}
|
release: {{ .Release.Name }}
|
||||||
{{- if .Values.supersetWorker.podLabels }}
|
{{- if .Values.supersetWorker.podLabels }}
|
||||||
{{ toYaml .Values.supersetWorker.podLabels | nindent 8 }}
|
{{- toYaml .Values.supersetWorker.podLabels | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
spec:
|
spec:
|
||||||
{{- if or (.Values.serviceAccount.create) (.Values.serviceAccountName) }}
|
{{- if or (.Values.serviceAccount.create) (.Values.serviceAccountName) }}
|
||||||
|
|
@ -67,21 +67,21 @@ spec:
|
||||||
securityContext:
|
securityContext:
|
||||||
runAsUser: {{ .Values.runAsUser }}
|
runAsUser: {{ .Values.runAsUser }}
|
||||||
{{- if .Values.supersetWorker.podSecurityContext }}
|
{{- if .Values.supersetWorker.podSecurityContext }}
|
||||||
{{ toYaml .Values.supersetWorker.podSecurityContext | nindent 8 }}
|
{{- toYaml .Values.supersetWorker.podSecurityContext | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.supersetWorker.initContainers }}
|
{{- if .Values.supersetWorker.initContainers }}
|
||||||
initContainers:
|
initContainers:
|
||||||
{{- tpl (toYaml .Values.supersetWorker.initContainers) . | nindent 6 }}
|
{{- tpl (toYaml .Values.supersetWorker.initContainers) . | nindent 6 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with .Values.hostAliases }}
|
{{- with .Values.hostAliases }}
|
||||||
hostAliases: {{ toYaml . | nindent 6 }}
|
hostAliases: {{- toYaml . | nindent 6 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
containers:
|
containers:
|
||||||
- name: {{ .Chart.Name }}
|
- name: {{ .Chart.Name }}
|
||||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
||||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||||
{{- if .Values.supersetWorker.containerSecurityContext }}
|
{{- if .Values.supersetWorker.containerSecurityContext }}
|
||||||
securityContext: {{ toYaml .Values.supersetWorker.containerSecurityContext | nindent 12 }}
|
securityContext: {{- toYaml .Values.supersetWorker.containerSecurityContext | nindent 12 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
command: {{ tpl (toJson .Values.supersetWorker.command) . }}
|
command: {{ tpl (toJson .Values.supersetWorker.command) . }}
|
||||||
env:
|
env:
|
||||||
|
|
@ -113,27 +113,39 @@ spec:
|
||||||
{{- with .Values.extraVolumeMounts }}
|
{{- with .Values.extraVolumeMounts }}
|
||||||
{{- tpl (toYaml .) $ | nindent 12 -}}
|
{{- tpl (toYaml .) $ | nindent 12 -}}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- if .Values.supersetWorker.startupProbe }}
|
||||||
|
startupProbe:
|
||||||
|
{{- .Values.supersetWorker.startupProbe | toYaml | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.supersetWorker.readinessProbe }}
|
||||||
|
readinessProbe:
|
||||||
|
{{- .Values.supersetWorker.readinessProbe | toYaml | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.supersetWorker.livenessProbe }}
|
||||||
|
livenessProbe:
|
||||||
|
{{- .Values.supersetWorker.livenessProbe | toYaml | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
resources:
|
resources:
|
||||||
{{- if .Values.supersetWorker.resources }}
|
{{- if .Values.supersetWorker.resources }}
|
||||||
{{ toYaml .Values.supersetWorker.resources | indent 12 }}
|
{{- toYaml .Values.supersetWorker.resources | nindent 12 }}
|
||||||
{{- else }}
|
{{- else }}
|
||||||
{{ toYaml .Values.resources | indent 12 }}
|
{{- toYaml .Values.resources | nindent 12 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with .Values.nodeSelector }}
|
{{- with .Values.nodeSelector }}
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
{{ toYaml . | indent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with .Values.affinity }}
|
{{- with .Values.affinity }}
|
||||||
affinity:
|
affinity:
|
||||||
{{ toYaml . | indent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with .Values.tolerations }}
|
{{- with .Values.tolerations }}
|
||||||
tolerations:
|
tolerations:
|
||||||
{{ toYaml . | indent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.imagePullSecrets }}
|
{{- if .Values.imagePullSecrets }}
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
{{ toYaml .Values.imagePullSecrets | indent 8 }}
|
{{- toYaml .Values.imagePullSecrets | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
volumes:
|
volumes:
|
||||||
- name: superset-config
|
- name: superset-config
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,138 @@
|
||||||
|
#
|
||||||
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
# contributor license agreements. See the NOTICE file distributed with
|
||||||
|
# this work for additional information regarding copyright ownership.
|
||||||
|
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||||
|
# (the "License"); you may not use this file except in compliance with
|
||||||
|
# the License. You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
{{- if .Values.supersetWebsockets.enabled }}
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: "{{ template "superset.fullname" . }}-ws"
|
||||||
|
labels:
|
||||||
|
app: "{{ template "superset.name" . }}-ws"
|
||||||
|
chart: {{ template "superset.chart" . }}
|
||||||
|
release: {{ .Release.Name }}
|
||||||
|
heritage: {{ .Release.Service }}
|
||||||
|
{{- if .Values.supersetWebsockets.deploymentAnnotations }}
|
||||||
|
annotations:
|
||||||
|
{{- toYaml .Values.supersetWebsockets.deploymentAnnotations | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
replicas: {{ .Values.supersetWebsockets.replicaCount }}
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: "{{ template "superset.name" . }}-ws"
|
||||||
|
release: {{ .Release.Name }}
|
||||||
|
{{- if .Values.supersetWebsockets.strategy }}
|
||||||
|
strategy:
|
||||||
|
{{- toYaml .Values.supersetWebsockets.strategy | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
checksum/wsconfig: {{ tpl (toJson .Values.supersetWebsockets.config) . | sha256sum }}
|
||||||
|
checksum/secrets: {{ tpl (toJson .Values.extraSecretEnv) . | sha256sum }}
|
||||||
|
{{- if .Values.supersetWebsockets.podAnnotations }}
|
||||||
|
{{- toYaml .Values.supersetWebsockets.podAnnotations | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
app: "{{ template "superset.name" . }}-ws"
|
||||||
|
release: {{ .Release.Name }}
|
||||||
|
{{- if .Values.supersetWebsockets.podLabels }}
|
||||||
|
{{- toYaml .Values.supersetWebsockets.podLabels | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
{{- if or (.Values.serviceAccount.create) (.Values.serviceAccountName) }}
|
||||||
|
serviceAccountName: {{ template "superset.serviceAccountName" . }}
|
||||||
|
{{- end }}
|
||||||
|
securityContext:
|
||||||
|
runAsUser: {{ .Values.runAsUser }}
|
||||||
|
{{- if .Values.supersetWebsockets.podSecurityContext }}
|
||||||
|
{{- toYaml .Values.supersetWebsockets.podSecurityContext | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.hostAliases }}
|
||||||
|
hostAliases: {{- toYaml . | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
|
containers:
|
||||||
|
- name: "{{ .Chart.Name }}-ws"
|
||||||
|
image: "{{ .Values.supersetWebsockets.image.repository }}:{{ .Values.supersetWebsockets.image.tag }}"
|
||||||
|
imagePullPolicy: {{ .Values.supersetWebsockets.image.pullPolicy }}
|
||||||
|
{{- if .Values.supersetWebsockets.containerSecurityContext }}
|
||||||
|
securityContext: {{- toYaml .Values.supersetWebsockets.containerSecurityContext | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
command: {{ tpl (toJson .Values.supersetWebsockets.command) . }}
|
||||||
|
# Passing all the envs is a bit blunt... we only need a few (see https://github.com/apache/superset/blob/master/superset-websocket/src/config.ts)...
|
||||||
|
env:
|
||||||
|
{{- range $key, $value := .Values.extraEnv }}
|
||||||
|
- name: {{ $key | quote}}
|
||||||
|
value: {{ $value | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.extraEnvRaw }}
|
||||||
|
{{- toYaml .Values.extraEnvRaw | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
envFrom:
|
||||||
|
- secretRef:
|
||||||
|
name: {{ tpl .Values.envFromSecret . | quote }}
|
||||||
|
{{- range .Values.envFromSecrets }}
|
||||||
|
- secretRef:
|
||||||
|
name: {{ tpl . $ | quote }}
|
||||||
|
{{- end }}
|
||||||
|
ports:
|
||||||
|
- name: ws
|
||||||
|
containerPort: {{ .Values.supersetWebsockets.config.port }}
|
||||||
|
protocol: TCP
|
||||||
|
volumeMounts:
|
||||||
|
- name: superset-ws-config
|
||||||
|
mountPath: /home/superset-websocket/config.json
|
||||||
|
subPath: config.json
|
||||||
|
readOnly: true
|
||||||
|
resources:
|
||||||
|
{{- if .Values.supersetWebsockets.resources }}
|
||||||
|
{{- toYaml .Values.supersetWebsockets.resources | nindent 12 }}
|
||||||
|
{{- else }}
|
||||||
|
{{- toYaml .Values.resources | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.supersetWebsockets.startupProbe }}
|
||||||
|
startupProbe:
|
||||||
|
{{- .Values.supersetWebsockets.startupProbe | toYaml | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.supersetWebsockets.readinessProbe }}
|
||||||
|
readinessProbe:
|
||||||
|
{{- .Values.supersetWebsockets.readinessProbe | toYaml | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.supersetWebsockets.livenessProbe }}
|
||||||
|
livenessProbe:
|
||||||
|
{{- .Values.supersetWebsockets.livenessProbe | toYaml | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.nodeSelector }}
|
||||||
|
nodeSelector:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.affinity }}
|
||||||
|
affinity:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.tolerations }}
|
||||||
|
tolerations:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.imagePullSecrets }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{- toYaml .Values.imagePullSecrets | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
volumes:
|
||||||
|
- name: superset-ws-config
|
||||||
|
secret:
|
||||||
|
secretName: "{{ template "superset.fullname" . }}-ws-config"
|
||||||
|
{{- end }}
|
||||||
|
|
@ -25,7 +25,7 @@ metadata:
|
||||||
heritage: {{ .Release.Service }}
|
heritage: {{ .Release.Service }}
|
||||||
{{- if .Values.supersetNode.deploymentAnnotations }}
|
{{- if .Values.supersetNode.deploymentAnnotations }}
|
||||||
annotations:
|
annotations:
|
||||||
{{ toYaml .Values.supersetNode.deploymentAnnotations | nindent 4 }}
|
{{- toYaml .Values.supersetNode.deploymentAnnotations | nindent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
spec:
|
spec:
|
||||||
replicas: {{ .Values.supersetNode.replicaCount }}
|
replicas: {{ .Values.supersetNode.replicaCount }}
|
||||||
|
|
@ -55,13 +55,13 @@ spec:
|
||||||
force-reload: {{ randAlphaNum 5 | quote }}
|
force-reload: {{ randAlphaNum 5 | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.supersetNode.podAnnotations }}
|
{{- if .Values.supersetNode.podAnnotations }}
|
||||||
{{ toYaml .Values.supersetNode.podAnnotations | nindent 8 }}
|
{{- toYaml .Values.supersetNode.podAnnotations | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
labels:
|
labels:
|
||||||
app: {{ template "superset.name" . }}
|
app: {{ template "superset.name" . }}
|
||||||
release: {{ .Release.Name }}
|
release: {{ .Release.Name }}
|
||||||
{{- if .Values.supersetNode.podLabels }}
|
{{- if .Values.supersetNode.podLabels }}
|
||||||
{{ toYaml .Values.supersetNode.podLabels | nindent 8 }}
|
{{- toYaml .Values.supersetNode.podLabels | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
spec:
|
spec:
|
||||||
{{- if or (.Values.serviceAccount.create) (.Values.serviceAccountName) }}
|
{{- if or (.Values.serviceAccount.create) (.Values.serviceAccountName) }}
|
||||||
|
|
@ -70,21 +70,21 @@ spec:
|
||||||
securityContext:
|
securityContext:
|
||||||
runAsUser: {{ .Values.runAsUser }}
|
runAsUser: {{ .Values.runAsUser }}
|
||||||
{{- if .Values.supersetNode.podSecurityContext }}
|
{{- if .Values.supersetNode.podSecurityContext }}
|
||||||
{{ toYaml .Values.supersetNode.podSecurityContext | nindent 8 }}
|
{{- toYaml .Values.supersetNode.podSecurityContext | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.supersetNode.initContainers }}
|
{{- if .Values.supersetNode.initContainers }}
|
||||||
initContainers:
|
initContainers:
|
||||||
{{- tpl (toYaml .Values.supersetNode.initContainers) . | nindent 6 }}
|
{{- tpl (toYaml .Values.supersetNode.initContainers) . | nindent 6 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with .Values.hostAliases }}
|
{{- with .Values.hostAliases }}
|
||||||
hostAliases: {{ toYaml . | nindent 6 }}
|
hostAliases: {{- toYaml . | nindent 6 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
containers:
|
containers:
|
||||||
- name: {{ .Chart.Name }}
|
- name: {{ .Chart.Name }}
|
||||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
||||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||||
{{- if .Values.supersetNode.containerSecurityContext }}
|
{{- if .Values.supersetNode.containerSecurityContext }}
|
||||||
securityContext: {{ toYaml .Values.supersetNode.containerSecurityContext | nindent 12 }}
|
securityContext: {{- toYaml .Values.supersetNode.containerSecurityContext | nindent 12 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
command: {{ tpl (toJson .Values.supersetNode.command) . }}
|
command: {{ tpl (toJson .Values.supersetNode.command) . }}
|
||||||
env:
|
env:
|
||||||
|
|
@ -124,45 +124,39 @@ spec:
|
||||||
- name: http
|
- name: http
|
||||||
containerPort: {{ .Values.service.port }}
|
containerPort: {{ .Values.service.port }}
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
livenessProbe:
|
{{- if .Values.supersetNode.startupProbe }}
|
||||||
httpGet:
|
startupProbe:
|
||||||
path: /health
|
{{- .Values.supersetNode.startupProbe | toYaml | nindent 12 }}
|
||||||
port: http
|
{{- end }}
|
||||||
initialDelaySeconds: {{ .Values.supersetNode.livenessProbe.initialDelaySeconds }}
|
{{- if .Values.supersetNode.readinessProbe }}
|
||||||
timeoutSeconds: {{ .Values.supersetNode.livenessProbe.timeoutSeconds }}
|
|
||||||
failureThreshold: {{ .Values.supersetNode.livenessProbe.failureThreshold }}
|
|
||||||
periodSeconds: {{ .Values.supersetNode.livenessProbe.periodSeconds }}
|
|
||||||
successThreshold: {{ .Values.supersetNode.livenessProbe.successThreshold }}
|
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
httpGet:
|
{{- .Values.supersetNode.readinessProbe | toYaml | nindent 12 }}
|
||||||
path: /health
|
{{- end }}
|
||||||
port: http
|
{{- if .Values.supersetNode.livenessProbe }}
|
||||||
initialDelaySeconds: {{ .Values.supersetNode.readinessProbe.initialDelaySeconds }}
|
livenessProbe:
|
||||||
timeoutSeconds: {{ .Values.supersetNode.readinessProbe.timeoutSeconds }}
|
{{- .Values.supersetNode.livenessProbe | toYaml | nindent 12 }}
|
||||||
failureThreshold: {{ .Values.supersetNode.readinessProbe.failureThreshold }}
|
{{- end }}
|
||||||
periodSeconds: {{ .Values.supersetNode.readinessProbe.periodSeconds }}
|
|
||||||
successThreshold: {{ .Values.supersetNode.readinessProbe.successThreshold }}
|
|
||||||
resources:
|
resources:
|
||||||
{{- if .Values.supersetNode.resources }}
|
{{- if .Values.supersetNode.resources }}
|
||||||
{{ toYaml .Values.supersetNode.resources | indent 12 }}
|
{{- toYaml .Values.supersetNode.resources | nindent 12 }}
|
||||||
{{- else }}
|
{{- else }}
|
||||||
{{ toYaml .Values.resources | indent 12 }}
|
{{- toYaml .Values.resources | nindent 12 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with .Values.nodeSelector }}
|
{{- with .Values.nodeSelector }}
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
{{ toYaml . | indent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with .Values.affinity }}
|
{{- with .Values.affinity }}
|
||||||
affinity:
|
affinity:
|
||||||
{{ toYaml . | indent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with .Values.tolerations }}
|
{{- with .Values.tolerations }}
|
||||||
tolerations:
|
tolerations:
|
||||||
{{ toYaml . | indent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.imagePullSecrets }}
|
{{- if .Values.imagePullSecrets }}
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
{{ toYaml .Values.imagePullSecrets | indent 8 }}
|
{{- toYaml .Values.imagePullSecrets | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
|
|
|
||||||
|
|
@ -25,10 +25,10 @@ metadata:
|
||||||
chart: {{ template "superset.chart" . }}
|
chart: {{ template "superset.chart" . }}
|
||||||
release: {{ .Release.Name }}
|
release: {{ .Release.Name }}
|
||||||
heritage: {{ .Release.Service }}
|
heritage: {{ .Release.Service }}
|
||||||
{{- with .Values.ingress.annotations }}
|
{{- with .Values.ingress.annotations }}
|
||||||
annotations:
|
annotations:
|
||||||
{{ toYaml . | indent 4 }}
|
{{- toYaml . | nindent 4 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
spec:
|
spec:
|
||||||
{{- if .Values.ingress.ingressClassName }}
|
{{- if .Values.ingress.ingressClassName }}
|
||||||
ingressClassName: {{ .Values.ingress.ingressClassName }}
|
ingressClassName: {{ .Values.ingress.ingressClassName }}
|
||||||
|
|
@ -55,5 +55,14 @@ spec:
|
||||||
name: {{ $fullName }}
|
name: {{ $fullName }}
|
||||||
port:
|
port:
|
||||||
name: http
|
name: http
|
||||||
|
{{- if $.Values.supersetWebsockets.enabled }}
|
||||||
|
- path: {{ $.Values.supersetWebsockets.ingress.path }}
|
||||||
|
pathType: {{ $.Values.supersetWebsockets.ingress.pathType }}
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: "{{ template "superset.fullname" $ }}-ws"
|
||||||
|
port:
|
||||||
|
name: ws
|
||||||
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@ spec:
|
||||||
name: {{ template "superset.name" . }}-init-db
|
name: {{ template "superset.name" . }}-init-db
|
||||||
{{- if .Values.init.podAnnotations }}
|
{{- if .Values.init.podAnnotations }}
|
||||||
annotations:
|
annotations:
|
||||||
{{ toYaml .Values.init.podAnnotations | nindent 8 }}
|
{{- toYaml .Values.init.podAnnotations | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
spec:
|
spec:
|
||||||
{{- if or (.Values.serviceAccount.create) (.Values.serviceAccountName) }}
|
{{- if or (.Values.serviceAccount.create) (.Values.serviceAccountName) }}
|
||||||
|
|
@ -37,7 +37,7 @@ spec:
|
||||||
securityContext:
|
securityContext:
|
||||||
runAsUser: {{ .Values.runAsUser }}
|
runAsUser: {{ .Values.runAsUser }}
|
||||||
{{- if .Values.init.podSecurityContext }}
|
{{- if .Values.init.podSecurityContext }}
|
||||||
{{ toYaml .Values.init.podSecurityContext | nindent 8 }}
|
{{- toYaml .Values.init.podSecurityContext | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.init.initContainers }}
|
{{- if .Values.init.initContainers }}
|
||||||
initContainers:
|
initContainers:
|
||||||
|
|
@ -65,7 +65,7 @@ spec:
|
||||||
{{- end }}
|
{{- end }}
|
||||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||||
{{- if .Values.init.containerSecurityContext }}
|
{{- if .Values.init.containerSecurityContext }}
|
||||||
securityContext: {{ toYaml .Values.init.containerSecurityContext | nindent 12 }}
|
securityContext: {{- toYaml .Values.init.containerSecurityContext | nindent 12 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: superset-config
|
- name: superset-config
|
||||||
|
|
@ -81,10 +81,10 @@ spec:
|
||||||
{{- end }}
|
{{- end }}
|
||||||
command: {{ tpl (toJson .Values.init.command) . }}
|
command: {{ tpl (toJson .Values.init.command) . }}
|
||||||
resources:
|
resources:
|
||||||
{{ toYaml .Values.init.resources | indent 10 }}
|
{{- toYaml .Values.init.resources | nindent 10 }}
|
||||||
{{- if .Values.imagePullSecrets }}
|
{{- if .Values.imagePullSecrets }}
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
{{ toYaml .Values.imagePullSecrets | indent 8 }}
|
{{- toYaml .Values.imagePullSecrets | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
volumes:
|
volumes:
|
||||||
- name: superset-config
|
- name: superset-config
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
#
|
||||||
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
|
# contributor license agreements. See the NOTICE file distributed with
|
||||||
|
# this work for additional information regarding copyright ownership.
|
||||||
|
# The ASF licenses this file to You under the Apache License, Version 2.0
|
||||||
|
# (the "License"); you may not use this file except in compliance with
|
||||||
|
# the License. You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
#
|
||||||
|
{{- if .Values.supersetWebsockets.enabled }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: "{{ template "superset.fullname" . }}-ws-config"
|
||||||
|
labels:
|
||||||
|
app: {{ template "superset.fullname" . }}
|
||||||
|
chart: {{ template "superset.chart" . }}
|
||||||
|
release: "{{ .Release.Name }}"
|
||||||
|
heritage: "{{ .Release.Service }}"
|
||||||
|
type: Opaque
|
||||||
|
stringData:
|
||||||
|
config.json: |
|
||||||
|
{{- tpl (toJson .Values.supersetWebsockets.config) . | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
|
|
@ -40,3 +40,61 @@ spec:
|
||||||
{{- if .Values.service.loadBalancerIP }}
|
{{- if .Values.service.loadBalancerIP }}
|
||||||
loadBalancerIP: {{ .Values.service.loadBalancerIP }}
|
loadBalancerIP: {{ .Values.service.loadBalancerIP }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
---
|
||||||
|
{{- if .Values.supersetCeleryFlower.enabled }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: "{{ template "superset.fullname" . }}-flower"
|
||||||
|
labels:
|
||||||
|
app: {{ template "superset.name" . }}
|
||||||
|
chart: {{ template "superset.chart" . }}
|
||||||
|
release: {{ .Release.Name }}
|
||||||
|
heritage: {{ .Release.Service }}
|
||||||
|
{{- with .Values.supersetCeleryFlower.service.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
type: {{ .Values.supersetCeleryFlower.service.type }}
|
||||||
|
ports:
|
||||||
|
- port: {{ .Values.supersetCeleryFlower.service.port }}
|
||||||
|
targetPort: flower
|
||||||
|
protocol: TCP
|
||||||
|
name: flower
|
||||||
|
selector:
|
||||||
|
app: {{ template "superset.name" . }}-flower
|
||||||
|
release: {{ .Release.Name }}
|
||||||
|
{{- if .Values.supersetCeleryFlower.service.loadBalancerIP }}
|
||||||
|
loadBalancerIP: {{ .Values.supersetCeleryFlower.service.loadBalancerIP }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
---
|
||||||
|
{{- if .Values.supersetWebsockets.enabled }}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: "{{ template "superset.fullname" . }}-ws"
|
||||||
|
labels:
|
||||||
|
app: {{ template "superset.name" . }}
|
||||||
|
chart: {{ template "superset.chart" . }}
|
||||||
|
release: {{ .Release.Name }}
|
||||||
|
heritage: {{ .Release.Service }}
|
||||||
|
{{- with .Values.supersetWebsockets.service.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
type: {{ .Values.supersetWebsockets.service.type }}
|
||||||
|
ports:
|
||||||
|
- port: {{ .Values.supersetWebsockets.service.port }}
|
||||||
|
targetPort: ws
|
||||||
|
protocol: TCP
|
||||||
|
name: ws
|
||||||
|
selector:
|
||||||
|
app: "{{ template "superset.name" . }}-ws"
|
||||||
|
release: {{ .Release.Name }}
|
||||||
|
{{- if .Values.supersetWebsockets.service.loadBalancerIP }}
|
||||||
|
loadBalancerIP: {{ .Values.supersetWebsockets.service.loadBalancerIP }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
|
||||||
|
|
@ -1,700 +0,0 @@
|
||||||
{
|
|
||||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": true,
|
|
||||||
"properties": {
|
|
||||||
"runAsUser": {
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"serviceAccount": {
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": false,
|
|
||||||
"properties": {
|
|
||||||
"create": {
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"annotations": {
|
|
||||||
"type": "object"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"create"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"bootstrapScript": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"configFromSecret": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"envFromSecret": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"envFromSecrets": {
|
|
||||||
"type": "array"
|
|
||||||
},
|
|
||||||
"extraEnv": {
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"extraEnvRaw": {
|
|
||||||
"type": "array"
|
|
||||||
},
|
|
||||||
"extraSecretEnv": {
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"extraConfigs": {
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"extraSecrets": {
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"extraVolumes": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.api.apps.v1.PodSpec/properties/volumes"
|
|
||||||
},
|
|
||||||
"extraVolumeMounts": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.api.apps.v1.PodSpec/properties/volumeMounts"
|
|
||||||
},
|
|
||||||
"configOverrides": {
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"properties": {
|
|
||||||
"extend_timeout": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"enable_oauth": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"configOverridesFiles": {
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"properties": {
|
|
||||||
"extend_timeout": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"enable_oauth": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"configMountPath": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"extraConfigMountPath": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"image": {
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": false,
|
|
||||||
"properties": {
|
|
||||||
"repository": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"tag": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"pullPolicy": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.api.core.v1.Container/properties/imagePullPolicy"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"repository",
|
|
||||||
"tag",
|
|
||||||
"pullPolicy"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"imagePullSecrets": {
|
|
||||||
"type": "array"
|
|
||||||
},
|
|
||||||
"initImage": {
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": false,
|
|
||||||
"properties": {
|
|
||||||
"repository": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"tag": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"pullPolicy": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.api.core.v1.Container/properties/imagePullPolicy"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"repository",
|
|
||||||
"tag",
|
|
||||||
"pullPolicy"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"service": {
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": false,
|
|
||||||
"properties": {
|
|
||||||
"type": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.api.core.v1.ServiceSpec/properties/type"
|
|
||||||
},
|
|
||||||
"port": {
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"annotations": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations"
|
|
||||||
},
|
|
||||||
"loadBalancerIP": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.api.core.v1.ServiceSpec/properties/loadBalancerIP"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"type",
|
|
||||||
"port"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"ingress": {
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": false,
|
|
||||||
"properties": {
|
|
||||||
"enabled": {
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"annotations": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations"
|
|
||||||
},
|
|
||||||
"path": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"pathType": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"ingressClassName": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.api.networking.v1.IngressSpec/properties/ingressClassName"
|
|
||||||
},
|
|
||||||
"hosts": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tls": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": false,
|
|
||||||
"properties": {
|
|
||||||
"secretName": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"hosts": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"enabled",
|
|
||||||
"annotations",
|
|
||||||
"path",
|
|
||||||
"pathType",
|
|
||||||
"hosts",
|
|
||||||
"tls"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"resources": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.api.core.v1.Container/properties/resources"
|
|
||||||
},
|
|
||||||
"hostAliases": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.api.core.v1.PodSpec/properties/hostAliases"
|
|
||||||
},
|
|
||||||
"supersetNode": {
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": false,
|
|
||||||
"properties": {
|
|
||||||
"replicaCount": {
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"command": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.api.core.v1.Container/properties/command"
|
|
||||||
},
|
|
||||||
"connections": {
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": false,
|
|
||||||
"properties": {
|
|
||||||
"redis_host": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"redis_password": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"redis_port": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"db_host": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"db_port": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"db_user": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"db_pass": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"db_name": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"redis_host",
|
|
||||||
"redis_port",
|
|
||||||
"db_host",
|
|
||||||
"db_port",
|
|
||||||
"db_user",
|
|
||||||
"db_pass",
|
|
||||||
"db_name"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"env": {
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"forceReload": {
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"initContainers": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.api.core.v1.PodSpec/properties/initContainers"
|
|
||||||
},
|
|
||||||
"deploymentAnnotations": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations"
|
|
||||||
},
|
|
||||||
"podAnnotations": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations"
|
|
||||||
},
|
|
||||||
"podLabels": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/labels"
|
|
||||||
},
|
|
||||||
"livenessProbe": {
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": false,
|
|
||||||
"properties": {
|
|
||||||
"initialDelaySeconds": {
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"timeoutSeconds": {
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"failureThreshold": {
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"periodSeconds": {
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"successThreshold": {
|
|
||||||
"type": "integer"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"initialDelaySeconds",
|
|
||||||
"timeoutSeconds",
|
|
||||||
"failureThreshold",
|
|
||||||
"periodSeconds",
|
|
||||||
"successThreshold"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"readinessProbe": {
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": false,
|
|
||||||
"properties": {
|
|
||||||
"initialDelaySeconds": {
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"timeoutSeconds": {
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"failureThreshold": {
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"periodSeconds": {
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"successThreshold": {
|
|
||||||
"type": "integer"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"initialDelaySeconds",
|
|
||||||
"timeoutSeconds",
|
|
||||||
"failureThreshold",
|
|
||||||
"periodSeconds",
|
|
||||||
"successThreshold"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"resources": {
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"podSecurityContext": {
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"containerSecurityContext": {
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"strategy": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.api.apps.v1.DeploymentStrategy"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"replicaCount",
|
|
||||||
"command",
|
|
||||||
"connections",
|
|
||||||
"env",
|
|
||||||
"forceReload"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"supersetWorker": {
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": false,
|
|
||||||
"properties": {
|
|
||||||
"replicaCount": {
|
|
||||||
"type": "integer"
|
|
||||||
},
|
|
||||||
"command": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.api.core.v1.Container/properties/command"
|
|
||||||
},
|
|
||||||
"forceReload": {
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"initContainers": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.api.core.v1.PodSpec/properties/initContainers"
|
|
||||||
},
|
|
||||||
"deploymentAnnotations": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations"
|
|
||||||
},
|
|
||||||
"podAnnotations": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations"
|
|
||||||
},
|
|
||||||
"podLabels": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/labels"
|
|
||||||
},
|
|
||||||
"resources": {
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"podSecurityContext": {
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"containerSecurityContext": {
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"strategy": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.api.apps.v1.DeploymentStrategy"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"replicaCount",
|
|
||||||
"command",
|
|
||||||
"forceReload"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"supersetCeleryBeat": {
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": false,
|
|
||||||
"properties": {
|
|
||||||
"enabled": {
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"command": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.api.core.v1.Container/properties/command"
|
|
||||||
},
|
|
||||||
"forceReload": {
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"initContainers": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.api.core.v1.PodSpec/properties/initContainers"
|
|
||||||
},
|
|
||||||
"deploymentAnnotations": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations"
|
|
||||||
},
|
|
||||||
"podAnnotations": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations"
|
|
||||||
},
|
|
||||||
"podLabels": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/labels"
|
|
||||||
},
|
|
||||||
"resources": {
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"podSecurityContext": {
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"containerSecurityContext": {
|
|
||||||
"type": "object"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"enabled",
|
|
||||||
"command",
|
|
||||||
"forceReload"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"init": {
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": false,
|
|
||||||
"properties": {
|
|
||||||
"resources": {
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"command": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.api.core.v1.Container/properties/command"
|
|
||||||
},
|
|
||||||
"enabled": {
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"loadExamples": {
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"createAdmin": {
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"adminUser": {
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": false,
|
|
||||||
"properties": {
|
|
||||||
"username": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"firstname": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"lastname": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"email": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"password": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"username",
|
|
||||||
"firstname",
|
|
||||||
"lastname",
|
|
||||||
"email",
|
|
||||||
"password"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"initContainers": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.api.core.v1.PodSpec/properties/initContainers"
|
|
||||||
},
|
|
||||||
"initscript": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"podAnnotations": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta/properties/annotations"
|
|
||||||
},
|
|
||||||
"podSecurityContext": {
|
|
||||||
"type": "object"
|
|
||||||
},
|
|
||||||
"containerSecurityContext": {
|
|
||||||
"type": "object"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"resources",
|
|
||||||
"command",
|
|
||||||
"enabled",
|
|
||||||
"loadExamples",
|
|
||||||
"createAdmin",
|
|
||||||
"adminUser",
|
|
||||||
"initscript"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"postgresql": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"auth": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"database": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"existingSecret": {
|
|
||||||
"type": [
|
|
||||||
"string",
|
|
||||||
"null"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"password": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"username": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"enabled": {
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"primary": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"persistence": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"accessModes": {
|
|
||||||
"type": "array",
|
|
||||||
"items": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"enabled": {
|
|
||||||
"type": "boolean"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"service": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"ports": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"postgresql": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"redis": {
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": true,
|
|
||||||
"properties": {
|
|
||||||
"enabled": {
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"architecture": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"auth": {
|
|
||||||
"type": "object",
|
|
||||||
"properties": {
|
|
||||||
"enabled": {
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"existingSecret": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"existingSecretKey": {
|
|
||||||
"type": "string"
|
|
||||||
},
|
|
||||||
"password": {
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"enabled"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"master": {
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": true,
|
|
||||||
"properties": {
|
|
||||||
"persistence": {
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": true,
|
|
||||||
"properties": {
|
|
||||||
"enabled": {
|
|
||||||
"type": "boolean"
|
|
||||||
},
|
|
||||||
"accessModes": {
|
|
||||||
"type": "array",
|
|
||||||
"items": [
|
|
||||||
{
|
|
||||||
"type": "string"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"enabled",
|
|
||||||
"accessModes"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"persistence"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"cluster": {
|
|
||||||
"type": "object",
|
|
||||||
"additionalProperties": true,
|
|
||||||
"properties": {
|
|
||||||
"enabled": {
|
|
||||||
"type": "boolean"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"enabled"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"enabled",
|
|
||||||
"architecture",
|
|
||||||
"master"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"nodeSelector": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.api.apps.v1.PodSpec/properties/nodeSelector"
|
|
||||||
},
|
|
||||||
"tolerations": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json##/definitions/io.k8s.api.apps.v1.PodSpec/properties/tolerations"
|
|
||||||
},
|
|
||||||
"affinity": {
|
|
||||||
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.23.0/_definitions.json#/definitions/io.k8s.api.core.v1.Affinity"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"required": [
|
|
||||||
"runAsUser",
|
|
||||||
"serviceAccount",
|
|
||||||
"bootstrapScript",
|
|
||||||
"configFromSecret",
|
|
||||||
"envFromSecret",
|
|
||||||
"envFromSecrets",
|
|
||||||
"extraEnv",
|
|
||||||
"extraEnvRaw",
|
|
||||||
"extraSecretEnv",
|
|
||||||
"extraConfigs",
|
|
||||||
"extraSecrets",
|
|
||||||
"extraVolumes",
|
|
||||||
"extraVolumeMounts",
|
|
||||||
"configOverrides",
|
|
||||||
"configOverridesFiles",
|
|
||||||
"configMountPath",
|
|
||||||
"extraConfigMountPath",
|
|
||||||
"image",
|
|
||||||
"imagePullSecrets",
|
|
||||||
"service",
|
|
||||||
"ingress",
|
|
||||||
"resources",
|
|
||||||
"hostAliases",
|
|
||||||
"supersetNode",
|
|
||||||
"supersetWorker",
|
|
||||||
"supersetCeleryBeat",
|
|
||||||
"init",
|
|
||||||
"postgresql",
|
|
||||||
"redis",
|
|
||||||
"nodeSelector",
|
|
||||||
"tolerations",
|
|
||||||
"affinity"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -19,18 +19,22 @@
|
||||||
# This is a YAML-formatted file.
|
# This is a YAML-formatted file.
|
||||||
# Declare variables to be passed into your templates.
|
# Declare variables to be passed into your templates.
|
||||||
|
|
||||||
# User ID directive. This user must have enough permissions to run the bootstrap script
|
# A README is automatically generated from this file to document it, using helm-docs (see https://github.com/norwoodj/helm-docs)
|
||||||
# Runn containers as root is not recommended in production. Change this to another UID - e.g. 1000 to be more secure
|
# To update it, install helm-docs and run helm-docs from the root of this chart
|
||||||
|
|
||||||
|
# -- User 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
|
||||||
runAsUser: 0
|
runAsUser: 0
|
||||||
|
|
||||||
# Create custom service account for Superset. If create: true and name is not provided, superset.fullname will be used.
|
|
||||||
# serviceAccountName: superset
|
# serviceAccountName: superset
|
||||||
serviceAccount:
|
serviceAccount:
|
||||||
|
# -- Create custom service account for Superset. If create: true and name is not provided, `superset.fullname` will be used.
|
||||||
create: false
|
create: false
|
||||||
annotations: {}
|
annotations: {}
|
||||||
|
|
||||||
# Install additional packages and do any other bootstrap configuration in this script
|
# -- Install 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
|
# For production clusters it's recommended to build own image with this step done in CI
|
||||||
|
# @default -- see `values.yaml`
|
||||||
bootstrapScript: |
|
bootstrapScript: |
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
rm -rf /var/lib/apt/lists/* && \
|
rm -rf /var/lib/apt/lists/* && \
|
||||||
|
|
@ -39,21 +43,19 @@ bootstrapScript: |
|
||||||
redis==3.5.3 && \
|
redis==3.5.3 && \
|
||||||
if [ ! -f ~/bootstrap ]; then echo "Running Superset with uid {{ .Values.runAsUser }}" > ~/bootstrap; fi
|
if [ ! -f ~/bootstrap ]; then echo "Running Superset with uid {{ .Values.runAsUser }}" > ~/bootstrap; fi
|
||||||
|
|
||||||
## The name of the secret which we will use to generate a superset_config.py file
|
# -- 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
|
# Note: this secret must have the key superset_config.py in it and can include other files as well
|
||||||
##
|
|
||||||
configFromSecret: '{{ template "superset.fullname" . }}-config'
|
configFromSecret: '{{ template "superset.fullname" . }}-config'
|
||||||
|
|
||||||
## The name of the secret which we will use to populate env vars in deployed pods
|
# -- The name of the secret which we will use to populate env vars in deployed pods
|
||||||
## This can be useful for secret keys, etc.
|
# This can be useful for secret keys, etc.
|
||||||
##
|
|
||||||
envFromSecret: '{{ template "superset.fullname" . }}-env'
|
envFromSecret: '{{ template "superset.fullname" . }}-env'
|
||||||
## This can be a list of template strings
|
# -- This can be a list of templated strings
|
||||||
envFromSecrets: []
|
envFromSecrets: []
|
||||||
|
|
||||||
## Extra environment variables that will be passed into pods
|
# -- Extra environment variables that will be passed into pods
|
||||||
##
|
extraEnv:
|
||||||
extraEnv: {}
|
{}
|
||||||
# Different gunicorn settings, refer to the gunicorn documentation
|
# Different gunicorn settings, refer to the gunicorn documentation
|
||||||
# https://docs.gunicorn.org/en/stable/settings.html#
|
# https://docs.gunicorn.org/en/stable/settings.html#
|
||||||
# These variables are used as Flags at the gunicorn startup
|
# These variables are used as Flags at the gunicorn startup
|
||||||
|
|
@ -75,9 +77,9 @@ extraEnv: {}
|
||||||
# # this includes any random Gmail address if your OAuth2 Web App is set to External.
|
# # this includes any random Gmail address if your OAuth2 Web App is set to External.
|
||||||
# OAUTH_WHITELIST_REGEX: ...
|
# OAUTH_WHITELIST_REGEX: ...
|
||||||
|
|
||||||
## Extra environment variables in RAW format that will be passed into pods
|
# -- Extra environment variables in RAW format that will be passed into pods
|
||||||
##
|
extraEnvRaw:
|
||||||
extraEnvRaw: []
|
[]
|
||||||
# Load DB password from other secret (e.g. for zalando operator)
|
# Load DB password from other secret (e.g. for zalando operator)
|
||||||
# - name: DB_PASS
|
# - name: DB_PASS
|
||||||
# valueFrom:
|
# valueFrom:
|
||||||
|
|
@ -85,15 +87,17 @@ extraEnvRaw: []
|
||||||
# name: superset.superset-postgres.credentials.postgresql.acid.zalan.do
|
# name: superset.superset-postgres.credentials.postgresql.acid.zalan.do
|
||||||
# key: password
|
# key: password
|
||||||
|
|
||||||
## Extra environment variables to pass as secrets
|
# -- Extra environment variables to pass as secrets
|
||||||
##
|
extraSecretEnv:
|
||||||
extraSecretEnv: {}
|
{}
|
||||||
# MAPBOX_API_KEY: ...
|
# MAPBOX_API_KEY: ...
|
||||||
# # Google API Keys: https://console.cloud.google.com/apis/credentials
|
# # Google API Keys: https://console.cloud.google.com/apis/credentials
|
||||||
# GOOGLE_KEY: ...
|
# GOOGLE_KEY: ...
|
||||||
# GOOGLE_SECRET: ...
|
# GOOGLE_SECRET: ...
|
||||||
|
|
||||||
extraConfigs: {}
|
# -- Extra files to mount on `/app/pythonpath`
|
||||||
|
extraConfigs:
|
||||||
|
{}
|
||||||
# import_datasources.yaml: |
|
# import_datasources.yaml: |
|
||||||
# databases:
|
# databases:
|
||||||
# - allow_file_upload: true
|
# - allow_file_upload: true
|
||||||
|
|
@ -106,34 +110,38 @@ extraConfigs: {}
|
||||||
# sqlalchemy_uri: example://example-db.local
|
# sqlalchemy_uri: example://example-db.local
|
||||||
# tables: []
|
# tables: []
|
||||||
|
|
||||||
|
# -- Extra files to mount on `/app/pythonpath` as secrets
|
||||||
extraSecrets: {}
|
extraSecrets: {}
|
||||||
|
|
||||||
extraVolumes: []
|
extraVolumes:
|
||||||
# - name: customConfig
|
[]
|
||||||
# configMap:
|
# - name: customConfig
|
||||||
# name: '{{ template "superset.fullname" . }}-custom-config'
|
# configMap:
|
||||||
# - name: additionalSecret
|
# name: '{{ template "superset.fullname" . }}-custom-config'
|
||||||
# secret:
|
# - name: additionalSecret
|
||||||
# secretName: my-secret
|
# secret:
|
||||||
# defaultMode: 0600
|
# secretName: my-secret
|
||||||
|
# defaultMode: 0600
|
||||||
|
|
||||||
extraVolumeMounts: []
|
extraVolumeMounts:
|
||||||
# - name: customConfig
|
[]
|
||||||
# mountPath: /mnt/config
|
# - name: customConfig
|
||||||
# readOnly: true
|
# mountPath: /mnt/config
|
||||||
# - name: additionalSecret:
|
# readOnly: true
|
||||||
# mountPath: /mnt/secret
|
# - name: additionalSecret:
|
||||||
|
# mountPath: /mnt/secret
|
||||||
|
|
||||||
# A dictionary of overrides to append at the end of superset_config.py - the name does not matter
|
# -- A dictionary of overrides to append at the end of superset_config.py - the name does not matter
|
||||||
# WARNING: the order is not guaranteed
|
# WARNING: the order is not guaranteed
|
||||||
configOverrides: {}
|
# Files can be passed as helm --set-file configOverrides.my-override=my-file.py
|
||||||
# extend_timeout: |
|
configOverrides:
|
||||||
|
{}
|
||||||
|
# extend_timeout: |
|
||||||
# # Extend timeout to allow long running queries.
|
# # Extend timeout to allow long running queries.
|
||||||
# SUPERSET_WEBSERVER_TIMEOUT = ...
|
# SUPERSET_WEBSERVER_TIMEOUT = ...
|
||||||
# enable_oauth: |
|
# enable_oauth: |
|
||||||
# from flask_appbuilder.security.manager import (AUTH_DB, AUTH_OAUTH)
|
# from flask_appbuilder.security.manager import (AUTH_DB, AUTH_OAUTH)
|
||||||
# AUTH_TYPE = AUTH_OAUTH
|
# AUTH_TYPE = AUTH_OAUTH
|
||||||
|
|
||||||
# OAUTH_PROVIDERS = [
|
# OAUTH_PROVIDERS = [
|
||||||
# {
|
# {
|
||||||
# "name": "google",
|
# "name": "google",
|
||||||
|
|
@ -162,12 +170,13 @@ configOverrides: {}
|
||||||
# secret: |
|
# secret: |
|
||||||
# # Generate your own secret key for encryption. Use openssl rand -base64 42 to generate a good key
|
# # Generate your own secret key for encryption. Use openssl rand -base64 42 to generate a good key
|
||||||
# SECRET_KEY = 'YOUR_OWN_RANDOM_GENERATED_SECRET_KEY'
|
# SECRET_KEY = 'YOUR_OWN_RANDOM_GENERATED_SECRET_KEY'
|
||||||
# Same as above but the values are files
|
|
||||||
configOverridesFiles: {}
|
# -- Same as above but the values are files
|
||||||
|
configOverridesFiles:
|
||||||
|
{}
|
||||||
# extend_timeout: extend_timeout.py
|
# extend_timeout: extend_timeout.py
|
||||||
# enable_oauth: enable_oauth.py
|
# enable_oauth: enable_oauth.py
|
||||||
|
|
||||||
|
|
||||||
configMountPath: "/app/pythonpath"
|
configMountPath: "/app/pythonpath"
|
||||||
|
|
||||||
extraConfigMountPath: "/app/configs"
|
extraConfigMountPath: "/app/configs"
|
||||||
|
|
@ -180,21 +189,23 @@ image:
|
||||||
imagePullSecrets: []
|
imagePullSecrets: []
|
||||||
|
|
||||||
initImage:
|
initImage:
|
||||||
repository: busybox
|
repository: jwilder/dockerize
|
||||||
tag: latest
|
tag: latest
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
|
|
||||||
service:
|
service:
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
port: 8088
|
port: 8088
|
||||||
annotations: {}
|
annotations:
|
||||||
|
{}
|
||||||
# cloud.google.com/load-balancer-type: "Internal"
|
# cloud.google.com/load-balancer-type: "Internal"
|
||||||
loadBalancerIP: null
|
loadBalancerIP: null
|
||||||
|
|
||||||
ingress:
|
ingress:
|
||||||
enabled: false
|
enabled: false
|
||||||
# ingressClassName: nginx
|
# ingressClassName: nginx
|
||||||
annotations: {}
|
annotations:
|
||||||
|
{}
|
||||||
# kubernetes.io/tls-acme: "true"
|
# kubernetes.io/tls-acme: "true"
|
||||||
## Extend timeout to allow long running queries.
|
## Extend timeout to allow long running queries.
|
||||||
# nginx.ingress.kubernetes.io/proxy-connect-timeout: "300"
|
# nginx.ingress.kubernetes.io/proxy-connect-timeout: "300"
|
||||||
|
|
@ -209,7 +220,8 @@ ingress:
|
||||||
# hosts:
|
# hosts:
|
||||||
# - chart-example.local
|
# - chart-example.local
|
||||||
|
|
||||||
resources: {}
|
resources:
|
||||||
|
{}
|
||||||
# We usually recommend not to specify default resources and to leave this as a conscious
|
# We usually recommend not to specify default resources and to leave this as a conscious
|
||||||
# choice for the user. This also increases chances charts run on environments with little
|
# choice for the user. This also increases chances charts run on environments with little
|
||||||
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
||||||
|
|
@ -223,25 +235,24 @@ resources: {}
|
||||||
# cpu: 100m
|
# cpu: 100m
|
||||||
# memory: 128Mi
|
# memory: 128Mi
|
||||||
|
|
||||||
##
|
# -- Custom hostAliases for all superset pods
|
||||||
## Custom hostAliases for all superset pods
|
|
||||||
## https://kubernetes.io/docs/tasks/network/customize-hosts-file-for-pods/
|
## https://kubernetes.io/docs/tasks/network/customize-hosts-file-for-pods/
|
||||||
hostAliases: []
|
hostAliases: []
|
||||||
# - hostnames:
|
# - hostnames:
|
||||||
# - nodns.my.lan
|
# - nodns.my.lan
|
||||||
# ip: 18.27.36.45
|
# ip: 18.27.36.45
|
||||||
|
|
||||||
|
# Superset node configuration
|
||||||
##
|
|
||||||
## Superset node configuration
|
|
||||||
supersetNode:
|
supersetNode:
|
||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
|
# -- Startup command
|
||||||
|
# @default -- See `values.yaml`
|
||||||
command:
|
command:
|
||||||
- "/bin/sh"
|
- "/bin/sh"
|
||||||
- "-c"
|
- "-c"
|
||||||
- ". {{ .Values.configMountPath }}/superset_bootstrap.sh; /usr/bin/run-server.sh"
|
- ". {{ .Values.configMountPath }}/superset_bootstrap.sh; /usr/bin/run-server.sh"
|
||||||
connections:
|
connections:
|
||||||
# Change in case of bringing your own redis and then also set redis.enabled:false
|
# -- Change in case of bringing your own redis and then also set redis.enabled:false
|
||||||
redis_host: '{{ template "superset.fullname" . }}-redis-headless'
|
redis_host: '{{ template "superset.fullname" . }}-redis-headless'
|
||||||
# redis_password: superset
|
# redis_password: superset
|
||||||
redis_port: "6379"
|
redis_port: "6379"
|
||||||
|
|
@ -252,35 +263,57 @@ supersetNode:
|
||||||
db_pass: superset
|
db_pass: superset
|
||||||
db_name: superset
|
db_name: superset
|
||||||
env: {}
|
env: {}
|
||||||
forceReload: false # If true, forces deployment to reload on each upgrade
|
# -- If true, forces deployment to reload on each upgrade
|
||||||
|
forceReload: false
|
||||||
|
# -- Init containers
|
||||||
|
# @default -- a container waiting for postgres
|
||||||
initContainers:
|
initContainers:
|
||||||
- name: wait-for-postgres
|
- name: wait-for-postgres
|
||||||
image: "{{ .Values.initImage.repository }}:{{ .Values.initImage.tag }}"
|
image: "{{ .Values.initImage.repository }}:{{ .Values.initImage.tag }}"
|
||||||
imagePullPolicy: "{{ .Values.initImage.pullPolicy }}"
|
imagePullPolicy: "{{ .Values.initImage.pullPolicy }}"
|
||||||
envFrom:
|
envFrom:
|
||||||
- secretRef:
|
- secretRef:
|
||||||
name: '{{ tpl .Values.envFromSecret . }}'
|
name: "{{ tpl .Values.envFromSecret . }}"
|
||||||
command: [ "/bin/sh", "-c", "until nc -zv $DB_HOST $DB_PORT -w1; do echo 'waiting for db'; sleep 1; done" ]
|
command:
|
||||||
## Annotations to be added to supersetNode deployment
|
- /bin/sh
|
||||||
|
- -c
|
||||||
|
- dockerize -wait "tcp://$DB_HOST:$DB_PORT" -timeout 120s
|
||||||
|
# -- Annotations to be added to supersetNode deployment
|
||||||
deploymentAnnotations: {}
|
deploymentAnnotations: {}
|
||||||
## Annotations to be added to supersetNode pods
|
# -- Annotations to be added to supersetNode pods
|
||||||
podAnnotations: {}
|
podAnnotations: {}
|
||||||
## Labels to be added to supersetNode pods
|
# -- Labels to be added to supersetNode pods
|
||||||
podLabels: {}
|
podLabels: {}
|
||||||
|
startupProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /health
|
||||||
|
port: http
|
||||||
|
initialDelaySeconds: 15
|
||||||
|
timeoutSeconds: 1
|
||||||
|
failureThreshold: 60
|
||||||
|
periodSeconds: 5
|
||||||
|
successThreshold: 1
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /health
|
||||||
|
port: http
|
||||||
initialDelaySeconds: 15
|
initialDelaySeconds: 15
|
||||||
timeoutSeconds: 1
|
timeoutSeconds: 1
|
||||||
failureThreshold: 3
|
failureThreshold: 3
|
||||||
periodSeconds: 15
|
periodSeconds: 15
|
||||||
successThreshold: 1
|
successThreshold: 1
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /health
|
||||||
|
port: http
|
||||||
initialDelaySeconds: 15
|
initialDelaySeconds: 15
|
||||||
timeoutSeconds: 1
|
timeoutSeconds: 1
|
||||||
failureThreshold: 3
|
failureThreshold: 3
|
||||||
periodSeconds: 15
|
periodSeconds: 15
|
||||||
successThreshold: 1
|
successThreshold: 1
|
||||||
# Resource settings for the supersetNode pods - these settings overwrite might existing values from the global resources object defined above.
|
# -- Resource settings for the supersetNode pods - these settings overwrite might existing values from the global resources object defined above.
|
||||||
resources: {}
|
resources:
|
||||||
|
{}
|
||||||
# limits:
|
# limits:
|
||||||
# cpu: 100m
|
# cpu: 100m
|
||||||
# memory: 128Mi
|
# memory: 128Mi
|
||||||
|
|
@ -289,37 +322,46 @@ supersetNode:
|
||||||
# memory: 128Mi
|
# memory: 128Mi
|
||||||
podSecurityContext: {}
|
podSecurityContext: {}
|
||||||
containerSecurityContext: {}
|
containerSecurityContext: {}
|
||||||
strategy: {}
|
strategy:
|
||||||
|
{}
|
||||||
# type: RollingUpdate
|
# type: RollingUpdate
|
||||||
# rollingUpdate:
|
# rollingUpdate:
|
||||||
# maxSurge: 25%
|
# maxSurge: 25%
|
||||||
# maxUnavailable: 25%
|
# maxUnavailable: 25%
|
||||||
|
|
||||||
##
|
# Superset Celery worker configuration
|
||||||
## Superset worker configuration
|
|
||||||
supersetWorker:
|
supersetWorker:
|
||||||
replicaCount: 1
|
replicaCount: 1
|
||||||
|
# -- Worker startup command
|
||||||
|
# @default -- a `celery worker` command
|
||||||
command:
|
command:
|
||||||
- "/bin/sh"
|
- "/bin/sh"
|
||||||
- "-c"
|
- "-c"
|
||||||
- ". {{ .Values.configMountPath }}/superset_bootstrap.sh; celery --app=superset.tasks.celery_app:app worker"
|
- ". {{ .Values.configMountPath }}/superset_bootstrap.sh; celery --app=superset.tasks.celery_app:app worker"
|
||||||
forceReload: false # If true, forces deployment to reload on each upgrade
|
# -- If true, forces deployment to reload on each upgrade
|
||||||
|
forceReload: false
|
||||||
|
# -- Init container
|
||||||
|
# @default -- a container waiting for postgres and redis
|
||||||
initContainers:
|
initContainers:
|
||||||
- name: wait-for-postgres
|
- name: wait-for-postgres-redis
|
||||||
image: "{{ .Values.initImage.repository }}:{{ .Values.initImage.tag }}"
|
image: "{{ .Values.initImage.repository }}:{{ .Values.initImage.tag }}"
|
||||||
imagePullPolicy: "{{ .Values.initImage.pullPolicy }}"
|
imagePullPolicy: "{{ .Values.initImage.pullPolicy }}"
|
||||||
envFrom:
|
envFrom:
|
||||||
- secretRef:
|
- secretRef:
|
||||||
name: '{{ tpl .Values.envFromSecret . }}'
|
name: "{{ tpl .Values.envFromSecret . }}"
|
||||||
command: [ "/bin/sh", "-c", "until nc -zv $DB_HOST $DB_PORT -w1; do echo 'waiting for db'; sleep 1; done" ]
|
command:
|
||||||
## Annotations to be added to supersetWorker deployment
|
- /bin/sh
|
||||||
|
- -c
|
||||||
|
- dockerize -wait "tcp://$DB_HOST:$DB_PORT" -wait "tcp://$REDIS_HOST:$REDIS_PORT" -timeout 120s
|
||||||
|
# -- Annotations to be added to supersetWorker deployment
|
||||||
deploymentAnnotations: {}
|
deploymentAnnotations: {}
|
||||||
## Annotations to be added to supersetWorker pods
|
# -- Annotations to be added to supersetWorker pods
|
||||||
podAnnotations: {}
|
podAnnotations: {}
|
||||||
## Labels to be added to supersetWorker pods
|
# -- Labels to be added to supersetWorker pods
|
||||||
podLabels: {}
|
podLabels: {}
|
||||||
# Resource settings for the supersetWorker pods - these settings overwrite might existing values from the global resources object defined above.
|
# -- Resource settings for the supersetWorker pods - these settings overwrite might existing values from the global resources object defined above.
|
||||||
resources: {}
|
resources:
|
||||||
|
{}
|
||||||
# limits:
|
# limits:
|
||||||
# cpu: 100m
|
# cpu: 100m
|
||||||
# memory: 128Mi
|
# memory: 128Mi
|
||||||
|
|
@ -328,38 +370,64 @@ supersetWorker:
|
||||||
# memory: 128Mi
|
# memory: 128Mi
|
||||||
podSecurityContext: {}
|
podSecurityContext: {}
|
||||||
containerSecurityContext: {}
|
containerSecurityContext: {}
|
||||||
strategy: {}
|
strategy:
|
||||||
|
{}
|
||||||
# type: RollingUpdate
|
# type: RollingUpdate
|
||||||
# rollingUpdate:
|
# rollingUpdate:
|
||||||
# maxSurge: 25%
|
# maxSurge: 25%
|
||||||
# maxUnavailable: 25%
|
# maxUnavailable: 25%
|
||||||
|
livenessProbe:
|
||||||
|
exec:
|
||||||
|
# -- Liveness probe command
|
||||||
|
# @default -- a `celery inspect ping` command
|
||||||
|
command:
|
||||||
|
- sh
|
||||||
|
- -c
|
||||||
|
- celery -A superset.tasks.celery_app:app inspect ping -d celery@$HOSTNAME
|
||||||
|
initialDelaySeconds: 120
|
||||||
|
timeoutSeconds: 60
|
||||||
|
failureThreshold: 3
|
||||||
|
periodSeconds: 60
|
||||||
|
successThreshold: 1
|
||||||
|
# -- No startup/readiness probes by default since we don't really care about its startup time (it doesn't serve traffic)
|
||||||
|
startupProbe: {}
|
||||||
|
# -- No startup/readiness probes by default since we don't really care about its startup time (it doesn't serve traffic)
|
||||||
|
readinessProbe: {}
|
||||||
|
|
||||||
##
|
# Superset beat configuration (to trigger scheduled jobs like reports)
|
||||||
## Superset beat configuration (to trigger scheduled jobs like reports)
|
|
||||||
supersetCeleryBeat:
|
supersetCeleryBeat:
|
||||||
# This is only required if you intend to use alerts and reports
|
# -- This is only required if you intend to use alerts and reports
|
||||||
enabled: false
|
enabled: false
|
||||||
|
# -- Command
|
||||||
|
# @default -- a `celery beat` command
|
||||||
command:
|
command:
|
||||||
- "/bin/sh"
|
- "/bin/sh"
|
||||||
- "-c"
|
- "-c"
|
||||||
- ". {{ .Values.configMountPath }}/superset_bootstrap.sh; celery --app=superset.tasks.celery_app:app beat --pidfile /tmp/celerybeat.pid --schedule /tmp/celerybeat-schedule"
|
- ". {{ .Values.configMountPath }}/superset_bootstrap.sh; celery --app=superset.tasks.celery_app:app beat --pidfile /tmp/celerybeat.pid --schedule /tmp/celerybeat-schedule"
|
||||||
forceReload: false # If true, forces deployment to reload on each upgrade
|
# -- If true, forces deployment to reload on each upgrade
|
||||||
|
forceReload: false
|
||||||
|
# -- List of init containers
|
||||||
|
# @default -- a container waiting for postgres
|
||||||
initContainers:
|
initContainers:
|
||||||
- name: wait-for-postgres
|
- name: wait-for-postgres-redis
|
||||||
image: "{{ .Values.initImage.repository }}:{{ .Values.initImage.tag }}"
|
image: "{{ .Values.initImage.repository }}:{{ .Values.initImage.tag }}"
|
||||||
imagePullPolicy: "{{ .Values.initImage.pullPolicy }}"
|
imagePullPolicy: "{{ .Values.initImage.pullPolicy }}"
|
||||||
envFrom:
|
envFrom:
|
||||||
- secretRef:
|
- secretRef:
|
||||||
name: '{{ tpl .Values.envFromSecret . }}'
|
name: "{{ tpl .Values.envFromSecret . }}"
|
||||||
command: [ "/bin/sh", "-c", "until nc -zv $DB_HOST $DB_PORT -w1; do echo 'waiting for db'; sleep 1; done" ]
|
command:
|
||||||
## Annotations to be added to supersetCeleryBeat deployment
|
- /bin/sh
|
||||||
|
- -c
|
||||||
|
- dockerize -wait "tcp://$DB_HOST:$DB_PORT" -wait "tcp://$REDIS_HOST:$REDIS_PORT" -timeout 120s
|
||||||
|
# -- Annotations to be added to supersetCeleryBeat deployment
|
||||||
deploymentAnnotations: {}
|
deploymentAnnotations: {}
|
||||||
## Annotations to be added to supersetCeleryBeat pods
|
# -- Annotations to be added to supersetCeleryBeat pods
|
||||||
podAnnotations: {}
|
podAnnotations: {}
|
||||||
## Labels to be added to supersetCeleryBeat pods
|
# -- Labels to be added to supersetCeleryBeat pods
|
||||||
podLabels: {}
|
podLabels: {}
|
||||||
# Resource settings for the CeleryBeat pods - these settings overwrite might existing values from the global resources object defined above.
|
# -- Resource settings for the CeleryBeat pods - these settings overwrite might existing values from the global resources object defined above.
|
||||||
resources: {}
|
resources:
|
||||||
|
{}
|
||||||
# limits:
|
# limits:
|
||||||
# cpu: 100m
|
# cpu: 100m
|
||||||
# memory: 128Mi
|
# memory: 128Mi
|
||||||
|
|
@ -368,21 +436,172 @@ supersetCeleryBeat:
|
||||||
# memory: 128Mi
|
# memory: 128Mi
|
||||||
podSecurityContext: {}
|
podSecurityContext: {}
|
||||||
containerSecurityContext: {}
|
containerSecurityContext: {}
|
||||||
##
|
|
||||||
## Init job configuration
|
supersetCeleryFlower:
|
||||||
|
# -- Enables 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
|
||||||
|
enabled: false
|
||||||
|
replicaCount: 1
|
||||||
|
# -- Command
|
||||||
|
# @default -- a `celery flower` command
|
||||||
|
command:
|
||||||
|
- "/bin/sh"
|
||||||
|
- "-c"
|
||||||
|
- "celery --app=superset.tasks.celery_app:app flower"
|
||||||
|
service:
|
||||||
|
type: ClusterIP
|
||||||
|
annotations: {}
|
||||||
|
port: 5555
|
||||||
|
startupProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /api/workers
|
||||||
|
port: flower
|
||||||
|
initialDelaySeconds: 5
|
||||||
|
timeoutSeconds: 1
|
||||||
|
failureThreshold: 60
|
||||||
|
periodSeconds: 5
|
||||||
|
successThreshold: 1
|
||||||
|
livenessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /api/workers
|
||||||
|
port: flower
|
||||||
|
initialDelaySeconds: 5
|
||||||
|
timeoutSeconds: 1
|
||||||
|
failureThreshold: 3
|
||||||
|
periodSeconds: 5
|
||||||
|
successThreshold: 1
|
||||||
|
readinessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /api/workers
|
||||||
|
port: flower
|
||||||
|
initialDelaySeconds: 5
|
||||||
|
timeoutSeconds: 1
|
||||||
|
failureThreshold: 3
|
||||||
|
periodSeconds: 5
|
||||||
|
successThreshold: 1
|
||||||
|
# -- List of init containers
|
||||||
|
# @default -- a container waiting for postgres and redis
|
||||||
|
initContainers:
|
||||||
|
- name: wait-for-postgres-redis
|
||||||
|
image: "{{ .Values.initImage.repository }}:{{ .Values.initImage.tag }}"
|
||||||
|
imagePullPolicy: "{{ .Values.initImage.pullPolicy }}"
|
||||||
|
envFrom:
|
||||||
|
- secretRef:
|
||||||
|
name: "{{ tpl .Values.envFromSecret . }}"
|
||||||
|
command:
|
||||||
|
- /bin/sh
|
||||||
|
- -c
|
||||||
|
- dockerize -wait "tcp://$DB_HOST:$DB_PORT" -wait "tcp://$REDIS_HOST:$REDIS_PORT" -timeout 120s
|
||||||
|
# -- Annotations to be added to supersetCeleryBeat deployment
|
||||||
|
deploymentAnnotations: {}
|
||||||
|
# -- Annotations to be added to supersetCeleryBeat pods
|
||||||
|
podAnnotations: {}
|
||||||
|
# -- Labels to be added to supersetCeleryBeat pods
|
||||||
|
podLabels: {}
|
||||||
|
# -- Resource settings for the CeleryBeat pods - these settings overwrite might existing values from the global resources object defined above.
|
||||||
|
resources:
|
||||||
|
{}
|
||||||
|
# limits:
|
||||||
|
# cpu: 100m
|
||||||
|
# memory: 128Mi
|
||||||
|
# requests:
|
||||||
|
# cpu: 100m
|
||||||
|
# memory: 128Mi
|
||||||
|
podSecurityContext: {}
|
||||||
|
containerSecurityContext: {}
|
||||||
|
|
||||||
|
supersetWebsockets:
|
||||||
|
# -- This 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
|
||||||
|
enabled: false
|
||||||
|
replicaCount: 1
|
||||||
|
ingress:
|
||||||
|
path: /ws
|
||||||
|
pathType: Prefix
|
||||||
|
image:
|
||||||
|
# -- There is no official image (yet), this one is community-supported
|
||||||
|
repository: oneacrefund/superset-websocket
|
||||||
|
tag: latest
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
# -- The 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
|
||||||
|
# @default -- see `values.yaml`
|
||||||
|
config:
|
||||||
|
{
|
||||||
|
"port": 8080,
|
||||||
|
"logLevel": "debug",
|
||||||
|
"logToFile": false,
|
||||||
|
"logFilename": "app.log",
|
||||||
|
"statsd": { "host": "127.0.0.1", "port": 8125, "globalTags": [] },
|
||||||
|
"redis":
|
||||||
|
{
|
||||||
|
"port": 6379,
|
||||||
|
"host": "127.0.0.1",
|
||||||
|
"password": "",
|
||||||
|
"db": 0,
|
||||||
|
"ssl": false,
|
||||||
|
},
|
||||||
|
"redisStreamPrefix": "async-events-",
|
||||||
|
"jwtSecret": "CHANGE-ME",
|
||||||
|
"jwtCookieName": "async-token",
|
||||||
|
}
|
||||||
|
service:
|
||||||
|
type: ClusterIP
|
||||||
|
annotations: {}
|
||||||
|
port: 8080
|
||||||
|
command: []
|
||||||
|
resources: {}
|
||||||
|
deploymentAnnotations: {}
|
||||||
|
podAnnotations: {}
|
||||||
|
podLabels: {}
|
||||||
|
strategy: {}
|
||||||
|
podSecurityContext: {}
|
||||||
|
containerSecurityContext: {}
|
||||||
|
startupProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /health
|
||||||
|
port: ws
|
||||||
|
initialDelaySeconds: 5
|
||||||
|
timeoutSeconds: 1
|
||||||
|
failureThreshold: 60
|
||||||
|
periodSeconds: 5
|
||||||
|
successThreshold: 1
|
||||||
|
livenessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /health
|
||||||
|
port: ws
|
||||||
|
initialDelaySeconds: 5
|
||||||
|
timeoutSeconds: 1
|
||||||
|
failureThreshold: 3
|
||||||
|
periodSeconds: 5
|
||||||
|
successThreshold: 1
|
||||||
|
readinessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /health
|
||||||
|
port: ws
|
||||||
|
initialDelaySeconds: 5
|
||||||
|
timeoutSeconds: 1
|
||||||
|
failureThreshold: 3
|
||||||
|
periodSeconds: 5
|
||||||
|
successThreshold: 1
|
||||||
|
|
||||||
init:
|
init:
|
||||||
# Configure resources
|
# Configure resources
|
||||||
# Warning: fab command consumes a lot of ram and can
|
# Warning: fab command consumes a lot of ram and can
|
||||||
# cause the process to be killed due to OOM if it exceeds limit
|
# cause the process to be killed due to OOM if it exceeds limit
|
||||||
# Make sure you are giving a strong password for the admin user creation( else make sure you are changing after setup)
|
# Make sure you are giving a strong password for the admin user creation( else make sure you are changing after setup)
|
||||||
# Also change the admin email to your own custom email.
|
# Also change the admin email to your own custom email.
|
||||||
resources: {}
|
resources:
|
||||||
|
{}
|
||||||
# limits:
|
# limits:
|
||||||
# cpu:
|
# cpu:
|
||||||
# memory:
|
# memory:
|
||||||
# requests:
|
# requests:
|
||||||
# cpu:
|
# cpu:
|
||||||
# memory:
|
# memory:
|
||||||
|
# -- Command
|
||||||
|
# @default -- a `superset_init.sh` command
|
||||||
command:
|
command:
|
||||||
- "/bin/sh"
|
- "/bin/sh"
|
||||||
- "-c"
|
- "-c"
|
||||||
|
|
@ -396,14 +615,21 @@ init:
|
||||||
lastname: Admin
|
lastname: Admin
|
||||||
email: admin@superset.com
|
email: admin@superset.com
|
||||||
password: admin
|
password: admin
|
||||||
|
# -- List of initContainers
|
||||||
|
# @default -- a container waiting for postgres
|
||||||
initContainers:
|
initContainers:
|
||||||
- name: wait-for-postgres
|
- name: wait-for-postgres
|
||||||
image: "{{ .Values.initImage.repository }}:{{ .Values.initImage.tag }}"
|
image: "{{ .Values.initImage.repository }}:{{ .Values.initImage.tag }}"
|
||||||
imagePullPolicy: "{{ .Values.initImage.pullPolicy }}"
|
imagePullPolicy: "{{ .Values.initImage.pullPolicy }}"
|
||||||
envFrom:
|
envFrom:
|
||||||
- secretRef:
|
- secretRef:
|
||||||
name: '{{ tpl .Values.envFromSecret . }}'
|
name: "{{ tpl .Values.envFromSecret . }}"
|
||||||
command: [ "/bin/sh", "-c", "until nc -zv $DB_HOST $DB_PORT -w1; do echo 'waiting for db'; sleep 1; done" ]
|
command:
|
||||||
|
- /bin/sh
|
||||||
|
- -c
|
||||||
|
- dockerize -wait "tcp://$DB_HOST:$DB_PORT" -timeout 120s
|
||||||
|
# -- A Superset init script
|
||||||
|
# @default -- a script to create admin user and initailize roles
|
||||||
initscript: |-
|
initscript: |-
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
set -eu
|
set -eu
|
||||||
|
|
@ -433,9 +659,10 @@ init:
|
||||||
podAnnotations: {}
|
podAnnotations: {}
|
||||||
podSecurityContext: {}
|
podSecurityContext: {}
|
||||||
containerSecurityContext: {}
|
containerSecurityContext: {}
|
||||||
##
|
|
||||||
## Configuration values for the postgresql dependency.
|
# -- Configuration values for the postgresql dependency.
|
||||||
## ref: https://github.com/kubernetes/charts/blob/master/stable/postgresql/README.md
|
# ref: https://github.com/kubernetes/charts/blob/master/stable/postgresql/README.md
|
||||||
|
# @default -- see `values.yaml`
|
||||||
postgresql:
|
postgresql:
|
||||||
##
|
##
|
||||||
## Use the PostgreSQL chart dependency.
|
## Use the PostgreSQL chart dependency.
|
||||||
|
|
@ -453,7 +680,6 @@ postgresql:
|
||||||
## PostgreSQL name for a custom database to create
|
## PostgreSQL name for a custom database to create
|
||||||
database: superset
|
database: superset
|
||||||
|
|
||||||
|
|
||||||
## PostgreSQL Primary parameters
|
## PostgreSQL Primary parameters
|
||||||
primary:
|
primary:
|
||||||
##
|
##
|
||||||
|
|
@ -475,9 +701,10 @@ postgresql:
|
||||||
ports:
|
ports:
|
||||||
postgresql: "5432"
|
postgresql: "5432"
|
||||||
|
|
||||||
## Configuration values for the Redis dependency.
|
# -- Configuration values for the Redis dependency.
|
||||||
## ref: https://github.com/bitnami/charts/blob/master/bitnami/redis
|
# ref: https://github.com/bitnami/charts/blob/master/bitnami/redis
|
||||||
## More documentation can be found here: https://artifacthub.io/packages/helm/bitnami/redis
|
# More documentation can be found here: https://artifacthub.io/packages/helm/bitnami/redis
|
||||||
|
# @default -- see `values.yaml`
|
||||||
redis:
|
redis:
|
||||||
##
|
##
|
||||||
## Use the redis chart dependency.
|
## Use the redis chart dependency.
|
||||||
|
|
@ -508,9 +735,9 @@ redis:
|
||||||
##
|
##
|
||||||
## Image configuration
|
## Image configuration
|
||||||
# image:
|
# image:
|
||||||
##
|
##
|
||||||
## docker registry secret names (list)
|
## docker registry secret names (list)
|
||||||
# pullSecrets: nil
|
# pullSecrets: nil
|
||||||
##
|
##
|
||||||
## Configure persistance
|
## Configure persistance
|
||||||
persistence:
|
persistence:
|
||||||
|
|
@ -523,7 +750,7 @@ redis:
|
||||||
##
|
##
|
||||||
## Access mode:
|
## Access mode:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
|
||||||
nodeSelector: {}
|
nodeSelector: {}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@
|
||||||
rules:
|
rules:
|
||||||
braces:
|
braces:
|
||||||
min-spaces-inside: 0
|
min-spaces-inside: 0
|
||||||
max-spaces-inside: 0
|
max-spaces-inside: 1
|
||||||
min-spaces-inside-empty: -1
|
min-spaces-inside-empty: -1
|
||||||
max-spaces-inside-empty: -1
|
max-spaces-inside-empty: -1
|
||||||
brackets:
|
brackets:
|
||||||
|
|
@ -37,7 +37,7 @@ rules:
|
||||||
require-starting-space: false
|
require-starting-space: false
|
||||||
min-spaces-from-content: -1
|
min-spaces-from-content: -1
|
||||||
document-end: disable
|
document-end: disable
|
||||||
document-start: disable # No --- to start a file
|
document-start: disable # No --- to start a file
|
||||||
empty-lines:
|
empty-lines:
|
||||||
max: 2
|
max: 2
|
||||||
max-start: 0
|
max-start: 0
|
||||||
|
|
@ -46,10 +46,10 @@ rules:
|
||||||
max-spaces-after: 1
|
max-spaces-after: 1
|
||||||
indentation:
|
indentation:
|
||||||
spaces: consistent
|
spaces: consistent
|
||||||
indent-sequences: whatever # - list indentation will handle both indentation and without
|
indent-sequences: whatever # - list indentation will handle both indentation and without
|
||||||
check-multi-line-strings: false
|
check-multi-line-strings: false
|
||||||
key-duplicates: enable
|
key-duplicates: enable
|
||||||
line-length: disable # Lines can be any length
|
line-length: disable # Lines can be any length
|
||||||
new-line-at-end-of-file: enable
|
new-line-at-end-of-file: enable
|
||||||
new-lines:
|
new-lines:
|
||||||
type: unix
|
type: unix
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue