[DMAAP-KAFKA] Update certs etc
[dmaap/kafka11aaf.git] / src / main / docker / Dockerfile
index dd01792..e3becb8 100644 (file)
@@ -1,73 +1,42 @@
-#########
-#  ============LICENSE_START====================================================
-#  org.onap.dmaap
-#  ===========================================================================
-#  Copyright © 2017 AT&T Intellectual Property. All rights reserved.
-#  Modifications Copyright (C) 2018 Nokia. All rights reserved.
-#  ===========================================================================
-#  Licensed under the Apache License, Version 2.0 (the "License");
-#  you may not use this file except in compliance with the License.
-#  You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-#  ============LICENSE_END====================================================
-#
-FROM openjdk:8-alpine
+FROM confluentinc/cp-base:5.3.1
 
-MAINTAINER DMAAP Team
+# 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}
 
-ARG kafka_version=0.11.0.1
-ARG scala_version=2.12
+ENV COMPONENT=kafka \
+    KAFKA_USER=mrkafka
 
-VOLUME ["/kafka"]
+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 
 
-ENV KAFKA_VERSION $kafka_version
-ENV SCALA_VERSION $scala_version
-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
 
-COPY broker-list.sh \
-    create-topics.sh \
-    start-kafka.sh \
-    start-kafkaOrMirrorMaker.sh \
-    start-mirrormaker.sh \
-    /usr/bin/ 
+COPY org.onap.dmaap.mr.trust.jks \
+     org.onap.dmaap.mr.p12 \
+     org.onap.dmaap.mr.keyfile \
+     /etc/${COMPONENT}/secrets/cert/
 
-COPY mmagent.config \
-    consumer.properties \
-    producer.properties \
-    /opt/etc/
+COPY  kafka11aaf-jar-with-dependencies.jar /usr/share/java/${COMPONENT}/
 
-COPY cadi.properties \
-    download-kafka.sh \
-    kafka_server_jaas.conf \
-    kafka-run-class.sh \
-    keyfilenew \
-    org.onap.dmaap.mr.p12 \
-    truststoreONAPall.jks \
-    kafka11aaf-jar-with-dependencies.jar \
-    dmaapMMAgent.jar \
-    /tmp/
 
-RUN apk add --update bash unzip wget curl docker jq coreutils && \
-    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 && \
-    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 useradd  -u 1000  -g 0 $KAFKA_USER
 
-WORKDIR /usr/bin
-CMD ["start-kafkaOrMirrorMaker.sh"]
\ No newline at end of file
+USER $KAFKA_USER
+
+EXPOSE 9092 9093
+
+CMD ["/etc/confluent/docker/run"]
\ No newline at end of file