diff --git a/functions/onprem/orborus/Dockerfile b/functions/onprem/orborus/Dockerfile old mode 100755 new mode 100644 index fcd5fec5..8e0010f3 --- a/functions/onprem/orborus/Dockerfile +++ b/functions/onprem/orborus/Dockerfile @@ -1,36 +1,33 @@ FROM golang:1.22 as builder -RUN mkdir /app WORKDIR /app -COPY orborus.go /app/orborus.go -#COPY go.mod /app/go.mod -#COPY go.sum /app/go.sum -RUN go mod init orborus +# Copy go.mod and go.sum first (if you have them) +# This allows better caching of dependencies +# COPY go.* ./ +RUN go mod init orborus -RUN go get github.com/docker/docker/api/types -RUN go get github.com/docker/docker/api/types/container -#RUN go get github.com/docker/docker/client -RUN go get github.com/mackerelio/go-osstat/cpu -RUN go get github.com/mackerelio/go-osstat/memory -RUN go get github.com/satori/go.uuid -RUN go get github.com/shuffle/shuffle-shared -RUN go get github.com/shirou/gopsutil -# RUN go get k8s.io/client-go -# RUN go get k8s.io/apimachinery +# Combine all go get commands into a single layer +RUN go get \ + github.com/docker/docker/api/types \ + github.com/docker/docker/api/types/container \ + github.com/mackerelio/go-osstat/cpu \ + github.com/mackerelio/go-osstat/memory \ + github.com/satori/go.uuid \ + github.com/shuffle/shuffle-shared \ + github.com/shirou/gopsutil -RUN go get -RUN go mod tidy -RUN go build -RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o orborus . +# Copy the rest of the code +COPY orborus.go . + +RUN go mod tidy && \ + CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o orborus . FROM alpine:3.15.0 RUN apk add --no-cache bash tzdata -COPY --from=builder /app/ / - -ENV ENVIRONMENT_NAME=Shuffle -ENV BASE_URL=http://shuffle-backend:5001 -ENV DOCKER_API_VERSION=1.40 -ENV SHUFFLE_OPENSEARCH_URL=https://opensearch:9200 - -CMD ["./orborus"] +COPY --from=builder /app/orborus / +ENV ENVIRONMENT_NAME=Shuffle \ + BASE_URL=http://shuffle-backend:5001 \ + DOCKER_API_VERSION=1.40 \ + SHUFFLE_OPENSEARCH_URL=https://opensearch:9200 +CMD ["./orborus"] \ No newline at end of file diff --git a/functions/onprem/orborus/Dockerfile.old b/functions/onprem/orborus/Dockerfile.old new file mode 100755 index 00000000..fcd5fec5 --- /dev/null +++ b/functions/onprem/orborus/Dockerfile.old @@ -0,0 +1,36 @@ +FROM golang:1.22 as builder + +RUN mkdir /app +WORKDIR /app + +COPY orborus.go /app/orborus.go +#COPY go.mod /app/go.mod +#COPY go.sum /app/go.sum +RUN go mod init orborus + +RUN go get github.com/docker/docker/api/types +RUN go get github.com/docker/docker/api/types/container +#RUN go get github.com/docker/docker/client +RUN go get github.com/mackerelio/go-osstat/cpu +RUN go get github.com/mackerelio/go-osstat/memory +RUN go get github.com/satori/go.uuid +RUN go get github.com/shuffle/shuffle-shared +RUN go get github.com/shirou/gopsutil +# RUN go get k8s.io/client-go +# RUN go get k8s.io/apimachinery + +RUN go get +RUN go mod tidy +RUN go build +RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o orborus . + +FROM alpine:3.15.0 +RUN apk add --no-cache bash tzdata +COPY --from=builder /app/ / + +ENV ENVIRONMENT_NAME=Shuffle +ENV BASE_URL=http://shuffle-backend:5001 +ENV DOCKER_API_VERSION=1.40 +ENV SHUFFLE_OPENSEARCH_URL=https://opensearch:9200 + +CMD ["./orborus"]