@@ -7,6 +7,7 @@ FROM stackable/image/java-devel AS trino-builder
77
88ARG PRODUCT
99ARG STACKABLE_USER_UID
10+ ARG JMX_EXPORTER
1011
1112RUN <<EOF
1213microdnf update
@@ -25,6 +26,7 @@ RUN curl "https://repo.stackable.tech/repository/packages/trino-server/trino-ser
2526
2627COPY --chown=${STACKABLE_USER_UID}:0 trino/stackable/patches/apply_patches.sh /stackable/trino-server-${PRODUCT}-src/patches/apply_patches.sh
2728COPY --chown=${STACKABLE_USER_UID}:0 trino/stackable/patches/${PRODUCT} /stackable/trino-server-${PRODUCT}-src/patches/${PRODUCT}
29+ COPY --chown=${STACKABLE_USER_UID}:0 --from=trino-storage-connector-image /stackable/trino-storage-${PRODUCT}-src/target/trino-storage-${PRODUCT} /trino-storage-${PRODUCT}
2830
2931# adding a hadolint ignore for SC2215, due to https://github.com/hadolint/hadolint/issues/980
3032# hadolint ignore=SC2215
@@ -58,18 +60,24 @@ mv /stackable/trino-server-${PRODUCT}-src/core/trino-server/target/bom.json /sta
5860# Delete all intermediate build products to free some more space
5961rm -r /stackable/trino-server-${PRODUCT}-src
6062
61- # We need to change group and not in the final image (file changes bloat images)
62- chmod -R g=u /stackable
63+ # JMX Exporter
64+ mkdir /stackable/jmx
65+ curl --fail https://repo.stackable.tech/repository/packages/jmx-exporter/jmx_prometheus_javaagent-${JMX_EXPORTER}.jar -o /stackable/jmx/jmx_prometheus_javaagent-${JMX_EXPORTER}.jar
66+ chmod +x /stackable/jmx/jmx_prometheus_javaagent-${JMX_EXPORTER}.jar
67+ # Storage connector
68+ mv /trino-storage-${PRODUCT}/ /stackable/trino-server-${PRODUCT}/plugin/trino-storage-${PRODUCT}/
69+ # Softlinks
70+ ln -s /stackable/jmx/jmx_prometheus_javaagent-${JMX_EXPORTER}.jar /stackable/jmx/jmx_prometheus_javaagent.jar
71+ ln -s /stackable/trino-server-${PRODUCT} /stackable/trino-server
72+ # We need to change groups here and not in the final image (file changes bloat images)
73+ chmod -R g=u /stackable/trino-server-${PRODUCT}
74+ chmod -R g=u /stackable/jmx
6375EOF
64-
65- COPY --from=trino-storage-connector-image /stackable/trino-storage-${PRODUCT}-src/target/trino-storage-${PRODUCT} /stackable/trino-server-${PRODUCT}/plugin/trino-storage-${PRODUCT}
66- RUN chmod -R g=u /stackable/trino-server-${PRODUCT}/plugin/trino-storage-${PRODUCT}
6776# ===
6877
6978FROM stackable/image/java-base
7079
7180ARG PRODUCT
72- ARG JMX_EXPORTER
7381ARG RELEASE
7482ARG STACKABLE_USER_UID
7583
@@ -94,19 +102,11 @@ RUN microdnf update && \
94102
95103WORKDIR /stackable
96104
97- COPY --chown=${STACKABLE_USER_UID}:0 trino/stackable /stackable
98- COPY --chown=${STACKABLE_USER_UID}:0 trino/licenses /licenses
99-
100105COPY --from=trino-builder --chown=${STACKABLE_USER_UID}:0 /stackable/trino-server-${PRODUCT} /stackable/trino-server-${PRODUCT}
101-
102- RUN <<EOF
103- ln -s /stackable/trino-server-${PRODUCT} /stackable/trino-server
104-
105- curl --fail https://repo.stackable.tech/repository/packages/jmx-exporter/jmx_prometheus_javaagent-${JMX_EXPORTER}.jar -o /stackable/jmx/jmx_prometheus_javaagent-${JMX_EXPORTER}.jar
106- chmod g=u+x /stackable/jmx/jmx_prometheus_javaagent-${JMX_EXPORTER}.jar
107- chown ${STACKABLE_USER_UID}:0 /stackable/jmx/jmx_prometheus_javaagent-${JMX_EXPORTER}.jar
108- ln -s /stackable/jmx/jmx_prometheus_javaagent-${JMX_EXPORTER}.jar /stackable/jmx/jmx_prometheus_javaagent.jar
109- EOF
106+ COPY --from=trino-builder --chown=${STACKABLE_USER_UID}:0 /stackable/jmx /stackable/jmx
107+ # do not copy patches -> .dockerignore?
108+ COPY --chown=${STACKABLE_USER_UID}:0 trino/stackable/jmx /stackable/jmx
109+ COPY --chown=${STACKABLE_USER_UID}:0 trino/licenses /licenses
110110
111111# ----------------------------------------
112112# Attention:
0 commit comments