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