FROM golang:alpine AS deps WORKDIR /app COPY go.mod go.sum ./ RUN sed -i '/replace/d' go.mod RUN go mod download #---------------------------------------------------------------------------------------------- FROM golang:alpine AS builder WORKDIR /app RUN apk add git RUN go install github.com/beego/bee/v2@latest WORKDIR /oc-aggregator COPY --from=deps /go/pkg /go/pkg COPY --from=deps /app/go.mod /app/go.sum ./ RUN export CGO_ENABLED=0 && \ export GOOS=linux && \ export GOARCH=amd64 && \ export BUILD_FLAGS="-ldflags='-w -s'" COPY . . RUN sed -i '/replace/d' go.mod RUN bee pack RUN mkdir -p /app/extracted && tar -zxvf oc-aggregator.tar.gz -C /app/extracted #---------------------------------------------------------------------------------------------- FROM golang:alpine WORKDIR /app COPY --from=builder /app/extracted/oc-aggregator /usr/bin/ COPY --from=builder /app/extracted/aggregator.json /etc/oc/aggregator.json EXPOSE 8080 ENTRYPOINT ["oc-aggregator"]