Files
amplify-fusion/templates/predeploy/configmap-entrypoint-overwrite.yaml
2026-01-21 17:37:42 +11:00

37 lines
2.4 KiB
YAML

{{- if eq .Values.common.externalConfigMaps false }}
{{- if .Values.common.azfiles.forceCloseHandles.enabled }}
apiVersion: v1
kind: ConfigMap
metadata:
name: predeploy-entrypoint-override.sh
data:
predeploy-entrypoint-override.sh: |
set -e
{{- if .Values.common.azfiles.forceCloseHandles.enabled }}
client_id={{ .Values.common.azfiles.forceCloseHandles.vmssManagedIdentityClientId }}
storage_account={{ .Values.common.azfiles.storageAccountName }}
fileshare={{ .Values.common.azfiles.fileshareName }}
echo "closing remaining handles on component and event cache:"
echo "1/4: get an oauth2 access token based on your managed identity (client_id: ${client_id}), authorizing access to your storage account ${storage_account}"
response=$(curl -s "http://169.254.169.254/metadata/identity/oauth2/token?api-version=2018-02-01&client_id=${client_id}&resource=https%3A%2F%2F${storage_account}.file.core.windows.net" -H Metadata:true)
access_token=$(printf "${response}" | sed 's/^.*"access_token":"\([^"]*\)".*$/\1/g')
echo "2/4: list active file handles in component-cache & event-cache"
curl -s --request GET -H "x-ms-version: 2023-01-03" -H "x-ms-file-request-intent: backup" -H "x-ms-recursive: true" -H "Authorization: Bearer ${access_token}" \
"https://${storage_account}.file.core.windows.net/${fileshare}/component-cache?comp=listhandles"
curl -s --request GET -H "x-ms-version: 2023-01-03" -H "x-ms-file-request-intent: backup" -H "x-ms-recursive: true" -H "Authorization: Bearer ${access_token}" \
"https://${storage_account}.file.core.windows.net/${fileshare}/event-cache?comp=listhandles"
echo "3/4: force close handles in component-cache"
curl -s --request PUT -i -d "" -H "x-ms-version: 2023-01-03" -H "x-ms-file-request-intent: backup" -H "x-ms-recursive: true" -H "x-ms-handle-id: *" -H "Authorization: Bearer ${access_token}" \
"https://${storage_account}.file.core.windows.net/${fileshare}/component-cache?comp=forceclosehandles"
echo "4/4: force close handles in event-cache"
curl -s --request PUT -i -d "" -H "x-ms-version: 2023-01-03" -H "x-ms-file-request-intent: backup" -H "x-ms-recursive: true" -H "x-ms-handle-id: *" -H "Authorization: Bearer ${access_token}" \
"https://${storage_account}.file.core.windows.net/${fileshare}/event-cache?comp=forceclosehandles"
echo "closed handles"
{{- end }}
{{- end }}
{{- end }}