values.yaml 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823
  1. #
  2. # Licensed to the Apache Software Foundation (ASF) under one or more
  3. # contributor license agreements. See the NOTICE file distributed with
  4. # this work for additional information regarding copyright ownership.
  5. # The ASF licenses this file to You under the Apache License, Version 2.0
  6. # (the "License"); you may not use this file except in compliance with
  7. # the License. You may obtain a copy of the License at
  8. #
  9. # http://www.apache.org/licenses/LICENSE-2.0
  10. #
  11. # Unless required by applicable law or agreed to in writing, software
  12. # distributed under the License is distributed on an "AS IS" BASIS,
  13. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. # See the License for the specific language governing permissions and
  15. # limitations under the License.
  16. #
  17. # Default values for superset.
  18. # This is a YAML-formatted file.
  19. # Declare variables to be passed into your templates.
  20. # A README is automatically generated from this file to document it, using helm-docs (see https://github.com/norwoodj/helm-docs)
  21. # To update it, install helm-docs and run helm-docs from the root of this chart
  22. # -- Provide a name to override the name of the chart
  23. nameOverride: ~
  24. # -- Provide a name to override the full names of resources
  25. fullnameOverride: ~
  26. # -- User ID directive. This user must have enough permissions to run the bootstrap script
  27. # Running containers as root is not recommended in production. Change this to another UID - e.g. 1000 to be more secure
  28. runAsUser: 0
  29. # -- Specify service account name to be used
  30. serviceAccountName: ~
  31. serviceAccount:
  32. # -- Create custom service account for Superset. If create: true and serviceAccountName is not provided, `superset.fullname` will be used.
  33. create: false
  34. annotations: {}
  35. # -- Install additional packages and do any other bootstrap configuration in this script
  36. # For production clusters it's recommended to build own image with this step done in CI
  37. # @default -- see `values.yaml`
  38. bootstrapScript: |
  39. #!/bin/bash
  40. if [ ! -f ~/bootstrap ]; then echo "Running Superset with uid {{ .Values.runAsUser }}" > ~/bootstrap; fi
  41. # -- The name of the secret which we will use to generate a superset_config.py file
  42. # Note: this secret must have the key superset_config.py in it and can include other files as well
  43. configFromSecret: '{{ template "superset.fullname" . }}-config'
  44. # -- The name of the secret which we will use to populate env vars in deployed pods
  45. # This can be useful for secret keys, etc.
  46. envFromSecret: '{{ template "superset.fullname" . }}-env'
  47. # -- This can be a list of templated strings
  48. envFromSecrets: []
  49. # -- Extra environment variables that will be passed into pods
  50. extraEnv: {}
  51. # Different gunicorn settings, refer to the gunicorn documentation
  52. # https://docs.gunicorn.org/en/stable/settings.html#
  53. # These variables are used as Flags at the gunicorn startup
  54. # https://github.com/apache/superset/blob/master/docker/run-server.sh#L22
  55. # Extend timeout to allow long running queries.
  56. # GUNICORN_TIMEOUT: 300
  57. # Increase the gunicorn worker amount, can improve performance drastically
  58. # See: https://docs.gunicorn.org/en/stable/design.html#how-many-workers
  59. # SERVER_WORKER_AMOUNT: 4
  60. # WORKER_MAX_REQUESTS: 0
  61. # WORKER_MAX_REQUESTS_JITTER: 0
  62. # SERVER_THREADS_AMOUNT: 20
  63. # GUNICORN_KEEPALIVE: 2
  64. # SERVER_LIMIT_REQUEST_LINE: 0
  65. # SERVER_LIMIT_REQUEST_FIELD_SIZE: 0
  66. # OAUTH_HOME_DOMAIN: ..
  67. # # If a whitelist is not set, any address that can use your OAuth2 endpoint will be able to login.
  68. # # this includes any random Gmail address if your OAuth2 Web App is set to External.
  69. # OAUTH_WHITELIST_REGEX: ...
  70. # -- Extra environment variables in RAW format that will be passed into pods
  71. extraEnvRaw: []
  72. # Load DB password from other secret (e.g. for zalando operator)
  73. # - name: DB_PASS
  74. # valueFrom:
  75. # secretKeyRef:
  76. # name: superset.superset-postgres.credentials.postgresql.acid.zalan.do
  77. # key: password
  78. # -- Extra environment variables to pass as secrets
  79. extraSecretEnv: {}
  80. # MAPBOX_API_KEY: ...
  81. # # Google API Keys: https://console.cloud.google.com/apis/credentials
  82. # GOOGLE_KEY: ...
  83. # GOOGLE_SECRET: ...
  84. # # Generate your own secret key for encryption. Use openssl rand -base64 42 to generate a good key
  85. # SUPERSET_SECRET_KEY: 'CHANGE_ME_TO_A_COMPLEX_RANDOM_SECRET'
  86. # -- Extra files to mount on `/app/pythonpath`
  87. extraConfigs: {}
  88. # import_datasources.yaml: |
  89. # databases:
  90. # - allow_file_upload: true
  91. # allow_ctas: true
  92. # allow_cvas: true
  93. # database_name: example-db
  94. # extra: "{\r\n \"metadata_params\": {},\r\n \"engine_params\": {},\r\n \"\
  95. # metadata_cache_timeout\": {},\r\n \"schemas_allowed_for_file_upload\": []\r\n\
  96. # }"
  97. # sqlalchemy_uri: example://example-db.local
  98. # tables: []
  99. # -- Extra files to mount on `/app/pythonpath` as secrets
  100. extraSecrets: {}
  101. extraVolumes: []
  102. # - name: customConfig
  103. # configMap:
  104. # name: '{{ template "superset.fullname" . }}-custom-config'
  105. # - name: additionalSecret
  106. # secret:
  107. # secretName: my-secret
  108. # defaultMode: 0600
  109. extraVolumeMounts: []
  110. # - name: customConfig
  111. # mountPath: /mnt/config
  112. # readOnly: true
  113. # - name: additionalSecret:
  114. # mountPath: /mnt/secret
  115. # -- A dictionary of overrides to append at the end of superset_config.py - the name does not matter
  116. # WARNING: the order is not guaranteed
  117. # Files can be passed as helm --set-file configOverrides.my-override=my-file.py
  118. configOverrides: {}
  119. # extend_timeout: |
  120. # # Extend timeout to allow long running queries.
  121. # SUPERSET_WEBSERVER_TIMEOUT = ...
  122. # enable_oauth: |
  123. # from flask_appbuilder.security.manager import (AUTH_DB, AUTH_OAUTH)
  124. # AUTH_TYPE = AUTH_OAUTH
  125. # OAUTH_PROVIDERS = [
  126. # {
  127. # "name": "google",
  128. # "whitelist": [ os.getenv("OAUTH_WHITELIST_REGEX", "") ],
  129. # "icon": "fa-google",
  130. # "token_key": "access_token",
  131. # "remote_app": {
  132. # "client_id": os.environ.get("GOOGLE_KEY"),
  133. # "client_secret": os.environ.get("GOOGLE_SECRET"),
  134. # "api_base_url": "https://www.googleapis.com/oauth2/v2/",
  135. # "client_kwargs": {"scope": "email profile"},
  136. # "request_token_url": None,
  137. # "access_token_url": "https://accounts.google.com/o/oauth2/token",
  138. # "authorize_url": "https://accounts.google.com/o/oauth2/auth",
  139. # "authorize_params": {"hd": os.getenv("OAUTH_HOME_DOMAIN", "")}
  140. # }
  141. # }
  142. # ]
  143. # # Map Authlib roles to superset roles
  144. # AUTH_ROLE_ADMIN = 'Admin'
  145. # AUTH_ROLE_PUBLIC = 'Public'
  146. # # Will allow user self registration, allowing to create Flask users from Authorized User
  147. # AUTH_USER_REGISTRATION = True
  148. # # The default user self registration role
  149. # AUTH_USER_REGISTRATION_ROLE = "Admin"
  150. # secret: |
  151. # # Generate your own secret key for encryption. Use `openssl rand -base64 42` to generate a good key
  152. # SECRET_KEY = 'CHANGE_ME_TO_A_COMPLEX_RANDOM_SECRET'
  153. # -- Same as above but the values are files
  154. configOverridesFiles: {}
  155. # extend_timeout: extend_timeout.py
  156. # enable_oauth: enable_oauth.py
  157. configMountPath: "/app/pythonpath"
  158. extraConfigMountPath: "/app/configs"
  159. image:
  160. repository: apachesuperset.docker.scarf.sh/apache/superset
  161. tag: ~
  162. pullPolicy: IfNotPresent
  163. imagePullSecrets: []
  164. initImage:
  165. repository: apache/superset
  166. tag: dockerize
  167. pullPolicy: IfNotPresent
  168. service:
  169. type: ClusterIP
  170. port: 8088
  171. annotations: {}
  172. # cloud.google.com/load-balancer-type: "Internal"
  173. loadBalancerIP: ~
  174. nodePort:
  175. # -- (int)
  176. http: nil
  177. ingress:
  178. enabled: false
  179. ingressClassName: ~
  180. annotations: {}
  181. # kubernetes.io/tls-acme: "true"
  182. ## Extend timeout to allow long running queries.
  183. # nginx.ingress.kubernetes.io/proxy-connect-timeout: "300"
  184. # nginx.ingress.kubernetes.io/proxy-read-timeout: "300"
  185. # nginx.ingress.kubernetes.io/proxy-send-timeout: "300"
  186. path: /
  187. pathType: ImplementationSpecific
  188. hosts:
  189. - chart-example.local
  190. tls: []
  191. extraHostsRaw: []
  192. # - secretName: chart-example-tls
  193. # hosts:
  194. # - chart-example.local
  195. resources: {}
  196. # We usually recommend not to specify default resources and to leave this as a conscious
  197. # choice for the user. This also increases chances charts run on environments with little
  198. # resources, such as Minikube. If you do want to specify resources, uncomment the following
  199. # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
  200. # The limits below will apply to all Superset components. To set individual resource limitations refer to the pod specific values below.
  201. # The pod specific values will overwrite anything that is set here.
  202. # limits:
  203. # cpu: 100m
  204. # memory: 128Mi
  205. # requests:
  206. # cpu: 100m
  207. # memory: 128Mi
  208. # -- Custom hostAliases for all superset pods
  209. ## https://kubernetes.io/docs/tasks/network/customize-hosts-file-for-pods/
  210. hostAliases: []
  211. # - hostnames:
  212. # - nodns.my.lan
  213. # ip: 18.27.36.45
  214. # Superset node configuration
  215. supersetNode:
  216. replicaCount: 1
  217. autoscaling:
  218. enabled: false
  219. minReplicas: 1
  220. maxReplicas: 100
  221. targetCPUUtilizationPercentage: 80
  222. # targetMemoryUtilizationPercentage: 80
  223. # -- Startup command
  224. # @default -- See `values.yaml`
  225. command:
  226. - "/bin/sh"
  227. - "-c"
  228. - ". {{ .Values.configMountPath }}/superset_bootstrap.sh; /usr/bin/run-server.sh"
  229. connections:
  230. # -- Change in case of bringing your own redis and then also set redis.enabled:false
  231. redis_host: '{{ .Release.Name }}-redis-headless'
  232. # redis_password: superset
  233. redis_port: "6379"
  234. # You need to change below configuration incase bringing own PostgresSQL instance and also set postgresql.enabled:false
  235. db_host: '{{ .Release.Name }}-postgresql'
  236. db_port: "5432"
  237. db_user: superset
  238. db_pass: superset
  239. db_name: superset
  240. env: {}
  241. # -- If true, forces deployment to reload on each upgrade
  242. forceReload: false
  243. # -- Init containers
  244. # @default -- a container waiting for postgres
  245. initContainers:
  246. - name: wait-for-postgres
  247. image: "{{ .Values.initImage.repository }}:{{ .Values.initImage.tag }}"
  248. imagePullPolicy: "{{ .Values.initImage.pullPolicy }}"
  249. envFrom:
  250. - secretRef:
  251. name: "{{ tpl .Values.envFromSecret . }}"
  252. command:
  253. - /bin/sh
  254. - -c
  255. - dockerize -wait "tcp://$DB_HOST:$DB_PORT" -timeout 120s
  256. # -- Launch additional containers into supersetNode pod
  257. extraContainers: []
  258. # -- Annotations to be added to supersetNode deployment
  259. deploymentAnnotations: {}
  260. # -- Labels to be added to supersetNode deployment
  261. deploymentLabels: {}
  262. # -- Affinity to be added to supersetNode deployment
  263. affinity: {}
  264. # -- TopologySpreadConstrains to be added to supersetNode deployments
  265. topologySpreadConstraints: []
  266. # -- Annotations to be added to supersetNode pods
  267. podAnnotations: {}
  268. # -- Labels to be added to supersetNode pods
  269. podLabels: {}
  270. startupProbe:
  271. httpGet:
  272. path: /health
  273. port: http
  274. initialDelaySeconds: 15
  275. timeoutSeconds: 1
  276. failureThreshold: 60
  277. periodSeconds: 5
  278. successThreshold: 1
  279. livenessProbe:
  280. httpGet:
  281. path: /health
  282. port: http
  283. initialDelaySeconds: 15
  284. timeoutSeconds: 1
  285. failureThreshold: 3
  286. periodSeconds: 15
  287. successThreshold: 1
  288. readinessProbe:
  289. httpGet:
  290. path: /health
  291. port: http
  292. initialDelaySeconds: 15
  293. timeoutSeconds: 1
  294. failureThreshold: 3
  295. periodSeconds: 15
  296. successThreshold: 1
  297. # -- Resource settings for the supersetNode pods - these settings overwrite might existing values from the global resources object defined above.
  298. resources: {}
  299. # limits:
  300. # cpu: 100m
  301. # memory: 128Mi
  302. # requests:
  303. # cpu: 100m
  304. # memory: 128Mi
  305. podSecurityContext: {}
  306. containerSecurityContext: {}
  307. strategy: {}
  308. # type: RollingUpdate
  309. # rollingUpdate:
  310. # maxSurge: 25%
  311. # maxUnavailable: 25%
  312. # Superset Celery worker configuration
  313. supersetWorker:
  314. replicaCount: 1
  315. autoscaling:
  316. enabled: false
  317. minReplicas: 1
  318. maxReplicas: 100
  319. targetCPUUtilizationPercentage: 80
  320. # targetMemoryUtilizationPercentage: 80
  321. # -- Worker startup command
  322. # @default -- a `celery worker` command
  323. command:
  324. - "/bin/sh"
  325. - "-c"
  326. - ". {{ .Values.configMountPath }}/superset_bootstrap.sh; celery --app=superset.tasks.celery_app:app worker"
  327. # -- If true, forces deployment to reload on each upgrade
  328. forceReload: false
  329. # -- Init container
  330. # @default -- a container waiting for postgres and redis
  331. initContainers:
  332. - name: wait-for-postgres-redis
  333. image: "{{ .Values.initImage.repository }}:{{ .Values.initImage.tag }}"
  334. imagePullPolicy: "{{ .Values.initImage.pullPolicy }}"
  335. envFrom:
  336. - secretRef:
  337. name: "{{ tpl .Values.envFromSecret . }}"
  338. command:
  339. - /bin/sh
  340. - -c
  341. - dockerize -wait "tcp://$DB_HOST:$DB_PORT" -wait "tcp://$REDIS_HOST:$REDIS_PORT" -timeout 120s
  342. # -- Launch additional containers into supersetWorker pod
  343. extraContainers: []
  344. # -- Annotations to be added to supersetWorker deployment
  345. deploymentAnnotations: {}
  346. # -- Labels to be added to supersetWorker deployment
  347. deploymentLabels: {}
  348. # -- Affinity to be added to supersetWorker deployment
  349. affinity: {}
  350. # -- TopologySpreadConstrains to be added to supersetWorker deployments
  351. topologySpreadConstraints: []
  352. # -- Annotations to be added to supersetWorker pods
  353. podAnnotations: {}
  354. # -- Labels to be added to supersetWorker pods
  355. podLabels: {}
  356. # -- Resource settings for the supersetWorker pods - these settings overwrite might existing values from the global resources object defined above.
  357. resources: {}
  358. # limits:
  359. # cpu: 100m
  360. # memory: 128Mi
  361. # requests:
  362. # cpu: 100m
  363. # memory: 128Mi
  364. podSecurityContext: {}
  365. containerSecurityContext: {}
  366. strategy: {}
  367. # type: RollingUpdate
  368. # rollingUpdate:
  369. # maxSurge: 25%
  370. # maxUnavailable: 25%
  371. livenessProbe:
  372. exec:
  373. # -- Liveness probe command
  374. # @default -- a `celery inspect ping` command
  375. command:
  376. - sh
  377. - -c
  378. - celery -A superset.tasks.celery_app:app inspect ping -d celery@$HOSTNAME
  379. initialDelaySeconds: 120
  380. timeoutSeconds: 60
  381. failureThreshold: 3
  382. periodSeconds: 60
  383. successThreshold: 1
  384. # -- No startup/readiness probes by default since we don't really care about its startup time (it doesn't serve traffic)
  385. startupProbe: {}
  386. # -- No startup/readiness probes by default since we don't really care about its startup time (it doesn't serve traffic)
  387. readinessProbe: {}
  388. # Superset beat configuration (to trigger scheduled jobs like reports)
  389. supersetCeleryBeat:
  390. # -- This is only required if you intend to use alerts and reports
  391. enabled: false
  392. # -- Command
  393. # @default -- a `celery beat` command
  394. command:
  395. - "/bin/sh"
  396. - "-c"
  397. - ". {{ .Values.configMountPath }}/superset_bootstrap.sh; celery --app=superset.tasks.celery_app:app beat --pidfile /tmp/celerybeat.pid --schedule /tmp/celerybeat-schedule"
  398. # -- If true, forces deployment to reload on each upgrade
  399. forceReload: false
  400. # -- List of init containers
  401. # @default -- a container waiting for postgres
  402. initContainers:
  403. - name: wait-for-postgres-redis
  404. image: "{{ .Values.initImage.repository }}:{{ .Values.initImage.tag }}"
  405. imagePullPolicy: "{{ .Values.initImage.pullPolicy }}"
  406. envFrom:
  407. - secretRef:
  408. name: "{{ tpl .Values.envFromSecret . }}"
  409. command:
  410. - /bin/sh
  411. - -c
  412. - dockerize -wait "tcp://$DB_HOST:$DB_PORT" -wait "tcp://$REDIS_HOST:$REDIS_PORT" -timeout 120s
  413. # -- Launch additional containers into supersetCeleryBeat pods
  414. extraContainers: []
  415. # -- Annotations to be added to supersetCeleryBeat deployment
  416. deploymentAnnotations: {}
  417. # -- Affinity to be added to supersetCeleryBeat deployment
  418. affinity: {}
  419. # -- TopologySpreadConstrains to be added to supersetCeleryBeat deployments
  420. topologySpreadConstraints: []
  421. # -- Annotations to be added to supersetCeleryBeat pods
  422. podAnnotations: {}
  423. # -- Labels to be added to supersetCeleryBeat pods
  424. podLabels: {}
  425. # -- Resource settings for the CeleryBeat pods - these settings overwrite might existing values from the global resources object defined above.
  426. resources: {}
  427. # limits:
  428. # cpu: 100m
  429. # memory: 128Mi
  430. # requests:
  431. # cpu: 100m
  432. # memory: 128Mi
  433. podSecurityContext: {}
  434. containerSecurityContext: {}
  435. supersetCeleryFlower:
  436. # -- Enables a Celery flower deployment (management UI to monitor celery jobs)
  437. # 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)
  438. # flower>=1.0.0 requires Celery 5+ which Superset 1.5 does not support
  439. enabled: false
  440. replicaCount: 1
  441. # -- Command
  442. # @default -- a `celery flower` command
  443. command:
  444. - "/bin/sh"
  445. - "-c"
  446. - "celery --app=superset.tasks.celery_app:app flower"
  447. service:
  448. type: ClusterIP
  449. annotations: {}
  450. loadBalancerIP: ~
  451. port: 5555
  452. nodePort:
  453. # -- (int)
  454. http: nil
  455. startupProbe:
  456. httpGet:
  457. path: /api/workers
  458. port: flower
  459. initialDelaySeconds: 5
  460. timeoutSeconds: 1
  461. failureThreshold: 60
  462. periodSeconds: 5
  463. successThreshold: 1
  464. livenessProbe:
  465. httpGet:
  466. path: /api/workers
  467. port: flower
  468. initialDelaySeconds: 5
  469. timeoutSeconds: 1
  470. failureThreshold: 3
  471. periodSeconds: 5
  472. successThreshold: 1
  473. readinessProbe:
  474. httpGet:
  475. path: /api/workers
  476. port: flower
  477. initialDelaySeconds: 5
  478. timeoutSeconds: 1
  479. failureThreshold: 3
  480. periodSeconds: 5
  481. successThreshold: 1
  482. # -- List of init containers
  483. # @default -- a container waiting for postgres and redis
  484. initContainers:
  485. - name: wait-for-postgres-redis
  486. image: "{{ .Values.initImage.repository }}:{{ .Values.initImage.tag }}"
  487. imagePullPolicy: "{{ .Values.initImage.pullPolicy }}"
  488. envFrom:
  489. - secretRef:
  490. name: "{{ tpl .Values.envFromSecret . }}"
  491. command:
  492. - /bin/sh
  493. - -c
  494. - dockerize -wait "tcp://$DB_HOST:$DB_PORT" -wait "tcp://$REDIS_HOST:$REDIS_PORT" -timeout 120s
  495. # -- Launch additional containers into supersetCeleryFlower pods
  496. extraContainers: []
  497. # -- Annotations to be added to supersetCeleryFlower deployment
  498. deploymentAnnotations: {}
  499. # -- Affinity to be added to supersetCeleryFlower deployment
  500. affinity: {}
  501. # -- TopologySpreadConstrains to be added to supersetCeleryFlower deployments
  502. topologySpreadConstraints: []
  503. # -- Annotations to be added to supersetCeleryFlower pods
  504. podAnnotations: {}
  505. # -- Labels to be added to supersetCeleryFlower pods
  506. podLabels: {}
  507. # -- Resource settings for the CeleryBeat pods - these settings overwrite might existing values from the global resources object defined above.
  508. resources: {}
  509. # limits:
  510. # cpu: 100m
  511. # memory: 128Mi
  512. # requests:
  513. # cpu: 100m
  514. # memory: 128Mi
  515. podSecurityContext: {}
  516. containerSecurityContext: {}
  517. supersetWebsockets:
  518. # -- This is only required if you intend to use `GLOBAL_ASYNC_QUERIES` in `ws` mode
  519. # see https://github.com/apache/superset/blob/master/CONTRIBUTING.md#async-chart-queries
  520. enabled: false
  521. replicaCount: 1
  522. ingress:
  523. path: /ws
  524. pathType: Prefix
  525. image:
  526. # -- There is no official image (yet), this one is community-supported
  527. repository: oneacrefund/superset-websocket
  528. tag: latest
  529. pullPolicy: IfNotPresent
  530. # -- The config.json to pass to the server, see https://github.com/apache/superset/tree/master/superset-websocket
  531. # 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
  532. # @default -- see `values.yaml`
  533. config:
  534. {
  535. "port": 8080,
  536. "logLevel": "debug",
  537. "logToFile": false,
  538. "logFilename": "app.log",
  539. "statsd": { "host": "127.0.0.1", "port": 8125, "globalTags": [] },
  540. "redis":
  541. {
  542. "port": 6379,
  543. "host": "127.0.0.1",
  544. "password": "",
  545. "db": 0,
  546. "ssl": false,
  547. },
  548. "redisStreamPrefix": "async-events-",
  549. "jwtSecret": "CHANGE-ME",
  550. "jwtCookieName": "async-token",
  551. }
  552. service:
  553. type: ClusterIP
  554. annotations: {}
  555. loadBalancerIP: ~
  556. port: 8080
  557. nodePort:
  558. # -- (int)
  559. http: nil
  560. command: []
  561. resources: {}
  562. # -- Launch additional containers into supersetWebsockets pods
  563. extraContainers: []
  564. deploymentAnnotations: {}
  565. # -- Affinity to be added to supersetWebsockets deployment
  566. affinity: {}
  567. # -- TopologySpreadConstrains to be added to supersetWebsockets deployments
  568. topologySpreadConstraints: []
  569. podAnnotations: {}
  570. podLabels: {}
  571. strategy: {}
  572. podSecurityContext: {}
  573. containerSecurityContext: {}
  574. startupProbe:
  575. httpGet:
  576. path: /health
  577. port: ws
  578. initialDelaySeconds: 5
  579. timeoutSeconds: 1
  580. failureThreshold: 60
  581. periodSeconds: 5
  582. successThreshold: 1
  583. livenessProbe:
  584. httpGet:
  585. path: /health
  586. port: ws
  587. initialDelaySeconds: 5
  588. timeoutSeconds: 1
  589. failureThreshold: 3
  590. periodSeconds: 5
  591. successThreshold: 1
  592. readinessProbe:
  593. httpGet:
  594. path: /health
  595. port: ws
  596. initialDelaySeconds: 5
  597. timeoutSeconds: 1
  598. failureThreshold: 3
  599. periodSeconds: 5
  600. successThreshold: 1
  601. init:
  602. # Configure resources
  603. # Warning: fab command consumes a lot of ram and can
  604. # cause the process to be killed due to OOM if it exceeds limit
  605. # Make sure you are giving a strong password for the admin user creation( else make sure you are changing after setup)
  606. # Also change the admin email to your own custom email.
  607. resources: {}
  608. # limits:
  609. # cpu:
  610. # memory:
  611. # requests:
  612. # cpu:
  613. # memory:
  614. # -- Command
  615. # @default -- a `superset_init.sh` command
  616. command:
  617. - "/bin/sh"
  618. - "-c"
  619. - ". {{ .Values.configMountPath }}/superset_bootstrap.sh; . {{ .Values.configMountPath }}/superset_init.sh"
  620. enabled: true
  621. jobAnnotations:
  622. "helm.sh/hook": post-install,post-upgrade
  623. "helm.sh/hook-delete-policy": "before-hook-creation"
  624. loadExamples: false
  625. createAdmin: true
  626. adminUser:
  627. username: admin
  628. firstname: Superset
  629. lastname: Admin
  630. email: admin@superset.com
  631. password: admin
  632. # -- List of initContainers
  633. # @default -- a container waiting for postgres
  634. initContainers:
  635. - name: wait-for-postgres
  636. image: "{{ .Values.initImage.repository }}:{{ .Values.initImage.tag }}"
  637. imagePullPolicy: "{{ .Values.initImage.pullPolicy }}"
  638. envFrom:
  639. - secretRef:
  640. name: "{{ tpl .Values.envFromSecret . }}"
  641. command:
  642. - /bin/sh
  643. - -c
  644. - dockerize -wait "tcp://$DB_HOST:$DB_PORT" -timeout 120s
  645. # -- A Superset init script
  646. # @default -- a script to create admin user and initialize roles
  647. initscript: |-
  648. #!/bin/sh
  649. set -eu
  650. echo "Upgrading DB schema..."
  651. superset db upgrade
  652. echo "Initializing roles..."
  653. superset init
  654. {{ if .Values.init.createAdmin }}
  655. echo "Creating admin user..."
  656. superset fab create-admin \
  657. --username {{ .Values.init.adminUser.username }} \
  658. --firstname {{ .Values.init.adminUser.firstname }} \
  659. --lastname {{ .Values.init.adminUser.lastname }} \
  660. --email {{ .Values.init.adminUser.email }} \
  661. --password {{ .Values.init.adminUser.password }} \
  662. || true
  663. {{- end }}
  664. {{ if .Values.init.loadExamples }}
  665. echo "Loading examples..."
  666. superset load_examples
  667. {{- end }}
  668. if [ -f "{{ .Values.extraConfigMountPath }}/import_datasources.yaml" ]; then
  669. echo "Importing database connections.... "
  670. superset import_datasources -p {{ .Values.extraConfigMountPath }}/import_datasources.yaml
  671. fi
  672. # -- Launch additional containers into init job pod
  673. extraContainers: []
  674. ## Annotations to be added to init job pods
  675. podAnnotations: {}
  676. podSecurityContext: {}
  677. containerSecurityContext: {}
  678. ## Tolerations to be added to init job pods
  679. tolerations: []
  680. ## Affinity to be added to init job pods
  681. affinity: {}
  682. # -- TopologySpreadConstrains to be added to init job
  683. topologySpreadConstraints: []
  684. # -- Configuration values for the postgresql dependency.
  685. # ref: https://github.com/bitnami/charts/tree/main/bitnami/postgresql
  686. # @default -- see `values.yaml`
  687. postgresql:
  688. ##
  689. ## Use the PostgreSQL chart dependency.
  690. ## Set to false if bringing your own PostgreSQL.
  691. enabled: true
  692. ## Authentication parameters
  693. auth:
  694. ## The name of an existing secret that contains the postgres password.
  695. existingSecret:
  696. ## PostgreSQL name for a custom user to create
  697. username: superset
  698. ## PostgreSQL password for the custom user to create. Ignored if `auth.existingSecret` with key `password` is provided
  699. password: superset
  700. ## PostgreSQL name for a custom database to create
  701. database: superset
  702. image:
  703. tag: "14.6.0-debian-11-r13"
  704. ## PostgreSQL Primary parameters
  705. primary:
  706. ##
  707. ## Persistent Volume Storage configuration.
  708. ## ref: https://kubernetes.io/docs/user-guide/persistent-volumes
  709. persistence:
  710. ##
  711. ## Enable PostgreSQL persistence using Persistent Volume Claims.
  712. enabled: true
  713. ##
  714. ## Persistent class
  715. # storageClass: classname
  716. ##
  717. ## Access modes:
  718. accessModes:
  719. - ReadWriteOnce
  720. ## PostgreSQL port
  721. service:
  722. ports:
  723. postgresql: "5432"
  724. # -- Configuration values for the Redis dependency.
  725. # ref: https://github.com/bitnami/charts/blob/master/bitnami/redis
  726. # More documentation can be found here: https://artifacthub.io/packages/helm/bitnami/redis
  727. # @default -- see `values.yaml`
  728. redis:
  729. ##
  730. ## Use the redis chart dependency.
  731. ##
  732. ## If you are bringing your own redis, you can set the host in supersetNode.connections.redis_host
  733. ##
  734. ## Set to false if bringing your own redis.
  735. enabled: true
  736. ##
  737. ## Set architecture to standalone/replication
  738. architecture: standalone
  739. ##
  740. ## Auth configuration:
  741. ##
  742. auth:
  743. ## Enable password authentication
  744. enabled: false
  745. ## The name of an existing secret that contains the redis password.
  746. existingSecret: ""
  747. ## Name of the key containing the secret.
  748. existingSecretKey: ""
  749. ## Redis password
  750. password: superset
  751. ##
  752. ## Master configuration
  753. ##
  754. master:
  755. ##
  756. ## Image configuration
  757. # image:
  758. ##
  759. ## docker registry secret names (list)
  760. # pullSecrets: nil
  761. ##
  762. ## Configure persistance
  763. persistence:
  764. ##
  765. ## Use a PVC to persist data.
  766. enabled: false
  767. ##
  768. ## Persistent class
  769. # storageClass: classname
  770. ##
  771. ## Access mode:
  772. accessModes:
  773. - ReadWriteOnce
  774. nodeSelector: {}
  775. tolerations: []
  776. affinity: {}
  777. # -- TopologySpreadConstrains to be added to all deployments
  778. topologySpreadConstraints: []