From 6caa2b81222043487472866c9ac062a85cee7b2a Mon Sep 17 00:00:00 2001 From: Pierre Ozoux <pierre@ozoux.net> Date: Wed, 12 Jan 2022 12:37:26 +0100 Subject: [PATCH] Adds object store migration for nuage liiibre --- ...-01-2022-migrate-nuage-liiibre-to-minio.sh | 13 +++++ nextcloud/other-manifests/sync-job.yml | 54 +++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 migrations/12-01-2022-migrate-nuage-liiibre-to-minio.sh create mode 100644 nextcloud/other-manifests/sync-job.yml diff --git a/migrations/12-01-2022-migrate-nuage-liiibre-to-minio.sh b/migrations/12-01-2022-migrate-nuage-liiibre-to-minio.sh new file mode 100644 index 0000000..eede366 --- /dev/null +++ b/migrations/12-01-2022-migrate-nuage-liiibre-to-minio.sh @@ -0,0 +1,13 @@ +#!/bin/bash -eu + +source /root/domains/common/scripts/functions.sh + +export NS=liiib-re +export S3_ENDPOINT=https://hot-objects.liiib.re +export STORAGE_CLASS=hot + +# Create new hot bucket +export AWS_ACCESS_KEY_ID=nuage-liiib-re +export SECRET_NAME=nuage-liiib-re-s3-new +create_bucket +mc version enable ${STORAGE_CLASS}/${AWS_ACCESS_KEY_ID} \ No newline at end of file diff --git a/nextcloud/other-manifests/sync-job.yml b/nextcloud/other-manifests/sync-job.yml new file mode 100644 index 0000000..7236588 --- /dev/null +++ b/nextcloud/other-manifests/sync-job.yml @@ -0,0 +1,54 @@ +apiVersion: batch/v1 +kind: Job +metadata: + name: ${FQDN}-sync-buckets + namespace: ${DOMAIN} +spec: + template: + spec: + containers: + - command: [/sync/sync.sh] + env: + - name: RO_OBJECTSTORE_S3_KEY + valueFrom: + secretKeyRef: + key: AWS_ACCESS_KEY_ID + name: ${FQDN}-s3-ro + - name: RO_OBJECTSTORE_S3_SECRET + valueFrom: + secretKeyRef: + key: AWS_SECRET_ACCESS_KEY + name: ${FQDN}-s3-ro + - name: NEW_OBJECTSTORE_S3_KEY + valueFrom: + secretKeyRef: + key: AWS_ACCESS_KEY_ID + name: ${FQDN}-s3-new + - name: NEW_OBJECTSTORE_S3_SECRET + valueFrom: + secretKeyRef: + key: AWS_SECRET_ACCESS_KEY + name: ${FQDN}-s3-new + image: libresh/nextcloud:${NC_IMAGE_TAG} + imagePullPolicy: IfNotPresent + name: sync-buckets + volumeMounts: + - name: sync-script + mountPath: /sync/ + volumes: + - name: sync-script + configMap: + name: sync-script + defaultMode: 0700 + restartPolicy: Never +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: sync-script +data: + sync.sh: | + #!/bin/bash -eux + export MC_HOST_ro=https://${RO_AWS_ACCESS_KEY_ID}:${RO_AWS_SECRET_ACCESS_KEY}@s3.standard.indie.host + export MC_HOST_new=https://${NEW_AWS_ACCESS_KEY_ID}:${NEW_AWS_SECRET_ACCESS_KEY}@hot-objects.liiib.re + mc mirror --overwrite ro/${FQDN} new/${FQDN} -- GitLab