summaryrefslogtreecommitdiff
path: root/src/payment/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'src/payment/Dockerfile')
-rw-r--r--src/payment/Dockerfile31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/payment/Dockerfile b/src/payment/Dockerfile
new file mode 100644
index 0000000..cad8479
--- /dev/null
+++ b/src/payment/Dockerfile
@@ -0,0 +1,31 @@
+# Copyright The OpenTelemetry Authors
+# SPDX-License-Identifier: Apache-2.0
+
+
+FROM docker.io/library/node:22-slim AS builder
+
+WORKDIR /usr/src/app/
+
+COPY ./src/payment/package.json package.json
+COPY ./src/payment/package-lock.json package-lock.json
+
+RUN npm ci --omit=dev
+
+# -----------------------------------------------------------------------------
+
+FROM gcr.io/distroless/nodejs22-debian12:nonroot
+
+WORKDIR /usr/src/app/
+
+COPY --from=builder /usr/src/app/node_modules/ node_modules/
+
+COPY ./pb/demo.proto demo.proto
+
+COPY ./src/payment/charge.js charge.js
+COPY ./src/payment/index.js index.js
+COPY ./src/payment/logger.js logger.js
+COPY ./src/payment/opentelemetry.js opentelemetry.js
+
+EXPOSE ${PAYMENT_PORT}
+
+CMD ["--require=./opentelemetry.js", "index.js"]