aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/helm_ci.yml74
-rw-r--r--k8s/charts/seaweedfs/Chart.yaml2
-rw-r--r--k8s/charts/seaweedfs/templates/all-in-one/all-in-one-deployment.yaml4
-rw-r--r--k8s/charts/seaweedfs/templates/filer/filer-statefulset.yaml4
-rw-r--r--k8s/charts/seaweedfs/templates/master/master-statefulset.yaml4
-rw-r--r--k8s/charts/seaweedfs/templates/s3/s3-deployment.yaml4
-rw-r--r--k8s/charts/seaweedfs/templates/volume/volume-statefulset.yaml4
-rw-r--r--k8s/charts/seaweedfs/values.yaml4
8 files changed, 87 insertions, 13 deletions
diff --git a/.github/workflows/helm_ci.yml b/.github/workflows/helm_ci.yml
index f936ff445..ea971aec1 100644
--- a/.github/workflows/helm_ci.yml
+++ b/.github/workflows/helm_ci.yml
@@ -44,6 +44,80 @@ jobs:
- name: Run chart-testing (lint)
run: ct lint --target-branch ${{ github.event.repository.default_branch }} --all --validate-maintainers=false --chart-dirs k8s/charts
+ - name: Verify template rendering
+ run: |
+ set -e
+ CHART_DIR="k8s/charts/seaweedfs"
+
+ echo "=== Testing default configuration ==="
+ helm template test $CHART_DIR > /tmp/default.yaml
+ echo "✓ Default configuration renders successfully"
+
+ echo "=== Testing with S3 enabled ==="
+ helm template test $CHART_DIR --set s3.enabled=true > /tmp/s3.yaml
+ grep -q "kind: Deployment" /tmp/s3.yaml && grep -q "seaweedfs-s3" /tmp/s3.yaml
+ echo "✓ S3 deployment renders correctly"
+
+ echo "=== Testing with all-in-one mode ==="
+ helm template test $CHART_DIR --set allInOne.enabled=true > /tmp/allinone.yaml
+ grep -q "seaweedfs-all-in-one" /tmp/allinone.yaml
+ echo "✓ All-in-one deployment renders correctly"
+
+ echo "=== Testing with security enabled ==="
+ helm template test $CHART_DIR --set global.enableSecurity=true > /tmp/security.yaml
+ grep -q "security-config" /tmp/security.yaml
+ echo "✓ Security configuration renders correctly"
+
+ echo "=== Testing with monitoring enabled ==="
+ helm template test $CHART_DIR \
+ --set global.monitoring.enabled=true \
+ --set global.monitoring.gatewayHost=prometheus \
+ --set global.monitoring.gatewayPort=9091 > /tmp/monitoring.yaml
+ echo "✓ Monitoring configuration renders correctly"
+
+ echo "=== Testing with PVC storage ==="
+ helm template test $CHART_DIR \
+ --set master.data.type=persistentVolumeClaim \
+ --set master.data.size=10Gi \
+ --set master.data.storageClass=standard > /tmp/pvc.yaml
+ grep -q "PersistentVolumeClaim" /tmp/pvc.yaml
+ echo "✓ PVC configuration renders correctly"
+
+ echo "=== Testing with custom replicas ==="
+ helm template test $CHART_DIR \
+ --set master.replicas=3 \
+ --set filer.replicas=2 \
+ --set volume.replicas=3 > /tmp/replicas.yaml
+ echo "✓ Custom replicas configuration renders correctly"
+
+ echo "=== Testing filer with S3 gateway ==="
+ helm template test $CHART_DIR \
+ --set filer.s3.enabled=true \
+ --set filer.s3.enableAuth=true > /tmp/filer-s3.yaml
+ echo "✓ Filer S3 gateway renders correctly"
+
+ echo "=== Testing SFTP enabled ==="
+ helm template test $CHART_DIR --set sftp.enabled=true > /tmp/sftp.yaml
+ grep -q "seaweedfs-sftp" /tmp/sftp.yaml
+ echo "✓ SFTP deployment renders correctly"
+
+ echo "=== Testing ingress configurations ==="
+ helm template test $CHART_DIR \
+ --set master.ingress.enabled=true \
+ --set filer.ingress.enabled=true \
+ --set s3.enabled=true \
+ --set s3.ingress.enabled=true > /tmp/ingress.yaml
+ grep -q "kind: Ingress" /tmp/ingress.yaml
+ echo "✓ Ingress configurations render correctly"
+
+ echo "=== Testing COSI driver ==="
+ helm template test $CHART_DIR --set cosi.enabled=true > /tmp/cosi.yaml
+ grep -q "seaweedfs-cosi" /tmp/cosi.yaml
+ echo "✓ COSI driver renders correctly"
+
+ echo ""
+ echo "✅ All template rendering tests passed!"
+
- name: Create kind cluster
uses: helm/kind-action@v1.13.0
diff --git a/k8s/charts/seaweedfs/Chart.yaml b/k8s/charts/seaweedfs/Chart.yaml
index 379f67890..421b85175 100644
--- a/k8s/charts/seaweedfs/Chart.yaml
+++ b/k8s/charts/seaweedfs/Chart.yaml
@@ -3,4 +3,4 @@ description: SeaweedFS
name: seaweedfs
appVersion: "4.01"
# Dev note: Trigger a helm chart release by `git tag -a helm-<version>`
-version: 4.0.401 \ No newline at end of file
+version: 4.0.401
diff --git a/k8s/charts/seaweedfs/templates/all-in-one/all-in-one-deployment.yaml b/k8s/charts/seaweedfs/templates/all-in-one/all-in-one-deployment.yaml
index 8700a8a69..6f176ae19 100644
--- a/k8s/charts/seaweedfs/templates/all-in-one/all-in-one-deployment.yaml
+++ b/k8s/charts/seaweedfs/templates/all-in-one/all-in-one-deployment.yaml
@@ -352,7 +352,7 @@ spec:
httpGet:
path: {{ .Values.allInOne.readinessProbe.httpGet.path }}
port: {{ .Values.master.port }}
- scheme: {{ .Values.allInOne.readinessProbe.scheme }}
+ scheme: {{ .Values.allInOne.readinessProbe.httpGet.scheme }}
initialDelaySeconds: {{ .Values.allInOne.readinessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.allInOne.readinessProbe.periodSeconds }}
successThreshold: {{ .Values.allInOne.readinessProbe.successThreshold }}
@@ -364,7 +364,7 @@ spec:
httpGet:
path: {{ .Values.allInOne.livenessProbe.httpGet.path }}
port: {{ .Values.master.port }}
- scheme: {{ .Values.allInOne.livenessProbe.scheme }}
+ scheme: {{ .Values.allInOne.livenessProbe.httpGet.scheme }}
initialDelaySeconds: {{ .Values.allInOne.livenessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.allInOne.livenessProbe.periodSeconds }}
successThreshold: {{ .Values.allInOne.livenessProbe.successThreshold }}
diff --git a/k8s/charts/seaweedfs/templates/filer/filer-statefulset.yaml b/k8s/charts/seaweedfs/templates/filer/filer-statefulset.yaml
index 5aeccfa02..af82bd5e0 100644
--- a/k8s/charts/seaweedfs/templates/filer/filer-statefulset.yaml
+++ b/k8s/charts/seaweedfs/templates/filer/filer-statefulset.yaml
@@ -289,7 +289,7 @@ spec:
httpGet:
path: {{ .Values.filer.readinessProbe.httpGet.path }}
port: {{ .Values.filer.port }}
- scheme: {{ .Values.filer.readinessProbe.scheme }}
+ scheme: {{ .Values.filer.readinessProbe.httpGet.scheme }}
initialDelaySeconds: {{ .Values.filer.readinessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.filer.readinessProbe.periodSeconds }}
successThreshold: {{ .Values.filer.readinessProbe.successThreshold }}
@@ -301,7 +301,7 @@ spec:
httpGet:
path: {{ .Values.filer.livenessProbe.httpGet.path }}
port: {{ .Values.filer.port }}
- scheme: {{ .Values.filer.livenessProbe.scheme }}
+ scheme: {{ .Values.filer.livenessProbe.httpGet.scheme }}
initialDelaySeconds: {{ .Values.filer.livenessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.filer.livenessProbe.periodSeconds }}
successThreshold: {{ .Values.filer.livenessProbe.successThreshold }}
diff --git a/k8s/charts/seaweedfs/templates/master/master-statefulset.yaml b/k8s/charts/seaweedfs/templates/master/master-statefulset.yaml
index 704a33b80..a70673454 100644
--- a/k8s/charts/seaweedfs/templates/master/master-statefulset.yaml
+++ b/k8s/charts/seaweedfs/templates/master/master-statefulset.yaml
@@ -235,7 +235,7 @@ spec:
httpGet:
path: {{ .Values.master.readinessProbe.httpGet.path }}
port: {{ .Values.master.port }}
- scheme: {{ .Values.master.readinessProbe.scheme }}
+ scheme: {{ .Values.master.readinessProbe.httpGet.scheme }}
initialDelaySeconds: {{ .Values.master.readinessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.master.readinessProbe.periodSeconds }}
successThreshold: {{ .Values.master.readinessProbe.successThreshold }}
@@ -247,7 +247,7 @@ spec:
httpGet:
path: {{ .Values.master.livenessProbe.httpGet.path }}
port: {{ .Values.master.port }}
- scheme: {{ .Values.master.livenessProbe.scheme }}
+ scheme: {{ .Values.master.livenessProbe.httpGet.scheme }}
initialDelaySeconds: {{ .Values.master.livenessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.master.livenessProbe.periodSeconds }}
successThreshold: {{ .Values.master.livenessProbe.successThreshold }}
diff --git a/k8s/charts/seaweedfs/templates/s3/s3-deployment.yaml b/k8s/charts/seaweedfs/templates/s3/s3-deployment.yaml
index 0c6d52c3e..830e1d787 100644
--- a/k8s/charts/seaweedfs/templates/s3/s3-deployment.yaml
+++ b/k8s/charts/seaweedfs/templates/s3/s3-deployment.yaml
@@ -204,7 +204,7 @@ spec:
httpGet:
path: {{ .Values.s3.readinessProbe.httpGet.path }}
port: {{ .Values.s3.port }}
- scheme: {{ .Values.s3.readinessProbe.scheme }}
+ scheme: {{ .Values.s3.readinessProbe.httpGet.scheme }}
initialDelaySeconds: {{ .Values.s3.readinessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.s3.readinessProbe.periodSeconds }}
successThreshold: {{ .Values.s3.readinessProbe.successThreshold }}
@@ -216,7 +216,7 @@ spec:
httpGet:
path: {{ .Values.s3.livenessProbe.httpGet.path }}
port: {{ .Values.s3.port }}
- scheme: {{ .Values.s3.livenessProbe.scheme }}
+ scheme: {{ .Values.s3.livenessProbe.httpGet.scheme }}
initialDelaySeconds: {{ .Values.s3.livenessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.s3.livenessProbe.periodSeconds }}
successThreshold: {{ .Values.s3.livenessProbe.successThreshold }}
diff --git a/k8s/charts/seaweedfs/templates/volume/volume-statefulset.yaml b/k8s/charts/seaweedfs/templates/volume/volume-statefulset.yaml
index 29a035a2b..1a8964a55 100644
--- a/k8s/charts/seaweedfs/templates/volume/volume-statefulset.yaml
+++ b/k8s/charts/seaweedfs/templates/volume/volume-statefulset.yaml
@@ -251,7 +251,7 @@ spec:
httpGet:
path: {{ $volume.readinessProbe.httpGet.path }}
port: {{ $volume.port }}
- scheme: {{ $volume.readinessProbe.scheme }}
+ scheme: {{ $volume.readinessProbe.httpGet.scheme }}
initialDelaySeconds: {{ $volume.readinessProbe.initialDelaySeconds }}
periodSeconds: {{ $volume.readinessProbe.periodSeconds }}
successThreshold: {{ $volume.readinessProbe.successThreshold }}
@@ -263,7 +263,7 @@ spec:
httpGet:
path: {{ $volume.livenessProbe.httpGet.path }}
port: {{ $volume.port }}
- scheme: {{ $volume.livenessProbe.scheme }}
+ scheme: {{ $volume.livenessProbe.httpGet.scheme }}
initialDelaySeconds: {{ $volume.livenessProbe.initialDelaySeconds }}
periodSeconds: {{ $volume.livenessProbe.periodSeconds }}
successThreshold: {{ $volume.livenessProbe.successThreshold }}
diff --git a/k8s/charts/seaweedfs/values.yaml b/k8s/charts/seaweedfs/values.yaml
index 547b05479..520323dce 100644
--- a/k8s/charts/seaweedfs/values.yaml
+++ b/k8s/charts/seaweedfs/values.yaml
@@ -1133,7 +1133,7 @@ allInOne:
httpGet:
path: /cluster/status
port: 9333
- scheme: HTTP
+ scheme: HTTP
initialDelaySeconds: 10
periodSeconds: 15
successThreshold: 1
@@ -1145,7 +1145,7 @@ allInOne:
httpGet:
path: /cluster/status
port: 9333
- scheme: HTTP
+ scheme: HTTP
initialDelaySeconds: 20
periodSeconds: 30
successThreshold: 1