Skip to content

Commit 0451b3a

Browse files
alespourCopilotjansimonb
authored
fix: important issues in InfluxDB3 Enterprise (#756)
* fix: remove unused helper blocks * fix: wrong env vars prefix for TRACES * fix: license file handling * fix: simpler license file path * fix: license docs and post-install check * fix: memory-throttled is a object storage type * fix: add objectStorage.type value validation * fix: write and read ingress when components are not enabled * fix: value comment * fix: remove empty block * fix: processing engine PDB * fix: indenting * fix: networkpolicy is only rendered when component(s) are enabled * fix: comment out some s3 keys * fix: wire missing option * fix: handle procesing engine plugin init and persistence * fix: add AWS credentials file wiring * fix: remove nonexistent flags * chore: bump chart version * fix: volumeClaimTemplates indentation * fix: commenting * fix: revert maxUnavailable to original value Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix: subtract prefix length Co-authored-by: Jan Simon <63776254+jansimonb@users.noreply.github.com> * docs: S3 storage credentials file description * fix: key comment Co-authored-by: Jan Simon <63776254+jansimonb@users.noreply.github.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Jan Simon <63776254+jansimonb@users.noreply.github.com>
1 parent ed33487 commit 0451b3a

File tree

13 files changed

+105
-208
lines changed

13 files changed

+105
-208
lines changed

charts/influxdb3-enterprise/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ apiVersion: v2
22
name: influxdb3-enterprise
33
description: A Helm chart for deploying InfluxDB 3 Enterprise on Kubernetes
44
type: application
5-
version: 0.1.0
5+
version: 0.1.1
66
appVersion: "3.6.0"
77
keywords:
88
- influxdb

charts/influxdb3-enterprise/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -471,7 +471,7 @@ logs:
471471
| `image.tag` | Image tag | `3-enterprise` |
472472
| `license.type` | trial, home, or commercial | `trial` |
473473
| `license.email` | Email for trial/home | `""` |
474-
| `license.file` | Path to license file (commercial) | `""` |
474+
| `license.file` | License file content (use `--set-file license.file=/path/to/file`) | `""` |
475475
| `license.existingSecret` | Secret with `license-email` or `license-file` | `""` |
476476

477477
### Object Storage Parameters
@@ -484,7 +484,7 @@ logs:
484484
| `objectStorage.s3.endpoint` | S3 endpoint (for S3-compatible) | `""` |
485485
| `objectStorage.s3.accessKeyId` / `secretAccessKey` | S3 credentials | `""` |
486486
| `objectStorage.s3.sessionToken` | Optional session token | `""` |
487-
| `objectStorage.s3.credentialsFile` | Path to credentials file | `""` |
487+
| `objectStorage.s3.credentialsFile` | Credentials file content (use `--set-file objectStorage.s3.credentialsFile=/path/to/file`) | `""` |
488488
| `objectStorage.s3.existingSecret` | Secret with `access-key-id`/`secret-access-key` | `""` |
489489
| `objectStorage.azure.storageAccount` | Azure storage account | `""` |
490490
| `objectStorage.azure.accessKey` | Azure access key | `""` |

charts/influxdb3-enterprise/examples/values-dev.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,8 @@
88
objectStorage:
99
type: file
1010
file:
11-
enabled: true
1211
dataDir: "/var/lib/influxdb3"
1312
persistence:
14-
enabled: true
1513
storageClass: ""
1614
size: 10Gi
1715

charts/influxdb3-enterprise/templates/NOTES.txt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,10 +92,8 @@ Getting started:
9292

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

95-
{{- if not .Values.license.email }}
96-
{{- if not .Values.license.existingSecret }}
95+
{{- if not (or .Values.license.email .Values.license.file .Values.license.existingSecret) }}
9796

9897
⚠️ WARNING: No license configured!
99-
Set .Values.license.email or .Values.license.existingSecret to activate your license.
100-
{{- end }}
98+
Set license.email, license.file, or license.existingSecret to activate your license.
10199
{{- end }}

charts/influxdb3-enterprise/templates/_helpers.tpl

Lines changed: 28 additions & 160 deletions
Original file line numberDiff line numberDiff line change
@@ -48,14 +48,6 @@ app.kubernetes.io/name: {{ include "influxdb3-enterprise.name" . }}
4848
app.kubernetes.io/instance: {{ .Release.Name }}
4949
{{- end }}
5050

51-
{{/*
52-
Component labels
53-
*/}}
54-
{{- define "influxdb3-enterprise.componentLabels" -}}
55-
{{ include "influxdb3-enterprise.labels" . }}
56-
app.kubernetes.io/component: {{ .component }}
57-
{{- end }}
58-
5951
{{/*
6052
Service account name
6153
*/}}
@@ -93,6 +85,17 @@ License secret name
9385
{{- end }}
9486
{{- end }}
9587

88+
{{/*
89+
Validate object storage type
90+
*/}}
91+
{{- define "influxdb3-enterprise.validateObjectStorageType" -}}
92+
{{- $type := default "s3" .Values.objectStorage.type -}}
93+
{{- $valid := list "s3" "azure" "google" "file" "memory" "memory-throttled" -}}
94+
{{- if not (has $type $valid) -}}
95+
{{- fail (printf "Invalid objectStorage.type: %s. Must be one of: %s" $type (join ", " $valid)) -}}
96+
{{- end -}}
97+
{{- end }}
98+
9699
{{/*
97100
License checksum (handles existingSecret via lookup)
98101
*/}}
@@ -116,152 +119,6 @@ TLS secret name
116119
{{- end }}
117120
{{- end }}
118121

119-
{{/*
120-
HTTP/TLS/Auth environment (shared across components)
121-
*/}}
122-
{{- define "influxdb3-enterprise.httpEnv" -}}{{- end }}
123-
124-
{{/*
125-
Cluster environment (shared across components)
126-
*/}}
127-
{{- define "influxdb3-enterprise.clusterEnv" -}}{{- end }}
128-
129-
{{/*
130-
Caching environment (shared across components)
131-
*/}}
132-
{{- define "influxdb3-enterprise.cachingEnv" -}}
133-
{{- with .Values.caching }}
134-
{{- if .parquetMemCacheSize }}
135-
- name: INFLUXDB3_PARQUET_MEM_CACHE_SIZE
136-
value: {{ .parquetMemCacheSize | quote }}
137-
{{- end }}
138-
{{- if .parquetMemCacheQueryPathDuration }}
139-
- name: INFLUXDB3_PARQUET_MEM_CACHE_QUERY_PATH_DURATION
140-
value: {{ .parquetMemCacheQueryPathDuration | quote }}
141-
{{- end }}
142-
{{- if .parquetMemCachePrunePercentage }}
143-
- name: INFLUXDB3_PARQUET_MEM_CACHE_PRUNE_PERCENTAGE
144-
value: {{ .parquetMemCachePrunePercentage | quote }}
145-
{{- end }}
146-
{{- if .parquetMemCachePruneInterval }}
147-
- name: INFLUXDB3_PARQUET_MEM_CACHE_PRUNE_INTERVAL
148-
value: {{ .parquetMemCachePruneInterval | quote }}
149-
{{- end }}
150-
{{- if hasKey . "disableParquetMemCache" }}
151-
- name: INFLUXDB3_DISABLE_PARQUET_MEM_CACHE
152-
value: {{ ternary "true" "false" .disableParquetMemCache | quote }}
153-
{{- end }}
154-
{{- if .preemptiveCacheAge }}
155-
- name: INFLUXDB3_PREEMPTIVE_CACHE_AGE
156-
value: {{ .preemptiveCacheAge | quote }}
157-
{{- end }}
158-
{{- if hasKey . "lastValueCacheDisableFromHistory" }}
159-
- name: INFLUXDB3_ENTERPRISE_LAST_VALUE_CACHE_DISABLE_FROM_HISTORY
160-
value: {{ ternary "true" "false" .lastValueCacheDisableFromHistory | quote }}
161-
{{- end }}
162-
{{- if .lastCacheEvictionInterval }}
163-
- name: INFLUXDB3_LAST_CACHE_EVICTION_INTERVAL
164-
value: {{ .lastCacheEvictionInterval | quote }}
165-
{{- end }}
166-
{{- if hasKey . "distinctValueCacheDisableFromHistory" }}
167-
- name: INFLUXDB3_ENTERPRISE_DISTINCT_VALUE_CACHE_DISABLE_FROM_HISTORY
168-
value: {{ ternary "true" "false" .distinctValueCacheDisableFromHistory | quote }}
169-
{{- end }}
170-
{{- if .distinctCacheEvictionInterval }}
171-
- name: INFLUXDB3_DISTINCT_CACHE_EVICTION_INTERVAL
172-
value: {{ .distinctCacheEvictionInterval | quote }}
173-
{{- end }}
174-
{{- if .tableIndexCacheMaxEntries }}
175-
- name: INFLUXDB3_TABLE_INDEX_CACHE_MAX_ENTRIES
176-
value: {{ .tableIndexCacheMaxEntries | quote }}
177-
{{- end }}
178-
{{- if .tableIndexCacheConcurrencyLimit }}
179-
- name: INFLUXDB3_TABLE_INDEX_CACHE_CONCURRENCY_LIMIT
180-
value: {{ .tableIndexCacheConcurrencyLimit | quote }}
181-
{{- end }}
182-
{{- end }}
183-
{{- end }}
184-
185-
{{/*
186-
Logs environment (shared across components)
187-
*/}}
188-
{{- define "influxdb3-enterprise.logsEnv" -}}
189-
{{- $logs := default (dict) .Values.logs }}
190-
- name: LOG_DESTINATION
191-
value: {{ default "stdout" (default ($logs.logDestination) ($logs.destination)) | quote }}
192-
- name: LOG_FORMAT
193-
value: {{ default "full" (default ($logs.logFormat) ($logs.format)) | quote }}
194-
{{- if $logs.logFilter }}
195-
- name: LOG_FILTER
196-
value: {{ $logs.logFilter | quote }}
197-
{{- end }}
198-
- name: INFLUXDB3_QUERY_LOG_SIZE
199-
value: {{ default 1000 ($logs.queryLogSize) | quote }}
200-
{{- end }}
201-
202-
{{/*
203-
Object storage environment (shared across components)
204-
*/}}
205-
{{- define "influxdb3-enterprise.objectStoreEnv" -}}
206-
- name: INFLUXDB3_OBJECT_STORE
207-
value: {{ .Values.objectStorage.type | quote }}
208-
{{- if eq .Values.objectStorage.type "file" }}
209-
- name: INFLUXDB3_DB_DIR
210-
value: {{ .Values.objectStorage.file.dataDir | quote }}
211-
{{- else }}
212-
- name: INFLUXDB3_BUCKET
213-
value: {{ .Values.objectStorage.bucket | quote }}
214-
{{- if .Values.objectStorage.connectionLimit }}
215-
- name: OBJECT_STORE_CONNECTION_LIMIT
216-
value: {{ .Values.objectStorage.connectionLimit | quote }}
217-
{{- end }}
218-
{{- if hasKey .Values.objectStorage "http2Only" }}
219-
- name: OBJECT_STORE_HTTP2_ONLY
220-
value: {{ ternary "true" "false" .Values.objectStorage.http2Only | quote }}
221-
{{- end }}
222-
{{- if .Values.objectStorage.http2MaxFrameSize }}
223-
- name: OBJECT_STORE_HTTP2_MAX_FRAME_SIZE
224-
value: {{ .Values.objectStorage.http2MaxFrameSize | quote }}
225-
{{- end }}
226-
{{- if .Values.objectStorage.maxRetries }}
227-
- name: OBJECT_STORE_MAX_RETRIES
228-
value: {{ .Values.objectStorage.maxRetries | quote }}
229-
{{- end }}
230-
{{- if .Values.objectStorage.retryTimeout }}
231-
- name: OBJECT_STORE_RETRY_TIMEOUT
232-
value: {{ .Values.objectStorage.retryTimeout | quote }}
233-
{{- end }}
234-
{{- if .Values.objectStorage.cacheEndpoint }}
235-
- name: OBJECT_STORE_CACHE_ENDPOINT
236-
value: {{ .Values.objectStorage.cacheEndpoint | quote }}
237-
{{- end }}
238-
{{- if eq .Values.objectStorage.type "s3" }}
239-
- name: AWS_DEFAULT_REGION
240-
value: {{ .Values.objectStorage.s3.region | quote }}
241-
{{- if .Values.objectStorage.s3.endpoint }}
242-
- name: AWS_ENDPOINT
243-
value: {{ .Values.objectStorage.s3.endpoint | quote }}
244-
{{- end }}
245-
{{- if .Values.objectStorage.s3.allowHttp }}
246-
- name: AWS_ALLOW_HTTP
247-
value: "true"
248-
{{- end }}
249-
{{- else if eq .Values.objectStorage.type "azure" }}
250-
{{- if .Values.objectStorage.azure.endpoint }}
251-
- name: AZURE_ENDPOINT
252-
value: {{ .Values.objectStorage.azure.endpoint | quote }}
253-
{{- end }}
254-
{{- if .Values.objectStorage.azure.allowHttp }}
255-
- name: AZURE_ALLOW_HTTP
256-
value: "true"
257-
{{- end }}
258-
{{- else if eq .Values.objectStorage.type "google" }}
259-
- name: GOOGLE_SERVICE_ACCOUNT
260-
value: "/var/secrets/google/service-account.json"
261-
{{- end }}
262-
{{- end }}
263-
{{- end }}
264-
265122
{{- define "influxdb3-enterprise.objectStoreSecretEnv" -}}
266123
{{- if eq .Values.objectStorage.type "s3" }}
267124
{{- if or .Values.objectStorage.s3.existingSecret (and .Values.objectStorage.s3.accessKeyId .Values.objectStorage.s3.secretAccessKey) }}
@@ -298,7 +155,7 @@ Object storage environment (shared across components)
298155
{{- end }}
299156
{{- end }}
300157

301-
{{/*
158+
{{/*
302159
License environment (shared across components)
303160
*/}}
304161
{{- define "influxdb3-enterprise.licenseEnv" -}}
@@ -310,12 +167,9 @@ License environment (shared across components)
310167
name: {{ include "influxdb3-enterprise.licenseSecretName" . }}
311168
key: license-email
312169
{{- end }}
313-
{{- if .Values.license.file }}
170+
{{- if or .Values.license.file .Values.license.existingSecret }}
314171
- name: INFLUXDB3_ENTERPRISE_LICENSE_FILE
315-
valueFrom:
316-
secretKeyRef:
317-
name: {{ include "influxdb3-enterprise.licenseSecretName" . }}
318-
key: license-file
172+
value: "/etc/influxdb/license"
319173
{{- end }}
320174
- name: INFLUXDB3_ENTERPRISE_LICENSE_TYPE
321175
value: {{ .Values.license.type | quote }}
@@ -373,9 +227,15 @@ Shared volume mounts (license/TLS/GCS and user extras)
373227
mountPath: /var/secrets/google
374228
readOnly: true
375229
{{- end }}
230+
{{- if and (eq .Values.objectStorage.type "s3") .Values.objectStorage.s3.credentialsFile }}
231+
- name: aws-credentials
232+
mountPath: /etc/influxdb/aws
233+
readOnly: true
234+
{{- end }}
376235
{{- if or .Values.license.file .Values.license.existingSecret }}
377236
- name: license
378237
mountPath: /etc/influxdb/license
238+
subPath: license
379239
readOnly: true
380240
{{- end }}
381241
{{- if .Values.security.tls.enabled }}
@@ -405,6 +265,14 @@ Shared volumes (license/TLS/GCS and user extras)
405265
- key: service-account.json
406266
path: service-account.json
407267
{{- end }}
268+
{{- if and (eq .Values.objectStorage.type "s3") .Values.objectStorage.s3.credentialsFile }}
269+
- name: aws-credentials
270+
secret:
271+
secretName: {{ include "influxdb3-enterprise.fullname" . }}-aws-credentials
272+
items:
273+
- key: credentials
274+
path: credentials
275+
{{- end }}
408276
{{- if or .Values.license.file .Values.license.existingSecret }}
409277
- name: license
410278
secret:

charts/influxdb3-enterprise/templates/compactor-statefulset.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,8 +130,6 @@ spec:
130130
{{- include "influxdb3-enterprise.probes" . | nindent 10 }}
131131
resources:
132132
{{- toYaml .Values.compactor.resources | nindent 12 }}
133-
{{- if eq .Values.objectStorage.type "file" }}
134-
{{- end }}
135133
volumeMounts:
136134
{{ include "influxdb3-enterprise.sharedVolumeMounts" . | nindent 12 }}
137135
{{- with .Values.compactor.nodeSelector }}

charts/influxdb3-enterprise/templates/configmap.yaml

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{{- include "influxdb3-enterprise.validateObjectStorageType" . }}
12
apiVersion: v1
23
kind: ConfigMap
34
metadata:
@@ -74,6 +75,12 @@ data:
7475
{{- if .Values.objectStorage.s3.allowHttp }}
7576
AWS_ALLOW_HTTP: "true"
7677
{{- end }}
78+
{{- if .Values.objectStorage.s3.skipSignature }}
79+
AWS_SKIP_SIGNATURE: "true"
80+
{{- end }}
81+
{{- if .Values.objectStorage.s3.credentialsFile }}
82+
AWS_CREDENTIALS_FILE: "/etc/influxdb/aws/credentials"
83+
{{- end }}
7784
{{- end }}
7885
{{- if eq .Values.objectStorage.type "azure" }}
7986
{{- if .Values.objectStorage.azure.endpoint }}
@@ -174,28 +181,28 @@ data:
174181

175182
# Tracing
176183
{{- with .Values.traces }}
177-
INFLUXDB3_TRACES_EXPORTER: {{ .exporter | quote }}
184+
TRACES_EXPORTER: {{ .exporter | quote }}
178185
{{- with .jaeger }}
179186
{{- if .agentHost }}
180-
INFLUXDB3_TRACES_EXPORTER_JAEGER_AGENT_HOST: {{ .agentHost | quote }}
187+
TRACES_EXPORTER_JAEGER_AGENT_HOST: {{ .agentHost | quote }}
181188
{{- end }}
182189
{{- if .agentPort }}
183-
INFLUXDB3_TRACES_EXPORTER_JAEGER_AGENT_PORT: {{ .agentPort | quote }}
190+
TRACES_EXPORTER_JAEGER_AGENT_PORT: {{ .agentPort | quote }}
184191
{{- end }}
185192
{{- if .serviceName }}
186-
INFLUXDB3_TRACES_EXPORTER_JAEGER_SERVICE_NAME: {{ .serviceName | quote }}
193+
TRACES_EXPORTER_JAEGER_SERVICE_NAME: {{ .serviceName | quote }}
187194
{{- end }}
188195
{{- if .traceContextHeaderName }}
189-
INFLUXDB3_TRACES_EXPORTER_JAEGER_TRACE_CONTEXT_HEADER_NAME: {{ .traceContextHeaderName | quote }}
196+
TRACES_EXPORTER_JAEGER_TRACE_CONTEXT_HEADER_NAME: {{ .traceContextHeaderName | quote }}
190197
{{- end }}
191198
{{- if .debugName }}
192-
INFLUXDB3_TRACES_EXPORTER_JAEGER_DEBUG_NAME: {{ .debugName | quote }}
199+
TRACES_EXPORTER_JAEGER_DEBUG_NAME: {{ .debugName | quote }}
193200
{{- end }}
194201
{{- if .tags }}
195-
INFLUXDB3_TRACES_EXPORTER_JAEGER_TAGS: {{ .tags | quote }}
202+
TRACES_EXPORTER_JAEGER_TAGS: {{ .tags | quote }}
196203
{{- end }}
197204
{{- if .maxMsgsPerSecond }}
198-
INFLUXDB3_TRACES_JAEGER_MAX_MSGS_PER_SECOND: {{ .maxMsgsPerSecond | quote }}
205+
TRACES_JAEGER_MAX_MSGS_PER_SECOND: {{ .maxMsgsPerSecond | quote }}
199206
{{- end }}
200207
{{- end }}
201208
{{- end }}

charts/influxdb3-enterprise/templates/ingress-query.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{{- if .Values.ingress.enabled }}
1+
{{- if and .Values.ingress.enabled .Values.querier.enabled }}
22
apiVersion: networking.k8s.io/v1
33
kind: Ingress
44
metadata:

charts/influxdb3-enterprise/templates/ingress-write.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{{- if .Values.ingress.enabled }}
1+
{{- if and .Values.ingress.enabled .Values.ingester.enabled }}
22
apiVersion: networking.k8s.io/v1
33
kind: Ingress
44
metadata:

0 commit comments

Comments
 (0)