X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=docker-compose.yml;h=e431476c70423970203ab26aa81a644482f9aa20;hb=517f327a9a282022670b3dab5dd8e836c05486b1;hp=710596e9946d314abea0aeb1242caf31c03fb6fa;hpb=1768064b5f2e46626761afcabc146f326ffd821a;p=demos%2Fkafka%2Fwordcount diff --git a/docker-compose.yml b/docker-compose.yml index 710596e..e431476 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.1.0 + image: juplo/wordcount--recorder:1.1.2 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.1.4 + image: juplo/wordcount--splitter:1.1.5 labels: - "traefik.enable=true" - "traefik.http.routers.splitter.rule=Host(`splitter.localhost`)" @@ -70,7 +71,7 @@ services: - kafka counter: - image: juplo/wordcount--counter:1.2.4 + image: juplo/wordcount--counter:1.2.14 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.1.2 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:1.0.5 labels: - "traefik.enable=true" - "traefik.http.routers.query.rule=Host(`query.localhost`)" @@ -102,6 +103,7 @@ services: depends_on: - kafka + bart: image: juplo/wordcount--fortune:1.0.0 command: bash -c " @@ -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