Skip to content
Merged
Show file tree
Hide file tree
Changes from 19 commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
1b1b943
fix: remove unused helper blocks
alespour Dec 10, 2025
57b6c40
fix: wrong env vars prefix for TRACES
alespour Dec 10, 2025
bc6df12
fix: license file handling
alespour Dec 10, 2025
9033522
fix: simpler license file path
alespour Dec 10, 2025
c16b016
fix: license docs and post-install check
alespour Dec 10, 2025
b94cdd0
fix: memory-throttled is a object storage type
alespour Dec 10, 2025
dc3bfc1
fix: add objectStorage.type value validation
alespour Dec 10, 2025
9ae34fa
fix: write and read ingress when components are not enabled
alespour Dec 10, 2025
0813c44
fix: value comment
alespour Dec 10, 2025
2f770c3
fix: remove empty block
alespour Dec 10, 2025
4e5951c
fix: processing engine PDB
alespour Dec 10, 2025
418e262
fix: indenting
alespour Dec 10, 2025
9e38704
fix: networkpolicy is only rendered when component(s) are enabled
alespour Dec 10, 2025
1f0fa70
fix: comment out some s3 keys
alespour Dec 10, 2025
44618af
fix: wire missing option
alespour Dec 10, 2025
47db402
fix: handle procesing engine plugin init and persistence
alespour Dec 10, 2025
a4fce7e
fix: add AWS credentials file wiring
alespour Dec 10, 2025
b32e59b
fix: remove nonexistent flags
alespour Dec 10, 2025
8bce813
chore: bump chart version
alespour Dec 10, 2025
26eafcf
fix: volumeClaimTemplates indentation
alespour Dec 10, 2025
d86edb7
fix: commenting
alespour Dec 10, 2025
077e822
fix: revert maxUnavailable to original value
alespour Dec 10, 2025
52bb15f
fix: subtract prefix length
alespour Dec 11, 2025
0fd5578
docs: S3 storage credentials file description
alespour Dec 11, 2025
ffe858a
fix: key comment
alespour Dec 11, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion charts/influxdb3-enterprise/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ apiVersion: v2
name: influxdb3-enterprise
description: A Helm chart for deploying InfluxDB 3 Enterprise on Kubernetes
type: application
version: 0.1.0
version: 0.1.1
appVersion: "3.6.0"
keywords:
- influxdb
Expand Down
2 changes: 1 addition & 1 deletion charts/influxdb3-enterprise/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -471,7 +471,7 @@ logs:
| `image.tag` | Image tag | `3-enterprise` |
| `license.type` | trial, home, or commercial | `trial` |
| `license.email` | Email for trial/home | `""` |
| `license.file` | Path to license file (commercial) | `""` |
| `license.file` | License file content (use `--set-file license.file=/path/to/file`) | `""` |
| `license.existingSecret` | Secret with `license-email` or `license-file` | `""` |

### Object Storage Parameters
Expand Down
2 changes: 0 additions & 2 deletions charts/influxdb3-enterprise/examples/values-dev.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,8 @@
objectStorage:
type: file
file:
enabled: true
dataDir: "/var/lib/influxdb3"
persistence:
enabled: true
storageClass: ""
size: 10Gi

Expand Down
6 changes: 2 additions & 4 deletions charts/influxdb3-enterprise/templates/NOTES.txt
Original file line number Diff line number Diff line change
Expand Up @@ -92,10 +92,8 @@ Getting started:

Documentation: https://docs.influxdata.com/influxdb3/enterprise/

{{- if not .Values.license.email }}
{{- if not .Values.license.existingSecret }}
{{- if not (or .Values.license.email .Values.license.file .Values.license.existingSecret) }}

