summaryrefslogtreecommitdiff
path: root/src/checkout/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'src/checkout/Dockerfile')
-rw-r--r--src/checkout/Dockerfile28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/checkout/Dockerfile b/src/checkout/Dockerfile
new file mode 100644
index 0000000..9aa66af
--- /dev/null
+++ b/src/checkout/Dockerfile
@@ -0,0 +1,28 @@
+# Copyright The OpenTelemetry Authors
+# SPDX-License-Identifier: Apache-2.0
+
+
+FROM golang:1.24-bookworm AS builder
+
+WORKDIR /usr/src/app/
+
+COPY ./src/checkout/go.mod go.mod
+COPY ./src/checkout/go.sum go.sum
+
+RUN go mod download
+
+COPY ./src/checkout/genproto/oteldemo/ genproto/oteldemo/
+COPY ./src/checkout/kafka/ kafka/
+COPY ./src/checkout/money/ money/
+COPY ./src/checkout/main.go main.go
+
+RUN CGO_ENABLED=0 GOOS=linux go build -ldflags "-s -w" -o checkout main.go
+
+FROM gcr.io/distroless/static-debian12:nonroot
+
+WORKDIR /usr/src/app/
+
+COPY --from=builder /usr/src/app/checkout/ ./
+
+EXPOSE ${CHECKOUT_PORT}
+ENTRYPOINT [ "./checkout" ]