FROM golang:alpine AS deps WORKDIR /app COPY go.mod go.sum ./ RUN sed -i '/replace/d' go.mod RUN cat go.mod RUN go mod download #---------------------------------------------------------------------------------------------- FROM golang:alpine AS builder ARG HOSTNAME=http://localhost ARG NAME=local RUN apk add git RUN go install github.com/beego/bee/v2@latest WORKDIR /oc-auth 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-auth.tar.gz -C /app/extracted RUN sed -i 's/http:\/\/127.0.0.1:8080\/swagger\/swagger.json/swagger.json/g' /app/extracted/swagger/index.html #---------------------------------------------------------------------------------------------- FROM golang:alpine WORKDIR /app COPY --from=builder /app/extracted/oc-auth /usr/bin COPY --from=builder /app/extracted/swagger /app/swagger COPY --from=builder /app/extracted/pem /app/pem COPY --from=builder /app/extracted/docker_auth.json /etc/oc/auth.json EXPOSE 8080 ENTRYPOINT ["oc-auth"]