diff --git a/db-migration-worker/.gitignore b/db-migration-worker/.gitignore index 690bae050..87cb01310 100644 --- a/db-migration-worker/.gitignore +++ b/db-migration-worker/.gitignore @@ -1 +1 @@ -id_rsa +.ssh/id_rsa diff --git a/db-migration-worker/.ssh/.dockerignore b/db-migration-worker/.ssh/.dockerignore new file mode 100644 index 000000000..87cb01310 --- /dev/null +++ b/db-migration-worker/.ssh/.dockerignore @@ -0,0 +1 @@ +.ssh/id_rsa diff --git a/db-migration-worker/.ssh/known_hosts b/db-migration-worker/.ssh/known_hosts new file mode 100644 index 000000000..0ce0dce0d --- /dev/null +++ b/db-migration-worker/.ssh/known_hosts @@ -0,0 +1 @@ +|1|GuOYlVEhTowidPs18zj9p5F2j3o=|sDHJYLz9Ftv11oXeGEjs7SpVyg0= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBM5N29bI5CeKu1/RBPyM2fwyf7fuajOO+tyhKe1+CC2sZ1XNB5Ff6t6MtCLNRv2mUuvzTbW/HkisDiA5tuXUHOk= diff --git a/db-migration-worker/Dockerfile b/db-migration-worker/Dockerfile index 39ef39275..139b3403a 100644 --- a/db-migration-worker/Dockerfile +++ b/db-migration-worker/Dockerfile @@ -1,9 +1,7 @@ FROM mongo:latest -ARG KNOWN_HOST RUN apt-get update RUN apt-get -y install openssh-client -COPY id_rsa /root/.ssh/id_rsa -# RUN ssh-keyscan -H $KNOWN_HOST >> /root/.ssh/known_hosts +COPY .ssh /root/.ssh/ COPY import.sh . diff --git a/db-migration-worker/import.sh b/db-migration-worker/import.sh index 2ff3d6443..b1042844b 100755 --- a/db-migration-worker/import.sh +++ b/db-migration-worker/import.sh @@ -1,6 +1,6 @@ -#!/bin/bash +#!/usr/bin/env bash -for var in "SSH_USERNAME" "SSH_HOST" "MONGODB_USERNAME" "MONGODB_PASSWORD" "MONGODB_DATABASE" "NEO4J_USERNAME" "NEO4J_PASSWORD" "MONGODB_AUTH_DB" +for var in "SSH_USERNAME" "SSH_HOST" "MONGODB_USERNAME" "MONGODB_PASSWORD" "MONGODB_DATABASE" "MONGODB_AUTH_DB" do if [[ -z "${!var}" ]]; then echo "${var} is undefined" @@ -14,10 +14,11 @@ echo "MONGODB_USERNAME ${MONGODB_USERNAME}" echo "MONGODB_PASSWORD ${MONGODB_PASSWORD}" echo "MONGODB_DATABASE ${MONGODB_DATABASE}" echo "MONGODB_AUTH_DB ${MONGODB_AUTH_DB}" -echo "NEO4J_USERNAME ${NEO4J_USERNAME}" -echo "NEO4J_PASSWORD ${NEO4J_PASSWORD}" echo "-------------------------------------------------" +mongo ${MONGODB_DATABASE} --eval "db.dropDatabase();" +rm -f /mongo-export/* + ssh -4 -M -S my-ctrl-socket -fnNT -L 27018:localhost:27017 -l ${SSH_USERNAME} ${SSH_HOST} mongodump --host localhost -d ${MONGODB_DATABASE} --port 27018 --username ${MONGODB_USERNAME} --password ${MONGODB_PASSWORD} --authenticationDatabase ${MONGODB_AUTH_DB} --gzip --archive | mongorestore --gzip --archive ssh -S my-ctrl-socket -O check -l ${SSH_USERNAME} ${SSH_HOST} diff --git a/docker-compose.override.yml b/docker-compose.override.yml index c1ac0569d..c8644a6f8 100644 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -18,15 +18,12 @@ services: - 7474:7474 environment: - NEO4J_apoc_import_file_enabled=true - - "NEO4J_USERNAME=${NEO4J_USERNAME}" - - "NEO4J_PASSWORD=${NEO4J_PASSWORD}" db-migration-worker: build: context: db-migration-worker - args: - - "KNOWN_HOST=${SSH_HOST}" volumes: - mongo-export:/mongo-export + - ./db-migration-worker/.ssh/:/root/.ssh/ networks: - hc-network environment: