Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
04462ad
F156767: Add seaweedfs as s3 container.
sm895441 Aug 14, 2025
aa449c2
NORALLY: Add intcontainer to check filemeta table in druid db to sea…
sm895441 Aug 16, 2025
660a51e
NORALLY: Add back the s3 data migration job.
sm895441 Aug 21, 2025
47e109b
NORALLY: Add support for multiple seaweedfs pods to form a cluster.
sm895441 Aug 24, 2025
72faeae
NORALLY: Add bucket creation post hook job & separate secret for seaw…
sm895441 Aug 26, 2025
9dd6554
NORALLY: separate seaweedfs chart from druid.
sm895441 Aug 30, 2025
b4e8710
NORALLY: fix lint errors in PR.
sm895441 Aug 31, 2025
f1f92be
NORALLY: increment version of druid & portal chart.
sm895441 Aug 31, 2025
801f033
NORALLY: remove changes for minio-secret.
sm895441 Aug 31, 2025
f1e9e55
NORALLY: remove changes for minio-secret.
sm895441 Aug 31, 2025
7673680
NORALLY: Add ReadeMe and add seaweedfs config to values-production.yaml
sm895441 Sep 1, 2025
26d5a91
NORALLY: run minio only when swfs and migrateData is enabled or when …
sm895441 Sep 1, 2025
1b6fb0a
NORALLY: Add access key & id for seaweed fs s3 secret, so that it is …
sm895441 Sep 3, 2025
e09752b
Merge branch 'develop/portal' into sm_seaweedfs_as_s3_dev/portal
sm895441 Oct 14, 2025
b4b170f
Updated seaweedfs versions to 5.4
sm895441 Oct 14, 2025
4b29c7b
NORALLY: fix can override seaweedfs s3 auth access_key
sm895441 Oct 14, 2025
86cd8f7
NORALLY: remove create buckets hook job as we removed wget.
sm895441 Oct 14, 2025
fba0922
Add post hook for bucket creation in seaweedfs
sm895441 Oct 15, 2025
0027b57
Add data migration env params to seaweedfs pod.
sm895441 Oct 23, 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/druid/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ maintainers:
- name: Gazza7205
sources:
- https://github.com/CAAPIM/apim-charts
version: 1.0.17
version: 1.0.18
appVersion: 31.0
17 changes: 17 additions & 0 deletions charts/druid/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -109,4 +109,21 @@ Portal Docops page
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}


