diff options
author | Neil Alexander <neilalexander@users.noreply.github.com> | 2022-11-03 13:57:44 +0000 |
---|---|---|
committer | Neil Alexander <neilalexander@users.noreply.github.com> | 2022-11-03 13:57:44 +0000 |
commit | fb2e7d1b058c12188d2fa0eb31d1bccbaa0354b6 (patch) | |
tree | 19741f64833fe3cb95339d919a9250e4df22abad | |
parent | 9625a79926878c326f0553c576bec768e13b5e6a (diff) |
Put P2P Demos back into their own Dockerfiles
-rw-r--r-- | .github/workflows/docker.yml | 12 | ||||
-rw-r--r-- | Dockerfile | 34 | ||||
-rw-r--r-- | build/docker/Dockerfile.demo-pinecone | 30 | ||||
-rw-r--r-- | build/docker/Dockerfile.demo-yggdrasil | 30 |
4 files changed, 66 insertions, 40 deletions
diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 789f6c44..f0500ccc 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -24,7 +24,7 @@ jobs: permissions: contents: read packages: write - security-events: write # To upload Trivy sarif files + security-events: write # To upload Trivy sarif files steps: - name: Checkout uses: actions/checkout@v3 @@ -104,7 +104,7 @@ jobs: permissions: contents: read packages: write - security-events: write # To upload Trivy sarif files + security-events: write # To upload Trivy sarif files steps: - name: Checkout uses: actions/checkout@v3 @@ -220,7 +220,7 @@ jobs: cache-to: type=gha,mode=max context: . build-args: FLAGS=-X github.com/matrix-org/dendrite/internal.branch=${{ env.BRANCH }} -X github.com/matrix-org/dendrite/internal.build=${{ env.BUILD }} - target: demo-pinecone + file: ./build/docker/Dockerfile.demo-pinecone platforms: ${{ env.PLATFORMS }} push: true tags: | @@ -236,7 +236,7 @@ jobs: cache-to: type=gha,mode=max context: . build-args: FLAGS=-X github.com/matrix-org/dendrite/internal.branch=${{ env.BRANCH }} -X github.com/matrix-org/dendrite/internal.build=${{ env.BUILD }} - target: demo-pinecone + file: ./build/docker/Dockerfile.demo-pinecone platforms: ${{ env.PLATFORMS }} push: true tags: | @@ -287,7 +287,7 @@ jobs: cache-to: type=gha,mode=max context: . build-args: FLAGS=-X github.com/matrix-org/dendrite/internal.branch=${{ env.BRANCH }} -X github.com/matrix-org/dendrite/internal.build=${{ env.BUILD }} - target: demo-yggdrasil + file: ./build/docker/Dockerfile.demo-yggdrasil platforms: ${{ env.PLATFORMS }} push: true tags: | @@ -303,7 +303,7 @@ jobs: cache-to: type=gha,mode=max context: . build-args: FLAGS=-X github.com/matrix-org/dendrite/internal.branch=${{ env.BRANCH }} -X github.com/matrix-org/dendrite/internal.build=${{ env.BUILD }} - target: demo-yggdrasil + file: ./build/docker/Dockerfile.demo-yggdrasil platforms: ${{ env.PLATFORMS }} push: true tags: | @@ -65,40 +65,6 @@ ENTRYPOINT ["/usr/bin/dendrite-monolith-server"] EXPOSE 8008 8448 # -# Builds the Pinecone P2P demo image and contains all required binaries -# -FROM dendrite-base AS demo-pinecone -LABEL org.opencontainers.image.title="Dendrite (Pinecone P2P Demo)" - -COPY --from=build /out/create-account /usr/bin/create-account -COPY --from=build /out/generate-config /usr/bin/generate-config -COPY --from=build /out/generate-keys /usr/bin/generate-keys -COPY --from=build /out/dendrite-demo-pinecone /usr/bin/dendrite-demo-pinecone - -VOLUME /etc/dendrite -WORKDIR /etc/dendrite - -ENTRYPOINT ["/usr/bin/dendrite-demo-pinecone"] -EXPOSE 8008 8448 - -# -# Builds the Yggdrasil P2P demo image and contains all required binaries -# -FROM dendrite-base AS demo-yggdrasil -LABEL org.opencontainers.image.title="Dendrite (Yggdrasil P2P Demo)" - -COPY --from=build /out/create-account /usr/bin/create-account -COPY --from=build /out/generate-config /usr/bin/generate-config -COPY --from=build /out/generate-keys /usr/bin/generate-keys -COPY --from=build /out/dendrite-demo-yggdrasil /usr/bin/dendrite-demo-yggdrasil - -VOLUME /etc/dendrite -WORKDIR /etc/dendrite - -ENTRYPOINT ["/usr/bin/dendrite-demo-yggdrasil"] -EXPOSE 8008 8448 - -# # Builds the Complement image, used for integration tests # FROM base AS complement diff --git a/build/docker/Dockerfile.demo-pinecone b/build/docker/Dockerfile.demo-pinecone new file mode 100644 index 00000000..facd1e3a --- /dev/null +++ b/build/docker/Dockerfile.demo-pinecone @@ -0,0 +1,30 @@ +FROM docker.io/golang:1.19-alpine AS base + +# +# Needs to be separate from the main Dockerfile for OpenShift, +# as --target is not supported there. +# + +RUN apk --update --no-cache add bash build-base + +WORKDIR /build + +COPY . /build + +RUN mkdir -p bin +RUN go build -trimpath -o bin/ ./cmd/dendrite-demo-pinecone +RUN go build -trimpath -o bin/ ./cmd/create-account +RUN go build -trimpath -o bin/ ./cmd/generate-keys + +FROM alpine:latest +LABEL org.opencontainers.image.title="Dendrite (Pinecone demo)" +LABEL org.opencontainers.image.description="Next-generation Matrix homeserver written in Go" +LABEL org.opencontainers.image.source="https://github.com/matrix-org/dendrite" +LABEL org.opencontainers.image.licenses="Apache-2.0" + +COPY --from=base /build/bin/* /usr/bin/ + +VOLUME /etc/dendrite +WORKDIR /etc/dendrite + +ENTRYPOINT ["/usr/bin/dendrite-demo-pinecone"] diff --git a/build/docker/Dockerfile.demo-yggdrasil b/build/docker/Dockerfile.demo-yggdrasil new file mode 100644 index 00000000..efae5496 --- /dev/null +++ b/build/docker/Dockerfile.demo-yggdrasil @@ -0,0 +1,30 @@ +FROM docker.io/golang:1.19-alpine AS base + +# +# Needs to be separate from the main Dockerfile for OpenShift, +# as --target is not supported there. +# + +RUN apk --update --no-cache add bash build-base + +WORKDIR /build + +COPY . /build + +RUN mkdir -p bin +RUN go build -trimpath -o bin/ ./cmd/dendrite-demo-yggdrasil +RUN go build -trimpath -o bin/ ./cmd/create-account +RUN go build -trimpath -o bin/ ./cmd/generate-keys + +FROM alpine:latest +LABEL org.opencontainers.image.title="Dendrite (Yggdrasil demo)" +LABEL org.opencontainers.image.description="Next-generation Matrix homeserver written in Go" +LABEL org.opencontainers.image.source="https://github.com/matrix-org/dendrite" +LABEL org.opencontainers.image.licenses="Apache-2.0" + +COPY --from=base /build/bin/* /usr/bin/ + +VOLUME /etc/dendrite +WORKDIR /etc/dendrite + +ENTRYPOINT ["/usr/bin/dendrite-demo-yggdrasil"] |