forked from jhc-systems/debezium-connector-ibmi
-
Notifications
You must be signed in to change notification settings - Fork 8
/
docker-compose.yaml
148 lines (141 loc) · 5.21 KB
/
docker-compose.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
version: '3.5'
#network_mode: "host"
services:
mskafka:
image: redpandadata/redpanda:v23.2.15
container_name: mskafka
expose:
- 9092
- 8081
ports:
- "127.0.0.1:9092:9092"
- "127.0.0.1:8081:8081"
restart: on-failure
networks:
- kafkastreams-network
command:
- redpanda
- start
- --kafka-addr internal://0.0.0.0:9092,external://0.0.0.0:19092
# Address the broker advertises to clients that connect to the Kafka API.
# Use the internal addresses to connect to the Redpanda brokers'
# from inside the same Docker network.
# Use the external addresses to connect to the Redpanda brokers'
# from outside the Docker network.
- --advertise-kafka-addr internal://mskafka:9092,external://localhost:19092
- --pandaproxy-addr internal://0.0.0.0:8082,external://0.0.0.0:18082
# Address the broker advertises to clients that connect to the HTTP Proxy.
- --advertise-pandaproxy-addr internal://mskafka:8082,external://localhost:18082
- --schema-registry-addr internal://0.0.0.0:8081,external://0.0.0.0:18081
# Redpanda brokers use the RPC API to communicate with eachother internally.
- --rpc-addr mskafka:33145
- --advertise-rpc-addr mskafka:33145
# Tells Seastar (the framework Redpanda uses under the hood) to use 1 core on the system.
- --smp 1
# The amount of memory to make available to Redpanda.
- --memory 1G
# Mode dev-container uses well-known configuration properties for development in containers.
- --mode dev-container
# enable logs for debugging.
- --default-log-level=debug
volumes:
- mskafka:/var/lib/redpanda/data
redpanda-console:
container_name: redpanda-console
image: docker.redpanda.com/vectorized/console:v2.3.5
networks:
- kafkastreams-network
entrypoint: /bin/sh
command: -c 'echo "$$CONSOLE_CONFIG_FILE" > /tmp/config.yml; /app/console'
environment:
CONFIG_FILEPATH: /tmp/config.yml
CONSOLE_CONFIG_FILE: |
kafka:
brokers: ["mskafka:9092"]
schemaRegistry:
enabled: true
urls: ["http://mskafka:8081"]
redpanda:
adminApi:
enabled: true
urls: ["http://mskafka:9644"]
ports:
- 127.0.0.1:8080:8080
depends_on:
- mskafka
ibmi-connector:
image: silllencem/debezium-connector-ibmi:latest
container_name: ibmi-connector
environment:
- DEBEZIUM_BOOTSTRAP_SERVERS=mskafka:9092
- DEBEZIUM_GROUP_ID=1
- DEBEZIUM_KEY_CONVERTER=io.confluent.connect.avro.AvroConverter
- DEBEZIUM_KEY_CONVERTER_SCHEMA_REGISTRY_URL=http://mskafka:8081
- DEBEZIUM_VALUE_CONVERTER=io.confluent.connect.avro.AvroConverter
- DEBEZIUM_VALUE_CONVERTER_SCHEMA_REGISTRY_URL=http://mskafka:8081
- DEBEZIUM_KEY_CONVERTER_SCHEMAS_ENABLE=true
- DEBEZIUM_VALUE_CONVERTER_SCHEMAS_ENABLE=true
- DEBEZIUM_OFFSET_STORAGE_TOPIC=ibmi_connector_offsets
- DEBEZIUM_OFFSET_STORAGE_REPLICATION_FACTOR=1
- DEBEZIUM_CONFIG_STORAGE_TOPIC=ibmi_connector_configs
- DEBEZIUM_CONFIG_STORAGE_REPLICATION_FACTOR=1
- DEBEZIUM_STATUS_STORAGE_TOPIC=ibmi_connector_statuses
- DEBEZIUM_STATUS_STORAGE_REPLICATION_FACTOR=1
- DEBEZIUM_OFFSET_FLUSH_INTERVAL_MS=60000
- DEBEZIUM_REST_HOST_NAME=0.0.0.0
- DEBEZIUM_REST_PORT=8083
- DEBEZIUM_REST_ADVERTISED_HOST_NAME=mskafka
- DEBEZIUM_REST_ADVERTISED_PORT=8083
- DEBEZIUM_PLUGIN_PATH=/kafka/connect
- DEBEZIUM_TASK_SHUTDOWN_GRACEFUL_TIMEOUT_MS=10000
- DEBEZIUM_OFFSET_FLUSH_TIMEOUT_MS=5000
- DEBEZIUM_INTERNAL_VALUE_CONVERTER=org.apache.kafka.connect.json.JsonConverter
- DEBEZIUM_INTERNAL_KEY_CONVERTER=org.apache.kafka.connect.json.JsonConverter
- DEBEZIUM_CONNECTOR_CLIENT_CONFIG_OVERRIDE_POLICY=org.apache.kafka.connect.connector.policy.NoneConnectorClientConfigOverridePolicy
- PARTITIONS=1
- REPLICATION_FACTOR=1
- DEBEZIUM_PRODUCER_INTERCEPTOR_CLASSES=brave.kafka.interceptor.TracingProducerInterceptor
- DEBEZIUM_CONSUMER_INTERCEPTOR_CLASSES=brave.kafka.interceptor.TracingConsumerInterceptor
- DEBEZIUM_PRODUCER_ZIPKIN_SENDER_TYPE=KAFKA
- DEBEZIUM_PRODUCER_ZIPKIN_LOCAL_SERVICE_NAME=debezium-ibmi-local
- DEBEZIUM_PRODUCER_ZIPKIN_REMOTE_SERVICE_NAME=debezium-ibmi-remote
- DEBEZIUM_PRODUCER_ZIPKIN_KAFKA_BOOTSTRAP_SERVERS=mskafka:9092
- DEBEZIUM_PRODUCER_ZIPKIN_SAMPLER_RATE=1
- DISPLAY=
- JVM_OPTS=-Djava.awt.headless=true
expose:
- 8083
- 7071
ports:
- "127.0.0.1:8083:8083"
- "127.0.0.1:7071:7071"
depends_on:
- "mskafka"
extra_hosts:
- "ibmi.domain:10.10.10.10"
networks:
- kafkastreams-network
kafdrop:
image: "obsidiandynamics/kafdrop:3.30.0"
container_name: kafdrop
environment:
- KAFKA_BROKERCONNECT=mskafka:9092
- SCHEMAREGISTRY_CONNECT=http://mskafka:8081
- JVM_OPTS=-Xms64M -Xmx1G
- MESSAGE_FORMAT=AVRO
expose:
- 9000
ports:
- 127.0.0.1:9000:9000
restart: on-failure
networks:
- kafkastreams-network
depends_on:
- "mskafka"
networks:
kafkastreams-network:
name: ks
volumes:
ksql-libs:
kafka-storage:
mskafka: null