[DMAAP-KAFKA] Update certs etc
[dmaap/kafka11aaf.git] / src / main / docker / Dockerfile
index 568b10d..e3becb8 100644 (file)
@@ -1,48 +1,42 @@
-FROM anapsix/alpine-java
-
-ARG kafka_version=1.1.1
-ARG scala_version=2.12
-
-
-RUN apk add --update unzip wget curl docker jq coreutils
-
-ENV KAFKA_VERSION=$kafka_version SCALA_VERSION=$scala_version
-ADD download-kafka.sh /tmp/download-kafka.sh
-ADD kafka_server_jaas.conf /tmp/kafka_server_jaas.conf
-ADD truststoreONAPall.jks /tmp/truststoreONAPall.jks
-ADD org.onap.dmaap.mr.p12 /tmp/org.onap.dmaap.mr.p12
-ADD keyfilenew /tmp/keyfilenew
-ADD cadi.properties /tmp/cadi.properties
-ADD mmagent.config /opt/etc/mmagent.config
-ADD consumer.properties /opt/etc/consumer.properties
-ADD producer.properties /opt/etc/producer.properties
-ADD kafka11aaf-jar-with-dependencies.jar /tmp/kafka11aaf-jar-with-dependencies.jar
-ADD dmaapMMAgent.jar /tmp/dmaapMMAgent.jar
-ADD kafka-run-class.sh /tmp/kafka-run-class.sh
-
-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
-
-VOLUME ["/kafka"]
-
-ENV KAFKA_HOME /opt/kafka
-ENV PATH ${PATH}:${KAFKA_HOME}/bin
-ADD start-kafka.sh /usr/bin/start-kafka.sh
-ADD broker-list.sh /usr/bin/broker-list.sh
-ADD create-topics.sh /usr/bin/create-topics.sh
-ADD start-kafkaOrMirrorMaker.sh /usr/bin/start-kafkaOrMirrorMaker.sh
-ADD start-mirrormaker.sh /usr/bin/start-mirrormaker.sh
-RUN mkdir /opt/logs
-# 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"]
-
-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/
-
-USER mrkafka
+FROM confluentinc/cp-base:5.3.1
+
+# allow arg override of required env params
+ARG KAFKA_ZOOKEEPER_CONNECT
+ENV KAFKA_ZOOKEEPER_CONNECT=${KAFKA_ZOOKEEPER_CONNECT}
+ARG KAFKA_ADVERTISED_LISTENERS
+ENV KAFKA_ADVERTISED_LISTENERS=${KAFKA_ADVERTISED_LISTENERS}
+
+ENV COMPONENT=kafka \
+    KAFKA_USER=mrkafka
+
+RUN echo "===> installing ${COMPONENT}..." \
+    && wget -qO - http://packages.confluent.io/deb/3.0/archive.key | apt-key add - \
+    && echo "deb [arch=amd64] http://packages.confluent.io/deb/3.0 stable main" | tee -a /etc/apt/sources.list \
+    && apt-key update && apt-get update && apt-get install -y confluent-kafka-2.11 --force-yes \
+    \
+    && echo "===> clean up ..."  \
+    && apt-get autoremove -y && apt-get clean && rm -rf /tmp/* /var/lib/apt/lists/* \
+    \
+    && echo "===> Setting up ${COMPONENT} dirs..." \
+    && mkdir -p /var/lib/${COMPONENT}/data /etc/${COMPONENT}/secrets/cert /etc/${COMPONENT}/secrets/jaas /etc/${COMPONENT}/data  /var/log/kafka /var/log/confluent \
+    && chmod -R ag+w /etc/${COMPONENT} /var/lib/${COMPONENT}/data   /etc/${COMPONENT}/secrets /etc/${COMPONENT}/data  /var/log/kafka /var/log/confluent \
+    && chown -R root:root /var/log/kafka /var/log/confluent /var/lib/kafka /var/lib/zookeeper 
+
+COPY include/etc/confluent/docker /etc/confluent/docker
+RUN chmod -R +x /etc/confluent/docker
+
+COPY org.onap.dmaap.mr.trust.jks \
+     org.onap.dmaap.mr.p12 \
+     org.onap.dmaap.mr.keyfile \
+     /etc/${COMPONENT}/secrets/cert/
+
+COPY  kafka11aaf-jar-with-dependencies.jar /usr/share/java/${COMPONENT}/
+
+
+RUN useradd  -u 1000  -g 0 $KAFKA_USER
+
+USER $KAFKA_USER
+
+EXPOSE 9092 9093
+
+CMD ["/etc/confluent/docker/run"]
\ No newline at end of file