Dockerfile 857 B

1234567891011121314151617181920212223242526272829303132333435
  1. # This Dockerfile is used for building the worker pool binary itself
  2. # Buildtime environment
  3. # -------------------------------------------
  4. # pinned because of https://github.com/moby/moby/issues/45935
  5. FROM golang:1.20.5-alpine as build
  6. WORKDIR /app
  7. RUN apk update && apk add gcc binutils-gold musl-dev
  8. COPY go.mod .
  9. COPY go.sum .
  10. COPY /api ./api
  11. COPY /ee ./ee
  12. COPY /internal ./internal
  13. COPY /pkg ./pkg
  14. COPY /provisioner ./provisioner
  15. COPY /workers ./workers
  16. RUN go build -ldflags '-w -s' -tags ee -a -o ./bin/worker-pool ./workers
  17. # Runtime environment
  18. # ----------------------
  19. FROM alpine:3.16
  20. WORKDIR /app
  21. RUN apk update && apk add curl
  22. COPY --from=build /app/bin/worker-pool /usr/bin/
  23. COPY /internal/opa/config.yaml /app/opa/config.yaml
  24. COPY /internal/opa/policies /app/opa/policies
  25. ENV OPA_CONFIG_FILE_DIR /app/opa
  26. ENTRYPOINT [ "worker-pool" ]