FROM ubuntu:latest
+ARG SSH_PRIVKEY_FILE=id_ed25519
ENV DEBIAN_FRONTEND=noninteractive
RUN \
mkdir $HOME/.ssh && \
- touch $HOME/.ssh/id_ed25519 && \
- chmod 600 $HOME/.ssh/id_ed25519 && \
+ touch $HOME/.ssh/${SSH_PRIVKEY_FILE} && \
+ chmod 600 $HOME/.ssh/${SSH_PRIVKEY_FILE} && \
echo "StrictHostKeyChecking=no" > $HOME/.ssh/config && \
echo "UserKnownHostsFile=/dev/null" >> $HOME/.ssh/config
RUN apt-get update && \
-# Generate an SSH keypair to use
-SSH_PRIVKEY_PATH=$(mktemp -u /tmp/teuthology-ssh-key-XXXXXX)
-ssh-keygen -t ed25519 -N '' -f $SSH_PRIVKEY_PATH
-export SSH_PRIVKEY=$(cat $SSH_PRIVKEY_PATH)
-export SSH_PUBKEY=$(cat $SSH_PRIVKEY_PATH.pub)
+# Generate an SSH keypair to use if necessary
+if [ -z "$SSH_PRIVKEY_PATH" ]; then
+ SSH_PRIVKEY_PATH=$(mktemp -u /tmp/teuthology-ssh-key-XXXXXX)
+ ssh-keygen -t ed25519 -N '' -f $SSH_PRIVKEY_PATH
+ export SSH_PRIVKEY=$(cat $SSH_PRIVKEY_PATH)
+ export SSH_PUBKEY=$(cat $SSH_PRIVKEY_PATH.pub)
+ export SSH_PRIVKEY_FILE=id_ed25519
+else
+ export SSH_PRIVKEY=$(cat $SSH_PRIVKEY_PATH)
+ export SSH_PRIVKEY_FILE=$(basename $SSH_PRIVKEY_PATH | cut -d. -f1)
+fi
trap "docker-compose down" SIGINT
docker-compose up \
#!/usr/bin/bash
-set -e
# We don't want -x yet, in case the private key is sensitive
-echo "$SSH_PRIVKEY" > $HOME/.ssh/id_ed25519
+if [ -n "$SSH_PRIVKEY_FILE" ]; then
+ echo "$SSH_PRIVKEY" > $HOME/.ssh/$SSH_PRIVKEY_FILE
+fi
source /teuthology/virtualenv/bin/activate
set -x
if [ -n "$TESTNODES" ]; then