{{/*
Return the Master Server peers
*/}}
{{- define "seaweedfs.master.servers" -}}
{{- $peers := list -}}
{{- $masterFullname := "seaweedfs-s3" -}}
{{- $masterHeadlessSvcName := printf "seaweedfs-s3" -}}
{{- $clusterDomain := .Values.seaweedfs.clusterDomain -}}
{{- $masterPort := int .Values.seaweedfs.master.port -}}
{{- $namespace := .Release.Namespace -}}
{{- range $i := until (int .Values.seaweedfs.replicaCount) }}
{{- $peers = append $peers (printf "%s-%d.%s.%s.svc.%s:%d" $masterFullname $i $masterHeadlessSvcName $namespace $clusterDomain $masterPort) -}}
{{- end -}}
{{- print (join "," $peers) -}}
{{- end -}}
12 changes: 11 additions & 1 deletion charts/druid/templates/coordinator/coordinator-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,14 @@ data:
SERVICE_NAME: {{ .Values.coordinator.hostname }}
ZOOKEEPER_HOST: {{ .Values.zookeeper.hostname }}
ZOOKEEPER_PORT: {{ .Values.zookeeper.port | quote }}
{{- if .Values.global.deepStorage.seaweedfs }}
MINIO_URL: http://seaweedfs-s3:8333
MINIO_HEALTH_URL: http://seaweedfs-s3:8333/status
MINIO_BUCKET: {{ .Values.global.deepStorage.analytics.bucketName }}
{{ else }}
MINIO_URL: http://minio:9000
MINIO_BUCKET: {{ .Values.minio.bucketName }}
{{ end }}
DATABASE_TYPE: {{ required "Please fill in databaseType in values.yaml" .Values.global.databaseType | quote }}
{{ if .Values.global.setupDemoDatabase}}
DATABASE_HOST: {{ .Release.Name }}-mysql-headless
Expand All @@ -38,4 +44,8 @@ data:
druid.coordinator.kill.period=P1D
druid.coordinator.kill.durationToRetain=PT1H
druid.coordinator.kill.maxSegments=25
druid.storage.bucket={{ .Values.minio.bucketName }}
{{- if (eq .Values.global.deepStorage.seaweedfs true) }}
druid.storage.bucket={{ .Values.global.deepStorage.analytics.bucketName }}
{{- else }}
druid.storage.bucket={{ .Values.minio.bucketName }}
{{- end }}
13 changes: 13 additions & 0 deletions charts/druid/templates/coordinator/coordinator-statefulset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,18 @@ spec:
securityContext: {{- toYaml .Values.global.containerSecurityContext | nindent 12 }}
{{- end }}
env:
{{- if (eq .Values.global.deepStorage.seaweedfs true) }}
- name: MINIO_ACCESS_KEY
valueFrom:
secretKeyRef:
name: {{ .Values.global.deepStorage.auth.secretName }}
key: admin_access_key_id
- name: MINIO_SECRET_KEY
valueFrom:
secretKeyRef:
name: {{ .Values.global.deepStorage.auth.secretName }}
key: admin_secret_access_key
{{- else }}
- name: MINIO_ACCESS_KEY
valueFrom:
secretKeyRef:
Expand All @@ -74,6 +86,7 @@ spec:
secretKeyRef:
name: {{ .Values.minio.auth.secretName }}
key: MINIO_SECRET_KEY
{{- end }}
- name: DATABASE_PASSWORD
valueFrom:
secretKeyRef:
Expand Down
12 changes: 11 additions & 1 deletion charts/druid/templates/historical/historical-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,14 @@ data:
SERVICE_NAME: historical
ZOOKEEPER_HOST: {{ .Values.zookeeper.hostname }}
ZOOKEEPER_PORT: {{ .Values.zookeeper.port | quote }}
{{- if .Values.global.deepStorage.seaweedfs }}
MINIO_URL: http://seaweedfs-s3:8333
MINIO_HEALTH_URL: http://seaweedfs-s3:8333/status
MINIO_BUCKET: {{ .Values.global.deepStorage.analytics.bucketName }}
{{ else }}
MINIO_URL: http://minio:9000
MINIO_BUCKET: {{ .Values.minio.bucketName }}
{{ end }}
CONTAINER_LOG_LEVEL: {{ .Values.historical.loglevel }}
runtime.properties: |-
druid.service=druid/historical
Expand All @@ -35,4 +41,8 @@ data:
druid.cache.type=caffeine
druid.cache.sizeInBytes=10000000

