aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/test/integration/docker/server
diff options
context:
space:
mode:
Diffstat (limited to 'test/integration/docker/server')
-rw-r--r--test/integration/docker/server/Dockerfile22
-rwxr-xr-xtest/integration/docker/server/setup_repo.sh29
2 files changed, 51 insertions, 0 deletions
diff --git a/test/integration/docker/server/Dockerfile b/test/integration/docker/server/Dockerfile
new file mode 100644
index 0000000..a6283d0
--- /dev/null
+++ b/test/integration/docker/server/Dockerfile
@@ -0,0 +1,22 @@
+FROM alpine:3.11
+
+RUN apk --no-cache add bash git openssh-server && \
+ echo 'root:root' | chpasswd && \
+ git config --global user.name 'John Doe' && \
+ git config --global user.email 'John.Doe@example.com' && \
+ sed -ri 's/^#?PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config
+
+WORKDIR /root
+
+COPY ["ssh/server_key", "/etc/ssh/ssh_host_ed25519_key"]
+COPY ["ssh/server_key.pub", "/etc/ssh/ssh_host_ed25519_key.pub"]
+COPY ["ssh/client_key.pub", "./.ssh/authorized_keys"]
+
+RUN chmod 0600 -- /etc/ssh/ssh_host_ed25519_key && \
+ chmod 0700 -- ./.ssh/ && \
+ chmod 0600 -- ./.ssh/authorized_keys
+
+COPY ["server/setup_repo.sh", "./"]
+RUN ./setup_repo.sh
+
+CMD ["/usr/sbin/sshd", "-D"]
diff --git a/test/integration/docker/server/setup_repo.sh b/test/integration/docker/server/setup_repo.sh
new file mode 100755
index 0000000..82ae711
--- /dev/null
+++ b/test/integration/docker/server/setup_repo.sh
@@ -0,0 +1,29 @@
+#!/usr/bin/env bash
+
+set -o errexit -o nounset -o pipefail
+
+readonly local_repo_path="$HOME/test_repo"
+
+setup_local_repo() {
+ echo
+ echo ----------------------------------------------------------------------
+ echo Setting up upstream repository
+ echo ----------------------------------------------------------------------
+
+ mkdir -p -- "$local_repo_path"
+ pushd -- "$local_repo_path" > /dev/null
+ git init
+ echo '1' > 1.txt
+ git add .
+ git commit -m 'first commit'
+ echo '2' > 2.txt
+ git add .
+ git commit -m 'second commit'
+ popd > /dev/null
+}
+
+main() {
+ setup_local_repo
+}
+
+main