From 3e03787551c8337109f9f7b7d4ad964062c672ae Mon Sep 17 00:00:00 2001 From: Valkum Date: Wed, 16 Sep 2020 19:53:27 +0200 Subject: [PATCH 1/5] Add Complement dockerfile and move sytest dir --- tests/Complement.Dockerfile | 10 ++++++++++ {sytest => tests/sytest}/are-we-synapse-yet.list | 0 {sytest => tests/sytest}/are-we-synapse-yet.py | 0 {sytest => tests/sytest}/show-expected-fail-tests.sh | 0 {sytest => tests/sytest}/sytest-blacklist | 0 {sytest => tests/sytest}/sytest-whitelist | 0 6 files changed, 10 insertions(+) create mode 100644 tests/Complement.Dockerfile rename {sytest => tests/sytest}/are-we-synapse-yet.list (100%) rename {sytest => tests/sytest}/are-we-synapse-yet.py (100%) rename {sytest => tests/sytest}/show-expected-fail-tests.sh (100%) rename {sytest => tests/sytest}/sytest-blacklist (100%) rename {sytest => tests/sytest}/sytest-whitelist (100%) diff --git a/tests/Complement.Dockerfile b/tests/Complement.Dockerfile new file mode 100644 index 00000000..56e4bf7a --- /dev/null +++ b/tests/Complement.Dockerfile @@ -0,0 +1,10 @@ +FROM valkum/docker-rust-ci:latest +WORKDIR /build + +COPY . . +RUN cargo build + +ENV SERVER_NAME=localhost +EXPOSE 14004 8448 + +CMD sed "s/server_name: your.server.name/server_name: ${SERVER_NAME}/g" Rocket-example.toml Rocket.toml && ./target/debug/conduit \ No newline at end of file diff --git a/sytest/are-we-synapse-yet.list b/tests/sytest/are-we-synapse-yet.list similarity index 100% rename from sytest/are-we-synapse-yet.list rename to tests/sytest/are-we-synapse-yet.list diff --git a/sytest/are-we-synapse-yet.py b/tests/sytest/are-we-synapse-yet.py similarity index 100% rename from sytest/are-we-synapse-yet.py rename to tests/sytest/are-we-synapse-yet.py diff --git a/sytest/show-expected-fail-tests.sh b/tests/sytest/show-expected-fail-tests.sh similarity index 100% rename from sytest/show-expected-fail-tests.sh rename to tests/sytest/show-expected-fail-tests.sh diff --git a/sytest/sytest-blacklist b/tests/sytest/sytest-blacklist similarity index 100% rename from sytest/sytest-blacklist rename to tests/sytest/sytest-blacklist diff --git a/sytest/sytest-whitelist b/tests/sytest/sytest-whitelist similarity index 100% rename from sytest/sytest-whitelist rename to tests/sytest/sytest-whitelist From 8d66428bebf3f2f595fb138c804f0c747917e399 Mon Sep 17 00:00:00 2001 From: Valkum Date: Thu, 17 Sep 2020 12:50:37 +0200 Subject: [PATCH 2/5] Add intermediate container to hide ARGs ARGs contain secrets to speed up builds --- tests/Complement.Dockerfile | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/tests/Complement.Dockerfile b/tests/Complement.Dockerfile index 56e4bf7a..35b3324f 100644 --- a/tests/Complement.Dockerfile +++ b/tests/Complement.Dockerfile @@ -1,10 +1,21 @@ -FROM valkum/docker-rust-ci:latest +FROM valkum/docker-rust-ci:latest as builder WORKDIR /build +ARG RUSTC_WRAPPER +ARG AWS_ACCESS_KEY_ID +ARG AWS_SECRET_ACCESS_KEY +ARG SCCACHE_BUCKET +ARG SCCACHE_ENDPOINT +ARG SCCACHE_S3_USE_SSL + COPY . . RUN cargo build +FROM valkum/docker-rust-ci:latest +WORKDIR /build +COPY --from=builder /build/target/debug/conduit /conduit + ENV SERVER_NAME=localhost EXPOSE 14004 8448 -CMD sed "s/server_name: your.server.name/server_name: ${SERVER_NAME}/g" Rocket-example.toml Rocket.toml && ./target/debug/conduit \ No newline at end of file +CMD sed "s/server_name: your.server.name/server_name: ${SERVER_NAME}/g" Rocket-example.toml Rocket.toml && /conduit \ No newline at end of file From da28c12eebc95be72308302abe69743852cec552 Mon Sep 17 00:00:00 2001 From: Valkum Date: Thu, 17 Sep 2020 15:36:36 +0200 Subject: [PATCH 3/5] Try to add TLS reverse proxy for complement --- tests/Complement.Dockerfile | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tests/Complement.Dockerfile b/tests/Complement.Dockerfile index 35b3324f..10a33d7d 100644 --- a/tests/Complement.Dockerfile +++ b/tests/Complement.Dockerfile @@ -13,9 +13,16 @@ RUN cargo build FROM valkum/docker-rust-ci:latest WORKDIR /build + +RUN curl -OL "https://github.com/caddyserver/caddy/releases/download/v2.1.1/caddy_2.1.1_linux_amd64.tar.gz" +RUN tar xzf caddy_2.1.1_linux_amd64.tar.gz + COPY --from=builder /build/target/debug/conduit /conduit ENV SERVER_NAME=localhost -EXPOSE 14004 8448 +COPY Rocket-example.toml Rocket.toml +RUN sed -i "s/server_name: your.server.name/server_name: ${SERVER_NAME}/g" Rocket.toml +RUN sed -i "s/port = 14004/port: 8008/g" Rocket.toml -CMD sed "s/server_name: your.server.name/server_name: ${SERVER_NAME}/g" Rocket-example.toml Rocket.toml && /conduit \ No newline at end of file +EXPOSE 8008 8448 +CMD caddy --from 8448 --to localhost:8008 & && /conduit \ No newline at end of file From 7c456a0390a5e14d8b758bc8f80c93a7c597f0ea Mon Sep 17 00:00:00 2001 From: Rudi Floren Date: Thu, 17 Sep 2020 20:14:07 +0200 Subject: [PATCH 4/5] Update dockerignore Removing Rocket-example.toml from here is fine, as it is not included in the last stage of our build stages --- .dockerignore | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.dockerignore b/.dockerignore index dd4433d7..80b30721 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,6 +1,6 @@ # Local build and dev artifacts target -sytest +tests # Docker files Dockerfile* @@ -21,7 +21,6 @@ docker-compose* # Toml files rustfmt.toml -Rocket-example.toml # Documentation *.md From 009e36b68010d4b8bb42acc05c3614f8742994bd Mon Sep 17 00:00:00 2001 From: Rudi Floren Date: Thu, 17 Sep 2020 21:11:18 +0200 Subject: [PATCH 5/5] Fix Caddy integration for reverse-proxy --- tests/Complement.Dockerfile | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/tests/Complement.Dockerfile b/tests/Complement.Dockerfile index 10a33d7d..f32f8786 100644 --- a/tests/Complement.Dockerfile +++ b/tests/Complement.Dockerfile @@ -1,5 +1,5 @@ FROM valkum/docker-rust-ci:latest as builder -WORKDIR /build +WORKDIR /workdir ARG RUSTC_WRAPPER ARG AWS_ACCESS_KEY_ID @@ -12,17 +12,19 @@ COPY . . RUN cargo build FROM valkum/docker-rust-ci:latest -WORKDIR /build +WORKDIR /workdir RUN curl -OL "https://github.com/caddyserver/caddy/releases/download/v2.1.1/caddy_2.1.1_linux_amd64.tar.gz" RUN tar xzf caddy_2.1.1_linux_amd64.tar.gz -COPY --from=builder /build/target/debug/conduit /conduit +COPY --from=builder /workdir/target/debug/conduit /workdir/conduit -ENV SERVER_NAME=localhost COPY Rocket-example.toml Rocket.toml -RUN sed -i "s/server_name: your.server.name/server_name: ${SERVER_NAME}/g" Rocket.toml -RUN sed -i "s/port = 14004/port: 8008/g" Rocket.toml + +ENV SERVER_NAME=localhost + +RUN sed -i "s/server_name = \"your.server.name\"/server_name = \"${SERVER_NAME}\"/g" Rocket.toml +RUN sed -i "s/port = 14004/port = 8008/g" Rocket.toml EXPOSE 8008 8448 -CMD caddy --from 8448 --to localhost:8008 & && /conduit \ No newline at end of file +CMD /workdir/caddy reverse-proxy --from ${SERVER_NAME}:8448 --to localhost:8008 > /dev/null 2>&1 & /workdir/conduit \ No newline at end of file