druid.storage.bucket={{ .Values.minio.bucketName }}
{{- if (eq .Values.global.deepStorage.seaweedfs true) }}
druid.storage.bucket={{ .Values.global.deepStorage.analytics.bucketName }}
{{- else }}
druid.storage.bucket={{ .Values.minio.bucketName }}
{{- end }}
13 changes: 13 additions & 0 deletions charts/druid/templates/historical/historical-statefulset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,18 @@ spec:
securityContext: {{- toYaml .Values.global.containerSecurityContext | nindent 12 }}
{{- end }}
env:
{{- if (eq .Values.global.deepStorage.seaweedfs true) }}
- name: MINIO_ACCESS_KEY
valueFrom:
secretKeyRef:
name: {{ .Values.global.deepStorage.auth.secretName }}
key: admin_access_key_id
- name: MINIO_SECRET_KEY
valueFrom:
secretKeyRef:
name: {{ .Values.global.deepStorage.auth.secretName }}
key: admin_secret_access_key
{{- else }}
- name: MINIO_ACCESS_KEY
valueFrom:
secretKeyRef:
Expand All @@ -77,6 +89,7 @@ spec:
secretKeyRef:
name: {{ .Values.minio.auth.secretName }}
key: MINIO_SECRET_KEY
{{- end }}
envFrom:
- configMapRef:
name: historical-config
Expand Down
6 changes: 6 additions & 0 deletions charts/druid/templates/ingestion/ingestion-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,14 @@ data:
OVERLORD_PORT: {{ .Values.coordinator.port | quote }}
COORDINATOR_HOST: {{ .Values.coordinator.hostname }}
COORDINATOR_PORT: {{ .Values.coordinator.port | quote }}
{{- if .Values.global.deepStorage.seaweedfs }}
MINIO_URL: http://seaweedfs-s3:8333
MINIO_HEALTH_URL: http://seaweedfs-s3:8333/status
MINIO_BUCKET: {{ .Values.global.deepStorage.analytics.bucketName }}
{{ else }}
MINIO_URL: http://minio:9000
MINIO_BUCKET: {{ .Values.minio.bucketName }}
{{ end }}
PARTITION_COUNT: "{{ .Values.ingestion.config.partitionCount }}"
REPLICATION_COUNT: "{{ .Values.kafka.replicaCount }}"
{{ if .Values.global.setupDemoDatabase}}
Expand Down
13 changes: 13 additions & 0 deletions charts/druid/templates/ingestion/ingestion-deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,18 @@ spec:
securityContext: {{- toYaml .Values.global.containerSecurityContext | nindent 12 }}
{{- end }}
env:
{{- if (eq .Values.global.deepStorage.seaweedfs true) }}
- name: MINIO_ACCESS_KEY
valueFrom:
secretKeyRef:
name: {{ .Values.global.deepStorage.auth.secretName }}
key: admin_access_key_id
- name: MINIO_SECRET_KEY
valueFrom:
secretKeyRef:
name: {{ .Values.global.deepStorage.auth.secretName }}
key: admin_secret_access_key
{{- else }}
- name: MINIO_ACCESS_KEY
valueFrom:
secretKeyRef:
Expand All @@ -75,6 +87,7 @@ spec:
secretKeyRef:
name: {{ .Values.minio.auth.secretName }}
key: MINIO_SECRET_KEY
{{- end }}
- name: DATABASE_PASSWORD
valueFrom:
secretKeyRef:
Expand Down
10 changes: 10 additions & 0 deletions charts/druid/templates/middlemanager/middlemanager-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,14 @@ data:
SERVICE_NAME: middleManager
ZOOKEEPER_HOST: {{ .Values.zookeeper.hostname }}
ZOOKEEPER_PORT: {{ .Values.zookeeper.port | quote }}
{{- if .Values.global.deepStorage.seaweedfs }}
MINIO_URL: http://seaweedfs-s3:8333
MINIO_HEALTH_URL: http://seaweedfs-s3:8333/status
MINIO_BUCKET: {{ .Values.minio.bucketName }}
{{ else }}
MINIO_URL: http://minio:9000
MINIO_BUCKET: {{ .Values.minio.bucketName }}
{{ end }}
CONTAINER_LOG_LEVEL: {{ .Values.middlemanager.loglevel }}
runtime.properties: |-
druid.indexer.runner.startPort={{ .Values.middlemanager.indexer.startPort }}
Expand All @@ -37,4 +43,8 @@ data:
# Hadoop indexing
druid.indexer.task.hadoopWorkingPath=var/druid/hadoop-tmp

