Baking "runtime" software into image
[policy/drools-applications.git] / controlloop / packages / docker-controlloop / src / main / docker / Dockerfile
1 FROM onap/policy-drools:1.4-SNAPSHOT-latest
2
3 ARG BUILD_VERSION_APP_CL=${BUILD_VERSION_APP_CL}
4 ENV BUILD_VERSION_APP_CL=${BUILD_VERSION_APP_CL}
5
6 COPY apps-controlloop.zip ${POLICY_INSTALL}/
7
8 RUN unzip apps-controlloop.zip && \
9     mkdir -p ${POLICY_HOME}/logs ${POLICY_HOME}/config ${HOME}/.m2 && \
10     tar -C ${POLICY_HOME} -xvf base-${BUILD_VERSION}.tar.gz --no-same-owner && \
11     tar -C ${POLICY_HOME} -xvf basex-controlloop-${BUILD_VERSION_APP_CL}.tar.gz --no-same-owner && \
12     unzip policy-management-${BUILD_VERSION}.zip -d ${POLICY_HOME} && \
13     echo "source ${POLICY_HOME}/etc/profile.d/env.sh" >> "${HOME}/.bashrc" && \
14     chmod 700 ${POLICY_HOME}/bin/* && \
15     chmod 600 ${POLICY_HOME}/config/* && \
16     chmod 700 ${POLICY_INSTALL}/*.sh && \
17     rm -f ${POLICY_INSTALL}/*.conf
18
19 COPY docker-entrypoint.sh ${POLICY_HOME}/bin/
20
21 RUN . ${POLICY_HOME}/etc/profile.d/env.sh && \
22     mvn org.apache.maven.plugins:maven-dependency-plugin:3.1.1:get \
23         --settings=${POLICY_HOME}/etc/m2/standalone-settings.xml \
24         -DartifactId=feature-controlloop-management \
25         -DgroupId=org.onap.policy.drools-applications.controlloop.common -Dversion=${BUILD_VERSION_APP_CL} && \
26     ${POLICY_HOME}/bin/features install healthcheck distributed-locking && \
27     ${POLICY_HOME}/bin/features install controlloop-utils controlloop-trans controlloop-management && \
28     ${POLICY_HOME}/bin/features install controlloop-amsterdam controlloop-casablanca && \
29     ${POLICY_HOME}/bin/features enable healthcheck distributed-locking && \
30     ${POLICY_HOME}/bin/features enable controlloop-utils controlloop-trans controlloop-management && \
31     ${POLICY_HOME}/bin/features enable controlloop-amsterdam controlloop-casablanca && \
32     rm ${POLICY_INSTALL}/*.zip ${POLICY_INSTALL}/*.gz 2> /dev/null
33
34 ENTRYPOINT ["/opt/app/policy/bin/docker-entrypoint.sh"]
35 CMD ["boot"]