From 73fe2e95fec277478918d5d14bfc1c937b8bb507 Mon Sep 17 00:00:00 2001 From: reyerdam <15647925+reyerdam@users.noreply.github.com> Date: Wed, 10 Aug 2022 17:13:51 +0200 Subject: [PATCH] helm: Support adding objectlocking for buckets (#15505) implemented object locking during bucket creation in helm chart --- helm/minio/templates/_helper_create_bucket.txt | 16 ++++++++++++---- helm/minio/values.yaml | 6 ++++++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/helm/minio/templates/_helper_create_bucket.txt b/helm/minio/templates/_helper_create_bucket.txt index 35a48fca7..b45f64759 100644 --- a/helm/minio/templates/_helper_create_bucket.txt +++ b/helm/minio/templates/_helper_create_bucket.txt @@ -50,6 +50,7 @@ createBucket() { POLICY=$2 PURGE=$3 VERSIONING=$4 + OBJECTLOCKING=$5 # Purge the bucket, if set & exists # Since PURGE is user input, check explicitly for `true` @@ -64,21 +65,28 @@ createBucket() { fi fi - # Create the bucket if it does not exist + # Create the bucket if it does not exist and set objectlocking if enabled if ! checkBucketExists $BUCKET ; then + if [ ! -z $OBJECTLOCKING ] ; then + if [ $OBJECTLOCKING = true ] ; then + echo "Creating bucket with OBJECTLOCKING '$BUCKET'" + ${MC} mb --with-lock myminio/$BUCKET + elif [ $OBJECTLOCKING = false ] ; then echo "Creating bucket '$BUCKET'" ${MC} mb myminio/$BUCKET + fi else echo "Bucket '$BUCKET' already exists." fi + fi # set versioning for bucket if [ ! -z $VERSIONING ] ; then - if [ $VERSIONING = true ] ; then + if [ $VERSIONING = true ] && [ $OBJECTLOCKING = false ] ; then echo "Enabling versioning for '$BUCKET'" ${MC} version enable myminio/$BUCKET - elif [ $VERSIONING = false ] ; then + elif [ $VERSIONING = false ] && [ $OBJECTLOCKING = false ] ; then echo "Suspending versioning for '$BUCKET'" ${MC} version suspend myminio/$BUCKET fi @@ -104,6 +112,6 @@ connectToMinio $scheme {{ $global := . }} # Create the buckets {{- range .Values.buckets }} -createBucket {{ tpl .name $global }} {{ .policy }} {{ .purge }} {{ .versioning }} +createBucket {{ tpl .name $global }} {{ .policy }} {{ .purge }} {{ .versioning }} {{ .objectlocking }} {{- end }} {{- end }} diff --git a/helm/minio/values.yaml b/helm/minio/values.yaml index 7c45f1411..744697771 100644 --- a/helm/minio/values.yaml +++ b/helm/minio/values.yaml @@ -362,10 +362,16 @@ buckets: # # set versioning for # # bucket [true|false] # versioning: false + # # set objectlocking for + # # bucket [true|false] NOTE: versioning is enabled by default if you use locking + # objectlocking: false # - name: bucket2 # policy: none # purge: false # versioning: true + # # set objectlocking for + # # bucket [true|false] NOTE: versioning is enabled by default if you use locking + # objectlocking: false ## Additional Annotations for the Kubernetes Job makeBucketJob makeBucketJob: