@@ -4,6 +4,46 @@ ARG UBI_BASETAG=latest
44
55FROM datastax/dse-mgmtapi-6_8:${DSE_VERSION} AS dse-server-base
66
7+ FROM --platform=$BUILDPLATFORM maven:3.8.7-eclipse-temurin-11 as mgmtapi-setup
8+
9+ WORKDIR /
10+
11+ ENV MAAC_PATH /opt/management-api
12+ ENV DSE_HOME /opt/dse
13+
14+ COPY pom.xml /tmp/pom.xml
15+ COPY management-api-agent-common/pom.xml /tmp/management-api-agent-common/pom.xml
16+ COPY management-api-agent-3.x/pom.xml /tmp/management-api-agent-3.x/pom.xml
17+ COPY management-api-agent-4.x/pom.xml /tmp/management-api-agent-4.x/pom.xml
18+ COPY management-api-agent-4.1.x/pom.xml /tmp/management-api-agent-4.1.x/pom.xml
19+ COPY management-api-agent-dse-6.8/pom.xml tmp/management-api-agent-dse-6.8/pom.xml
20+ COPY management-api-common/pom.xml /tmp/management-api-common/pom.xml
21+ COPY management-api-server/pom.xml /tmp/management-api-server/pom.xml
22+ COPY settings.xml settings.xml /root/.m2/
23+ # this duplicates work done in the next steps, but this should provide
24+ # a solid cache layer that only gets reset on pom.xml changes
25+ RUN cd /tmp && mvn -q -ff -T 1C install -DskipOpenApi -P dse && rm -rf target
26+
27+ COPY management-api-agent-common /tmp/management-api-agent-common
28+ COPY management-api-agent-3.x /tmp/management-api-agent-3.x
29+ COPY management-api-agent-4.x /tmp/management-api-agent-4.x
30+ COPY management-api-agent-4.1.x /tmp/management-api-agent-4.1.x
31+ COPY management-api-agent-dse-6.8 /tmp/management-api-agent-dse-6.8
32+ COPY management-api-common /tmp/management-api-common
33+ COPY management-api-server /tmp/management-api-server
34+ RUN mkdir -m 775 $MAAC_PATH \
35+ && cd /tmp \
36+ && mvn -q -ff package -DskipTests -DskipOpenApi -P dse \
37+ && find /tmp -type f -name "datastax-*.jar" -exec mv -t $MAAC_PATH -i '{}' + \
38+ && rm $MAAC_PATH/datastax-mgmtapi-agent-3* \
39+ && rm $MAAC_PATH/datastax-mgmtapi-agent-4* \
40+ && rm $MAAC_PATH/datastax-mgmtapi-*common* \
41+ && cd ${MAAC_PATH} \
42+ && ln -s datastax-mgmtapi-agent-dse-6.8-0.1.0-SNAPSHOT.jar datastax-mgmtapi-agent-0.1.0-SNAPSHOT.jar \
43+ && ln -s datastax-mgmtapi-agent-0.1.0-SNAPSHOT.jar datastax-mgmtapi-agent.jar \
44+ && ln -s datastax-mgmtapi-server-0.1.0-SNAPSHOT.jar datastax-mgmtapi-server.jar && \
45+ chmod -R g+w ${MAAC_PATH}
46+
747#############################################################
848
949# Using UBI8 with Python 2 support, eventually we may switch to Python 3
@@ -64,7 +104,7 @@ RUN chmod 0555 /entrypoint.sh /overwritable-conf-files /licenses /base-checks.sh
64104# Use OSS Management API
65105ENV CASSANDRA_CONF ${DSE_HOME}/resources/cassandra/conf
66106ENV MAAC_PATH /opt/management-api
67- COPY --chown=dse:root --from=dse-server-base $MAAC_PATH $MAAC_PATH
107+ COPY --chown=dse:root --from=mgmtapi-setup $MAAC_PATH $MAAC_PATH
68108# Add CDC Agent
69109ENV CDC_AGENT_PATH=/opt/cdc_agent
70110COPY --chown=dse:root --from=dse-server-base $CDC_AGENT_PATH $CDC_AGENT_PATH
0 commit comments