services: flink-jobmanager: image: ckc-flink:latest networks: - ckc-net ports: - "8081:8081" environment: FLINK_PROPERTIES: "jobmanager.rpc.address: flink-jobmanager" command: jobmanager taskmanager: image: ckc-flink:latest networks: - ckc-net environment: FLINK_PROPERTIES: "jobmanager.rpc.address: flink-jobmanager" command: taskmanager zookeeper: image: wurstmeister/zookeeper networks: - ckc-net kafka: image: wurstmeister/kafka environment: KAFKA_ADVERTISED_HOST_NAME: kafka KAFKA_ADVERTISED_PORT: 9092 KAFKA_CREATE_TOPICS: "flink-ingress-state-update:1:1,flink-egress-state-update:1:1" KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 networks: - ckc-net redis: image: redis:8.0-M04-bookworm networks: - ckc-net ports: - "6379:6379" volumes: - redis-data:/data command: redis-server --appendonly yes app: image: ckc-flink:latest build: context: . environment: FLINK_JOB_MANAGER_RPC_ADDR: "flink-jobmanager" FLINK_JOB_MANAGER_RPC_PORT: "6123" KAFKA_BROKERS_SVC: "kafka:9092" KAFKA_TOPIC_INGRESS_CP_STATE_UPDATE: "flink-ingress-state-update" KAFKA_TOPIC_EGRESS_CP_STATE_UPDATE: "flink-egress-state-update" depends_on: - kafka - flink-jobmanager - redis volumes: - ./src/:/opt/app/src/ entrypoint: ["/opt/app/deploy_jobs.sh"] networks: - ckc-net python-kafka: image: python:3.11.6-bullseye networks: - ckc-net depends_on: - kafka - redis volumes: - ./kafka_scripts:/kafka_scripts working_dir: /kafka_scripts command: > bash -c "pip install kafka-python && tail -f /dev/null" tty: true stdin_open: true networks: ckc-net: external: false name: ckc-net volumes: redis-data: