forked from catalin/fukuops
feat: update gitea to v1.21.10
This commit is contained in:
parent
b02b45baef
commit
8964946374
5 changed files with 81 additions and 2 deletions
49
scripts/encode-secrets.sh
Executable file
49
scripts/encode-secrets.sh
Executable file
|
|
@ -0,0 +1,49 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
me=$(basename "$0")
|
||||
usage="Usage: $me [FILE]
|
||||
|
||||
Given a secrets YAML manifest, convert each secret value to base64
|
||||
"
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
echo "$usage"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! [ -x "$(command -v yq)" ]; then
|
||||
echo 'Error: yq is not installed.' >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
file=$1
|
||||
if [ ! -f "$file" ]; then
|
||||
echo "No such file: $file"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Read the YAML file
|
||||
map=$(yq eval '.' "$file")
|
||||
|
||||
# Check if 'data' key exists
|
||||
if ! yq eval '.data' "$file" > /dev/null 2>&1; then
|
||||
echo "The YAML file does not contain a 'data' key"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Get the 'data' object
|
||||
data=$(yq eval '.data' "$file")
|
||||
|
||||
# For each key in the 'data' object
|
||||
while IFS= read -r key; do
|
||||
# Base64 encode the value
|
||||
value=$(echo -n "$(yq eval ".${key}" <<< "$data")" | base64)
|
||||
# Update the 'data' object with the new value
|
||||
data=$(yq eval ".${key} = \"${value}\"" <<< "$data")
|
||||
done <<< "$(yq eval '.data | keys | .[]' <<< "$map")"
|
||||
|
||||
# Update the YAML with the new 'data' object
|
||||
map=$(yq eval ".data = \"${data}\"" <<< "$map")
|
||||
|
||||
# Print the new YAML
|
||||
echo "$map"
|
||||
Loading…
Add table
Add a link
Reference in a new issue