Clean up Dockerfile, add known_hosts file

@appinteractive it's troublesome to add the SSH private key via
environment variable. You have to convert newlines to spaces and convert
them back - which I think is error prone. I hope we can transfer the
private key file on to our deployed container later on.
This commit is contained in:
Robert Schäfer 2019-01-18 21:07:24 +01:00
parent bfad621306
commit f0c18e2cca
6 changed files with 10 additions and 12 deletions

View File

@ -1 +1 @@
id_rsa
.ssh/id_rsa

View File

@ -0,0 +1 @@
.ssh/id_rsa

View File

@ -0,0 +1 @@
|1|GuOYlVEhTowidPs18zj9p5F2j3o=|sDHJYLz9Ftv11oXeGEjs7SpVyg0= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBM5N29bI5CeKu1/RBPyM2fwyf7fuajOO+tyhKe1+CC2sZ1XNB5Ff6t6MtCLNRv2mUuvzTbW/HkisDiA5tuXUHOk=

View File

@ -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 .

View File

@ -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}

View File

@ -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: