-#########
-# ============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