Add docker-compose file for nonrtric deployment with dmaap-mr

Signed-off-by: ecaiyanlinux <martin.c.yan@est.tech>
Issue-ID: NONRTRIC-269
Change-Id: I56437e93c6e70008c831924ce8fb3b2d48ac4a05
diff --git a/docker-compose/withDmaap_nosdnc/docker-compose.yml b/docker-compose/withDmaap_nosdnc/docker-compose.yml
new file mode 100644
index 0000000..492660e
--- /dev/null
+++ b/docker-compose/withDmaap_nosdnc/docker-compose.yml
@@ -0,0 +1,142 @@
+#  Copyright (C) 2020 Nordix Foundation. 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=================================================
+#
+version: '3.5'
+
+networks:
+  default:
+    driver: bridge
+    name: nonrtric-docker-net
+
+services:
+  policy-agent:
+    image: nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-policy-agent:2.1.0
+    container_name: policy-agent
+    networks:
+      default:
+        aliases:
+          - policy-agent-container
+    ports:
+      - 8081:8081
+      - 8433:8433
+    volumes:
+      - ./pms/application_configuration.json:/opt/app/policy-agent/data/application_configuration.json:ro
+      - ./pms/application-policyagent.yaml:/opt/app/policy-agent/config/application.yaml:ro
+    # For using own certs instead of the default ones (built into the container),
+    # place them in pms/ directory, update the application-policyagent.yaml file, and uncomment the following lines
+    #  - ./pms/keystore-policyagent.jks:/opt/app/policy-agent/etc/cert/keystore.jks:ro
+    #  - ./pms/truststore-policyagent.jks:/opt/app/policy-agent/etc/cert/truststore.jks:ro
+    #  - ./pms/application-policyagent.yaml:/opt/app/policy-agent/config/application.yaml:ro
+
+  a1-sim-OSC:
+    image: nexus3.o-ran-sc.org:10004/o-ran-sc/a1-simulator:2.0.0
+    container_name: a1-sim-OSC
+    networks:
+      - default
+    ports:
+      - 30001:8085
+      - 30002:8185
+    environment:
+      - A1_VERSION=OSC_2.1.0
+      - REMOTE_HOSTS_LOGGING=1
+      - ALLOW_HTTP=true
+
+  a1-sim-STD:
+    image: nexus3.o-ran-sc.org:10004/o-ran-sc/a1-simulator:2.0.0
+    container_name: a1-sim-STD
+    networks:
+      - default
+    ports:
+      - 30003:8085
+      - 30004:8185
+    environment:
+      - A1_VERSION=STD_1.1.3
+      - REMOTE_HOSTS_LOGGING=1
+      - ALLOW_HTTP=true
+
+  policy-control-panel:
+    image: nexus3.o-ran-sc.org:10004/o-ran-sc/nonrtric-controlpanel:2.0.0
+    container_name: policy-control-panel
+    networks:
+      - default
+    ports:
+      - 8080:8080
+      - 8082:8082
+
+  zookeeper:
+    image: nexus3.onap.org:10001/onap/dmaap/zookeeper:6.0.3
+    container_name: zookeeper
+    ports:
+      - "2181:2181"
+    environment:
+     ZOOKEEPER_REPLICAS: 1
+     ZOOKEEPER_TICK_TIME: 2000
+     ZOOKEEPER_SYNC_LIMIT: 5
+     ZOOKEEPER_INIT_LIMIT: 10
+     ZOOKEEPER_MAX_CLIENT_CNXNS: 200
+     ZOOKEEPER_AUTOPURGE_SNAP_RETAIN_COUNT: 3
+     ZOOKEEPER_AUTOPURGE_PURGE_INTERVAL: 24
+     ZOOKEEPER_CLIENT_PORT: 2181
+     KAFKA_OPTS: -Djava.security.auth.login.config=/etc/zookeeper/secrets/jaas/zk_server_jaas.conf -Dzookeeper.kerberos.removeHostFromPrincipal=true -Dzookeeper.kerberos.removeRealmFromPrincipal=true -Dzookeeper.authProvider.1=org.apache.zookeeper.server.auth.SASLAuthenticationProvider -Dzookeeper.requireClientAuthScheme=sasl
+     ZOOKEEPER_SERVER_ID: 1
+    volumes:
+      -  ./zk/zk_server_jaas.conf:/etc/zookeeper/secrets/jaas/zk_server_jaas.conf
+    networks:
+      - default
+
+  kafka:
+   image: nexus3.onap.org:10001/onap/dmaap/kafka111:1.0.4
+   container_name: kafka
+   ports:
+    - "9092:9092"
+   environment:
+    enableCadi: 'false'
+    KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
+    KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: 40000
+    KAFKA_ZOOKEEPER_SESSION_TIMEOUT_MS: 40000
+    KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INTERNAL_PLAINTEXT:PLAINTEXT,EXTERNAL_PLAINTEXT:PLAINTEXT
+    KAFKA_ADVERTISED_LISTENERS: INTERNAL_PLAINTEXT://kafka:9092
+    KAFKA_LISTENERS: INTERNAL_PLAINTEXT://0.0.0.0:9092
+    KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL_PLAINTEXT
+    KAFKA_CONFLUENT_SUPPORT_METRICS_ENABLE: 'false'
+    KAFKA_OPTS: -Djava.security.auth.login.config=/etc/kafka/secrets/jaas/zk_client_jaas.conf
+    KAFKA_ZOOKEEPER_SET_ACL: 'true'
+    KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
+    # Reduced the number of partitions only to avoid the timeout error for the first subscribe call in slow environment
+    KAFKA_OFFSETS_TOPIC_NUM_PARTITIONS: 1
+   volumes:
+     -  ./kafka/zk_client_jaas.conf:/etc/kafka/secrets/jaas/zk_client_jaas.conf
+   networks:
+      - default
+   depends_on:
+    - zookeeper
+
+  dmaap:
+    image: nexus3.onap.org:10001/onap/dmaap/dmaap-mr:1.1.18
+    container_name: dmaap-mr
+    ports:
+      - "3904:3904"
+      - "3905:3905"
+    environment:
+     enableCadi: 'false'
+    volumes:
+      - ./mr/MsgRtrApi.properties:/appl/dmaapMR1/bundleconfig/etc/appprops/MsgRtrApi.properties
+      - ./mr/logback.xml:/appl/dmaapMR1/bundleconfig/etc/logback.xml
+      - ./mr/cadi.properties:/appl/dmaapMR1/etc/cadi.properties
+    networks:
+      - default
+    depends_on:
+      - zookeeper
+      - kafka
\ No newline at end of file