diff --git a/migrations/2022-01-19-sync-half-nc-1st-part.sh b/migrations/2022-01-19-sync-half-nc-1st-part.sh new file mode 100644 index 0000000000000000000000000000000000000000..97a37f128211545529719d48cf8a7b0d224cd195 --- /dev/null +++ b/migrations/2022-01-19-sync-half-nc-1st-part.sh @@ -0,0 +1,13 @@ +#!/bin/bash -eu + +for nuage in `kubectl get ing -l app.kubernetes.io/name=nextcloud -A --no-headers -o custom-columns=":metadata.name" | sed s/-web//g | head -n 25`; do + export NS=`echo $nuage | cut -d"-" -f2-` + export SUBDOMAIN=`echo $nuage | cut -d"-" -f1` + export OBJECTSTORE_S3_HOST=`kubectl -n ${NS} get secrets ${SUBDOMAIN}-${NS}-app -o json | jq -r ".data.OBJECTSTORE_S3_HOST" | base64 -d` + if [ "$OBJECTSTORE_S3_HOST" = "s3.standard.indie.host" ]; then + if ! kubectl get secret -n ${NS} | grep -q new; then + echo Syncing $nuage ... + /root/domains/common/scripts/change_stockage_nuage_first_sync.sh + fi + fi +done diff --git a/migrations/2022-01-20-sync-half-nc-2nd-part.sh b/migrations/2022-01-20-sync-half-nc-2nd-part.sh new file mode 100644 index 0000000000000000000000000000000000000000..65e2dd47c4210bec5d11f6f96434755879b7991f --- /dev/null +++ b/migrations/2022-01-20-sync-half-nc-2nd-part.sh @@ -0,0 +1,11 @@ +#!/bin/bash -eu + +for nuage in `kubectl get ing -l app.kubernetes.io/name=nextcloud -A --no-headers -o custom-columns=":metadata.name" | sed s/-web//g | head -n 25`; do + export NS=`echo $nuage | cut -d"-" -f2-` + export SUBDOMAIN=`echo $nuage | cut -d"-" -f1` + export OBJECTSTORE_S3_HOST=`kubectl -n ${NS} get secrets ${SUBDOMAIN}-${NS}-app -o json | jq -r ".data.OBJECTSTORE_S3_HOST" | base64 -d` + if [ "$OBJECTSTORE_S3_HOST" = "s3.standard.indie.host" ]; then + echo Syncing $nuage ... + /root/domains/common/scripts/change_stockage_nuage_second_sync.sh + fi +done diff --git a/scripts/change_stockage_nuage_first_sync.sh b/scripts/change_stockage_nuage_first_sync.sh index b78113b1d4e607a4eada0241107b0173469f1b11..aa6126683f68209af3b434e93548fd0e333a4eb3 100755 --- a/scripts/change_stockage_nuage_first_sync.sh +++ b/scripts/change_stockage_nuage_first_sync.sh @@ -1,9 +1,10 @@ #!/bin/bash -eu -source /root/domains/common/scripts/functions.sh - #export NS=liiib-re #export SUBDOMAIN=nuage + +source /root/domains/common/scripts/functions.sh + export APP=${SUBDOMAIN}-${NS} export S3_ENDPOINT=https://hot-objects.liiib.re export STORAGE_CLASS=hot @@ -12,10 +13,11 @@ export STORAGE_CLASS=hot export AWS_ACCESS_KEY_ID=${APP} export SECRET_NAME=${APP}-s3-new create_bucket -#mc version enable ${STORAGE_CLASS}/${AWS_ACCESS_KEY_ID} +mc version enable ${STORAGE_CLASS}/${AWS_ACCESS_KEY_ID} -kubectl -n liiib-re get secret ro-s3 --export -o yaml 2> /dev/null | kubectl -n ${NS} apply -f - +kubectl -n liiib-re get secret s3-ro --export -o yaml 2> /dev/null | kubectl -n ${NS} apply -f - kubectl -n ${NS} get secret ${APP}-s3 --export -o yaml 2> /dev/null | sed "s/${APP}-s3/${APP}-backup/g" | kubectl -n ${NS} apply -f - cd ~/domains/${NS}/${SUBDOMAIN} libre apply ~/domains/common/nextcloud/other-manifests/sync-job.yml +kubectl -n ${NS} wait --for=condition=complete --timeout=-1s job/${SUBDOMAIN}-${NS}-sync-buckets diff --git a/scripts/change_stockage_nuage_second_sync.sh b/scripts/change_stockage_nuage_second_sync.sh index b33a083b67ea50ab54a1b17af2e57a2ee92a8059..3fdbae2dfc13c4da1fccaf6aa92e78a903aed800 100755 --- a/scripts/change_stockage_nuage_second_sync.sh +++ b/scripts/change_stockage_nuage_second_sync.sh @@ -1,21 +1,19 @@ #!/bin/bash -eu -source /root/domains/common/scripts/functions.sh - #export NS=liiib-re #export SUBDOMAIN=nuage +export APP=${SUBDOMAIN}-${NS} + +kubectl -n ${NS} scale --replicas=0 deployment/${APP}-app cd ~/domains/${NS}/${SUBDOMAIN} +kubectl -n ${NS} delete job/${SUBDOMAIN}-${NS}-sync-buckets libre apply ~/domains/common/nextcloud/other-manifests/sync-job.yml - +kubectl -n ${NS} wait --for=condition=complete --timeout=-1s job/${SUBDOMAIN}-${NS}-sync-buckets kubectl -n ${NS} get secret ${APP}-app --export -o json 2> /dev/null | jq --arg value "$(echo -n hot-objects.liiib.re | base64 -w0)" '.data["OBJECTSTORE_S3_HOST"]=$value' | kubectl -n ${NS} apply -f - - -kubectl -n ${NS} scale --replicas=0 deployment/${APP}-app kubectl -n ${NS} delete secret ${APP}-s3 kubectl -n ${NS} get secret ${APP}-s3-new --export -o yaml 2> /dev/null | sed "s/${APP}-s3-new/${APP}-s3/g" | kubectl -n ${NS} apply -f - -kubectl -n ${NS} scale --replicas=2 deployment/nuage-liiib-re-app -PO=`k -n ${NS} get po -l app.kubernetes.io/name=nextcloud,app.kubernetes.io/component=app --no-headers -o custom-columns=":metadata.name" | head -n1` # Get the first po -kubectl -n ${NS} exec $PO -- php occ app:enable files_versions_s3 +kubectl -n ${NS} scale --replicas=2 deployment/${APP}-app