1- # # test ########################################################################
2-
3- FROM golang:1.18 AS test
4-
5- ARG DOCKER_ARCH=x86_64
6- ARG KUBECTL_ARCH=amd64
7-
8- RUN curl -s https://download.docker.com/linux/static/stable/${DOCKER_ARCH}/docker-18.09.9.tgz | \
9- tar -C /usr/bin --strip-components 1 -xz
10-
11- RUN curl -Ls https://storage.googleapis.com/kubernetes-release/release/v1.13.0/bin/linux/${KUBECTL_ARCH}/kubectl -o /usr/bin/kubectl && \
12- chmod +x /usr/bin/kubectl
13-
14- RUN curl -Ls https://github.com/mattgreen/watchexec/releases/download/1.8.6/watchexec-1.8.6-x86_64-unknown-linux-gnu.tar.gz | \
15- tar -C /usr/bin --strip-components 1 -xz
16-
17- WORKDIR /go/src/github.com/convox/rack
18-
19- COPY . .
20-
21- RUN go build -mod=vendor --ldflags="-s -w" $(go list -mod=vendor ./vendor/...)
22-
23-
24- # # development #################################################################
25-
26- FROM test AS development
27-
28- # RUN curl -s https://download.docker.com/linux/static/stable/x86_64/docker-18.09.6.tgz | \
29- # tar -C /usr/bin --strip-components 1 -xz
30-
31- # RUN curl -Ls https://storage.googleapis.com/kubernetes-release/release/v1.13.0/bin/linux/amd64/kubectl -o /usr/bin/kubectl && \
32- # chmod +x /usr/bin/kubectl
33-
34- # RUN curl -Ls https://github.com/mattgreen/watchexec/releases/download/1.8.6/watchexec-1.8.6-x86_64-unknown-linux-gnu.tar.gz | \
35- # tar -C /usr/bin --strip-components 1 -xz
36-
37- ENV DEVELOPMENT=true
38-
39- # WORKDIR /go/src/github.com/convox/rack
40-
41- # COPY vendor vendor
42- # RUN go install --ldflags="-s -w" ./vendor/...
43-
44- # COPY . .
45- RUN make build
46-
47- CMD ["bin/web" ]
48-
491# # package #####################################################################
502
51- FROM golang:1.18 AS package
3+ FROM golang:1.23-bookworm AS package
524
53- RUN apt-get update && apt-get -y install upx-ucl
5+ # Add backports to get upx-ucl in Bookworm
6+ RUN echo "deb http://deb.debian.org/debian bookworm-backports main" > /etc/apt/sources.list.d/backports.list && \
7+ apt-get update && apt-get install -y -t bookworm-backports upx-ucl
548
559WORKDIR /go/src/github.com/convox/rack
5610
57- COPY --from=development /go/src/github.com/convox/rack .
58- RUN make package build compress
11+ COPY . /go/src/github.com/convox/rack
12+ RUN make build compress
5913
6014# # production ##################################################################
6115
@@ -81,15 +35,13 @@ ENV PATH=$PATH:/go/bin
8135
8236WORKDIR /rack
8337
84- COPY --from=package /go/bin/atom /go/bin/
8538COPY --from=package /go/bin/build /go/bin/
8639COPY --from=package /go/bin/convox-env /go/bin/
8740COPY --from=package /go/bin/monitor /go/bin/
8841COPY --from=package /go/bin/rack /go/bin/
89- COPY --from=package /go/bin/router /go/bin/
9042
9143# aws templates
92- COPY --from=development /go/src/github.com/convox/rack/provider/aws/formation/ provider/aws/formation/
93- COPY --from=development /go/src/github.com/convox/rack/provider/aws/templates/ provider/aws/templates/
44+ COPY --from=package /go/src/github.com/convox/rack/provider/aws/formation/ provider/aws/formation/
45+ COPY --from=package /go/src/github.com/convox/rack/provider/aws/templates/ provider/aws/templates/
9446
9547CMD ["/go/bin/rack" ]
0 commit comments