deploy-templates/templates/_helpers.tpl (985 lines of code) (raw):

{{/* vim: set filetype=mustache: */}} {{/* Expand the name of the chart. */}} {{- define "redash.name" -}} {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} {{- end -}} {{/* Create chart name and version as used by the chart label. */}} {{- define "redash.chart" -}} {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} {{- end -}} {{/* Create a default fully qualified app name. We truncate at 43 chars because some Kubernetes name fields are limited to 64 (by the DNS naming spec), and we use this as a base for component names (which can add up to 20 chars). If release name contains chart name it will be used as a full name. */}} {{- define "redash.fullname" -}} {{- if .Values.fullnameOverride -}} {{- .Values.fullnameOverride | trunc 43 | trimSuffix "-" -}} {{- else -}} {{- $name := default .Chart.Name .Values.nameOverride -}} {{- if contains $name .Release.Name -}} {{- .Release.Name | trunc 43 | trimSuffix "-" -}} {{- else -}} {{- printf "%s-%s" .Release.Name $name | trunc 43 | trimSuffix "-" -}} {{- end -}} {{- end -}} {{- end -}} {{/* Create a default fully qualified adhocWorker name. */}} {{- define "redash.adhocWorker.fullname" -}} {{- template "redash.fullname" . -}}-adhocworker {{- end -}} {{/* Create a default fully qualified scheduler name. */}} {{- define "redash.scheduler.fullname" -}} {{- template "redash.fullname" . -}}-scheduler {{- end -}} {{/* Create a default fully qualified postgresql name. */}} {{- define "redash.postgresql.fullname" -}} {{- printf "%s-%s" .Release.Name "postgresql" | trunc 63 | trimSuffix "-" -}} {{- end -}} {{/* Create a default fully qualified redis name. */}} {{- define "redash.redis.fullname" -}} {{- printf "%s-%s" .Release.Name "redis-master" | trunc 63 | trimSuffix "-" -}} {{- end -}} {{/* Get the secret name. */}} {{- define "redash.secretNameAdmin" -}} {{- if .Values.redash.existingSecretAdmin }} {{- printf "%s" .Values.redash.existingSecretAdmin -}} {{- else -}} {{- printf "%s" (include "redash.fullname" .) -}} {{- end -}} {{- end -}} {{- define "redash.secretNameViewer" -}} {{- if .Values.redash.existingSecretViewer }} {{- printf "%s" .Values.redash.existingSecretViewer -}} {{- else -}} {{- printf "%s" (include "redash.fullname" .) -}} {{- end -}} {{- end -}} {{- define "keycloak.host" -}} {{- if .Values.keycloak.customHost }} {{- .Values.keycloak.customHost }} {{- else }} {{- .Values.keycloak.host }} {{- end }} {{- end -}} {{/* Shared environment block used across each component. */}} {{- define "redash.env.admin" -}} {{- if not .Values.postgresql.enabled }} - name: REDASH_DATABASE_URL {{- if .Values.externalPostgreSQLSecret }} valueFrom: secretKeyRef: {{- .Values.externalPostgreSQLSecret | toYaml | nindent 6 }} {{- else }} value: {{ default "" .Values.externalPostgreSQL | quote }} {{- end }} {{- else }} - name: REDASH_DATABASE_USER value: "{{ .Values.postgresql.postgresqlUsername }}" - name: REDASH_DATABASE_PASSWORD valueFrom: secretKeyRef: name: {{ .Values.redash.existingSecretAdmin }} key: postgresqlPassword - name: REDASH_DATABASE_PORT value: "{{ .Values.postgresql.service.port }}" - name: REDASH_DATABASE_DB value: "{{ .Values.postgresql.postgresqlDatabase }}" {{- end }} {{- if not .Values.redis.enabled }} - name: REDASH_REDIS_URL {{- if .Values.externalRedisSecret }} valueFrom: secretKeyRef: {{- .Values.externalRedisSecret | toYaml | nindent 6 }} {{- else }} value: {{ default "" .Values.externalRedis | quote }} {{- end }} {{- else }} - name: REDASH_REDIS_PASSWORD valueFrom: secretKeyRef: {{- if .Values.redis.existingSecret }} name: {{ .Values.redis.existingSecret }} {{- else }} name: {{ .Release.Name }}-redis {{- end }} key: redis-password - name: REDASH_REDIS_PORT value: "{{ .Values.redis.master.port }}" - name: REDASH_REDIS_DB value: "{{ .Values.redis.databaseNumber }}" {{- end }} {{- range $key, $value := .Values.env }} - name: "{{ $key }}" value: "{{ $value }}" {{- end }} ## Start primary Redash configuration {{- if or .Values.redash.secretKey .Values.redash.existingSecretAdmin }} - name: REDASH_SECRET_KEY valueFrom: secretKeyRef: name: {{ include "redash.secretNameAdmin" . }} key: secretKey {{- end }} {{- if .Values.redash.samlSchemeOverride }} - name: REDASH_SAML_SCHEME_OVERRIDE value: {{ default .Values.redash.samlSchemeOverride | quote }} {{- end }} {{- if .Values.redash.proxiesCount }} - name: REDASH_PROXIES_COUNT value: {{ default .Values.redash.proxiesCount | quote }} {{- end }} {{- if .Values.redash.statsdHost }} - name: REDASH_STATSD_HOST value: {{ default .Values.redash.statsdHost | quote }} {{- end }} {{- if .Values.redash.statsdPort }} - name: REDASH_STATSD_PORT value: {{ default .Values.redash.statsdPort | quote }} {{- end }} {{- if .Values.redash.statsdPrefix }} - name: REDASH_STATSD_PREFIX value: {{ default .Values.redash.statsdPrefix | quote }} {{- end }} {{- if .Values.redash.statsdUseTags }} - name: REDASH_STATSD_USE_TAGS value: {{ default .Values.redash.statsdUseTags | quote }} {{- end }} {{- if .Values.redash.celeryBroker }} - name: REDASH_CELERY_BROKER value: {{ default .Values.redash.celeryBroker | quote }} {{- end }} {{- if .Values.redash.celeryBackend }} - name: REDASH_CELERY_BACKEND value: {{ default .Values.redash.celeryBackend | quote }} {{- end }} {{- if .Values.redash.celeryTaskResultExpires }} - name: REDASH_CELERY_TASK_RESULT_EXPIRES value: {{ default .Values.redash.celeryTaskResultExpires | quote }} {{- end }} {{- if .Values.redash.queryResultsCleanupEnabled }} - name: REDASH_QUERY_RESULTS_CLEANUP_ENABLED value: {{ default .Values.redash.queryResultsCleanupEnabled | quote }} {{- end }} {{- if .Values.redash.queryResultsCleanupCount }} - name: REDASH_QUERY_RESULTS_CLEANUP_COUNT value: {{ default .Values.redash.queryResultsCleanupCount | quote }} {{- end }} {{- if .Values.redash.queryResultsCleanupMaxAge }} - name: REDASH_QUERY_RESULTS_CLEANUP_MAX_AGE value: {{ default .Values.redash.queryResultsCleanupMaxAge | quote }} {{- end }} {{- if .Values.redash.schemasRefreshQueue }} - name: REDASH_SCHEMAS_REFRESH_QUEUE value: {{ default .Values.redash.schemasRefreshQueue | quote }} {{- end }} {{- if .Values.redash.schemasRefreshSchedule }} - name: REDASH_SCHEMAS_REFRESH_SCHEDULE value: {{ default .Values.redash.schemasRefreshSchedule | quote }} {{- end }} {{- if .Values.redash.authType }} - name: REDASH_AUTH_TYPE value: {{ default .Values.redash.authType | quote }} {{- end }} {{- if .Values.redash.enforceHttps }} - name: REDASH_ENFORCE_HTTPS value: {{ default .Values.redash.enforceHttps | quote }} {{- end }} {{- if .Values.redash.invitationTokenMaxAge }} - name: REDASH_INVITATION_TOKEN_MAX_AGE value: {{ default .Values.redash.invitationTokenMaxAge | quote }} {{- end }} {{- if .Values.redash.multiOrg }} - name: REDASH_MULTI_ORG value: {{ default .Values.redash.multiOrg | quote }} {{- end }} {{- if .Values.redash.googleClientId }} - name: REDASH_GOOGLE_CLIENT_ID value: {{ default .Values.redash.googleClientId | quote }} {{- end }} {{- if or .Values.redash.googleClientSecret .Values.redash.existingSecretAdmin }} - name: REDASH_GOOGLE_CLIENT_SECRET valueFrom: secretKeyRef: name: {{ include "redash.secretNameAdmin" . }} key: googleClientSecret {{- end }} {{- if .Values.redash.remoteUserLoginEnabled }} - name: REDASH_REMOTE_USER_LOGIN_ENABLED value: {{ default .Values.redash.remoteUserLoginEnabled | quote }} {{- end }} {{- if .Values.redash.remoteUserHeader }} - name: REDASH_REMOTE_USER_HEADER value: {{ default .Values.redash.remoteUserHeader | quote }} {{- end }} {{- if .Values.redash.ldapLoginEnabled }} - name: REDASH_LDAP_LOGIN_ENABLED value: {{ default .Values.redash.ldapLoginEnabled | quote }} {{- end }} {{- if .Values.redash.ldapUrl }} - name: REDASH_LDAP_URL value: {{ default .Values.redash.ldapUrl | quote }} {{- end }} {{- if .Values.redash.ldapBindDn }} - name: REDASH_LDAP_BIND_DN value: {{ default .Values.redash.ldapBindDn | quote }} {{- end }} {{- if or .Values.redash.ldapBindDnPassword .Values.redash.existingSecretAdmin }} - name: REDASH_LDAP_BIND_DN_PASSWORD valueFrom: secretKeyRef: name: {{ include "redash.secretNameAdmin" . }} key: ldapBindDnPassword {{- end }} {{- if .Values.redash.ldapDisplayNameKey }} - name: REDASH_LDAP_DISPLAY_NAME_KEY value: {{ default .Values.redash.ldapDisplayNameKey | quote }} {{- end }} {{- if .Values.redash.ldapEmailKey }} - name: REDASH_LDAP_EMAIL_KEY value: {{ default .Values.redash.ldapEmailKey | quote }} {{- end }} {{- if .Values.redash.ldapCustomUsernamePrompt }} - name: REDASH_LDAP_CUSTOM_USERNAME_PROMPT value: {{ default .Values.redash.ldapCustomUsernamePrompt | quote }} {{- end }} {{- if .Values.redash.ldapSearchTemplate }} - name: REDASH_LDAP_SEARCH_TEMPLATE value: {{ default .Values.redash.ldapSearchTemplate | quote }} {{- end }} {{- if .Values.redash.ldapSearchDn }} - name: REDASH_LDAP_SEARCH_DN value: {{ default .Values.redash.ldapSearchDn | quote }} {{- end }} {{- if .Values.redash.staticAssetsPath }} - name: REDASH_STATIC_ASSETS_PATH value: {{ default .Values.redash.staticAssetsPath | quote }} {{- end }} {{- if .Values.redash.jobExpiryTime }} - name: REDASH_JOB_EXPIRY_TIME value: {{ default .Values.redash.jobExpiryTime | quote }} {{- end }} {{- if or .Values.redash.cookieSecret .Values.redash.existingSecretAdmin }} - name: REDASH_COOKIE_SECRET valueFrom: secretKeyRef: name: {{ include "redash.secretNameAdmin" . }} key: cookieSecret {{- end }} {{- if .Values.redash.logLevel }} - name: REDASH_LOG_LEVEL value: {{ default .Values.redash.logLevel | quote }} {{- end }} {{- if .Values.redash.mailServer }} - name: REDASH_MAIL_SERVER value: {{ default .Values.redash.mailServer | quote }} {{- end }} {{- if .Values.redash.mailPort }} - name: REDASH_MAIL_PORT value: {{ default .Values.redash.mailPort | quote }} {{- end }} {{- if .Values.redash.mailUseTls }} - name: REDASH_MAIL_USE_TLS value: {{ default .Values.redash.mailUseTls | quote }} {{- end }} {{- if .Values.redash.mailUseSsl }} - name: REDASH_MAIL_USE_SSL value: {{ default .Values.redash.mailUseSsl | quote }} {{- end }} {{- if .Values.redash.mailUsername }} - name: REDASH_MAIL_USERNAME value: {{ default .Values.redash.mailUsername | quote }} {{- end }} {{- if or .Values.redash.mailPassword .Values.redash.existingSecretAdmin }} - name: REDASH_MAIL_PASSWORD valueFrom: secretKeyRef: name: {{ include "redash.secretNameAdmin" . }} key: mailPassword {{- end }} {{- if .Values.redash.mailDefaultSender }} - name: REDASH_MAIL_DEFAULT_SENDER value: {{ default .Values.redash.mailDefaultSender | quote }} {{- end }} {{- if .Values.redash.mailMaxEmails }} - name: REDASH_MAIL_MAX_EMAILS value: {{ default .Values.redash.mailMaxEmails | quote }} {{- end }} {{- if .Values.redash.mailAsciiAttachments }} - name: REDASH_MAIL_ASCII_ATTACHMENTS value: {{ default .Values.redash.mailAsciiAttachments | quote }} {{- end }} {{- if .Values.redash.host }} - name: REDASH_HOST value: {{ default .Values.redash.host | quote }} {{- end }} {{- if .Values.redash.alertsDefaultMailSubjectTemplate }} - name: REDASH_ALERTS_DEFAULT_MAIL_SUBJECT_TEMPLATE value: {{ default .Values.redash.alertsDefaultMailSubjectTemplate | quote }} {{- end }} {{- if .Values.redash.throttleLoginPattern }} - name: REDASH_THROTTLE_LOGIN_PATTERN value: {{ default .Values.redash.throttleLoginPattern | quote }} {{- end }} {{- if .Values.redash.limiterStorage }} - name: REDASH_LIMITER_STORAGE value: {{ default .Values.redash.limiterStorage | quote }} {{- end }} {{- if .Values.redash.corsAccessControlAllowOrigin }} - name: REDASH_CORS_ACCESS_CONTROL_ALLOW_ORIGIN value: {{ default .Values.redash.corsAccessControlAllowOrigin | quote }} {{- end }} {{- if .Values.redash.corsAccessControlAllowCredentials }} - name: REDASH_CORS_ACCESS_CONTROL_ALLOW_CREDENTIALS value: {{ default .Values.redash.corsAccessControlAllowCredentials | quote }} {{- end }} {{- if .Values.redash.corsAccessControlRequestMethod }} - name: REDASH_CORS_ACCESS_CONTROL_REQUEST_METHOD value: {{ default .Values.redash.corsAccessControlRequestMethod | quote }} {{- end }} {{- if .Values.redash.corsAccessControlAllowHeaders }} - name: REDASH_CORS_ACCESS_CONTROL_ALLOW_HEADERS value: {{ default .Values.redash.corsAccessControlAllowHeaders | quote }} {{- end }} {{- if .Values.redash.enabledQueryRunners }} - name: REDASH_ENABLED_QUERY_RUNNERS value: {{ default .Values.redash.enabledQueryRunners | quote }} {{- end }} {{- if .Values.redash.additionalQueryRunners }} - name: REDASH_ADDITIONAL_QUERY_RUNNERS value: {{ default .Values.redash.additionalQueryRunners | quote }} {{- end }} {{- if .Values.redash.disabledQueryRunners }} - name: REDASH_DISABLED_QUERY_RUNNERS value: {{ default .Values.redash.disabledQueryRunners | quote }} {{- end }} {{- if .Values.redash.scheduledQueryTimeLimit }} - name: REDASH_SCHEDULED_QUERY_TIME_LIMIT value: {{ default .Values.redash.scheduledQueryTimeLimit | quote }} {{- end }} {{- if .Values.redash.adhocQueryTimeLimit }} - name: REDASH_ADHOC_QUERY_TIME_LIMIT value: {{ default .Values.redash.adhocQueryTimeLimit | quote }} {{- end }} {{- if .Values.redash.enabledDestinations }} - name: REDASH_ENABLED_DESTINATIONS value: {{ default .Values.redash.enabledDestinations | quote }} {{- end }} {{- if .Values.redash.additionalDestinations }} - name: REDASH_ADDITIONAL_DESTINATIONS value: {{ default .Values.redash.additionalDestinations | quote }} {{- end }} {{- if .Values.redash.eventReportingWebhooks }} - name: REDASH_EVENT_REPORTING_WEBHOOKS value: {{ default .Values.redash.eventReportingWebhooks | quote }} {{- end }} {{- if .Values.redash.sentryDsn }} - name: REDASH_SENTRY_DSN value: {{ default .Values.redash.sentryDsn | quote }} {{- end }} {{- if .Values.redash.allowScriptsInUserInput }} - name: REDASH_ALLOW_SCRIPTS_IN_USER_INPUT value: {{ default .Values.redash.allowScriptsInUserInput | quote }} {{- end }} {{- if .Values.redash.dashboardRefreshIntervals }} - name: REDASH_DASHBOARD_REFRESH_INTERVALS value: {{ default .Values.redash.dashboardRefreshIntervals | quote }} {{- end }} {{- if .Values.redash.queryRefreshIntervals }} - name: REDASH_QUERY_REFRESH_INTERVALS value: {{ default .Values.redash.queryRefreshIntervals | quote }} {{- end }} {{- if .Values.redash.passwordLoginEnabled }} - name: REDASH_PASSWORD_LOGIN_ENABLED value: {{ default .Values.redash.passwordLoginEnabled | quote }} {{- end }} {{- if .Values.redash.samlMetadataUrl }} - name: REDASH_SAML_METADATA_URL value: {{ default .Values.redash.samlMetadataUrl | quote }} {{- end }} {{- if .Values.redash.samlNameidFormat }} - name: REDASH_SAML_NAMEID_FORMAT value: {{ default .Values.redash.samlNameidFormat | quote }} {{- end }} {{- if .Values.redash.dateFormat }} - name: REDASH_DATE_FORMAT value: {{ default .Values.redash.dateFormat | quote }} {{- end }} {{- if .Values.redash.jwtLoginEnabled }} - name: REDASH_JWT_LOGIN_ENABLED value: {{ default .Values.redash.jwtLoginEnabled | quote }} {{- end }} {{- if .Values.redash.jwtAuthIssuer }} - name: REDASH_JWT_AUTH_ISSUER value: {{ default .Values.redash.jwtAuthIssuer | quote }} {{- end }} {{- if .Values.redash.jwtAuthPublicCertsUrl }} - name: REDASH_JWT_AUTH_PUBLIC_CERTS_URL value: {{ default .Values.redash.jwtAuthPublicCertsUrl | quote }} {{- end }} {{- if .Values.redash.jwtAuthAudience }} - name: REDASH_JWT_AUTH_AUDIENCE value: {{ default .Values.redash.jwtAuthAudience | quote }} {{- end }} {{- if .Values.redash.jwtAuthAlgorithms }} - name: REDASH_JWT_AUTH_ALGORITHMS value: {{ default .Values.redash.jwtAuthAlgorithms | quote }} {{- end }} {{- if .Values.redash.jwtAuthCookieName }} - name: REDASH_JWT_AUTH_COOKIE_NAME value: {{ default .Values.redash.jwtAuthCookieName | quote }} {{- end }} {{- if .Values.redash.jwtAuthHeaderName }} - name: REDASH_JWT_AUTH_HEADER_NAME value: {{ default .Values.redash.jwtAuthHeaderName | quote }} {{- end }} {{- if .Values.redash.featureShowQueryResultsCount }} - name: REDASH_FEATURE_SHOW_QUERY_RESULTS_COUNT value: {{ default .Values.redash.featureShowQueryResultsCount | quote }} {{- end }} {{- if .Values.redash.versionCheck }} - name: REDASH_VERSION_CHECK value: {{ default .Values.redash.versionCheck | quote }} {{- end }} {{- if .Values.redash.featureDisableRefreshQueries }} - name: REDASH_FEATURE_DISABLE_REFRESH_QUERIES value: {{ default .Values.redash.featureDisableRefreshQueries | quote }} {{- end }} {{- if .Values.redash.featureShowPermissionsControl }} - name: REDASH_FEATURE_SHOW_PERMISSIONS_CONTROL value: {{ default .Values.redash.featureShowPermissionsControl | quote }} {{- end }} {{- if .Values.redash.featureAllowCustomJsVisualizations }} - name: REDASH_FEATURE_ALLOW_CUSTOM_JS_VISUALIZATIONS value: {{ default .Values.redash.featureAllowCustomJsVisualizations | quote }} {{- end }} {{- if .Values.redash.featureDumbRecents }} - name: REDASH_FEATURE_DUMB_RECENTS value: {{ default .Values.redash.featureDumbRecents | quote }} {{- end }} {{- if .Values.redash.featureAutoPublishNamedQueries }} - name: REDASH_FEATURE_AUTO_PUBLISH_NAMED_QUERIES value: {{ default .Values.redash.featureAutoPublishNamedQueries | quote }} {{- end }} {{- if .Values.redash.bigqueryHttpTimeout }} - name: REDASH_BIGQUERY_HTTP_TIMEOUT value: {{ default .Values.redash.bigqueryHttpTimeout | quote }} {{- end }} {{- if .Values.redash.schemaRunTableSizeCalculations }} - name: REDASH_SCHEMA_RUN_TABLE_SIZE_CALCULATIONS value: {{ default .Values.redash.schemaRunTableSizeCalculations | quote }} {{- end }} {{- if .Values.redash.webWorkers }} - name: REDASH_WEB_WORKERS value: {{ default .Values.redash.webWorkers | quote }} {{- end }} ## End primary Redash Admin configuration {{- end -}} {{- define "redash.env.viewer" -}} {{- if not .Values.postgresql.enabled }} - name: REDASH_DATABASE_URL {{- if .Values.externalPostgreSQLSecret }} valueFrom: secretKeyRef: {{- .Values.externalPostgreSQLSecret | toYaml | nindent 6 }} {{- else }} value: {{ default "" .Values.externalPostgreSQL | quote }} {{- end }} {{- else }} - name: REDASH_DATABASE_USER value: "{{ .Values.postgresql.postgresqlUsername }}" - name: REDASH_DATABASE_PASSWORD valueFrom: secretKeyRef: name: {{ .Values.redash.existingSecretViewer }} key: postgresqlPassword - name: REDASH_DATABASE_PORT value: "{{ .Values.postgresql.service.port }}" - name: REDASH_DATABASE_DB value: "{{ .Values.postgresql.postgresqlDatabase }}" {{- end }} {{- if not .Values.redis.enabled }} - name: REDASH_REDIS_URL {{- if .Values.externalRedisSecret }} valueFrom: secretKeyRef: {{- .Values.externalRedisSecret | toYaml | nindent 6 }} {{- else }} value: {{ default "" .Values.externalRedis | quote }} {{- end }} {{- else }} - name: REDASH_REDIS_PASSWORD valueFrom: secretKeyRef: {{- if .Values.redis.existingSecret }} name: {{ .Values.redis.existingSecret }} {{- else }} name: {{ .Release.Name }}-redis {{- end }} key: redis-password - name: REDASH_REDIS_PORT value: "{{ .Values.redis.master.port }}" - name: REDASH_REDIS_DB value: "{{ .Values.redis.databaseNumber }}" {{- end }} {{- range $key, $value := .Values.env }} - name: "{{ $key }}" value: "{{ $value }}" {{- end }} ## Start primary Redash configuration {{- if or .Values.redash.secretKey .Values.redash.existingSecretViewer }} - name: REDASH_SECRET_KEY valueFrom: secretKeyRef: name: {{ include "redash.secretNameViewer" . }} key: secretKey {{- end }} {{- if .Values.redash.samlSchemeOverride }} - name: REDASH_SAML_SCHEME_OVERRIDE value: {{ default .Values.redash.samlSchemeOverride | quote }} {{- end }} {{- if .Values.redash.proxiesCount }} - name: REDASH_PROXIES_COUNT value: {{ default .Values.redash.proxiesCount | quote }} {{- end }} {{- if .Values.redash.statsdHost }} - name: REDASH_STATSD_HOST value: {{ default .Values.redash.statsdHost | quote }} {{- end }} {{- if .Values.redash.statsdPort }} - name: REDASH_STATSD_PORT value: {{ default .Values.redash.statsdPort | quote }} {{- end }} {{- if .Values.redash.statsdPrefix }} - name: REDASH_STATSD_PREFIX value: {{ default .Values.redash.statsdPrefix | quote }} {{- end }} {{- if .Values.redash.statsdUseTags }} - name: REDASH_STATSD_USE_TAGS value: {{ default .Values.redash.statsdUseTags | quote }} {{- end }} {{- if .Values.redash.celeryBroker }} - name: REDASH_CELERY_BROKER value: {{ default .Values.redash.celeryBroker | quote }} {{- end }} {{- if .Values.redash.celeryBackend }} - name: REDASH_CELERY_BACKEND value: {{ default .Values.redash.celeryBackend | quote }} {{- end }} {{- if .Values.redash.celeryTaskResultExpires }} - name: REDASH_CELERY_TASK_RESULT_EXPIRES value: {{ default .Values.redash.celeryTaskResultExpires | quote }} {{- end }} {{- if .Values.redash.queryResultsCleanupEnabled }} - name: REDASH_QUERY_RESULTS_CLEANUP_ENABLED value: {{ default .Values.redash.queryResultsCleanupEnabled | quote }} {{- end }} {{- if .Values.redash.queryResultsCleanupCount }} - name: REDASH_QUERY_RESULTS_CLEANUP_COUNT value: {{ default .Values.redash.queryResultsCleanupCount | quote }} {{- end }} {{- if .Values.redash.queryResultsCleanupMaxAge }} - name: REDASH_QUERY_RESULTS_CLEANUP_MAX_AGE value: {{ default .Values.redash.queryResultsCleanupMaxAge | quote }} {{- end }} {{- if .Values.redash.schemasRefreshQueue }} - name: REDASH_SCHEMAS_REFRESH_QUEUE value: {{ default .Values.redash.schemasRefreshQueue | quote }} {{- end }} {{- if .Values.redash.schemasRefreshSchedule }} - name: REDASH_SCHEMAS_REFRESH_SCHEDULE value: {{ default .Values.redash.schemasRefreshSchedule | quote }} {{- end }} {{- if .Values.redash.authType }} - name: REDASH_AUTH_TYPE value: {{ default .Values.redash.authType | quote }} {{- end }} {{- if .Values.redash.enforceHttps }} - name: REDASH_ENFORCE_HTTPS value: {{ default .Values.redash.enforceHttps | quote }} {{- end }} {{- if .Values.redash.invitationTokenMaxAge }} - name: REDASH_INVITATION_TOKEN_MAX_AGE value: {{ default .Values.redash.invitationTokenMaxAge | quote }} {{- end }} {{- if .Values.redash.multiOrg }} - name: REDASH_MULTI_ORG value: {{ default .Values.redash.multiOrg | quote }} {{- end }} {{- if .Values.redash.googleClientId }} - name: REDASH_GOOGLE_CLIENT_ID value: {{ default .Values.redash.googleClientId | quote }} {{- end }} {{- if or .Values.redash.googleClientSecret .Values.redash.existingSecretViewer }} - name: REDASH_GOOGLE_CLIENT_SECRET valueFrom: secretKeyRef: name: {{ include "redash.secretNameViewer" . }} key: googleClientSecret {{- end }} {{- if .Values.redash.remoteUserLoginEnabled }} - name: REDASH_REMOTE_USER_LOGIN_ENABLED value: {{ default .Values.redash.remoteUserLoginEnabled | quote }} {{- end }} {{- if .Values.redash.remoteUserHeader }} - name: REDASH_REMOTE_USER_HEADER value: {{ default .Values.redash.remoteUserHeader | quote }} {{- end }} {{- if .Values.redash.ldapLoginEnabled }} - name: REDASH_LDAP_LOGIN_ENABLED value: {{ default .Values.redash.ldapLoginEnabled | quote }} {{- end }} {{- if .Values.redash.ldapUrl }} - name: REDASH_LDAP_URL value: {{ default .Values.redash.ldapUrl | quote }} {{- end }} {{- if .Values.redash.ldapBindDn }} - name: REDASH_LDAP_BIND_DN value: {{ default .Values.redash.ldapBindDn | quote }} {{- end }} {{- if or .Values.redash.ldapBindDnPassword .Values.redash.existingSecretViewer }} - name: REDASH_LDAP_BIND_DN_PASSWORD valueFrom: secretKeyRef: name: {{ include "redash.secretNameViewer" . }} key: ldapBindDnPassword {{- end }} {{- if .Values.redash.ldapDisplayNameKey }} - name: REDASH_LDAP_DISPLAY_NAME_KEY value: {{ default .Values.redash.ldapDisplayNameKey | quote }} {{- end }} {{- if .Values.redash.ldapEmailKey }} - name: REDASH_LDAP_EMAIL_KEY value: {{ default .Values.redash.ldapEmailKey | quote }} {{- end }} {{- if .Values.redash.ldapCustomUsernamePrompt }} - name: REDASH_LDAP_CUSTOM_USERNAME_PROMPT value: {{ default .Values.redash.ldapCustomUsernamePrompt | quote }} {{- end }} {{- if .Values.redash.ldapSearchTemplate }} - name: REDASH_LDAP_SEARCH_TEMPLATE value: {{ default .Values.redash.ldapSearchTemplate | quote }} {{- end }} {{- if .Values.redash.ldapSearchDn }} - name: REDASH_LDAP_SEARCH_DN value: {{ default .Values.redash.ldapSearchDn | quote }} {{- end }} {{- if .Values.redash.staticAssetsPath }} - name: REDASH_STATIC_ASSETS_PATH value: {{ default .Values.redash.staticAssetsPath | quote }} {{- end }} {{- if .Values.redash.jobExpiryTime }} - name: REDASH_JOB_EXPIRY_TIME value: {{ default .Values.redash.jobExpiryTime | quote }} {{- end }} {{- if or .Values.redash.cookieSecret .Values.redash.existingSecretViewer }} - name: REDASH_COOKIE_SECRET valueFrom: secretKeyRef: name: {{ include "redash.secretNameViewer" . }} key: cookieSecret {{- end }} {{- if .Values.redash.logLevel }} - name: REDASH_LOG_LEVEL value: {{ default .Values.redash.logLevel | quote }} {{- end }} {{- if .Values.redash.mailServer }} - name: REDASH_MAIL_SERVER value: {{ default .Values.redash.mailServer | quote }} {{- end }} {{- if .Values.redash.mailPort }} - name: REDASH_MAIL_PORT value: {{ default .Values.redash.mailPort | quote }} {{- end }} {{- if .Values.redash.mailUseTls }} - name: REDASH_MAIL_USE_TLS value: {{ default .Values.redash.mailUseTls | quote }} {{- end }} {{- if .Values.redash.mailUseSsl }} - name: REDASH_MAIL_USE_SSL value: {{ default .Values.redash.mailUseSsl | quote }} {{- end }} {{- if .Values.redash.mailUsername }} - name: REDASH_MAIL_USERNAME value: {{ default .Values.redash.mailUsername | quote }} {{- end }} {{- if or .Values.redash.mailPassword .Values.redash.existingSecretViewer }} - name: REDASH_MAIL_PASSWORD valueFrom: secretKeyRef: name: {{ include "redash.secretNameViewer" . }} key: mailPassword {{- end }} {{- if .Values.redash.mailDefaultSender }} - name: REDASH_MAIL_DEFAULT_SENDER value: {{ default .Values.redash.mailDefaultSender | quote }} {{- end }} {{- if .Values.redash.mailMaxEmails }} - name: REDASH_MAIL_MAX_EMAILS value: {{ default .Values.redash.mailMaxEmails | quote }} {{- end }} {{- if .Values.redash.mailAsciiAttachments }} - name: REDASH_MAIL_ASCII_ATTACHMENTS value: {{ default .Values.redash.mailAsciiAttachments | quote }} {{- end }} {{- if .Values.redash.host }} - name: REDASH_HOST value: {{ default .Values.redash.host | quote }} {{- end }} {{- if .Values.redash.alertsDefaultMailSubjectTemplate }} - name: REDASH_ALERTS_DEFAULT_MAIL_SUBJECT_TEMPLATE value: {{ default .Values.redash.alertsDefaultMailSubjectTemplate | quote }} {{- end }} {{- if .Values.redash.throttleLoginPattern }} - name: REDASH_THROTTLE_LOGIN_PATTERN value: {{ default .Values.redash.throttleLoginPattern | quote }} {{- end }} {{- if .Values.redash.limiterStorage }} - name: REDASH_LIMITER_STORAGE value: {{ default .Values.redash.limiterStorage | quote }} {{- end }} {{- if .Values.redash.corsAccessControlAllowOrigin }} - name: REDASH_CORS_ACCESS_CONTROL_ALLOW_ORIGIN value: {{ default .Values.redash.corsAccessControlAllowOrigin | quote }} {{- end }} {{- if .Values.redash.corsAccessControlAllowCredentials }} - name: REDASH_CORS_ACCESS_CONTROL_ALLOW_CREDENTIALS value: {{ default .Values.redash.corsAccessControlAllowCredentials | quote }} {{- end }} {{- if .Values.redash.corsAccessControlRequestMethod }} - name: REDASH_CORS_ACCESS_CONTROL_REQUEST_METHOD value: {{ default .Values.redash.corsAccessControlRequestMethod | quote }} {{- end }} {{- if .Values.redash.corsAccessControlAllowHeaders }} - name: REDASH_CORS_ACCESS_CONTROL_ALLOW_HEADERS value: {{ default .Values.redash.corsAccessControlAllowHeaders | quote }} {{- end }} {{- if .Values.redash.enabledQueryRunners }} - name: REDASH_ENABLED_QUERY_RUNNERS value: {{ default .Values.redash.enabledQueryRunners | quote }} {{- end }} {{- if .Values.redash.additionalQueryRunners }} - name: REDASH_ADDITIONAL_QUERY_RUNNERS value: {{ default .Values.redash.additionalQueryRunners | quote }} {{- end }} {{- if .Values.redash.disabledQueryRunners }} - name: REDASH_DISABLED_QUERY_RUNNERS value: {{ default .Values.redash.disabledQueryRunners | quote }} {{- end }} {{- if .Values.redash.scheduledQueryTimeLimit }} - name: REDASH_SCHEDULED_QUERY_TIME_LIMIT value: {{ default .Values.redash.scheduledQueryTimeLimit | quote }} {{- end }} {{- if .Values.redash.adhocQueryTimeLimit }} - name: REDASH_ADHOC_QUERY_TIME_LIMIT value: {{ default .Values.redash.adhocQueryTimeLimit | quote }} {{- end }} {{- if .Values.redash.enabledDestinations }} - name: REDASH_ENABLED_DESTINATIONS value: {{ default .Values.redash.enabledDestinations | quote }} {{- end }} {{- if .Values.redash.additionalDestinations }} - name: REDASH_ADDITIONAL_DESTINATIONS value: {{ default .Values.redash.additionalDestinations | quote }} {{- end }} {{- if .Values.redash.eventReportingWebhooks }} - name: REDASH_EVENT_REPORTING_WEBHOOKS value: {{ default .Values.redash.eventReportingWebhooks | quote }} {{- end }} {{- if .Values.redash.sentryDsn }} - name: REDASH_SENTRY_DSN value: {{ default .Values.redash.sentryDsn | quote }} {{- end }} {{- if .Values.redash.allowScriptsInUserInput }} - name: REDASH_ALLOW_SCRIPTS_IN_USER_INPUT value: {{ default .Values.redash.allowScriptsInUserInput | quote }} {{- end }} {{- if .Values.redash.dashboardRefreshIntervals }} - name: REDASH_DASHBOARD_REFRESH_INTERVALS value: {{ default .Values.redash.dashboardRefreshIntervals | quote }} {{- end }} {{- if .Values.redash.queryRefreshIntervals }} - name: REDASH_QUERY_REFRESH_INTERVALS value: {{ default .Values.redash.queryRefreshIntervals | quote }} {{- end }} {{- if .Values.redash.passwordLoginEnabled }} - name: REDASH_PASSWORD_LOGIN_ENABLED value: {{ default .Values.redash.passwordLoginEnabled | quote }} {{- end }} {{- if .Values.redash.samlMetadataUrl }} - name: REDASH_SAML_METADATA_URL value: {{ default .Values.redash.samlMetadataUrl | quote }} {{- end }} {{- if .Values.redash.samlNameidFormat }} - name: REDASH_SAML_NAMEID_FORMAT value: {{ default .Values.redash.samlNameidFormat | quote }} {{- end }} {{- if .Values.redash.dateFormat }} - name: REDASH_DATE_FORMAT value: {{ default .Values.redash.dateFormat | quote }} {{- end }} {{- if .Values.redash.jwtLoginEnabled }} - name: REDASH_JWT_LOGIN_ENABLED value: {{ default .Values.redash.jwtLoginEnabled | quote }} {{- end }} {{- if .Values.redash.jwtAuthIssuer }} - name: REDASH_JWT_AUTH_ISSUER value: {{ default .Values.redash.jwtAuthIssuer | quote }} {{- end }} {{- if .Values.redash.jwtAuthPublicCertsUrl }} - name: REDASH_JWT_AUTH_PUBLIC_CERTS_URL value: {{ default .Values.redash.jwtAuthPublicCertsUrl | quote }} {{- end }} {{- if .Values.redash.jwtAuthAudience }} - name: REDASH_JWT_AUTH_AUDIENCE value: {{ default .Values.redash.jwtAuthAudience | quote }} {{- end }} {{- if .Values.redash.jwtAuthAlgorithms }} - name: REDASH_JWT_AUTH_ALGORITHMS value: {{ default .Values.redash.jwtAuthAlgorithms | quote }} {{- end }} {{- if .Values.redash.jwtAuthCookieName }} - name: REDASH_JWT_AUTH_COOKIE_NAME value: {{ default .Values.redash.jwtAuthCookieName | quote }} {{- end }} {{- if .Values.redash.jwtAuthHeaderName }} - name: REDASH_JWT_AUTH_HEADER_NAME value: {{ default .Values.redash.jwtAuthHeaderName | quote }} {{- end }} {{- if .Values.redash.featureShowQueryResultsCount }} - name: REDASH_FEATURE_SHOW_QUERY_RESULTS_COUNT value: {{ default .Values.redash.featureShowQueryResultsCount | quote }} {{- end }} {{- if .Values.redash.versionCheck }} - name: REDASH_VERSION_CHECK value: {{ default .Values.redash.versionCheck | quote }} {{- end }} {{- if .Values.redash.featureDisableRefreshQueries }} - name: REDASH_FEATURE_DISABLE_REFRESH_QUERIES value: {{ default .Values.redash.featureDisableRefreshQueries | quote }} {{- end }} {{- if .Values.redash.featureShowPermissionsControl }} - name: REDASH_FEATURE_SHOW_PERMISSIONS_CONTROL value: {{ default .Values.redash.featureShowPermissionsControl | quote }} {{- end }} {{- if .Values.redash.featureAllowCustomJsVisualizations }} - name: REDASH_FEATURE_ALLOW_CUSTOM_JS_VISUALIZATIONS value: {{ default .Values.redash.featureAllowCustomJsVisualizations | quote }} {{- end }} {{- if .Values.redash.featureDumbRecents }} - name: REDASH_FEATURE_DUMB_RECENTS value: {{ default .Values.redash.featureDumbRecents | quote }} {{- end }} {{- if .Values.redash.featureAutoPublishNamedQueries }} - name: REDASH_FEATURE_AUTO_PUBLISH_NAMED_QUERIES value: {{ default .Values.redash.featureAutoPublishNamedQueries | quote }} {{- end }} {{- if .Values.redash.bigqueryHttpTimeout }} - name: REDASH_BIGQUERY_HTTP_TIMEOUT value: {{ default .Values.redash.bigqueryHttpTimeout | quote }} {{- end }} {{- if .Values.redash.schemaRunTableSizeCalculations }} - name: REDASH_SCHEMA_RUN_TABLE_SIZE_CALCULATIONS value: {{ default .Values.redash.schemaRunTableSizeCalculations | quote }} {{- end }} {{- if .Values.redash.webWorkers }} - name: REDASH_WEB_WORKERS value: {{ default .Values.redash.webWorkers | quote }} {{- end }} ## End primary Redash Viewer configuration {{- end -}} {{/* Environment variables initialized from secret used across each component. */}} {{- define "redash.envFrom" -}} {{- if .Values.envSecretName -}} - secretRef: name: {{ .Values.envSecretName }} {{- end -}} {{- end -}} {{/* Common labels */}} {{- define "redash.labels" -}} helm.sh/chart: {{ include "redash.chart" . }} {{ include "redash.selectorLabels" . }} {{- if .Chart.AppVersion }} app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} {{- end }} app.kubernetes.io/managed-by: {{ .Release.Service }} {{- end -}} {{/* Selector labels */}} {{- define "redash.selectorLabels" -}} app.kubernetes.io/name: {{ include "redash.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} {{- end -}} {{/* Create the name of the service account to use */}} {{- define "redash.serviceAccountName" -}} {{- if .Values.serviceAccount.create -}} {{ default (include "redash.fullname" .) .Values.serviceAccount.name }} {{- else -}} {{ default "default" .Values.serviceAccount.name }} {{- end -}} {{- end -}} # This ensures a random value is provided for postgresqlPassword: required "A secure random value for .postgresql.postgresqlPassword is required" .Values.postgresql.postgresqlPassword {{- define "imageRegistry" -}} {{- if .Values.global.imageRegistry -}} {{- printf "%s/" .Values.global.imageRegistry -}} {{- else -}} {{- end -}} {{- end }} {{- define "admin-routes.whitelist.cidr" -}} {{- if .Values.global }} {{- if .Values.global.whiteListIP }} {{- .Values.global.whiteListIP.adminRoutes }} {{- end }} {{- end }} {{- end -}} {{- define "admin-routes.whitelist.annotation" -}} haproxy.router.openshift.io/ip_whitelist: {{ (include "admin-routes.whitelist.cidr" . | default "0.0.0.0/0") | quote }} {{- end -}} {{- define "redashHost" -}} officer-portal-{{ .Values.cdPipelineName }}-{{ .Values.cdPipelineStageName }}.{{ .Values.dnsWildcard }}/reports {{- end -}} {{/* Define redash-admin URL */}} {{- define "edp.hostnameSuffix" -}} {{- printf "%s-%s.%s" .Values.cdPipelineName .Values.cdPipelineStageName .Values.dnsWildcard }} {{- end }} {{- define "admin-tools.hostname" -}} {{- printf "admin-tools-%s" (include "edp.hostnameSuffix" .) }} {{- end }} {{- define "admin-tools.redashAdminUrl" -}} {{- printf "%s%s/%s" "https://" (include "admin-tools.hostname" .) .Values.redash.system.admin.basePath }} {{- end }} {{- define "horizontalPodAutoscaler.apiVersion" }} {{- if eq .Values.global.clusterVersion "4.9.0" }} {{- printf "%s" "autoscaling/v2beta2" }} {{- else }} {{- printf "%s" "autoscaling/v2" }} {{- end }} {{- end }}