35 lines
1.4 KiB
Plaintext
35 lines
1.4 KiB
Plaintext
|
#!/bin/bash
|
||
|
|
||
|
keymapping=${1}
|
||
|
|
||
|
if ! [[ -f ${keymapping} ]]; then
|
||
|
echo "We need a valid keymapping file to proceed"
|
||
|
exit
|
||
|
fi
|
||
|
|
||
|
function get_secrets {
|
||
|
# Expects a space separated file with oldkey newkey newsecret
|
||
|
grep ${1} ${keymapping} | awk '{print $2, $3}'
|
||
|
}
|
||
|
|
||
|
for line in $(docker exec -u www-data nextcloud_app_1 /var/www/html/occ files_external:list --all --output json | jq -r '.[] | "\(.mount_id);\(.configuration.key)"'); do
|
||
|
id=$(echo ${line} | awk -F ';' '{print $1}')
|
||
|
key=$(echo ${line} | awk -F ';' '{print $2}')
|
||
|
if [[ "x${key}" == "x" ]] || [[ "${id}" == "x" ]]; then
|
||
|
echo "Old key or mount id is empty, bailing out."
|
||
|
exit 1
|
||
|
fi
|
||
|
secrets="$(get_secrets ${key})"
|
||
|
newkey="$(echo ${secrets} | awk '{print $1}')"
|
||
|
secret="$(echo ${secrets} | awk '{print $2}')"
|
||
|
if [[ "x${newkey}" == "x" ]] || [[ "x${secret}" == "x" ]]; then
|
||
|
echo "New key or secret is empty, skipping mount id ${id}."
|
||
|
continue
|
||
|
fi
|
||
|
|
||
|
docker exec -u www-data nextcloud_app_1 /var/www/html/occ files_external:config ${id} region us-east-1
|
||
|
docker exec -u www-data nextcloud_app_1 /var/www/html/occ files_external:config ${id} hostname s3.sto4.safedc.net
|
||
|
docker exec -u www-data nextcloud_app_1 /var/www/html/occ files_external:config ${id} key ${newkey}
|
||
|
docker exec -u www-data nextcloud_app_1 /var/www/html/occ files_external:config ${id} secret ${secret}
|
||
|
done
|