2023-03-17 13:31:20 -04:00
|
|
|
FROM ubuntu:22.04@sha256:7a57c69fe1e9d5b97c5fe649849e79f2cfc3bf11d10bbd5218b4eb61716aebe6 as build
|
2022-03-22 11:03:15 -04:00
|
|
|
|
2023-03-08 04:05:36 -05:00
|
|
|
ARG GO_VER=1.20.2
|
2022-10-21 07:15:24 -04:00
|
|
|
ARG GEN_GO_VER=1.28.1
|
2022-04-28 04:28:50 -04:00
|
|
|
ARG GEN_GO_GRPC_VER=1.2.0
|
2022-10-21 07:15:24 -04:00
|
|
|
ARG PB_VER=21.8
|
2022-03-22 11:03:15 -04:00
|
|
|
|
|
|
|
ENV DEBIAN_FRONTEND="noninteractive"
|
|
|
|
RUN apt-get update && apt-get install -y wget tar unzip
|
|
|
|
|
|
|
|
# Install Go
|
2022-09-02 06:45:56 -04:00
|
|
|
RUN wget -q https://go.dev/dl/go${GO_VER}.linux-amd64.tar.gz && \
|
2022-03-22 11:03:15 -04:00
|
|
|
tar -C /usr/local -xzf go${GO_VER}.linux-amd64.tar.gz && rm go${GO_VER}.linux-amd64.tar.gz
|
|
|
|
ENV PATH ${PATH}:/usr/local/go/bin:/root/go/bin
|
|
|
|
|
|
|
|
|
2022-09-02 06:45:56 -04:00
|
|
|
RUN wget -q https://github.com/protocolbuffers/protobuf/releases/download/v${PB_VER}/protoc-${PB_VER}-linux-x86_64.zip && \
|
2022-03-22 11:03:15 -04:00
|
|
|
unzip protoc-${PB_VER}-linux-x86_64.zip -d /root/.local && \
|
|
|
|
cp /root/.local/bin/protoc /usr/local/bin/protoc
|
|
|
|
ENV PATH="$PATH:/root/.local/bin"
|
|
|
|
|
|
|
|
RUN go install google.golang.org/protobuf/cmd/protoc-gen-go@v${GEN_GO_VER} && \
|
|
|
|
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v${GEN_GO_GRPC_VER}
|
|
|
|
|
|
|
|
# Generate code for every existing proto file
|
2022-04-12 08:24:36 -04:00
|
|
|
|
2022-09-08 08:45:27 -04:00
|
|
|
## disk-mapper recover api
|
2022-04-12 08:24:36 -04:00
|
|
|
WORKDIR /disk-mapper
|
2022-09-08 08:45:27 -04:00
|
|
|
COPY disk-mapper/recoverproto/*.proto /disk-mapper
|
2022-03-22 11:03:15 -04:00
|
|
|
RUN protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative *.proto
|
|
|
|
|
2022-04-12 08:24:36 -04:00
|
|
|
## debugd service
|
|
|
|
WORKDIR /service
|
|
|
|
COPY debugd/service/*.proto /service
|
|
|
|
RUN protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative *.proto
|
|
|
|
|
2022-05-10 06:35:17 -04:00
|
|
|
## key management
|
2023-01-11 04:08:57 -05:00
|
|
|
WORKDIR /keyservice
|
|
|
|
COPY keyservice/keyserviceproto/*.proto /keyservice
|
2022-05-10 06:35:17 -04:00
|
|
|
RUN protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative *.proto
|
|
|
|
|
2022-07-05 05:41:31 -04:00
|
|
|
## join service
|
|
|
|
WORKDIR /joinservice
|
|
|
|
COPY joinservice/joinproto/*.proto /joinservice
|
2022-05-23 05:36:54 -04:00
|
|
|
RUN protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative *.proto
|
2022-04-12 08:24:36 -04:00
|
|
|
|
2022-06-28 11:03:28 -04:00
|
|
|
## verify
|
|
|
|
WORKDIR /verify
|
|
|
|
COPY verify/verifyproto/*.proto /verify
|
2022-09-13 05:01:51 -04:00
|
|
|
RUN protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative *.proto
|
2022-06-21 11:59:12 -04:00
|
|
|
|
|
|
|
## init
|
|
|
|
WORKDIR /init
|
2022-06-29 09:26:29 -04:00
|
|
|
COPY bootstrapper/initproto/*.proto /init
|
2022-06-28 11:03:28 -04:00
|
|
|
RUN protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative *.proto
|
|
|
|
|
2022-12-25 12:49:45 -05:00
|
|
|
## upgrade agent
|
|
|
|
WORKDIR /upgrade-agent
|
|
|
|
COPY upgrade-agent/upgradeproto/*.proto /upgrade-agent
|
|
|
|
RUN protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative *.proto
|
|
|
|
|
2022-03-22 11:03:15 -04:00
|
|
|
FROM scratch as export
|
2022-09-08 08:45:27 -04:00
|
|
|
COPY --from=build /disk-mapper/*.go disk-mapper/recoverproto/
|
2022-04-12 08:24:36 -04:00
|
|
|
COPY --from=build /service/*.go debugd/service/
|
2023-01-11 04:08:57 -05:00
|
|
|
COPY --from=build /keyservice/*.go keyservice/keyserviceproto/
|
2022-07-05 05:41:31 -04:00
|
|
|
COPY --from=build /joinservice/*.go joinservice/joinproto/
|
2022-06-28 11:03:28 -04:00
|
|
|
COPY --from=build /verify/*.go verify/verifyproto/
|
2022-06-29 09:26:29 -04:00
|
|
|
COPY --from=build /init/*.go bootstrapper/initproto/
|
2022-12-25 12:49:45 -05:00
|
|
|
COPY --from=build /upgrade-agent/*.go upgrade-agent/upgradeproto/
|