X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=docker-compose.yml;h=3795f059786f74c1253fab771f8a626b0726be6d;hb=1a371209e0578e1bbf917d14ce9c0c7229074a41;hp=4f2a6c7fc5de42dfb5d24800e8ad7ee77c5aac57;hpb=2a830ecf3b311b2012243a875c93c1206fb99ba2;p=demos%2Fkafka%2Fwordcount diff --git a/docker-compose.yml b/docker-compose.yml index 4f2a6c7..3795f05 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -36,8 +36,9 @@ services: volumes: - "/var/run/docker.sock:/var/run/docker.sock:ro" + recorder: - image: juplo/wordcount--recorder:1.0.1 + image: juplo/wordcount--recorder:1.2.0 labels: - "traefik.enable=true" - "traefik.http.routers.recorder.rule=Host(`recorder.localhost`)" @@ -48,7 +49,7 @@ services: - kafka users: - image: juplo/wordcount--users:1.0.4 + image: juplo/wordcount--users:1.0.5 labels: - "traefik.enable=true" - "traefik.http.routers.users.rule=Host(`users.localhost`)" @@ -59,7 +60,7 @@ services: - kafka splitter: - image: juplo/wordcount--splitter:1.0.0 + image: juplo/wordcount--splitter:1.2.0 labels: - "traefik.enable=true" - "traefik.http.routers.splitter.rule=Host(`splitter.localhost`)" @@ -70,7 +71,7 @@ services: - kafka counter: - image: juplo/wordcount--counter:1.1.0 + image: juplo/wordcount--counter:1.3.0 labels: - "traefik.enable=true" - "traefik.http.routers.counter.rule=Host(`counter.localhost`)" @@ -81,7 +82,7 @@ services: - kafka top10: - image: juplo/wordcount--top10:1.0.1 + image: juplo/wordcount--top10:1.2.1 labels: - "traefik.enable=true" - "traefik.http.routers.top10.rule=Host(`top10.localhost`)" @@ -92,7 +93,7 @@ services: - kafka query: - image: juplo/wordcount--query:1.0.4 + image: juplo/wordcount--query:2.0.0 labels: - "traefik.enable=true" - "traefik.http.routers.query.rule=Host(`query.localhost`)" @@ -102,8 +103,9 @@ services: depends_on: - kafka + bart: - image: juplo/wordcount--fortune:1.0.0 + image: juplo/wordcount--fortune:1.0.1 command: bash -c " while [ true ]; do @@ -138,16 +140,97 @@ services: sleep 1; done" + cli: image: juplo/toolbox - command: bash -c " - cub kafka-ready -b kafka:9092 1 60 ; - kafka-topics --bootstrap-server kafka:9092 --create --partitions 10 --if-not-exists --topic recordings ; - kafka-topics --bootstrap-server kafka:9092 --create --partitions 10 --if-not-exists --topic users ; - kafka-topics --bootstrap-server kafka:9092 --create --partitions 10 --if-not-exists --topic words ; - kafka-topics --bootstrap-server kafka:9092 --create --partitions 10 --if-not-exists --topic countings ; - kafka-topics --bootstrap-server kafka:9092 --create --partitions 10 --if-not-exists --topic top10 ; - sleep infinity" + command: sleep infinity + stop_grace_period: 0s + depends_on: + - kafka + - traefik + + setup: + image: juplo/toolbox + command: + - bash + - -c + - | + cub kafka-ready -b kafka:9092 1 60 > /dev/null 2>&1 || exit 1 + if [ -e INITIALIZED ] + then + echo -n Bereits konfiguriert: + cat INITIALIZED + kafka-topics --bootstrap-server kafka:9092 --describe --topic users + kafka-topics --bootstrap-server kafka:9092 --describe --topic recordings + kafka-topics --bootstrap-server kafka:9092 --describe --topic words + kafka-topics --bootstrap-server kafka:9092 --describe --topic countings + kafka-topics --bootstrap-server kafka:9092 --describe --topic top10 + else + kafka-topics --bootstrap-server kafka:9092 \ + --delete \ + --if-exists \ + --topic users + kafka-topics --bootstrap-server kafka:9092 \ + --delete \ + --if-exists \ + --topic recordings + kafka-topics --bootstrap-server kafka:9092 \ + --delete \ + --if-exists \ + --topic words + kafka-topics --bootstrap-server kafka:9092 \ + --delete \ + --if-exists \ + --topic countings + kafka-topics --bootstrap-server kafka:9092 \ + --delete \ + --if-exists \ + --topic top10 + kafka-topics --bootstrap-server kafka:9092 \ + --create \ + --topic users \ + --partitions 3 \ + --replication-factor 1 \ + --config min.insync.replicas=1 \ + && echo Das Topic \'users\' wurde erfolgreich angelegt: \ + && kafka-topics --bootstrap-server kafka:9092 --describe --topic users \ + && kafka-topics --bootstrap-server kafka:9092 \ + --create \ + --topic recordings \ + --partitions 3 \ + --replication-factor 1 \ + --config min.insync.replicas=1 \ + && echo Das Topic \'recordings\' wurde erfolgreich angelegt: \ + && kafka-topics --bootstrap-server kafka:9092 --describe --topic recordings \ + && kafka-topics --bootstrap-server kafka:9092 \ + --create \ + --topic words \ + --partitions 3 \ + --replication-factor 1 \ + --config min.insync.replicas=1 \ + && echo Das Topic \'words\' wurde erfolgreich angelegt: \ + && kafka-topics --bootstrap-server kafka:9092 --describe --topic words \ + && kafka-topics --bootstrap-server kafka:9092 \ + --create \ + --topic countings \ + --partitions 3 \ + --replication-factor 1 \ + --config min.insync.replicas=1 \ + && echo Das Topic \'countings\' wurde erfolgreich angelegt: \ + && kafka-topics --bootstrap-server kafka:9092 --describe --topic countings \ + && kafka-topics --bootstrap-server kafka:9092 \ + --create \ + --topic top10 \ + --partitions 3 \ + --replication-factor 1 \ + --config min.insync.replicas=1 \ + && echo Das Topic \'top10\' wurde erfolgreich angelegt: \ + && kafka-topics --bootstrap-server kafka:9092 --describe --topic top10 \ + && date > INITIALIZED + fi + stop_grace_period: 0s + depends_on: + - cli akhq: image: tchiotludo/akhq:0.18.0