diff --git a/README.md b/README.md index c49b649..c26ca74 100644 --- a/README.md +++ b/README.md @@ -28,13 +28,17 @@ Upon receiving a message, the consumer processes it and publishes a new message ```shell docker run -p 9092:9092 -p 2181:2181 -p 29092:29092 -v "$PWD/specmatic.yaml:/usr/src/app/specmatic.yaml" znsio/specmatic-kafka-trial virtualize ``` + Alternatively if you want to use a standard Kafka Docker image you can run below command. + ```shell + docker compose up + ``` 2. Run the application. ```shell - ./gradlew bootRun + ./gradlew bootRun ``` 3. Run the contract tests. ```shell - docker run --network="host" -v "$PWD/specmatic.yaml:/usr/src/app/specmatic.yaml" -v "$PWD/src/test/resources:/usr/src/app/examples" znsio/specmatic-kafka-trial test --examples=examples + docker run --network="host" -v "$PWD/specmatic.yaml:/usr/src/app/specmatic.yaml" -v "$PWD/src/test/resources:/usr/src/app/examples" znsio/specmatic-kafka-trial test --examples=examples ``` ## Get information around other CLI args exposed by specmatic-kafka docker image diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..ef701dd --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,25 @@ +version: '3.8' + +services: + zookeeper: + image: confluentinc/cp-zookeeper:latest + container_name: zookeeper + ports: + - "2181:2181" + environment: + ZOOKEEPER_CLIENT_PORT: 2181 + ZOOKEEPER_TICK_TIME: 2000 + + kafka: + image: confluentinc/cp-kafka:latest + container_name: kafka + ports: + - "9092:9092" + environment: + KAFKA_BROKER_ID: 1 + KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 + KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092 + KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092 + KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 + depends_on: + - zookeeper \ No newline at end of file