[DMAAP-KAFKA] Kafka Upgrade
[dmaap/kafka11aaf.git] / src / main / docker / Dockerfile
index d5ce240..930f5ba 100644 (file)
@@ -1,76 +1,29 @@
-FROM alpine:3.7
+FROM confluentinc/cp-kafka:6.2.0
 
-ENV LANG C.UTF-8
+ENV COMPONENT=kafka \
+    KAFKA_USER=mrkafka \
+    KAFKA_GROUP=onap
 
-RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories
-RUN { \
-               echo '#!/bin/sh'; \
-               echo 'set -e'; \
-               echo; \
-               echo 'dirname "$(dirname "$(readlink -f "$(which javac || which java)")")"'; \
-       } > /usr/local/bin/docker-java-home \
-       && chmod +x /usr/local/bin/docker-java-home
-ENV JAVA_HOME /usr/lib/jvm/java-1.8-openjdk/jre
-ENV PATH $PATH:/usr/lib/jvm/java-1.8-openjdk/jre/bin:/usr/lib/jvm/java-1.8-openjdk/bin
-
-ENV JAVA_VERSION 8u212
-ENV JAVA_ALPINE_VERSION 8.212.04-r0
-
-RUN set -x \
-       && apk add --no-cache \
-               openjdk8-jre="$JAVA_ALPINE_VERSION" \
-       && [ "$JAVA_HOME" = "$(docker-java-home)" ]
-
-ARG kafka_version=1.1.1
-ARG scala_version=2.12
-
-RUN apk add --no-cache unzip wget docker curl jq coreutils libstdc++ ca-certificates bash java-cacerts
-
-ENV KAFKA_VERSION=$kafka_version SCALA_VERSION=$scala_version
-
-COPY download-kafka.sh \
-     kafka_server_jaas.conf \
-     org.onap.dmaap.mr.trust.jks \
+COPY org.onap.dmaap.mr.trust.jks \
      org.onap.dmaap.mr.p12 \
      org.onap.dmaap.mr.keyfile \
-     cadi.properties \
-     kafka11aaf-jar-with-dependencies.jar \
-     dmaapMMAgent.jar \
-     kafka-run-class.sh \
-     /tmp/
+     /etc/${COMPONENT}/secrets/cert/
 
-COPY mmagent.config \
-     consumer.properties \
-     producer.properties \
-     /opt/etc/
+USER root
 
-RUN chmod a+x /tmp/download-kafka.sh && sync && /tmp/download-kafka.sh && tar xfz /tmp/kafka_${SCALA_VERSION}-${KAFKA_VERSION}.tgz -C /opt && rm /tmp/kafka_${SCALA_VERSION}-${KAFKA_VERSION}.tgz && ln -s /opt/kafka_${SCALA_VERSION}-${KAFKA_VERSION} /opt/kafka
+RUN userdel -r appuser && groupadd $KAFKA_GROUP && useradd $KAFKA_USER -u 1000 -G 1000,$KAFKA_GROUP
 
-VOLUME ["/kafka"]
+WORKDIR /home/$KAFKA_USER
 
-ENV KAFKA_HOME /opt/kafka
-ENV PATH ${PATH}:${KAFKA_HOME}/bin
+COPY include/etc/confluent/docker/* /etc/confluent/docker/
+RUN chmod -R +x /etc/confluent/docker \
+&& mkdir -p /etc/${COMPONENT}/data /etc/${COMPONENT}/secrets \
+&& chown -R $KAFKA_USER:$KAFKA_GROUP /var/lib/${COMPONENT} /etc/${COMPONENT} /etc/confluent/docker /var/log/${COMPONENT} /var/lib/${COMPONENT} /var/log/confluent
 
-COPY start-kafka.sh \
-     broker-list.sh \
-     create-topics.sh \
-     start-kafkaOrMirrorMaker.sh \
-     start-mirrormaker.sh \
-     /usr/bin/
+COPY kafka11aaf.jar /usr/share/java/${COMPONENT}/
 
-RUN mkdir /opt/logs
-RUN touch /opt/logs/mmagent.log
-# The scripts need to have executable permission
-RUN chmod a+x /usr/bin/start-kafka.sh && \
-    chmod a+x /usr/bin/broker-list.sh && \
-    chmod a+x /usr/bin/start-kafkaOrMirrorMaker.sh && \
-    chmod a+x /usr/bin/start-mirrormaker.sh && \
-    chmod a+x /usr/bin/create-topics.sh
-# Use "exec" form so that it runs as PID 1 (useful for graceful shutdown)
-CMD ["start-kafkaOrMirrorMaker.sh"]
+USER $KAFKA_USER
 
-RUN addgroup -S -g 1000  mrkafka  \
-    && adduser -S  -u 1000 mrkafka  mrkafka \
-    && chown -R mrkafka:mrkafka  /opt/kafka/ /opt/logs/ /opt/etc/ /kafka/  /usr/bin/ /tmp/
+EXPOSE 9092 9093
 
-USER mrkafka
+CMD ["/etc/confluent/docker/run"]
\ No newline at end of file