Update Helm hook annotations for post-install and upgrade (#8150)
* Update Helm hook annotations for post-install and upgrade I believe it makes sense to allow this job to run also after installation. Assuming weed shell is idempotent, and assuming someone wants to add a new bucket after the initial installation, it makes sense to trigger the job again. * Add check for existing buckets before creation * Enhances S3 bucket existence check Improves the reliability of checking for existing S3 buckets in the post-install hook. The previous `grep -w` command could lead to imprecise matches. This update extracts only the bucket name and performs an exact, whole-line match to ensure accurate detection of existing buckets. This prevents potential issues with redundant creation attempts or false negatives. * Currently Bucket Creation is ignored if filer.s3.enabled is disabled This commit enables bucket creation on both scenarios,i.e. if any of filer.s3.enabled or s3.enabled are used. --------- Co-authored-by: Emanuele <emanuele.leopardi@tset.com>
This commit is contained in:
committed by
GitHub
parent
6542d1e0aa
commit
51ef39fc76
@@ -15,14 +15,18 @@
|
|||||||
{{- $existingConfigSecret = or .Values.allInOne.s3.existingConfigSecret .Values.s3.existingConfigSecret .Values.filer.s3.existingConfigSecret }}
|
{{- $existingConfigSecret = or .Values.allInOne.s3.existingConfigSecret .Values.s3.existingConfigSecret .Values.filer.s3.existingConfigSecret }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- else if .Values.master.enabled }}
|
{{- else if .Values.master.enabled }}
|
||||||
{{- /* Check standalone filer.s3 mode */}}
|
{{- /* Check if embedded (in filer) or standalone S3 gateway is enabled */}}
|
||||||
{{- if .Values.filer.s3.enabled }}
|
{{- if or .Values.filer.s3.enabled .Values.s3.enabled }}
|
||||||
{{- $s3Enabled = true }}
|
{{- $s3Enabled = true }}
|
||||||
{{- if .Values.filer.s3.createBuckets }}
|
{{- if .Values.s3.createBuckets }}
|
||||||
|
{{- $createBuckets = .Values.s3.createBuckets }}
|
||||||
|
{{- $enableAuth = .Values.s3.enableAuth }}
|
||||||
|
{{- $existingConfigSecret = .Values.s3.existingConfigSecret }}
|
||||||
|
{{- else if .Values.filer.s3.createBuckets }}
|
||||||
{{- $createBuckets = .Values.filer.s3.createBuckets }}
|
{{- $createBuckets = .Values.filer.s3.createBuckets }}
|
||||||
|
{{- $enableAuth = .Values.filer.s3.enableAuth }}
|
||||||
|
{{- $existingConfigSecret = .Values.filer.s3.existingConfigSecret }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- $enableAuth = .Values.filer.s3.enableAuth }}
|
|
||||||
{{- $existingConfigSecret = .Values.filer.s3.existingConfigSecret }}
|
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
@@ -36,7 +40,7 @@ metadata:
|
|||||||
app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
|
app.kubernetes.io/managed-by: {{ .Release.Service | quote }}
|
||||||
app.kubernetes.io/instance: {{ .Release.Name | quote }}
|
app.kubernetes.io/instance: {{ .Release.Name | quote }}
|
||||||
annotations:
|
annotations:
|
||||||
"helm.sh/hook": post-install
|
"helm.sh/hook": post-install,post-upgrade
|
||||||
"helm.sh/hook-weight": "-5"
|
"helm.sh/hook-weight": "-5"
|
||||||
"helm.sh/hook-delete-policy": hook-succeeded
|
"helm.sh/hook-delete-policy": hook-succeeded
|
||||||
spec:
|
spec:
|
||||||
@@ -105,9 +109,12 @@ spec:
|
|||||||
wait_for_service "http://$WEED_CLUSTER_SW_FILER{{ .Values.filer.readinessProbe.httpGet.path }}"
|
wait_for_service "http://$WEED_CLUSTER_SW_FILER{{ .Values.filer.readinessProbe.httpGet.path }}"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- range $createBuckets }}
|
{{- range $createBuckets }}
|
||||||
/bin/echo \
|
if /bin/echo "s3.bucket.list" | /usr/bin/weed shell | awk '{print $1}' | grep -Fxq "{{ .name }}"; then
|
||||||
"s3.bucket.create --name {{ .name }}" |\
|
echo "Bucket '{{ .name }}' already exists, skipping creation."
|
||||||
/usr/bin/weed shell
|
else
|
||||||
|
echo "Creating bucket '{{ .name }}'..."
|
||||||
|
/bin/echo "s3.bucket.create --name {{ .name }}" | /usr/bin/weed shell
|
||||||
|
fi
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- range $createBuckets }}
|
{{- range $createBuckets }}
|
||||||
{{- if .anonymousRead }}
|
{{- if .anonymousRead }}
|
||||||
|
|||||||
@@ -891,7 +891,7 @@ filer:
|
|||||||
# should have a secret key called seaweedfs_s3_config with an inline json configure
|
# should have a secret key called seaweedfs_s3_config with an inline json configure
|
||||||
existingConfigSecret: null
|
existingConfigSecret: null
|
||||||
auditLogConfig: {}
|
auditLogConfig: {}
|
||||||
# You may specify buckets to be created during the install process.
|
# You may specify buckets to be created during the install or upgrade process.
|
||||||
# Buckets may be exposed publicly by setting `anonymousRead` to `true`
|
# Buckets may be exposed publicly by setting `anonymousRead` to `true`
|
||||||
# createBuckets:
|
# createBuckets:
|
||||||
# - name: bucket-a
|
# - name: bucket-a
|
||||||
@@ -916,6 +916,13 @@ s3:
|
|||||||
# should have a secret key called seaweedfs_s3_config with an inline json config
|
# should have a secret key called seaweedfs_s3_config with an inline json config
|
||||||
existingConfigSecret: null
|
existingConfigSecret: null
|
||||||
auditLogConfig: {}
|
auditLogConfig: {}
|
||||||
|
# You may specify buckets to be created during the install or upgrade process.
|
||||||
|
# Buckets may be exposed publicly by setting `anonymousRead` to `true`
|
||||||
|
# createBuckets:
|
||||||
|
# - name: bucket-a
|
||||||
|
# anonymousRead: true
|
||||||
|
# - name: bucket-b
|
||||||
|
# anonymousRead: false
|
||||||
|
|
||||||
# Suffix of the host name, {bucket}.{domainName}
|
# Suffix of the host name, {bucket}.{domainName}
|
||||||
domainName: ""
|
domainName: ""
|
||||||
|
|||||||
Reference in New Issue
Block a user