You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
449 lines
17 KiB
449 lines
17 KiB
{{/*
|
|
Expand the name of the chart.
|
|
*/}}
|
|
{{- define "langfuse.name" -}}
|
|
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Create a default fully qualified app name.
|
|
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
|
If release name contains chart name it will be used as a full name.
|
|
*/}}
|
|
{{- define "langfuse.fullname" -}}
|
|
{{- if .Values.fullnameOverride }}
|
|
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
|
{{- else }}
|
|
{{- $name := default .Chart.Name .Values.nameOverride }}
|
|
{{- if contains $name .Release.Name }}
|
|
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
|
{{- else }}
|
|
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Create chart name and version as used by the chart label.
|
|
*/}}
|
|
{{- define "langfuse.chart" -}}
|
|
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Common labels
|
|
*/}}
|
|
{{- define "langfuse.labels" -}}
|
|
helm.sh/chart: {{ include "langfuse.chart" . }}
|
|
{{ include "langfuse.selectorLabels" . }}
|
|
{{- if .Chart.AppVersion }}
|
|
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
|
{{- end }}
|
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Selector labels
|
|
*/}}
|
|
{{- define "langfuse.selectorLabels" -}}
|
|
app.kubernetes.io/name: {{ include "langfuse.name" . }}
|
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Create the name of the service account to use
|
|
*/}}
|
|
{{- define "langfuse.serviceAccountName" -}}
|
|
{{- if .Values.langfuse.serviceAccount.create }}
|
|
{{- default (include "langfuse.fullname" .) .Values.langfuse.serviceAccount.name }}
|
|
{{- else }}
|
|
{{- default "default" .Values.langfuse.serviceAccount.name }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Return PostgreSQL hostname
|
|
*/}}
|
|
{{- define "langfuse.postgresql.hostname" -}}
|
|
{{- if .Values.postgresql.host }}
|
|
{{- .Values.postgresql.host }}
|
|
{{- else if .Values.postgresql.deploy }}
|
|
{{- printf "%s-postgresql" (include "langfuse.fullname" .) -}}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Return Redis hostname
|
|
*/}}
|
|
{{- define "langfuse.redis.hostname" -}}
|
|
{{- if .Values.redis.host }}
|
|
{{- .Values.redis.host }}
|
|
{{- else if .Values.redis.deploy }}
|
|
{{- printf "%s-%s-primary" (include "langfuse.fullname" .) (default "redis" .Values.redis.nameOverride) -}}
|
|
{{- else }}
|
|
{{- fail "redis.host must be set when redis.deploy is false" }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Return ClickHouse hostname
|
|
*/}}
|
|
{{- define "langfuse.clickhouse.hostname" -}}
|
|
{{- if .Values.clickhouse.host }}
|
|
{{- .Values.clickhouse.host }}
|
|
{{- else if .Values.clickhouse.deploy }}
|
|
{{- printf "%s-clickhouse" (include "langfuse.fullname" .) -}}
|
|
{{- else }}
|
|
{{- fail "clickhouse.host must be set when clickhouse.deploy is false" }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Return S3/MinIO endpoint -- if not set uses auto-discovery
|
|
*/}}
|
|
{{- define "langfuse.s3.endpoint" -}}
|
|
{{- if or .Values.s3.eventUpload.endpoint .Values.s3.endpoint }}
|
|
{{- .Values.s3.eventUpload.endpoint | default .Values.s3.endpoint }}
|
|
{{- else if .Values.s3.deploy }}
|
|
{{- printf "http://%s-%s:9000" (include "langfuse.fullname" .) (default "s3" .Values.s3.nameOverride) -}}
|
|
{{- else }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{/*
|
|
Get a value from either a direct value or a secret reference, or nothing if neither is provided
|
|
*/}}
|
|
{{- define "langfuse.getValueOrSecret" -}}
|
|
{{- if (and .value.secretKeyRef.name .value.secretKeyRef.key) -}}
|
|
{{- if .value.value -}}
|
|
{{- fail (printf ".value and .secretKeyRef are mutually exclusive for %s" .key) -}}
|
|
{{- end -}}
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: {{ .value.secretKeyRef.name }}
|
|
key: {{ .value.secretKeyRef.key }}
|
|
{{- else if .value.value -}}
|
|
value: {{ .value.value | quote }}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Get a required value from either a direct value or a secret reference
|
|
*/}}
|
|
{{- define "langfuse.getRequiredValueOrSecret" -}}
|
|
{{- with (include "langfuse.getValueOrSecret" .) -}}
|
|
{{ . }}
|
|
{{- else -}}
|
|
{{ fail (printf "no valid value or secretKeyRef provided for %s" .key) }}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Get value of a specific environment variable from additionalEnv if it exists
|
|
*/}}
|
|
{{- define "langfuse.getEnvVar" -}}
|
|
{{- $envVarName := .name -}}
|
|
{{- range .env -}}
|
|
{{- if eq .name $envVarName -}}
|
|
{{ .value }}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Database related configurations by environment variables
|
|
Compare with https://langfuse.com/self-hosting/configuration#environment-variables
|
|
*/}}
|
|
{{- define "langfuse.databaseEnv" -}}
|
|
{{- with (include "langfuse.getEnvVar" (dict "env" .Values.langfuse.additionalEnv "name" "DATABASE_URL")) -}}
|
|
- name: DATABASE_URL
|
|
value: {{ . | quote }}
|
|
{{- else -}}
|
|
- name: DATABASE_HOST
|
|
value: {{ include "langfuse.postgresql.hostname" . | quote }}
|
|
{{- if .Values.postgresql.port }}
|
|
- name: DATABASE_PORT
|
|
value: {{ .Values.postgresql.port | quote }}
|
|
{{- end }}
|
|
{{- if .Values.postgresql.auth.username }}
|
|
- name: DATABASE_USERNAME
|
|
value: {{ .Values.postgresql.auth.username | quote }}
|
|
{{- end }}
|
|
- name: DATABASE_PASSWORD
|
|
{{- if .Values.postgresql.auth.existingSecret }}
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: {{ .Values.postgresql.auth.existingSecret }}
|
|
key: {{ required "postgresql.auth.secretKeys.userPasswordKey is required when using an existing secret" .Values.postgresql.auth.secretKeys.userPasswordKey }}
|
|
{{- else }}
|
|
value: {{ required "Using an existing secret or postgresql.auth.password is required" .Values.postgresql.auth.password | quote }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- if .Values.postgresql.auth.database }}
|
|
- name: DATABASE_NAME
|
|
value: {{ .Values.postgresql.auth.database | quote }}
|
|
{{- end }}
|
|
{{- if .Values.postgresql.args }}
|
|
- name: DATABASE_ARGS
|
|
value: {{ .Values.postgresql.args | quote }}
|
|
{{- end }}
|
|
{{- if .Values.postgresql.directUrl }}
|
|
- name: DIRECT_URL
|
|
value: {{ .Values.postgresql.directUrl | quote }}
|
|
{{- end }}
|
|
{{- if .Values.postgresql.shadowDatabaseUrl }}
|
|
- name: SHADOW_DATABASE_URL
|
|
value: {{ .Values.postgresql.shadowDatabaseUrl | quote }}
|
|
{{- end }}
|
|
- name: LANGFUSE_AUTO_POSTGRES_MIGRATION_DISABLED
|
|
value: {{ not .Values.postgresql.migration.autoMigrate | quote }}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Langfuse Server related configurations by environment variables
|
|
Compare with https://langfuse.com/self-hosting/configuration#environment-variables
|
|
*/}}
|
|
{{- define "langfuse.serverEnv" -}}
|
|
- name: NODE_ENV
|
|
value: {{ .Values.langfuse.nodeEnv | quote }}
|
|
- name: LANGFUSE_LOG_LEVEL
|
|
value: {{ .Values.langfuse.logging.level | quote }}
|
|
- name: LANGFUSE_LOG_FORMAT
|
|
value: {{ .Values.langfuse.logging.format | quote }}
|
|
{{- with (include "langfuse.getRequiredValueOrSecret" (dict "key" "langfuse.salt" "value" .Values.langfuse.salt) ) }}
|
|
- name: SALT
|
|
{{- . | nindent 2 }}
|
|
{{- end }}
|
|
{{- with (include "langfuse.getValueOrSecret" (dict "key" "langfuse.encryptionKey" "value" .Values.langfuse.encryptionKey) ) }}
|
|
- name: ENCRYPTION_KEY
|
|
{{- . | nindent 2 }}
|
|
{{- end }}
|
|
{{- with (include "langfuse.getValueOrSecret" (dict "key" "langfuse.licenseKey" "value" .Values.langfuse.licenseKey)) }}
|
|
- name: LANGFUSE_EE_LICENSE_KEY
|
|
{{- . | nindent 2 }}
|
|
{{- end }}
|
|
- name: TELEMETRY_ENABLED
|
|
value: {{ .Values.langfuse.features.telemetryEnabled | quote }}
|
|
- name: NEXT_PUBLIC_SIGN_UP_DISABLED
|
|
value: {{ .Values.langfuse.features.signUpDisabled | quote }}
|
|
- name: ENABLE_EXPERIMENTAL_FEATURES
|
|
value: {{ .Values.langfuse.features.experimentalFeaturesEnabled | quote }}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
NextAuth related configurations by environment variables
|
|
Compare with https://langfuse.com/self-hosting/configuration#environment-variables
|
|
*/}}
|
|
{{- define "langfuse.nextauthEnv" -}}
|
|
- name: NEXTAUTH_URL
|
|
value: {{ .Values.langfuse.nextauth.url | quote }}
|
|
- name: NEXTAUTH_SECRET
|
|
{{- include "langfuse.getRequiredValueOrSecret" (dict "key" "langfuse.nextauth.secret" "value" .Values.langfuse.nextauth.secret) | nindent 2 }}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Redis related configurations by environment variables
|
|
Compare with https://langfuse.com/self-hosting/configuration#environment-variables
|
|
*/}}
|
|
{{- define "langfuse.redisEnv" -}}
|
|
- name: REDIS_PASSWORD
|
|
{{- if .Values.redis.auth.existingSecret }}
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: {{ .Values.redis.auth.existingSecret }}
|
|
key: {{ required "redis.auth.existingSecretPasswordKey is required when using an existing secret" .Values.redis.auth.existingSecretPasswordKey }}
|
|
{{- else }}
|
|
value: {{ required "Using an existing secret or redis.auth.password is required" .Values.redis.auth.password | quote }}
|
|
{{- end }}
|
|
- name: REDIS_CONNECTION_STRING
|
|
value: "redis://{{ .Values.redis.auth.username | default "default" }}:$(REDIS_PASSWORD)@{{ include "langfuse.redis.hostname" . }}:{{ .Values.redis.port }}/{{ .Values.redis.auth.database }}"
|
|
{{- end -}}
|
|
|
|
|
|
{{/*
|
|
Clickhouse related configurations by environment variables
|
|
Compare with https://langfuse.com/self-hosting/configuration#environment-variables
|
|
*/}}
|
|
{{- define "langfuse.clickhouseEnv" -}}
|
|
- name: CLICKHOUSE_MIGRATION_URL
|
|
value: "clickhouse://{{ include "langfuse.clickhouse.hostname" . }}:{{ .Values.clickhouse.nativePort }}"
|
|
- name: CLICKHOUSE_URL
|
|
value: "http://{{ include "langfuse.clickhouse.hostname" . }}:{{ .Values.clickhouse.httpPort }}"
|
|
- name: CLICKHOUSE_USER
|
|
value: {{ required "clickhouse.auth.username is required" .Values.clickhouse.auth.username | quote }}
|
|
- name: CLICKHOUSE_PASSWORD
|
|
{{- if .Values.clickhouse.auth.existingSecret }}
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: {{ .Values.clickhouse.auth.existingSecret }}
|
|
key: {{ required "clickhouse.auth.existingSecretKey is required when using an existing secret" .Values.clickhouse.auth.existingSecretKey }}
|
|
{{- else }}
|
|
value: {{ required "Configuring an existing secret or clickhouse.auth.password is required" .Values.clickhouse.auth.password | quote }}
|
|
{{- end }}
|
|
{{- if $.Values.clickhouse.replicaCount | int | eq 1 -}}
|
|
- name: CLICKHOUSE_CLUSTER_ENABLED
|
|
value: "false"
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Get a s3 related config by value or secret. Lookup the bucket value, if not found lookup the shared config.
|
|
If no value or secret is found, return an empty value (e.g. for role IRSA on AWS)
|
|
*/}}
|
|
{{- define "langfuse.getS3ValueOrSecret" -}}
|
|
{{- with (include "langfuse.getValueOrSecret" (dict "key" (printf ".Values.s3.%s.%s" .bucket .key) "value" (index .values .bucket .key)) ) -}}
|
|
{{- . }}
|
|
{{- else }}
|
|
{{- with (include "langfuse.getValueOrSecret" (dict "key" (printf ".Values.s3.%s" .key) "value" (index .values .key)) ) -}}
|
|
{{- . }}
|
|
{{- else -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
S3/MinIO related configurations by environment variables
|
|
Compare with https://langfuse.com/self-hosting/configuration#environment-variables
|
|
*/}}
|
|
{{- define "langfuse.s3Env" -}}
|
|
- name: LANGFUSE_S3_EVENT_UPLOAD_BUCKET
|
|
{{- if $.Values.s3.deploy }}
|
|
value: {{ required "s3.[eventUpload].bucket is required" (coalesce .Values.s3.eventUpload.bucket .Values.s3.bucket .Values.s3.defaultBuckets) | quote }}
|
|
{{- else }}
|
|
value: {{ required "s3.[eventUpload].bucket is required" (.Values.s3.eventUpload.bucket | default .Values.s3.bucket) | quote }}
|
|
{{- end }}
|
|
{{- if .Values.s3.eventUpload.prefix }}
|
|
- name: LANGFUSE_S3_EVENT_UPLOAD_PREFIX
|
|
value: {{ .Values.s3.eventUpload.prefix | quote }}
|
|
{{- end }}
|
|
{{- if or .Values.s3.eventUpload.region .Values.s3.region }}
|
|
- name: LANGFUSE_S3_EVENT_UPLOAD_REGION
|
|
value: {{ .Values.s3.eventUpload.region | default .Values.s3.region | quote }}
|
|
{{- end }}
|
|
{{- with (include "langfuse.s3.endpoint" .) }}
|
|
- name: LANGFUSE_S3_EVENT_UPLOAD_ENDPOINT
|
|
value: {{ . | quote }}
|
|
{{- end }}
|
|
{{- with (include "langfuse.getS3ValueOrSecret" (dict "key" "accessKeyId" "bucket" "eventUpload" "values" .Values.s3) ) }}
|
|
- name: LANGFUSE_S3_EVENT_UPLOAD_ACCESS_KEY_ID
|
|
{{- . | nindent 2 }}
|
|
{{- else }}
|
|
{{- if .Values.s3.deploy }}
|
|
- name: LANGFUSE_S3_EVENT_UPLOAD_ACCESS_KEY_ID
|
|
value: {{ .Values.s3.auth.rootUser | quote }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- with (include "langfuse.getS3ValueOrSecret" (dict "key" "secretAccessKey" "bucket" "eventUpload" "values" .Values.s3) ) }}
|
|
- name: LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEY
|
|
{{- . | nindent 2 }}
|
|
{{- else }}
|
|
{{- if .Values.s3.deploy }}
|
|
- name: LANGFUSE_S3_EVENT_UPLOAD_SECRET_ACCESS_KEY
|
|
value: {{ .Values.s3.auth.rootPassword | quote }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- if or .Values.s3.eventUpload.forcePathStyle .Values.s3.forcePathStyle }}
|
|
- name: LANGFUSE_S3_EVENT_UPLOAD_FORCE_PATH_STYLE
|
|
value: {{ .Values.s3.eventUpload.forcePathStyle | default .Values.s3.forcePathStyle | quote }}
|
|
{{- end }}
|
|
- name: LANGFUSE_S3_BATCH_EXPORT_ENABLED
|
|
value: {{ .Values.s3.batchExport.enabled | quote }}
|
|
{{- if $.Values.s3.batchExport.enabled }}
|
|
- name: LANGFUSE_S3_BATCH_EXPORT_BUCKET
|
|
{{- if $.Values.s3.deploy }}
|
|
value: {{ required "s3.[batchExport].bucket is required" (coalesce .Values.s3.batchExport.bucket .Values.s3.bucket .Values.s3.defaultBuckets) | quote }}
|
|
{{- else }}
|
|
value: {{ required "s3.[batchExport].bucket is required" (.Values.s3.batchExport.bucket | default .Values.s3.bucket) | quote }}
|
|
{{- end }}
|
|
{{- if or .Values.s3.batchExport.prefix .Values.s3.prefix }}
|
|
- name: LANGFUSE_S3_BATCH_EXPORT_PREFIX
|
|
value: {{ .Values.s3.batchExport.prefix | default .Values.s3.prefix | quote }}
|
|
{{- end }}
|
|
{{- if or .Values.s3.batchExport.region .Values.s3.region }}
|
|
- name: LANGFUSE_S3_BATCH_EXPORT_REGION
|
|
value: {{ .Values.s3.batchExport.region | default .Values.s3.region | quote }}
|
|
{{- end }}
|
|
{{- with (include "langfuse.s3.endpoint" .) }}
|
|
- name: LANGFUSE_S3_BATCH_EXPORT_ENDPOINT
|
|
value: {{ . | quote }}
|
|
{{- end }}
|
|
{{- with (include "langfuse.getS3ValueOrSecret" (dict "key" "accessKeyId" "bucket" "batchExport" "values" .Values.s3) ) }}
|
|
- name: LANGFUSE_S3_BATCH_EXPORT_ACCESS_KEY_ID
|
|
{{- . | nindent 2 }}
|
|
{{- else }}
|
|
{{- if .Values.s3.deploy }}
|
|
- name: LANGFUSE_S3_BATCH_EXPORT_ACCESS_KEY_ID
|
|
value: {{ .Values.s3.auth.rootUser | quote }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- with (include "langfuse.getS3ValueOrSecret" (dict "key" "secretAccessKey" "bucket" "batchExport" "values" .Values.s3) ) }}
|
|
- name: LANGFUSE_S3_BATCH_EXPORT_SECRET_ACCESS_KEY
|
|
{{- . | nindent 2 }}
|
|
{{- else }}
|
|
{{- if .Values.s3.deploy }}
|
|
- name: LANGFUSE_S3_BATCH_EXPORT_SECRET_ACCESS_KEY
|
|
value: {{ .Values.s3.auth.rootPassword | quote }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- if or .Values.s3.batchExport.forcePathStyle .Values.s3.forcePathStyle }}
|
|
- name: LANGFUSE_S3_BATCH_EXPORT_FORCE_PATH_STYLE
|
|
value: {{ .Values.s3.batchExport.forcePathStyle | default .Values.s3.forcePathStyle | quote }}
|
|
{{- end }}
|
|
{{- end }}
|
|
- name: LANGFUSE_S3_MEDIA_UPLOAD_BUCKET
|
|
{{- if $.Values.s3.deploy }}
|
|
value: {{ required "s3.[mediaUpload].bucket is required" (coalesce .Values.s3.mediaUpload.bucket .Values.s3.bucket .Values.s3.defaultBuckets) | quote }}
|
|
{{- else }}
|
|
value: {{ required "s3.[mediaUpload].bucket is required" (.Values.s3.mediaUpload.bucket | default .Values.s3.bucket) | quote }}
|
|
{{- end }}
|
|
{{- if or .Values.s3.mediaUpload.prefix .Values.s3.prefix }}
|
|
- name: LANGFUSE_S3_MEDIA_UPLOAD_PREFIX
|
|
value: {{ .Values.s3.mediaUpload.prefix | default .Values.s3.prefix | quote }}
|
|
{{- end }}
|
|
{{- if or .Values.s3.mediaUpload.region .Values.s3.region }}
|
|
- name: LANGFUSE_S3_MEDIA_UPLOAD_REGION
|
|
value: {{ .Values.s3.mediaUpload.region | default .Values.s3.region | quote }}
|
|
{{- end }}
|
|
{{- with (include "langfuse.s3.endpoint" .) }}
|
|
- name: LANGFUSE_S3_MEDIA_UPLOAD_ENDPOINT
|
|
value: {{ . | quote }}
|
|
{{- end }}
|
|
{{- with (include "langfuse.getS3ValueOrSecret" (dict "key" "accessKeyId" "bucket" "mediaUpload" "values" .Values.s3) ) }}
|
|
- name: LANGFUSE_S3_MEDIA_UPLOAD_ACCESS_KEY_ID
|
|
{{- . | nindent 2 }}
|
|
{{- else }}
|
|
{{- if .Values.s3.deploy }}
|
|
- name: LANGFUSE_S3_MEDIA_UPLOAD_ACCESS_KEY_ID
|
|
value: {{ .Values.s3.auth.rootUser | quote }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- with (include "langfuse.getS3ValueOrSecret" (dict "key" "secretAccessKey" "bucket" "mediaUpload" "values" .Values.s3) ) }}
|
|
- name: LANGFUSE_S3_MEDIA_UPLOAD_SECRET_ACCESS_KEY
|
|
{{- . | nindent 2 }}
|
|
{{- else }}
|
|
{{- if .Values.s3.deploy }}
|
|
- name: LANGFUSE_S3_MEDIA_UPLOAD_SECRET_ACCESS_KEY
|
|
value: {{ .Values.s3.auth.rootPassword | quote }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- if or .Values.s3.mediaUpload.forcePathStyle .Values.s3.forcePathStyle }}
|
|
- name: LANGFUSE_S3_MEDIA_UPLOAD_FORCE_PATH_STYLE
|
|
value: {{ .Values.s3.mediaUpload.forcePathStyle | default .Values.s3.forcePathStyle | quote }}
|
|
{{- end }}
|
|
- name: LANGFUSE_S3_MEDIA_UPLOAD_MAX_CONTENT_LENGTH
|
|
value: {{ .Values.s3.mediaUpload.maxContentLength | quote }}
|
|
- name: LANGFUSE_S3_MEDIA_UPLOAD_DOWNLOAD_URL_EXPIRY_SECONDS
|
|
value: {{ .Values.s3.mediaUpload.downloadUrlExpirySeconds | quote }}
|
|
{{- end -}}
|
|
|
|
{{/*
|
|
Common environment variables for all deployments
|
|
*/}}
|
|
{{- define "langfuse.commonEnv" -}}
|
|
{{ include "langfuse.serverEnv" . }}
|
|
{{ include "langfuse.nextauthEnv" . }}
|
|
{{ include "langfuse.databaseEnv" . }}
|
|
{{ include "langfuse.redisEnv" . }}
|
|
{{ include "langfuse.clickhouseEnv" . }}
|
|
{{ include "langfuse.s3Env" . }}
|
|
{{- end -}}
|
|
|