{{- if (eq .Values.global.deepStorage.seaweedfs true) }}
druid.storage.bucket={{ .Values.global.deepStorage.bucketName }}
{{- else }}
druid.storage.bucket={{ .Values.minio.bucketName }}
{{- end }}
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,18 @@ spec:
securityContext: {{- toYaml .Values.global.containerSecurityContext | nindent 12 }}
{{- end }}
env:
{{- if (eq .Values.global.deepStorage.seaweedfs true) }}
- name: MINIO_ACCESS_KEY
valueFrom:
secretKeyRef:
name: {{ .Values.global.deepStorage.auth.secretName }}
key: admin_access_key_id
- name: MINIO_SECRET_KEY
valueFrom:
secretKeyRef:
name: {{ .Values.global.deepStorage.auth.secretName }}
key: admin_secret_access_key
{{- else }}
- name: MINIO_ACCESS_KEY
valueFrom:
secretKeyRef:
Expand All @@ -74,6 +86,7 @@ spec:
secretKeyRef:
name: {{ .Values.minio.auth.secretName }}
key: MINIO_SECRET_KEY
{{- end }}
envFrom:
- configMapRef:
name: middlemanager-config
Expand Down
2 changes: 1 addition & 1 deletion charts/druid/templates/minio/minio-pdb.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ spec:
selector:
matchLabels:
app: minio
{{ end }}
{{- end }}
2 changes: 1 addition & 1 deletion charts/druid/templates/minio/minio-secret.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,4 @@ data:
{{- if .Values.minio.s3gateway.secretKey }}
awsSecretAccessKey: {{ .Values.minio.s3gateway.secretKey | b64enc | quote }}
{{- end }}
{{- end }}
{{- end }}
9 changes: 6 additions & 3 deletions charts/portal/Chart.lock
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
dependencies:
- name: druid
repository: file://../druid
version: 1.0.17
version: 1.0.18
- name: seaweedfs
repository: file://../seaweedfs
version: 1.0.1
- name: mysql
repository: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami
version: 12.2.2
Expand All @@ -11,5 +14,5 @@ dependencies:
- name: ingress-nginx
repository: https://kubernetes.github.io/ingress-nginx/
version: 4.12.1
digest: sha256:a232d427aafce12b14085dbf887219aaf83e563693d86fd6c0985e1d5c800810
generated: "2025-06-17T23:17:16.7865154+05:30"
digest: sha256:0023f65c31a891b2c52d96cedcce53c12f711c0d3c157dbe3cc970731b83d077
generated: "2025-08-31T23:36:41.2457391+05:30"
4 changes: 4 additions & 0 deletions charts/portal/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ dependencies:
version: ^1.0.0
condition: portal.analytics.enabled
repository: "file://../druid"
- name: seaweedfs
version: ^1.0.0
condition: global.deepStorage.seaweedfs
repository: "file://../seaweedfs"
- name: mysql
version: 12.2.2
repository: "https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami"
Expand Down
35 changes: 35 additions & 0 deletions charts/portal/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,41 @@ This Chart deploys the Layer7 API Developer Portal on a Kubernetes Cluster using

## 2.3.20 General Updates
- This new version of the chart supports API Portal 5.4
- Added seaweedfs as s3 storage for analytics data
- This resolves a race condition that occurs on slower hardware where apim/ingress starts before other dependent services are ready.
- This is not ***enabled by default***.
- This only gets added when you install the Chart.
- If you wish to enable this and use seaweedfs as deep storage, set global.deepStorage.seaweedfs to true
```
global:
deepStorage:
seaweedfs: false
bucketName: api-metrics
...
auth:
secretName: seaweedfs-s3-secret
...
```
- If you are upgrading from previous version and want to copy analytics data from minio to seaweedfs, set seaweedfs.migrateData to true.
- A Helm install will ***NOT*** data migration.
- A Helm upgrade will run the data migration and bucket name can be customized.
- Make Sure that the value seaweedfs.minio.bucketName is same as the druid.minio.bucketName.
- The migrated data will be stored in the new bucket global.deepStorage.bucketName which the druid stack starts using is seaweedfs is enabled.
```
global:
deepStorage:
seaweedfs: false
enableDataMigration: true
bucketName: api-metrics
...
auth:
secretName: seaweedfs-s3-secret
...
seaweedfs:
...
minio:
bucketName: api-metrics
```

## 2.3.18 General Updates
- Switch bitnami/mysql to bitnamilegacy/mysql.
Expand Down
Binary file removed charts/portal/charts/druid-1.0.17.tgz
Binary file not shown.
Binary file added charts/portal/charts/druid-1.0.18.tgz
Binary file not shown.
Binary file added charts/portal/charts/seaweedfs-1.0.1.tgz
Binary file not shown.
Loading