From 2e1ff9e627f1b029cb79996e6bbd5dd12b5ac965 Mon Sep 17 00:00:00 2001 From: Carine Dengler Date: Wed, 4 Oct 2023 16:57:56 +0200 Subject: [PATCH 1/5] refactor: remove unused build stage 'debug' --- Dockerfiles/Dockerfile.dela | 12 +----------- docker-compose/docker-compose.debug.yml | 2 +- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/Dockerfiles/Dockerfile.dela b/Dockerfiles/Dockerfile.dela index 853bdcce3..3668bf5c9 100644 --- a/Dockerfiles/Dockerfile.dela +++ b/Dockerfiles/Dockerfile.dela @@ -7,7 +7,7 @@ RUN go install WORKDIR /go/d-voting COPY . . -FROM base AS production +FROM base AS build COPY --from=base /go/dela . COPY --from=base /go/d-voting . WORKDIR /go/d-voting/cli/dvoting @@ -15,13 +15,3 @@ RUN go build ENV PATH=/go/dela/cli/crypto:/go/d-voting/cli/dvoting:${PATH} ENTRYPOINT ["/bin/bash", "-c", "dvoting --config /data/node start --postinstall --proxyaddr :$PROXYPORT --proxykey $PROXYKEY --listen tcp://0.0.0.0:2000 --public http://$HOSTNAME:$NODEPORT --routing tree"] CMD [] - -FROM base AS debug -COPY --from=base /go/dela . -COPY --from=base /go/d-voting . -RUN go install github.com/go-delve/delve/cmd/dlv@latest -WORKDIR /go/d-voting/cli/dvoting -RUN go build -gcflags="all=-N -l" -ENV PATH=/go/dela/cli/crypto:/go/d-voting/cli/dvoting:${PATH} -ENTRYPOINT ["/bin/bash", "-c", "dlv --listen=:40000 --headless=true --api-version=2 --accept-multiclient exec /go/d-voting/cli/dvoting/dvoting -- --config /data/node start --postinstall --proxyaddr :$PROXYPORT --proxykey $PROXYKEY --listen tcp://0.0.0.0:2000 --public http://$HOSTNAME:2000 --routing tree"] -CMD [] diff --git a/docker-compose/docker-compose.debug.yml b/docker-compose/docker-compose.debug.yml index 04609c55d..9e07fe368 100644 --- a/docker-compose/docker-compose.debug.yml +++ b/docker-compose/docker-compose.debug.yml @@ -3,7 +3,7 @@ x-dela: &dela build: dockerfile: Dockerfiles/Dockerfile.dela context: ../ - target: production + target: build env_file: ../.env profiles: - dela From 95cbebffae4faf6ad40ec3ae3e97047018da222d Mon Sep 17 00:00:00 2001 From: Carine Dengler Date: Wed, 4 Oct 2023 16:58:52 +0200 Subject: [PATCH 2/5] fix: set log level back to 'debug' --- docker-compose/docker-compose.debug.yml | 2 +- docker-compose/docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose/docker-compose.debug.yml b/docker-compose/docker-compose.debug.yml index 9e07fe368..f5eb14087 100644 --- a/docker-compose/docker-compose.debug.yml +++ b/docker-compose/docker-compose.debug.yml @@ -11,7 +11,7 @@ x-dela: &dela environment: PROXYKEY: ${PUBLIC_KEY} PROXY_LOG: info - LLVL: info + LLVL: debug services: diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index 1f1d6fa98..4b706c4d6 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -15,7 +15,7 @@ services: build: dockerfile: Dockerfiles/Dockerfile.dela context: ../ - target: production + target: build volumes: - dela-worker-0-data:/data hostname: dela-worker-0 From b80f59b6109676758cc68f5c29d1bbea9eda9410 Mon Sep 17 00:00:00 2001 From: Carine Dengler Date: Wed, 4 Oct 2023 17:07:05 +0200 Subject: [PATCH 3/5] fix: aligned docker-compose.yml and docker-compose.debug.yml --- docker-compose/docker-compose.yml | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index 4b706c4d6..31c9affbe 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -1,12 +1,14 @@ version: "3.8" x-dela: &dela image: ghcr.io/c4dt/d-voting-dela:latest + env_file: ../.env + profiles: + - dela + - all environment: PROXYKEY: ${PUBLIC_KEY} - PROXYPORT: ${PROXYPORT} PROXY_LOG: info LLVL: info - NODEPORT: ${NODEPORT} services: @@ -54,9 +56,10 @@ services: context: ../ ports: - 127.0.0.1:3000:3000 - environment: - BACKEND_HOST: ${BACKEND_HOST} - BACKEND_PORT: ${BACKEND_PORT} + env_file: ../.env + profiles: + - client + - all networks: d-voting: ipv4_address: 172.19.44.2 @@ -66,17 +69,7 @@ services: build: dockerfile: Dockerfiles/Dockerfile.backend context: ../ - environment: - DATABASE_USERNAME: ${DATABASE_USERNAME} - DATABASE_PASSWORD: ${DATABASE_PASSWORD} - DATABASE_HOST: ${DATABASE_HOST} - DATABASE_PORT: ${DATABASE_PORT} - DB_PATH: /data/${DB_PATH} - FRONT_END_URL: ${FRONT_END_URL} - DELA_NODE_URL: ${DELA_NODE_URL} - SESSION_SECRET: ${SESSION_SECRET} - PUBLIC_KEY: ${PUBLIC_KEY} - PRIVATE_KEY: ${PRIVATE_KEY} + env_file: ../.env ports: - 127.0.0.1:5000:5000 depends_on: @@ -84,6 +77,9 @@ services: condition: service_started volumes: - backend-data:/data + profiles: + - client + - all networks: d-voting: ipv4_address: 172.19.44.3 @@ -96,6 +92,9 @@ services: volumes: - postgres-data:/var/lib/postgresql/data - ../web/backend/src/migration.sql:/docker-entrypoint-initdb.d/init.sql + profiles: + - client + - all networks: d-voting: ipv4_address: 172.19.44.4 From 7c789c8ec76bd0b32a98373cda8b7358aba41680 Mon Sep 17 00:00:00 2001 From: Carine Dengler Date: Wed, 4 Oct 2023 17:23:28 +0200 Subject: [PATCH 4/5] feat: use --noTLS by default for production deployment (TLS termination by reverse proxy) --- Dockerfiles/Dockerfile.dela | 2 +- docker-compose/docker-compose.debug.yml | 24 ++++++++++++++++-------- docker-compose/docker-compose.yml | 24 ++++++++++++++++-------- 3 files changed, 33 insertions(+), 17 deletions(-) diff --git a/Dockerfiles/Dockerfile.dela b/Dockerfiles/Dockerfile.dela index 3668bf5c9..5535c8dbd 100644 --- a/Dockerfiles/Dockerfile.dela +++ b/Dockerfiles/Dockerfile.dela @@ -13,5 +13,5 @@ COPY --from=base /go/d-voting . WORKDIR /go/d-voting/cli/dvoting RUN go build ENV PATH=/go/dela/cli/crypto:/go/d-voting/cli/dvoting:${PATH} -ENTRYPOINT ["/bin/bash", "-c", "dvoting --config /data/node start --postinstall --proxyaddr :$PROXYPORT --proxykey $PROXYKEY --listen tcp://0.0.0.0:2000 --public http://$HOSTNAME:$NODEPORT --routing tree"] +ENTRYPOINT ["/bin/bash", "-c", "dvoting --config /data/node start --postinstall --proxyaddr :$PROXYPORT --proxykey $PROXYKEY --listen tcp://0.0.0.0:2000 --public $PUBLIC_URL --routing tree --noTLS"] CMD [] diff --git a/docker-compose/docker-compose.debug.yml b/docker-compose/docker-compose.debug.yml index f5eb14087..66a1ea7f5 100644 --- a/docker-compose/docker-compose.debug.yml +++ b/docker-compose/docker-compose.debug.yml @@ -8,18 +8,20 @@ x-dela: &dela profiles: - dela - all - environment: - PROXYKEY: ${PUBLIC_KEY} - PROXY_LOG: info - LLVL: debug +x-dela-env: &dela-env + PROXYKEY: ${PUBLIC_KEY} + PROXY_LOG: info + LLVL: debug services: dela-worker-0: # inital DELA leader node <<: *dela + environment: + <<: *dela-env + PUBLIC_URL: grpc://dela-worker-0:2000 volumes: - dela-worker-0-data:/data - hostname: dela-worker-0 ports: - 127.0.0.1:40000:40000 networks: @@ -29,7 +31,9 @@ services: <<: *dela volumes: - dela-worker-1-data:/data - hostname: dela-worker-1 + environment: + <<: *dela-env + PUBLIC_URL: grpc://dela-worker-1:2000 ports: - 127.0.0.1:40001:40000 networks: @@ -39,7 +43,9 @@ services: <<: *dela volumes: - dela-worker-2-data:/data - hostname: dela-worker-2 + environment: + <<: *dela-env + PUBLIC_URL: grpc://dela-worker-2:2000 ports: - 127.0.0.1:40002:40000 networks: @@ -49,7 +55,9 @@ services: <<: *dela volumes: - dela-worker-3-data:/data - hostname: dela-worker-3 + environment: + <<: *dela-env + PUBLIC_URL: grpc://dela-worker-3:2000 ports: - 127.0.0.1:40003:40000 networks: diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index 31c9affbe..cb1d3233e 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -5,10 +5,10 @@ x-dela: &dela profiles: - dela - all - environment: - PROXYKEY: ${PUBLIC_KEY} - PROXY_LOG: info - LLVL: info +x-dela-env: &dela-env + PROXYKEY: ${PUBLIC_KEY} + PROXY_LOG: info + LLVL: info services: @@ -18,9 +18,11 @@ services: dockerfile: Dockerfiles/Dockerfile.dela context: ../ target: build + environment: + <<: *dela-env + PUBLIC_URL: grpc://dela-worker-0:2000 volumes: - dela-worker-0-data:/data - hostname: dela-worker-0 networks: d-voting: ipv4_address: 172.19.44.254 @@ -28,7 +30,9 @@ services: <<: *dela volumes: - dela-worker-1-data:/data - hostname: dela-worker-1 + environment: + <<: *dela-env + PUBLIC_URL: grpc://dela-worker-1:2000 networks: d-voting: ipv4_address: 172.19.44.253 @@ -36,7 +40,9 @@ services: <<: *dela volumes: - dela-worker-2-data:/data - hostname: dela-worker-2 + environment: + <<: *dela-env + PUBLIC_URL: grpc://dela-worker-2:2000 networks: d-voting: ipv4_address: 172.19.44.252 @@ -44,7 +50,9 @@ services: <<: *dela volumes: - dela-worker-3-data:/data - hostname: dela-worker-3 + environment: + <<: *dela-env + PUBLIC_URL: grpc://dela-worker-3:2000 networks: d-voting: ipv4_address: 172.19.44.251 From 4d69872abf578a45efe4576c4bca214b548cf612 Mon Sep 17 00:00:00 2001 From: Carine Dengler Date: Wed, 4 Oct 2023 18:00:31 +0200 Subject: [PATCH 5/5] fix: remove profiles from preproduction deployment file --- docker-compose/docker-compose.yml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index cb1d3233e..2e86e7634 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -2,9 +2,6 @@ version: "3.8" x-dela: &dela image: ghcr.io/c4dt/d-voting-dela:latest env_file: ../.env - profiles: - - dela - - all x-dela-env: &dela-env PROXYKEY: ${PUBLIC_KEY} PROXY_LOG: info @@ -65,9 +62,6 @@ services: ports: - 127.0.0.1:3000:3000 env_file: ../.env - profiles: - - client - - all networks: d-voting: ipv4_address: 172.19.44.2 @@ -85,9 +79,6 @@ services: condition: service_started volumes: - backend-data:/data - profiles: - - client - - all networks: d-voting: ipv4_address: 172.19.44.3 @@ -100,9 +91,6 @@ services: volumes: - postgres-data:/var/lib/postgresql/data - ../web/backend/src/migration.sql:/docker-entrypoint-initdb.d/init.sql - profiles: - - client - - all networks: d-voting: ipv4_address: 172.19.44.4