⚠️ WARNING: No license configured!
Set .Values.license.email or .Values.license.existingSecret to activate your license.
{{- end }}
Set license.email, license.file, or license.existingSecret to activate your license.
{{- end }}
188 changes: 28 additions & 160 deletions charts/influxdb3-enterprise/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -48,14 +48,6 @@ app.kubernetes.io/name: {{ include "influxdb3-enterprise.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}

{{/*
Component labels
*/}}
{{- define "influxdb3-enterprise.componentLabels" -}}
{{ include "influxdb3-enterprise.labels" . }}
app.kubernetes.io/component: {{ .component }}
{{- end }}

{{/*
Service account name
*/}}
Expand Down Expand Up @@ -93,6 +85,17 @@ License secret name
{{- end }}
{{- end }}

{{/*
Validate object storage type
*/}}
{{- define "influxdb3-enterprise.validateObjectStorageType" -}}
{{- $type := default "s3" .Values.objectStorage.type -}}
{{- $valid := list "s3" "azure" "google" "file" "memory" "memory-throttled" -}}
{{- if not (has $type $valid) -}}
{{- fail (printf "Invalid objectStorage.type: %s. Must be one of: %s" $type (join ", " $valid)) -}}
{{- end -}}
{{- end }}

{{/*
License checksum (handles existingSecret via lookup)
*/}}
Expand All @@ -116,152 +119,6 @@ TLS secret name
{{- end }}
{{- end }}

{{/*
HTTP/TLS/Auth environment (shared across components)
*/}}
{{- define "influxdb3-enterprise.httpEnv" -}}{{- end }}

{{/*
Cluster environment (shared across components)
*/}}
{{- define "influxdb3-enterprise.clusterEnv" -}}{{- end }}

{{/*
Caching environment (shared across components)
*/}}
{{- define "influxdb3-enterprise.cachingEnv" -}}
{{- with .Values.caching }}
{{- if .parquetMemCacheSize }}
- name: INFLUXDB3_PARQUET_MEM_CACHE_SIZE
value: {{ .parquetMemCacheSize | quote }}
{{- end }}
{{- if .parquetMemCacheQueryPathDuration }}
- name: INFLUXDB3_PARQUET_MEM_CACHE_QUERY_PATH_DURATION
value: {{ .parquetMemCacheQueryPathDuration | quote }}
{{- end }}
{{- if .parquetMemCachePrunePercentage }}
- name: INFLUXDB3_PARQUET_MEM_CACHE_PRUNE_PERCENTAGE
value: {{ .parquetMemCachePrunePercentage | quote }}
{{- end }}
{{- if .parquetMemCachePruneInterval }}
- name: INFLUXDB3_PARQUET_MEM_CACHE_PRUNE_INTERVAL
value: {{ .parquetMemCachePruneInterval | quote }}
{{- end }}
{{- if hasKey . "disableParquetMemCache" }}
- name: INFLUXDB3_DISABLE_PARQUET_MEM_CACHE
value: {{ ternary "true" "false" .disableParquetMemCache | quote }}
{{- end }}
{{- if .preemptiveCacheAge }}
- name: INFLUXDB3_PREEMPTIVE_CACHE_AGE
value: {{ .preemptiveCacheAge | quote }}
{{- end }}
{{- if hasKey . "lastValueCacheDisableFromHistory" }}
- name: INFLUXDB3_ENTERPRISE_LAST_VALUE_CACHE_DISABLE_FROM_HISTORY
value: {{ ternary "true" "false" .lastValueCacheDisableFromHistory | quote }}
{{- end }}
{{- if .lastCacheEvictionInterval }}
- name: INFLUXDB3_LAST_CACHE_EVICTION_INTERVAL
value: {{ .lastCacheEvictionInterval | quote }}
{{- end }}
{{- if hasKey . "distinctValueCacheDisableFromHistory" }}
- name: INFLUXDB3_ENTERPRISE_DISTINCT_VALUE_CACHE_DISABLE_FROM_HISTORY
value: {{ ternary "true" "false" .distinctValueCacheDisableFromHistory | quote }}
{{- end }}
{{- if .distinctCacheEvictionInterval }}
- name: INFLUXDB3_DISTINCT_CACHE_EVICTION_INTERVAL
value: {{ .distinctCacheEvictionInterval | quote }}
{{- end }}
{{- if .tableIndexCacheMaxEntries }}
- name: INFLUXDB3_TABLE_INDEX_CACHE_MAX_ENTRIES
value: {{ .tableIndexCacheMaxEntries | quote }}
{{- end }}
{{- if .tableIndexCacheConcurrencyLimit }}
- name: INFLUXDB3_TABLE_INDEX_CACHE_CONCURRENCY_LIMIT
value: {{ .tableIndexCacheConcurrencyLimit | quote }}
{{- end }}
{{- end }}
{{- end }}

{{/*
Logs environment (shared across components)
*/}}
{{- define "influxdb3-enterprise.logsEnv" -}}
{{- $logs := default (dict) .Values.logs }}
- name: LOG_DESTINATION
value: {{ default "stdout" (default ($logs.logDestination) ($logs.destination)) | quote }}
- name: LOG_FORMAT
value: {{ default "full" (default ($logs.logFormat) ($logs.format)) | quote }}
{{- if $logs.logFilter }}
- name: LOG_FILTER
value: {{ $logs.logFilter | quote }}
{{- end }}
- name: INFLUXDB3_QUERY_LOG_SIZE
value: {{ default 1000 ($logs.queryLogSize) | quote }}
{{- end }}

{{/*
Object storage environment (shared across components)
*/}}
{{- define "influxdb3-enterprise.objectStoreEnv" -}}
- name: INFLUXDB3_OBJECT_STORE
value: {{ .Values.objectStorage.type | quote }}
{{- if eq .Values.objectStorage.type "file" }}
- name: INFLUXDB3_DB_DIR
value: {{ .Values.objectStorage.file.dataDir | quote }}
{{- else }}
- name: INFLUXDB3_BUCKET
value: {{ .Values.objectStorage.bucket | quote }}
{{- if .Values.objectStorage.connectionLimit }}
- name: OBJECT_STORE_CONNECTION_LIMIT
value: {{ .Values.objectStorage.connectionLimit | quote }}
{{- end }}
{{- if hasKey .Values.objectStorage "http2Only" }}
- name: OBJECT_STORE_HTTP2_ONLY
value: {{ ternary "true" "false" .Values.objectStorage.http2Only | quote }}
{{- end }}
{{- if .Values.objectStorage.http2MaxFrameSize }}
- name: OBJECT_STORE_HTTP2_MAX_FRAME_SIZE
value: {{ .Values.objectStorage.http2MaxFrameSize | quote }}
{{- end }}
{{- if .Values.objectStorage.maxRetries }}
- name: OBJECT_STORE_MAX_RETRIES
value: {{ .Values.objectStorage.maxRetries | quote }}
{{- end }}
{{- if .Values.objectStorage.retryTimeout }}
- name: OBJECT_STORE_RETRY_TIMEOUT
value: {{ .Values.objectStorage.retryTimeout | quote }}
{{- end }}
{{- if .Values.objectStorage.cacheEndpoint }}
- name: OBJECT_STORE_CACHE_ENDPOINT
value: {{ .Values.objectStorage.cacheEndpoint | quote }}
{{- end }}
{{- if eq .Values.objectStorage.type "s3" }}
- name: AWS_DEFAULT_REGION
value: {{ .Values.objectStorage.s3.region | quote }}
{{- if .Values.objectStorage.s3.endpoint }}
- name: AWS_ENDPOINT
value: {{ .Values.objectStorage.s3.endpoint | quote }}
{{- end }}
{{- if .Values.objectStorage.s3.allowHttp }}
- name: AWS_ALLOW_HTTP
value: "true"
{{- end }}
{{- else if eq .Values.objectStorage.type "azure" }}
{{- if .Values.objectStorage.azure.endpoint }}
- name: AZURE_ENDPOINT
value: {{ .Values.objectStorage.azure.endpoint | quote }}
{{- end }}
{{- if .Values.objectStorage.azure.allowHttp }}
- name: AZURE_ALLOW_HTTP
value: "true"
{{- end }}
{{- else if eq .Values.objectStorage.type "google" }}
- name: GOOGLE_SERVICE_ACCOUNT
value: "/var/secrets/google/service-account.json"
{{- end }}
{{- end }}
{{- end }}

{{- define "influxdb3-enterprise.objectStoreSecretEnv" -}}
{{- if eq .Values.objectStorage.type "s3" }}
{{- if or .Values.objectStorage.s3.existingSecret (and .Values.objectStorage.s3.accessKeyId .Values.objectStorage.s3.secretAccessKey) }}
Expand Down Expand Up @@ -298,7 +155,7 @@ Object storage environment (shared across components)
{{- end }}
{{- end }}

{{/*
{{/*
License environment (shared across components)
*/}}
{{- define "influxdb3-enterprise.licenseEnv" -}}
Expand All @@ -310,12 +167,9 @@ License environment (shared across components)
name: {{ include "influxdb3-enterprise.licenseSecretName" . }}
key: license-email
{{- end }}
{{- if .Values.license.file }}
{{- if or .Values.license.file .Values.license.existingSecret }}
- name: INFLUXDB3_ENTERPRISE_LICENSE_FILE
valueFrom:
secretKeyRef:
name: {{ include "influxdb3-enterprise.licenseSecretName" . }}
key: license-file
value: "/etc/influxdb/license"
{{- end }}
- name: INFLUXDB3_ENTERPRISE_LICENSE_TYPE
value: {{ .Values.license.type | quote }}
Expand Down Expand Up @@ -373,9 +227,15 @@ Shared volume mounts (license/TLS/GCS and user extras)
mountPath: /var/secrets/google
readOnly: true
{{- end }}
{{- if and (eq .Values.objectStorage.type "s3") .Values.objectStorage.s3.credentialsFile }}
- name: aws-credentials
mountPath: /etc/influxdb/aws
readOnly: true
{{- end }}
{{- if or .Values.license.file .Values.license.existingSecret }}
- name: license
mountPath: /etc/influxdb/license
subPath: license
readOnly: true
{{- end }}
{{- if .Values.security.tls.enabled }}
Expand Down Expand Up @@ -405,6 +265,14 @@ Shared volumes (license/TLS/GCS and user extras)
- key: service-account.json
path: service-account.json
{{- end }}
{{- if and (eq .Values.objectStorage.type "s3") .Values.objectStorage.s3.credentialsFile }}
- name: aws-credentials
secret:
secretName: {{ include "influxdb3-enterprise.fullname" . }}-aws-credentials
items:
- key: credentials
path: credentials
{{- end }}
{{- if or .Values.license.file .Values.license.existingSecret }}
- name: license
secret:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -130,8 +130,6 @@ spec:
{{- include "influxdb3-enterprise.probes" . | nindent 10 }}
resources:
{{- toYaml .Values.compactor.resources | nindent 12 }}
{{- if eq .Values.objectStorage.type "file" }}
{{- end }}
volumeMounts:
{{ include "influxdb3-enterprise.sharedVolumeMounts" . | nindent 12 }}
{{- with .Values.compactor.nodeSelector }}
Expand Down
23 changes: 15 additions & 8 deletions charts/influxdb3-enterprise/templates/configmap.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
{{- include "influxdb3-enterprise.validateObjectStorageType" . }}
apiVersion: v1
kind: ConfigMap
metadata:
Expand Down Expand Up @@ -74,6 +75,12 @@ data:
{{- if .Values.objectStorage.s3.allowHttp }}
AWS_ALLOW_HTTP: "true"
{{- end }}
{{- if .Values.objectStorage.s3.skipSignature }}
AWS_SKIP_SIGNATURE: "true"
{{- end }}
{{- if .Values.objectStorage.s3.credentialsFile }}
AWS_CREDENTIALS_FILE: "/etc/influxdb/aws/credentials"
{{- end }}
{{- end }}
{{- if eq .Values.objectStorage.type "azure" }}
{{- if .Values.objectStorage.azure.endpoint }}
Expand Down Expand Up @@ -174,28 +181,28 @@ data:

# Tracing
{{- with .Values.traces }}
INFLUXDB3_TRACES_EXPORTER: {{ .exporter | quote }}
TRACES_EXPORTER: {{ .exporter | quote }}
{{- with .jaeger }}
{{- if .agentHost }}
INFLUXDB3_TRACES_EXPORTER_JAEGER_AGENT_HOST: {{ .agentHost | quote }}
TRACES_EXPORTER_JAEGER_AGENT_HOST: {{ .agentHost | quote }}
{{- end }}
{{- if .agentPort }}
INFLUXDB3_TRACES_EXPORTER_JAEGER_AGENT_PORT: {{ .agentPort | quote }}
TRACES_EXPORTER_JAEGER_AGENT_PORT: {{ .agentPort | quote }}
{{- end }}
{{- if .serviceName }}
INFLUXDB3_TRACES_EXPORTER_JAEGER_SERVICE_NAME: {{ .serviceName | quote }}
TRACES_EXPORTER_JAEGER_SERVICE_NAME: {{ .serviceName | quote }}
{{- end }}
{{- if .traceContextHeaderName }}
INFLUXDB3_TRACES_EXPORTER_JAEGER_TRACE_CONTEXT_HEADER_NAME: {{ .traceContextHeaderName | quote }}
TRACES_EXPORTER_JAEGER_TRACE_CONTEXT_HEADER_NAME: {{ .traceContextHeaderName | quote }}
{{- end }}
{{- if .debugName }}
INFLUXDB3_TRACES_EXPORTER_JAEGER_DEBUG_NAME: {{ .debugName | quote }}
TRACES_EXPORTER_JAEGER_DEBUG_NAME: {{ .debugName | quote }}
{{- end }}
{{- if .tags }}
INFLUXDB3_TRACES_EXPORTER_JAEGER_TAGS: {{ .tags | quote }}
TRACES_EXPORTER_JAEGER_TAGS: {{ .tags | quote }}
{{- end }}
{{- if .maxMsgsPerSecond }}
INFLUXDB3_TRACES_JAEGER_MAX_MSGS_PER_SECOND: {{ .maxMsgsPerSecond | quote }}
TRACES_JAEGER_MAX_MSGS_PER_SECOND: {{ .maxMsgsPerSecond | quote }}
{{- end }}
{{- end }}
{{- end }}
Expand Down
2 changes: 1 addition & 1 deletion charts/influxdb3-enterprise/templates/ingress-query.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{{- if .Values.ingress.enabled }}
{{- if and .Values.ingress.enabled .Values.querier.enabled }}
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
Expand Down
2 changes: 1 addition & 1 deletion charts/influxdb3-enterprise/templates/ingress-write.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{{- if .Values.ingress.enabled }}
{{- if and .Values.ingress.enabled .Values.ingester.enabled }}
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
Expand Down
Loading