From d3aee1a6db3f203c84b7866c1b17283ebeb4dd6e Mon Sep 17 00:00:00 2001 From: Michael Gibson Date: Fri, 22 Jan 2021 14:26:55 -0600 Subject: [PATCH 01/20] Made CI/CD push step manual. --- .drone.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index cf155fa..39ea105 100644 --- a/.drone.yml +++ b/.drone.yml @@ -60,12 +60,14 @@ steps: - |- docker buildx build \ --platform linux/amd64,linux/arm64 \ - --output=type=image,push=true \ + --output=type=image,push=false \ --progress tty \ --build-arg TAG=$DRONE_TAG \ -t $REGISTRY_HOST/$IMAGE:$DRONE_TAG \ -t $REGISTRY_HOST/$IMAGE:latest \ . + - docker push $REGISTRY_HOST/$IMAGE:$DRONE_TAG + - docker push $REGISTRY_HOST/$IMAGE:latest volumes: - name: docker_socket path: /var/run From efd9a9cb962a1037c36542c38b313915d592a7e4 Mon Sep 17 00:00:00 2001 From: Michael Gibson Date: Fri, 22 Jan 2021 14:52:37 -0600 Subject: [PATCH 02/20] CI/CD testing with IPv6. --- .drone.yml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/.drone.yml b/.drone.yml index 39ea105..7769f35 100644 --- a/.drone.yml +++ b/.drone.yml @@ -26,6 +26,8 @@ volumes: steps: - name: build image: docker:latest + settings: + ipv6: true commands: - |- case $(uname -a) in @@ -57,17 +59,23 @@ steps: echo -n $REGISTRY_PASS \ | docker login -u $REGISTRY_USER --password-stdin $REGISTRY_HOST - docker buildx create --name multiarch --use + #- |- + # docker buildx build \ + # --platform linux/amd64,linux/arm64 \ + # --output=type=image,push=true \ + # --progress tty \ + # --build-arg TAG=$DRONE_TAG \ + # -t $REGISTRY_HOST/$IMAGE:$DRONE_TAG \ + # -t $REGISTRY_HOST/$IMAGE:latest \ + # . - |- docker buildx build \ --platform linux/amd64,linux/arm64 \ - --output=type=image,push=false \ + --output=type=image,push=true \ --progress tty \ --build-arg TAG=$DRONE_TAG \ - -t $REGISTRY_HOST/$IMAGE:$DRONE_TAG \ -t $REGISTRY_HOST/$IMAGE:latest \ . - - docker push $REGISTRY_HOST/$IMAGE:$DRONE_TAG - - docker push $REGISTRY_HOST/$IMAGE:latest volumes: - name: docker_socket path: /var/run From 4600e81d6b9ee375587045791c24489e58932e66 Mon Sep 17 00:00:00 2001 From: Michael Gibson Date: Fri, 22 Jan 2021 14:52:59 -0600 Subject: [PATCH 03/20] Removed trigger. --- .drone.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.drone.yml b/.drone.yml index 7769f35..4d6df22 100644 --- a/.drone.yml +++ b/.drone.yml @@ -87,6 +87,6 @@ steps: REGISTRY_PASS: from_secret: registry_password -trigger: - event: - - tag +#trigger: +# event: +# - tag From 26b7e5c3ffc63f206bb8ead56242760b0e9d7cf8 Mon Sep 17 00:00:00 2001 From: Michael Gibson Date: Sun, 24 Jan 2021 19:12:37 -0600 Subject: [PATCH 04/20] Restored trigger. --- .drone.yml | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/.drone.yml b/.drone.yml index 4d6df22..cf155fa 100644 --- a/.drone.yml +++ b/.drone.yml @@ -26,8 +26,6 @@ volumes: steps: - name: build image: docker:latest - settings: - ipv6: true commands: - |- case $(uname -a) in @@ -59,21 +57,13 @@ steps: echo -n $REGISTRY_PASS \ | docker login -u $REGISTRY_USER --password-stdin $REGISTRY_HOST - docker buildx create --name multiarch --use - #- |- - # docker buildx build \ - # --platform linux/amd64,linux/arm64 \ - # --output=type=image,push=true \ - # --progress tty \ - # --build-arg TAG=$DRONE_TAG \ - # -t $REGISTRY_HOST/$IMAGE:$DRONE_TAG \ - # -t $REGISTRY_HOST/$IMAGE:latest \ - # . - |- docker buildx build \ --platform linux/amd64,linux/arm64 \ --output=type=image,push=true \ --progress tty \ --build-arg TAG=$DRONE_TAG \ + -t $REGISTRY_HOST/$IMAGE:$DRONE_TAG \ -t $REGISTRY_HOST/$IMAGE:latest \ . volumes: @@ -87,6 +77,6 @@ steps: REGISTRY_PASS: from_secret: registry_password -#trigger: -# event: -# - tag +trigger: + event: + - tag From 596ecffb83e0332d56720b873eecc70ae9c7b938 Mon Sep 17 00:00:00 2001 From: Michael Gibson Date: Mon, 25 Jan 2021 20:21:40 -0600 Subject: [PATCH 05/20] CI/CD/buildx testing. --- .drone.yml | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/.drone.yml b/.drone.yml index cf155fa..4bd61d9 100644 --- a/.drone.yml +++ b/.drone.yml @@ -57,13 +57,24 @@ steps: echo -n $REGISTRY_PASS \ | docker login -u $REGISTRY_USER --password-stdin $REGISTRY_HOST - docker buildx create --name multiarch --use +# - |- +# docker buildx build \ +# --allow network.host \ +# --network host \ +# --platform linux/amd64,linux/arm64 \ +# --output type=image,push=true \ +# --progress tty \ +# --build-arg TAG=$DRONE_TAG \ +# -t $REGISTRY_HOST/$IMAGE:$DRONE_TAG \ +# -t $REGISTRY_HOST/$IMAGE:latest \ +# . - |- docker buildx build \ + --allow network.host \ + --network host \ --platform linux/amd64,linux/arm64 \ - --output=type=image,push=true \ + --output type=image,push=true \ --progress tty \ - --build-arg TAG=$DRONE_TAG \ - -t $REGISTRY_HOST/$IMAGE:$DRONE_TAG \ -t $REGISTRY_HOST/$IMAGE:latest \ . volumes: @@ -77,6 +88,6 @@ steps: REGISTRY_PASS: from_secret: registry_password -trigger: - event: - - tag +#trigger: +# event: +# - tag From c192a4fbf3da6915c4ab8e02b78bed271654e964 Mon Sep 17 00:00:00 2001 From: Michael Gibson Date: Mon, 25 Jan 2021 20:25:33 -0600 Subject: [PATCH 06/20] Remove allow. --- .drone.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.drone.yml b/.drone.yml index 4bd61d9..f62d316 100644 --- a/.drone.yml +++ b/.drone.yml @@ -59,7 +59,6 @@ steps: - docker buildx create --name multiarch --use # - |- # docker buildx build \ -# --allow network.host \ # --network host \ # --platform linux/amd64,linux/arm64 \ # --output type=image,push=true \ @@ -70,7 +69,6 @@ steps: # . - |- docker buildx build \ - --allow network.host \ --network host \ --platform linux/amd64,linux/arm64 \ --output type=image,push=true \ From ebd10ab5b807e0b9216ffadb4e62aa442d18aac4 Mon Sep 17 00:00:00 2001 From: Michael Gibson Date: Mon, 25 Jan 2021 20:32:51 -0600 Subject: [PATCH 07/20] Force A record for registry. --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index f62d316..9999e53 100644 --- a/.drone.yml +++ b/.drone.yml @@ -69,7 +69,7 @@ steps: # . - |- docker buildx build \ - --network host \ + --add-host $REGISTRY_HOST:$(nslookup -type=a $REGISTRY_HOST | grep -v ':53' | grep 'Address:' | awk '{print $2}') \ --platform linux/amd64,linux/arm64 \ --output type=image,push=true \ --progress tty \ From ed65643608946e4cbd0cb722f99895282b8c8b68 Mon Sep 17 00:00:00 2001 From: Michael Gibson Date: Tue, 26 Jan 2021 07:21:16 -0600 Subject: [PATCH 08/20] Add IPv6 to DinD. --- .drone.yml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.drone.yml b/.drone.yml index 9999e53..3e07de0 100644 --- a/.drone.yml +++ b/.drone.yml @@ -13,7 +13,12 @@ platform: services: - name: dind image: docker:dind - command: ["dockerd", "--experimental"] + command: + - "dockerd" + - "--experimental" + - "--ipv6" + - "--ip6tables" + - "--fixed-cidr-v6=fd3a:3ea5:35c6:f876::/64" privileged: true volumes: - name: docker_socket @@ -59,7 +64,7 @@ steps: - docker buildx create --name multiarch --use # - |- # docker buildx build \ -# --network host \ +# --add-host $REGISTRY_HOST:$(nslookup -type=a $REGISTRY_HOST | grep -v ':53' | grep 'Address:' | awk '{print $2}') \ # --platform linux/amd64,linux/arm64 \ # --output type=image,push=true \ # --progress tty \ @@ -69,7 +74,6 @@ steps: # . - |- docker buildx build \ - --add-host $REGISTRY_HOST:$(nslookup -type=a $REGISTRY_HOST | grep -v ':53' | grep 'Address:' | awk '{print $2}') \ --platform linux/amd64,linux/arm64 \ --output type=image,push=true \ --progress tty \ From 7f55378a4d8ee63e394edd4713dce1e75a1c67db Mon Sep 17 00:00:00 2001 From: Michael Gibson Date: Tue, 26 Jan 2021 07:29:22 -0600 Subject: [PATCH 09/20] Removed ip6tables. --- .drone.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 3e07de0..9bc5245 100644 --- a/.drone.yml +++ b/.drone.yml @@ -17,7 +17,6 @@ services: - "dockerd" - "--experimental" - "--ipv6" - - "--ip6tables" - "--fixed-cidr-v6=fd3a:3ea5:35c6:f876::/64" privileged: true volumes: From c575b8f86fde8940ac7e1da83e04fb2c4b2c87f1 Mon Sep 17 00:00:00 2001 From: Michael Gibson Date: Tue, 26 Jan 2021 07:52:09 -0600 Subject: [PATCH 10/20] Try manual push. --- .drone.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 9bc5245..37f3ca9 100644 --- a/.drone.yml +++ b/.drone.yml @@ -74,10 +74,11 @@ steps: - |- docker buildx build \ --platform linux/amd64,linux/arm64 \ - --output type=image,push=true \ + --output type=docker \ --progress tty \ -t $REGISTRY_HOST/$IMAGE:latest \ . + - docker push $REGISTRY_HOST/$IMAGE:latest volumes: - name: docker_socket path: /var/run From 3c3e3e7727d78137f12d8cb08fbad65868314c40 Mon Sep 17 00:00:00 2001 From: Michael Gibson Date: Tue, 26 Jan 2021 12:13:50 -0600 Subject: [PATCH 11/20] Test exec runner. --- .drone.yml | 26 +++----------------------- 1 file changed, 3 insertions(+), 23 deletions(-) diff --git a/.drone.yml b/.drone.yml index 37f3ca9..7f0daf1 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,6 +1,6 @@ --- kind: pipeline -type: docker +type: exec name: default environment: @@ -10,26 +10,8 @@ platform: os: linux arch: amd64 -services: - - name: dind - image: docker:dind - command: - - "dockerd" - - "--experimental" - - "--ipv6" - - "--fixed-cidr-v6=fd3a:3ea5:35c6:f876::/64" - privileged: true - volumes: - - name: docker_socket - path: /var/run - -volumes: - - name: docker_socket - temp: {} - steps: - name: build - image: docker:latest commands: - |- case $(uname -a) in @@ -74,14 +56,12 @@ steps: - |- docker buildx build \ --platform linux/amd64,linux/arm64 \ - --output type=docker \ + --add-host $REGISTRY_HOST:192.168.128.20 \ + --output type=image,push=true \ --progress tty \ -t $REGISTRY_HOST/$IMAGE:latest \ . - docker push $REGISTRY_HOST/$IMAGE:latest - volumes: - - name: docker_socket - path: /var/run environment: IMAGE: protonmail-bridge REGISTRY_HOST: registry.thegibsonhome.net From bb980519e4017d0603627b4558d01dca75acaa08 Mon Sep 17 00:00:00 2001 From: Michael Gibson Date: Tue, 26 Jan 2021 12:17:12 -0600 Subject: [PATCH 12/20] Additional exec testing. --- .drone.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.drone.yml b/.drone.yml index 7f0daf1..520d66b 100644 --- a/.drone.yml +++ b/.drone.yml @@ -27,12 +27,12 @@ steps: ;; esac - |- - export BUILDX_URL=$( \ - wget -q -O - \ - https://api.github.com/repos/docker/buildx/releases/latest \ - | grep "browser_download_url.*linux-$ARCH" \ - | cut -d: -f2,3 \ - | tr -d \" \ + export BUILDX_URL=$( + wget -q -O - + https://api.github.com/repos/docker/buildx/releases/latest + | grep "browser_download_url.*linux-$ARCH" + | cut -d: -f2,3 + | tr -d \" ) - mkdir -p ~/.docker/cli-plugins - wget -O ~/.docker/cli-plugins/docker-buildx $BUILDX_URL From 219771ec52678a6e38327666fa1e22f05ab88ae4 Mon Sep 17 00:00:00 2001 From: Michael Gibson Date: Tue, 26 Jan 2021 12:18:39 -0600 Subject: [PATCH 13/20] Move to single line. --- .drone.yml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/.drone.yml b/.drone.yml index 520d66b..e29d081 100644 --- a/.drone.yml +++ b/.drone.yml @@ -26,14 +26,7 @@ steps: export ARCH="unknown" ;; esac - - |- - export BUILDX_URL=$( - wget -q -O - - https://api.github.com/repos/docker/buildx/releases/latest - | grep "browser_download_url.*linux-$ARCH" - | cut -d: -f2,3 - | tr -d \" - ) + - export BUILDX_URL=$(wget -q -O - https://api.github.com/repos/docker/buildx/releases/latest | grep "browser_download_url.*linux-$ARCH" | cut -d: -f2,3 | tr -d \") - mkdir -p ~/.docker/cli-plugins - wget -O ~/.docker/cli-plugins/docker-buildx $BUILDX_URL - chmod a+x ~/.docker/cli-plugins/docker-buildx From ec399a94ec329e602f3bf1793b0ceb5ca5722f78 Mon Sep 17 00:00:00 2001 From: Michael Gibson Date: Tue, 26 Jan 2021 12:42:32 -0600 Subject: [PATCH 14/20] Changed BUILDX_URL line. --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index e29d081..9c5557c 100644 --- a/.drone.yml +++ b/.drone.yml @@ -26,7 +26,7 @@ steps: export ARCH="unknown" ;; esac - - export BUILDX_URL=$(wget -q -O - https://api.github.com/repos/docker/buildx/releases/latest | grep "browser_download_url.*linux-$ARCH" | cut -d: -f2,3 | tr -d \") + - 'export BUILDX_URL=`wget -q -O - https://api.github.com/repos/docker/buildx/releases/latest | grep "browser_download_url.*linux-$ARCH" | cut -d: -f2,3 | tr -d \"`' - mkdir -p ~/.docker/cli-plugins - wget -O ~/.docker/cli-plugins/docker-buildx $BUILDX_URL - chmod a+x ~/.docker/cli-plugins/docker-buildx From b32608abb36b08dcb34e0a92e3cd580c2521e980 Mon Sep 17 00:00:00 2001 From: Michael Gibson Date: Tue, 26 Jan 2021 12:45:08 -0600 Subject: [PATCH 15/20] Trim whitespace from BUILDX_URL. --- .drone.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.drone.yml b/.drone.yml index 9c5557c..9c16508 100644 --- a/.drone.yml +++ b/.drone.yml @@ -26,7 +26,7 @@ steps: export ARCH="unknown" ;; esac - - 'export BUILDX_URL=`wget -q -O - https://api.github.com/repos/docker/buildx/releases/latest | grep "browser_download_url.*linux-$ARCH" | cut -d: -f2,3 | tr -d \"`' + - 'export BUILDX_URL=`wget -q -O - https://api.github.com/repos/docker/buildx/releases/latest | grep "browser_download_url.*linux-$ARCH" | cut -d: -f2,3 | tr -d \" | tr -d \ `' - mkdir -p ~/.docker/cli-plugins - wget -O ~/.docker/cli-plugins/docker-buildx $BUILDX_URL - chmod a+x ~/.docker/cli-plugins/docker-buildx From 26a1c6226cbe24df635b18d080c1667268da8842 Mon Sep 17 00:00:00 2001 From: Michael Gibson Date: Tue, 26 Jan 2021 12:59:25 -0600 Subject: [PATCH 16/20] Alternate YAML multiline. --- .drone.yml | 47 ++++++++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/.drone.yml b/.drone.yml index 9c16508..1a3e06f 100644 --- a/.drone.yml +++ b/.drone.yml @@ -26,35 +26,40 @@ steps: export ARCH="unknown" ;; esac - - 'export BUILDX_URL=`wget -q -O - https://api.github.com/repos/docker/buildx/releases/latest | grep "browser_download_url.*linux-$ARCH" | cut -d: -f2,3 | tr -d \" | tr -d \ `' + - >- + export BUILDX_URL=$( + wget -q -O - https://api.github.com/repos/docker/buildx/releases/latest + | grep "browser_download_url.*linux-$ARCH" + | cut -d: -f2,3 + | tr -d \" + | tr -d \ + ) - mkdir -p ~/.docker/cli-plugins - wget -O ~/.docker/cli-plugins/docker-buildx $BUILDX_URL - chmod a+x ~/.docker/cli-plugins/docker-buildx - docker version - docker buildx version - - |- - echo -n $REGISTRY_PASS \ - | docker login -u $REGISTRY_USER --password-stdin $REGISTRY_HOST + - >- + echo -n $REGISTRY_PASS + | docker login -u $REGISTRY_USER --password-stdin $REGISTRY_HOST - docker buildx create --name multiarch --use -# - |- -# docker buildx build \ -# --add-host $REGISTRY_HOST:$(nslookup -type=a $REGISTRY_HOST | grep -v ':53' | grep 'Address:' | awk '{print $2}') \ -# --platform linux/amd64,linux/arm64 \ -# --output type=image,push=true \ -# --progress tty \ -# --build-arg TAG=$DRONE_TAG \ -# -t $REGISTRY_HOST/$IMAGE:$DRONE_TAG \ -# -t $REGISTRY_HOST/$IMAGE:latest \ +# - >- +# docker buildx build +# --add-host $REGISTRY_HOST:$(nslookup -type=a $REGISTRY_HOST | grep -v ':53' | grep 'Address:' | awk '{print $2}') +# --platform linux/amd64,linux/arm64 +# --output type=image,push=true +# --progress tty +# --build-arg TAG=$DRONE_TAG +# -t $REGISTRY_HOST/$IMAGE:$DRONE_TAG +# -t $REGISTRY_HOST/$IMAGE:latest # . - - |- - docker buildx build \ - --platform linux/amd64,linux/arm64 \ - --add-host $REGISTRY_HOST:192.168.128.20 \ - --output type=image,push=true \ - --progress tty \ - -t $REGISTRY_HOST/$IMAGE:latest \ + - >- + docker buildx build + --platform linux/amd64,linux/arm64 + --output type=image,push=true + --progress tty + -t $REGISTRY_HOST/$IMAGE:latest . - - docker push $REGISTRY_HOST/$IMAGE:latest environment: IMAGE: protonmail-bridge REGISTRY_HOST: registry.thegibsonhome.net From 49f5f6be59af5103931827b6c120ea954a99f7d0 Mon Sep 17 00:00:00 2001 From: Michael Gibson Date: Tue, 26 Jan 2021 13:01:40 -0600 Subject: [PATCH 17/20] Back to original multiline. --- .drone.yml | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/.drone.yml b/.drone.yml index 1a3e06f..42181f3 100644 --- a/.drone.yml +++ b/.drone.yml @@ -26,21 +26,21 @@ steps: export ARCH="unknown" ;; esac - - >- - export BUILDX_URL=$( - wget -q -O - https://api.github.com/repos/docker/buildx/releases/latest - | grep "browser_download_url.*linux-$ARCH" - | cut -d: -f2,3 - | tr -d \" - | tr -d \ + - |- + export BUILDX_URL=$(\ + wget -q -O - https://api.github.com/repos/docker/buildx/releases/latest\ + | grep "browser_download_url.*linux-$ARCH"\ + | cut -d: -f2,3\ + | tr -d \"\ + | tr -d \ \ ) - mkdir -p ~/.docker/cli-plugins - wget -O ~/.docker/cli-plugins/docker-buildx $BUILDX_URL - chmod a+x ~/.docker/cli-plugins/docker-buildx - docker version - docker buildx version - - >- - echo -n $REGISTRY_PASS + - |- + echo -n $REGISTRY_PASS\ | docker login -u $REGISTRY_USER --password-stdin $REGISTRY_HOST - docker buildx create --name multiarch --use # - >- @@ -53,12 +53,12 @@ steps: # -t $REGISTRY_HOST/$IMAGE:$DRONE_TAG # -t $REGISTRY_HOST/$IMAGE:latest # . - - >- - docker buildx build - --platform linux/amd64,linux/arm64 - --output type=image,push=true - --progress tty - -t $REGISTRY_HOST/$IMAGE:latest + - |- + docker buildx build\ + --platform linux/amd64,linux/arm64\ + --output type=image,push=true\ + --progress tty\ + -t $REGISTRY_HOST/$IMAGE:latest\ . environment: IMAGE: protonmail-bridge From 862d2bf49a147546025cda55975acf62eac42035 Mon Sep 17 00:00:00 2001 From: Michael Gibson Date: Tue, 26 Jan 2021 13:04:19 -0600 Subject: [PATCH 18/20] Restore trigger. --- .drone.yml | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/.drone.yml b/.drone.yml index 42181f3..b113e6b 100644 --- a/.drone.yml +++ b/.drone.yml @@ -43,21 +43,14 @@ steps: echo -n $REGISTRY_PASS\ | docker login -u $REGISTRY_USER --password-stdin $REGISTRY_HOST - docker buildx create --name multiarch --use -# - >- -# docker buildx build -# --add-host $REGISTRY_HOST:$(nslookup -type=a $REGISTRY_HOST | grep -v ':53' | grep 'Address:' | awk '{print $2}') -# --platform linux/amd64,linux/arm64 -# --output type=image,push=true -# --progress tty -# --build-arg TAG=$DRONE_TAG -# -t $REGISTRY_HOST/$IMAGE:$DRONE_TAG -# -t $REGISTRY_HOST/$IMAGE:latest -# . - |- docker buildx build\ + --no-cache\ --platform linux/amd64,linux/arm64\ --output type=image,push=true\ --progress tty\ + --build-arg TAG=$DRONE_TAG\ + -t $REGISTRY_HOST/$IMAGE:$DRONE_TAG\ -t $REGISTRY_HOST/$IMAGE:latest\ . environment: @@ -68,6 +61,6 @@ steps: REGISTRY_PASS: from_secret: registry_password -#trigger: -# event: -# - tag +trigger: + event: + - tag From 9d5ead578d94f29299d8f938f98f98631a66ac27 Mon Sep 17 00:00:00 2001 From: Michael Gibson Date: Mon, 8 Mar 2021 10:18:56 -0600 Subject: [PATCH 19/20] Updated Dockerfile to add bash. --- Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 90244d7..d1d4476 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,8 @@ # Build the ProtonMail Bridge. -FROM golang:1.15-alpine as build +FROM golang:1.16-alpine as build ENV LANG C.UTF-8 RUN apk add --no-cache \ + bash \ curl \ gcc \ git \ From 6db0b9271c3da5a7560f013314b1c984b1e5bed9 Mon Sep 17 00:00:00 2001 From: Michael Gibson Date: Thu, 2 Feb 2023 07:48:00 -0600 Subject: [PATCH 20/20] Update for bridge 3.0.x. --- Dockerfile | 47 ++++++++++++++++++++++++++++------------------- entrypoint | 7 +++---- initproton | 13 +++++++++++-- 3 files changed, 42 insertions(+), 25 deletions(-) diff --git a/Dockerfile b/Dockerfile index d1d4476..50d0f0c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,23 +1,27 @@ # Build the ProtonMail Bridge. -FROM golang:1.16-alpine as build +FROM golang:1.18-buster as build ENV LANG C.UTF-8 -RUN apk add --no-cache \ - bash \ - curl \ - gcc \ - git \ - libsecret-dev \ - make \ - musl-dev -WORKDIR /usr/src +# Install required build packages +RUN apt-get update \ + && apt-get install -y \ + bash \ + build-essential \ + curl \ + git \ + libsecret-1-dev \ + musl-dev + +# Download/build the application +WORKDIR /usr/src ARG RELEASE ARG TAG RUN if [ -n "$RELEASE" ]; then \ echo "Using release $RELEASE..." \ && curl -L -s "https://github.com/ProtonMail/proton-bridge/archive/$RELEASE.tar.gz" | tar zx \ - && ln -s "proton-bridge-$RELEASE" proton-bridge \ - && cd proton-bridge \ + && export PROTON_BRIDGE="proton-bridge-$(echo $RELEASE | sed -e 's/^\(v\|br\)//')" \ + && ln -s "${PROTON_BRIDGE}" proton-bridge \ + && cd "${PROTON_BRIDGE}" \ ; else \ git clone https://github.com/ProtonMail/proton-bridge.git proton-bridge \ && cd proton-bridge \ @@ -26,21 +30,26 @@ RUN if [ -n "$RELEASE" ]; then \ && make build-nogui # Create a container for the ProtonMail Bridge. -FROM alpine:edge +FROM debian:stable ENV LANG C.UTF-8 EXPOSE 25/tcp EXPOSE 143/tcp COPY --from=build /usr/src/proton-bridge/proton-bridge /bin/proton-bridge +COPY --from=build /usr/src/proton-bridge/bridge /bin/bridge COPY entrypoint /bin/ COPY initproton /bin/ -RUN apk add --no-cache \ - libsecret \ - pass \ - socat \ - su-exec \ - && chmod +x /bin/entrypoint \ +RUN apt-get update\ + && apt-get install -y --no-install-recommends --no-install-suggests\ + libcap2\ + libsecret-1-0\ + gosu\ + gpg-agent\ + pass\ + socat\ + && rm -rf /var/lib/apt/lists/*\ + && chmod +x /bin/entrypoint\ && chmod +x /bin/initproton WORKDIR /var/lib/proton diff --git a/entrypoint b/entrypoint index 3390d06..884d393 100755 --- a/entrypoint +++ b/entrypoint @@ -9,13 +9,11 @@ GROUP=proton if getent group $GROUP_ID > /dev/null; then echo "Using group $GROUP with GID $GROUP_ID..." GROUP=$(getent group $GROUP_ID | cut -d: -f1) - echo "Using group $GROUP with GID $GROUP_ID..." else echo "Adding group $GROUP with GID $GROUP_ID..." addgroup -g $GROUP_ID $GROUP fi -echo "Adding user proton with group $GROUP..." -echo adduser -D -u $USER_ID -G $GROUP -h /var/lib/proton -s /bin/sh proton +echo "Adding user proton ($USER_ID) with group $GROUP ${GROUP_ID}..." adduser -D -u $USER_ID -G $GROUP -h /var/lib/proton -s /bin/sh proton chown -R ${USER_ID}:${GROUP_ID} /var/lib/proton export HOME=/var/lib/proton @@ -27,4 +25,5 @@ setcap 'cap_net_bind_service=+ep' /usr/bin/socat socat TCP-LISTEN:25,fork TCP:127.0.0.1:1025 & socat TCP-LISTEN:143,fork TCP:127.0.0.1:1143 & -exec /sbin/su-exec proton "$@" +echo "Starting ProtonMail Bridge..." +exec /usr/sbin/gosu proton "$@" diff --git a/initproton b/initproton index aa1f305..703ebe6 100755 --- a/initproton +++ b/initproton @@ -1,7 +1,7 @@ -#!/bin/bash +#!/bin/bash set -eufo pipefail -BRIDGE=/bin/proton-bridge +BRIDGE=/bin/bridge FIFO=/tmp/fifo PRINT_INFO=${PRINT_INFO:-""} @@ -11,14 +11,20 @@ if [ -n "$PASS_FILE" ]; then PASS=$(cat $PASS_FILE) fi +echo "Checking for GPG configuration..." if ! [ -d .gnupg ]; then + echo "Generating GPG Key..." echo -e "%no-protection\nKey-Type: RSA\nKey-Length: 4096\nName-Real: $EMAIL\nExpire-Date: 0\n%commit" \ | gpg --generate-key --batch fi +echo "Checking for Password Store..." if ! [ -d .password-store ]; then + echo "Initializing Pass..." pass init "$EMAIL" fi +echo "Checking for ProtonMail Bridge Cache..." if ! [ -d ~/.cache/protonmail/bridge ]; then + echo "Logging in to ProtonMail Bridge..." COMMAND="login\n$EMAIL\n$PASSWORD" MFA_CODE=${MFA_CODE:-} if [ -n "$MFA_CODE" ]; then @@ -28,6 +34,7 @@ if ! [ -d ~/.cache/protonmail/bridge ]; then fi if [ -n "$PRINT_INFO" ]; then + echo "Printing Info..." echo info | $BRIDGE --cli | egrep '(Username|Password)' | sort -ru fi @@ -37,4 +44,6 @@ if [ -n "$LOG_LEVEL" ]; then ARGUMENTS="${ARGUMENTS} --log-level ${LOG_LEVEL}" fi +echo "Starting ProtonMail Bridge: $BRIDGE $ARGUMENTS" +$BRIDGE --version $BRIDGE $ARGUMENTS