mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-09-08 15:41:15 +02:00
fix(helm): suspend bucket versioning for YAML bool false (#9836)
* fix(helm): suspend bucket versioning for YAML bool false createBuckets[].versioning accepts both a YAML bool and a string. The string branch maps "false"/"disable"/"suspended" to Suspended, but the bool branch only handled true (Enabled) and left false as a silent no-op. The same logical value therefore behaved differently depending on its YAML type: `versioning: false` did nothing while `versioning: "false"` suspended the bucket. Mirror the string behaviour in the bool branch so bool false suspends the bucket, and add a chart-CI render assertion covering it. Assisted-By: Claude <noreply@anthropic.com> Signed-off-by: Aleksei Sviridkin <f@lex.la> * ci(helm): trim versioning regression-test comment * chart: document bool false for createBuckets versioning --------- Signed-off-by: Aleksei Sviridkin <f@lex.la> Co-authored-by: Chris Lu <chris.lu@gmail.com>
This commit is contained in:
co-authored by
Chris Lu
parent
be7f417a03
commit
ae4ad6859d
@@ -446,6 +446,16 @@ jobs:
|
|||||||
sys.exit(1 if failed else 0)
|
sys.exit(1 if failed else 0)
|
||||||
PYEOF
|
PYEOF
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "=== Testing bucket versioning: YAML bool false suspends like string \"false\" ==="
|
||||||
|
# bool false used to be a silent no-op while string "false" suspended.
|
||||||
|
BOOL_FALSE=$(helm template test $CHART_DIR \
|
||||||
|
--set s3.enabled=true \
|
||||||
|
--set s3.createBuckets[0].name=verbucket \
|
||||||
|
--set s3.createBuckets[0].versioning=false | grep 's3.bucket.versioning -name verbucket' || true)
|
||||||
|
echo "$BOOL_FALSE" | grep -q -- '-status Suspended' || { echo "FAIL: bool false versioning did not Suspend the bucket"; exit 1; }
|
||||||
|
echo "✓ Bucket versioning: YAML bool false suspends consistently with string \"false\""
|
||||||
|
|
||||||
echo "✅ All template rendering tests passed!"
|
echo "✅ All template rendering tests passed!"
|
||||||
|
|
||||||
- name: Create kind cluster
|
- name: Create kind cluster
|
||||||
|
|||||||
@@ -143,6 +143,8 @@ spec:
|
|||||||
{{- if kindIs "bool" .versioning }}
|
{{- if kindIs "bool" .versioning }}
|
||||||
{{- if .versioning }}
|
{{- if .versioning }}
|
||||||
{{- $bucketVersioning = "Enabled" }}
|
{{- $bucketVersioning = "Enabled" }}
|
||||||
|
{{- else }}
|
||||||
|
{{- $bucketVersioning = "Suspended" }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- else if kindIs "string" .versioning }}
|
{{- else if kindIs "string" .versioning }}
|
||||||
{{- $versioningLower := lower .versioning }}
|
{{- $versioningLower := lower .versioning }}
|
||||||
|
|||||||
@@ -919,7 +919,7 @@ filer:
|
|||||||
# Buckets may be exposed publicly by setting `anonymousRead` to `true`
|
# Buckets may be exposed publicly by setting `anonymousRead` to `true`
|
||||||
# ttl format: [1-255][m|h|d|w|M|y] (e.g., 7d)
|
# ttl format: [1-255][m|h|d|w|M|y] (e.g., 7d)
|
||||||
# objectLock enables S3 Object Lock (irreversible, forces versioning)
|
# objectLock enables S3 Object Lock (irreversible, forces versioning)
|
||||||
# versioning: Enabled or Suspended (or true to enable)
|
# versioning: Enabled or Suspended (or bool true/false)
|
||||||
# createBuckets:
|
# createBuckets:
|
||||||
# - name: bucket-a
|
# - name: bucket-a
|
||||||
# anonymousRead: true
|
# anonymousRead: true
|
||||||
@@ -972,7 +972,7 @@ s3:
|
|||||||
# Buckets may be exposed publicly by setting `anonymousRead` to `true`
|
# Buckets may be exposed publicly by setting `anonymousRead` to `true`
|
||||||
# ttl format: [1-255][m|h|d|w|M|y] (e.g., 7d)
|
# ttl format: [1-255][m|h|d|w|M|y] (e.g., 7d)
|
||||||
# objectLock enables S3 Object Lock (irreversible, forces versioning)
|
# objectLock enables S3 Object Lock (irreversible, forces versioning)
|
||||||
# versioning: Enabled or Suspended (or true to enable)
|
# versioning: Enabled or Suspended (or bool true/false)
|
||||||
# createBuckets:
|
# createBuckets:
|
||||||
# - name: bucket-a
|
# - name: bucket-a
|
||||||
# anonymousRead: true
|
# anonymousRead: true
|
||||||
@@ -1526,7 +1526,7 @@ allInOne:
|
|||||||
# Buckets may be exposed publicly by setting `anonymousRead` to `true`
|
# Buckets may be exposed publicly by setting `anonymousRead` to `true`
|
||||||
# ttl format: [1-255][m|h|d|w|M|y] (e.g., 7d)
|
# ttl format: [1-255][m|h|d|w|M|y] (e.g., 7d)
|
||||||
# objectLock enables S3 Object Lock (irreversible, forces versioning)
|
# objectLock enables S3 Object Lock (irreversible, forces versioning)
|
||||||
# versioning: Enabled or Suspended (or true to enable)
|
# versioning: Enabled or Suspended (or bool true/false)
|
||||||
# createBuckets:
|
# createBuckets:
|
||||||
# - name: bucket-a
|
# - name: bucket-a
|
||||||
# anonymousRead: true
|
# anonymousRead: true
|
||||||
|
|||||||
Reference in New Issue
Block a user