Skip to content

Commit e84975d

Browse files
SylvainJugegirodav
andauthored
use latest java edot snapshot for ad & fraud services (#162)
* use latest java edot for ad & fraud services * bump the fraud detection base distro * make it work in a portable way * update kafka as well * use minimal image for edot java download * Update src/ad/Dockerfile.elastic * Update src/fraud-detection/Dockerfile.elastic * Update src/kafka/Dockerfile.elastic --------- Co-authored-by: Davide Girardi <[email protected]>
1 parent 9f67126 commit e84975d

File tree

3 files changed

+56
-4
lines changed

3 files changed

+56
-4
lines changed

src/ad/Dockerfile.elastic

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,22 @@ RUN ./gradlew installDist -PprotoSourceDir=./proto
1616

1717
# -----------------------------------------------------------------------------
1818

19+
# fetch latest published snapshot of the Elastic OpenTelemetry Java agent, using xq to parse XML
20+
FROM debian:stable-slim AS intermediate
21+
RUN <<-EOF
22+
apt-get update && apt-get install -y curl xq
23+
artifact='elastic-otel-javaagent'
24+
base_url="https://central.sonatype.com/repository/maven-snapshots/co/elastic/otel/${artifact}"
25+
snapshot_version="$(curl -s "${base_url}/maven-metadata.xml" | xq -e metadata/versioning/latest)"
26+
snapshot_timestamp="$(curl -s "${base_url}/${snapshot_version}/maven-metadata.xml" | xq -e metadata/versioning/snapshot/timestamp)"
27+
snapshot_buildnumber="$(curl -s "${base_url}/${snapshot_version}/maven-metadata.xml" | xq -e metadata/versioning/snapshot/buildNumber)"
28+
curl \
29+
-o /opentelemetry-javaagent.jar \
30+
"${base_url}/${snapshot_version}/${artifact}-${snapshot_version%-SNAPSHOT}-${snapshot_timestamp}-${snapshot_buildnumber}.jar"
31+
EOF
32+
33+
# -----------------------------------------------------------------------------
34+
1935
FROM eclipse-temurin:21-jre
2036

2137
# ARG version=0.4.0
@@ -24,7 +40,9 @@ ARG _JAVA_OPTIONS
2440
WORKDIR /usr/src/app/
2541

2642
COPY --from=builder /usr/src/app/ ./
27-
ADD --chmod=644 https://oss.sonatype.org/service/local/artifact/maven/redirect?r=snapshots&g=co.elastic.otel&a=elastic-otel-javaagent&v=LATEST /usr/src/app/opentelemetry-javaagent.jar
43+
44+
COPY --from=intermediate /opentelemetry-javaagent.jar /usr/src/app/opentelemetry-javaagent.jar
45+
2846
ENV JAVA_TOOL_OPTIONS=-javaagent:/usr/src/app/opentelemetry-javaagent.jar
2947
ENV OTEL_INFERRED_SPANS_ENABLED=true
3048
ENV ELASTIC_OTEL_SPAN_STACK_TRACE_MIN_DURATION=2

src/fraud-detection/Dockerfile.elastic

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,30 @@ RUN gradle shadowJar
88

99
# -----------------------------------------------------------------------------
1010

11-
FROM gcr.io/distroless/java17-debian11
11+
# fetch latest published snapshot of the Elastic OpenTelemetry Java agent, using xq to parse XML
12+
FROM debian:stable-slim AS intermediate
13+
RUN <<-EOF
14+
apt-get update && apt-get install -y curl xq
15+
artifact='elastic-otel-javaagent'
16+
base_url="https://central.sonatype.com/repository/maven-snapshots/co/elastic/otel/${artifact}"
17+
snapshot_version="$(curl -s "${base_url}/maven-metadata.xml" | xq -e metadata/versioning/latest)"
18+
snapshot_timestamp="$(curl -s "${base_url}/${snapshot_version}/maven-metadata.xml" | xq -e metadata/versioning/snapshot/timestamp)"
19+
snapshot_buildnumber="$(curl -s "${base_url}/${snapshot_version}/maven-metadata.xml" | xq -e metadata/versioning/snapshot/buildNumber)"
20+
curl \
21+
-o /opentelemetry-javaagent.jar \
22+
"${base_url}/${snapshot_version}/${artifact}-${snapshot_version%-SNAPSHOT}-${snapshot_timestamp}-${snapshot_buildnumber}.jar"
23+
EOF
24+
25+
# -----------------------------------------------------------------------------
26+
27+
FROM gcr.io/distroless/java17-debian12:nonroot
1228

1329
# ARG version=0.4.0
1430
WORKDIR /usr/src/app/
1531

1632
COPY --from=builder /usr/src/app/build/libs/fraud-detection-1.0-all.jar ./
17-
ADD --chmod=644 https://oss.sonatype.org/service/local/artifact/maven/redirect?r=snapshots&g=co.elastic.otel&a=elastic-otel-javaagent&v=LATEST /app/opentelemetry-javaagent.jar
33+
COPY --from=intermediate /opentelemetry-javaagent.jar /usr/src/app/opentelemetry-javaagent.jar
34+
1835
ENV JAVA_TOOL_OPTIONS=-javaagent:/app/opentelemetry-javaagent.jar
1936
ENV ELASTIC_OTEL_INFERRED_SPANS_ENABLED=true
2037
ENV ELASTIC_OTEL_SPAN_STACK_TRACE_MIN_DURATION=2

src/kafka/Dockerfile.elastic

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,23 @@
11
# Copyright The OpenTelemetry Authors
22
# SPDX-License-Identifier: Apache-2.0
33

4+
# -----------------------------------------------------------------------------
5+
6+
# fetch latest published snapshot of the Elastic OpenTelemetry Java agent, using xq to parse XML
7+
FROM debian:stable-slim AS intermediate
8+
RUN <<-EOF
9+
apt-get update && apt-get install -y curl xq
10+
artifact='elastic-otel-javaagent'
11+
base_url="https://central.sonatype.com/repository/maven-snapshots/co/elastic/otel/${artifact}"
12+
snapshot_version="$(curl -s "${base_url}/maven-metadata.xml" | xq -e metadata/versioning/latest)"
13+
snapshot_timestamp="$(curl -s "${base_url}/${snapshot_version}/maven-metadata.xml" | xq -e metadata/versioning/snapshot/timestamp)"
14+
snapshot_buildnumber="$(curl -s "${base_url}/${snapshot_version}/maven-metadata.xml" | xq -e metadata/versioning/snapshot/buildNumber)"
15+
curl \
16+
-o /opentelemetry-javaagent.jar \
17+
"${base_url}/${snapshot_version}/${artifact}-${snapshot_version%-SNAPSHOT}-${snapshot_timestamp}-${snapshot_buildnumber}.jar"
18+
EOF
19+
20+
# -----------------------------------------------------------------------------
421

522
FROM apache/kafka:3.7.0
623

@@ -9,7 +26,7 @@ USER root
926

1027
USER appuser
1128

12-
ADD --chown=appuser:appuser https://oss.sonatype.org/service/local/artifact/maven/redirect?r=snapshots&g=co.elastic.otel&a=elastic-otel-javaagent&v=LATEST /tmp/opentelemetry-javaagent.jar
29+
COPY --from=intermediate /opentelemetry-javaagent.jar /tmp/opentelemetry-javaagent.jar
1330

1431
ENV OTEL_INFERRED_SPANS_ENABLED=false
1532
ENV ELASTIC_OTEL_SPAN_STACK_TRACE_MIN_DURATION=2

0 commit comments

Comments
 (0)