|
@@ -1,3 +1,11 @@
|
|
|
+FROM node:18 as web-builder
|
|
|
+WORKDIR /workspace
|
|
|
+COPY frontend/package.json .
|
|
|
+COPY frontend/package-lock.json .
|
|
|
+RUN npm install
|
|
|
+COPY frontend/. .
|
|
|
+RUN npm run build
|
|
|
+
|
|
|
# Build the manager binary
|
|
|
FROM golang:1.20 as builder
|
|
|
ARG TARGETOS
|
|
@@ -14,7 +22,8 @@ RUN go mod download
|
|
|
# Copy the go source
|
|
|
COPY cmd/main.go cmd/main.go
|
|
|
COPY api/ api/
|
|
|
-COPY internal/controller/ internal/controller/
|
|
|
+COPY internal/ internal/
|
|
|
+COPY pkg/ pkg/
|
|
|
|
|
|
# Build
|
|
|
# the GOARCH has not a default value to allow the binary be built according to the host where the command
|
|
@@ -28,6 +37,7 @@ RUN CGO_ENABLED=0 GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH} go build -a -o ma
|
|
|
FROM gcr.io/distroless/static:nonroot
|
|
|
WORKDIR /
|
|
|
COPY --from=builder /workspace/manager .
|
|
|
+COPY --from=web-builder /workspace/build/. ./frontend/build/.
|
|
|
USER 65532:65532
|
|
|
|
|
|
ENTRYPOINT ["/manager"]
|