github.com/freiheit-com/kuberpult@v1.24.2-0.20240328135542-315d5630abe6/infrastructure/scripts/metadata-migration/create-metadata-locks.sh (about) 1 #!/usr/bin/env bash 2 3 set -eou pipefail # protection 4 #set -x # enable debug logs 5 6 for env in environments/* # $(find environments -maxdepth 1 -mindepth 1 -type d) 7 do 8 echo Looking in: "$env" 9 10 echo -----------------Application Locks------------------------ 11 for app in "$env"/applications/* 12 do 13 # If $app has locks 14 if [ -d "$app"/locks ]; then 15 echo Adding metadata to "$(ls "$app"/locks | wc -l)" locks in "$app" 16 find "$app"/locks -maxdepth 1 -mindepth 1 -type f -print0 | while IFS= read -r -d '' lock 17 do 18 echo Lock ID: "$(basename "$lock")" - Lock Message: "$(cat "$lock")" 19 date=$(git log -1 --date=iso-strict --format="%ad" -- "$lock") 20 name=$(git log -1 --format="%an" -- "$lock") 21 email=$(git log -1 --format="%ae" -- "$lock") 22 msg=$(cat "$lock") 23 rm "$lock" 24 mkdir -p "$lock" 25 echo "$date" > "$lock"/created_at 26 echo "$name" > "$lock"/created_by_name 27 echo "$email" > "$lock"/created_by_email 28 echo "$msg" > "$lock"/message 29 done 30 fi 31 done 32 echo -----------------Application Locks------------------------ 33 34 echo -----------------Environment Locks------------------------ 35 # If $env has locks 36 if [ -d "$env"/locks ]; then 37 echo Adding metadata to "$(ls "$env"/locks | wc -l)" locks in "$env" 38 find "$env"/locks -maxdepth 1 -mindepth 1 -type f -print0 | while IFS= read -r -d '' lock 39 do 40 echo Lock ID: "$(basename "$lock")" - Lock Message: "$(cat "$lock")" 41 date=$(git log -1 --date=iso-strict --format="%ad" -- "$lock") 42 name=$(git log -1 --format="%an" -- "$lock") 43 email=$(git log -1 --format="%ae" -- "$lock") 44 msg=$(cat "$lock") 45 rm "$lock" 46 mkdir -p "$lock" 47 echo "$date" > "$lock"/created_at 48 echo "$name" > "$lock"/created_by_name 49 echo "$email" > "$lock"/created_by_email 50 echo "$msg" > "$lock"/message 51 done 52 fi 53 echo -----------------Environment Locks------------------------ 54 done