ICS sample producer and consumer
[nonrtric.git] / sample-services / ics-producer-consumer / docker-compose.yaml
1 #  ========================LICENSE_START=================================\r
2 #  O-RAN-SC\r
3 #\r
4 #  Copyright (C) 2024: OpenInfra Foundation Europe\r
5 #  ========================================================================\r
6 #  Licensed under the Apache License, Version 2.0 (the "License");\r
7 #  you may not use this file except in compliance with the License.\r
8 #  You may obtain a copy of the License at\r
9 #\r
10 #       http://www.apache.org/licenses/LICENSE-2.0\r
11 #\r
12 #  Unless required by applicable law or agreed to in writing, software\r
13 #  distributed under the License is distributed on an "AS IS" BASIS,\r
14 #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
15 #  See the License for the specific language governing permissions and\r
16 #  limitations under the License.\r
17 #  ============LICENSE_END=================================================\r
18 \r
19 version: '2'\r
20 \r
21 networks:\r
22   my-network:\r
23     name: kafka\r
24     driver: bridge\r
25 \r
26 services:\r
27   kafka-zkless:\r
28     container_name: kafka-zkless\r
29     image: quay.io/strimzi/kafka:latest-kafka-2.8.1-amd64\r
30     command:\r
31       [\r
32         "sh",\r
33         "-c",\r
34         "export CLUSTER_ID=$$(bin/kafka-storage.sh random-uuid) && bin/kafka-storage.sh format -t $$CLUSTER_ID -c config/kraft/server.properties && bin/kafka-server-start.sh config/kraft/server.properties --override advertised.listeners=$${KAFKA_ADVERTISED_LISTENERS} --override listener.security.protocol.map=$${KAFKA_LISTENER_SECURITY_PROTOCOL_MAP} --override listeners=$${KAFKA_LISTENERS}",\r
35       ]\r
36     ports:\r
37       - "9092:9092"\r
38     environment:\r
39       LOG_DIR: "/tmp/logs"\r
40       KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT\r
41       KAFKA_LISTENERS: PLAINTEXT://:29092,PLAINTEXT_HOST://:9092,CONTROLLER://:9093\r
42       KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka-zkless:29092,PLAINTEXT_HOST://kafka-zkless:9092\r
43     tty: true\r
44     stdin_open: true\r
45     networks:\r
46       - my-network\r
47 \r
48   informationcoordinator:\r
49     image: nexus3.o-ran-sc.org:10001/o-ran-sc/nonrtric-plt-informationcoordinatorservice:1.6.0\r
50     container_name: informationcoordinatorservice\r
51     ports:\r
52       - "8083:8083"\r
53     volumes:\r
54       - ./application.yaml:/opt/app/information-coordinator-service/config/application.yaml\r
55     networks:\r
56       - my-network\r
57 \r
58   kafka-producer:\r
59     image: o-ran-sc/nonrtric-sample-icsproducer:latest\r
60     container_name: kafka-producer\r
61     environment:\r
62       - KAFKA_SERVERS=kafka-zkless:9092\r
63     ports:\r
64       - "8080:8080"\r
65     networks:\r
66       - my-network\r
67 \r
68   kafka-consumer:\r
69     image: o-ran-sc/nonrtric-sample-icsconsumer:latest\r
70     container_name: kafka-consumer\r
71     environment:\r
72       - KAFKA_SERVERS=kafka-zkless:9092\r
73     ports:\r
74       - "8081:8081"\r
75     networks:\r
76       - my-network\r
77 \r
78   curl-client:\r
79     image: curlimages/curl:latest\r
80     container_name: curl-client\r
81     command: ["tail", "-f", "/dev/null"]\r
82     networks:\r
83       - my-network\r