Skip to content

Commit 5d895da

Browse files
authored
Update docker-compose (#539)
* Update to use single docker-compose file, fix ports * nil check for meta in tests
1 parent 86b0721 commit 5d895da

File tree

6 files changed

+164
-73
lines changed

6 files changed

+164
-73
lines changed

Dockerfile.kafka

Lines changed: 0 additions & 40 deletions
This file was deleted.

docker-compose.yaml

Lines changed: 100 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,115 @@
1-
---
2-
version: "3.2"
31
services:
42
kafka1:
5-
build:
6-
context: .
7-
dockerfile: Dockerfile.kafka
8-
args:
9-
broker_id: 1
10-
listener_host: kafka1
11-
listener_port: 9092
3+
image: apache/kafka-native:3.8.0
4+
volumes:
5+
- ./secrets:/etc/kafka/secrets
126
environment:
137
CLUSTER_ID: "MkU3OEVBNTcwNTJENDM2Qk"
8+
KAFKA_BROKER_ID: 1
9+
KAFKA_NODE_ID: 1
10+
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
11+
KAFKA_LOG4J_ROOT_LOGLEVEL: INFO
12+
KAFKA_LOG4J_LOGGERS: kafka.server.ClientQuotaManager=WARN
13+
14+
KAFKA_CONTROLLER_QUORUM_VOTERS: "1@kafka1:9093"
15+
16+
KAFKA_PROCESS_ROLES: broker,controller
17+
KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER
1418
KAFKA_LISTENERS: INTERNAL_SSL://kafka1:9090,EXTERNAL_SSL://kafka1:9092,CONTROLLER://kafka1:9093
19+
KAFKA_ADVERTISED_LISTENERS: INTERNAL_SSL://kafka1:9090,EXTERNAL_SSL://localhost:9092
20+
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INTERNAL_SSL:SSL,EXTERNAL_SSL:SSL,CONTROLLER:PLAINTEXT
21+
KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL_SSL
22+
23+
KAFKA_SSL_KEYSTORE_FILENAME: kafka.kafka1.keystore.jks
24+
KAFKA_SSL_KEYSTORE_CREDENTIALS: password
25+
KAFKA_SSL_TRUSTSTORE_FILENAME: kafka.truststore.jks
26+
KAFKA_SSL_TRUSTSTORE_CREDENTIALS: password
27+
KAFKA_SSL_KEY_CREDENTIALS: password
28+
KAFKA_SSL_CLIENT_AUTH: required
29+
KAFKA_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM: ""
30+
KAFKA_LISTENER_NAME_INTERNAL_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM: ""
31+
32+
KAFKA_ALLOW_EVERYONE_IF_NO_ACL_FOUND: "true"
33+
KAFKA_AUTHORIZER_CLASS_NAME: org.apache.kafka.metadata.authorizer.StandardAuthorizer
34+
35+
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
36+
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
37+
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
1538
ports:
1639
- "9092:9092"
1740
kafka2:
18-
build:
19-
context: .
20-
dockerfile: Dockerfile.kafka
21-
args:
22-
broker_id: 2
23-
listener_host: kafka2
24-
listener_port: 9092
41+
image: apache/kafka-native:3.8.0
42+
volumes:
43+
- ./secrets:/etc/kafka/secrets
2544
environment:
2645
CLUSTER_ID: "MkU3OEVBNTcwNTJENDM2Qk"
46+
KAFKA_BROKER_ID: 2
47+
KAFKA_NODE_ID: 2
48+
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
49+
KAFKA_LOG4J_ROOT_LOGLEVEL: INFO
50+
KAFKA_LOG4J_LOGGERS: kafka.server.ClientQuotaManager=WARN
51+
52+
KAFKA_CONTROLLER_QUORUM_VOTERS: "1@kafka1:9093"
53+
2754
KAFKA_PROCESS_ROLES: broker
55+
KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER
56+
KAFKA_LISTENERS: INTERNAL_SSL://kafka2:9090,EXTERNAL_SSL://kafka2:9092
57+
KAFKA_ADVERTISED_LISTENERS: INTERNAL_SSL://kafka2:9090,EXTERNAL_SSL://localhost:9093
58+
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INTERNAL_SSL:SSL,EXTERNAL_SSL:SSL,CONTROLLER:PLAINTEXT
59+
KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL_SSL
60+
61+
KAFKA_SSL_KEYSTORE_FILENAME: kafka.kafka2.keystore.jks
62+
KAFKA_SSL_KEYSTORE_CREDENTIALS: password
63+
KAFKA_SSL_TRUSTSTORE_FILENAME: kafka.truststore.jks
64+
KAFKA_SSL_TRUSTSTORE_CREDENTIALS: password
65+
KAFKA_SSL_KEY_CREDENTIALS: password
66+
KAFKA_SSL_CLIENT_AUTH: required
67+
KAFKA_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM: ""
68+
KAFKA_LISTENER_NAME_INTERNAL_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM: ""
69+
70+
KAFKA_ALLOW_EVERYONE_IF_NO_ACL_FOUND: "true"
71+
KAFKA_AUTHORIZER_CLASS_NAME: org.apache.kafka.metadata.authorizer.StandardAuthorizer
72+
73+
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
74+
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
75+
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
76+
ports:
77+
- "9093:9092"
2878
kafka3:
29-
build:
30-
context: .
31-
dockerfile: Dockerfile.kafka
32-
args:
33-
broker_id: 3
34-
listener_host: kafka3
35-
listener_port: 9092
79+
image: apache/kafka-native:3.8.0
80+
volumes:
81+
- ./secrets:/etc/kafka/secrets
3682
environment:
3783
CLUSTER_ID: "MkU3OEVBNTcwNTJENDM2Qk"
84+
KAFKA_BROKER_ID: 3
85+
KAFKA_NODE_ID: 3
86+
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
87+
KAFKA_LOG4J_ROOT_LOGLEVEL: INFO
88+
KAFKA_LOG4J_LOGGERS: kafka.server.ClientQuotaManager=WARN
89+
90+
KAFKA_CONTROLLER_QUORUM_VOTERS: "1@kafka1:9093"
91+
3892
KAFKA_PROCESS_ROLES: broker
93+
KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER
94+
KAFKA_LISTENERS: INTERNAL_SSL://kafka3:9090,EXTERNAL_SSL://kafka3:9092
95+
KAFKA_ADVERTISED_LISTENERS: INTERNAL_SSL://kafka3:9090,EXTERNAL_SSL://localhost:9094
96+
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INTERNAL_SSL:SSL,EXTERNAL_SSL:SSL,CONTROLLER:PLAINTEXT
97+
KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL_SSL
98+
99+
KAFKA_SSL_KEYSTORE_FILENAME: kafka.kafka3.keystore.jks
100+
KAFKA_SSL_KEYSTORE_CREDENTIALS: password
101+
KAFKA_SSL_TRUSTSTORE_FILENAME: kafka.truststore.jks
102+
KAFKA_SSL_TRUSTSTORE_CREDENTIALS: password
103+
KAFKA_SSL_KEY_CREDENTIALS: password
104+
KAFKA_SSL_CLIENT_AUTH: required
105+
KAFKA_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM: ""
106+
107+
KAFKA_LISTENER_NAME_INTERNAL_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM: ""
108+
KAFKA_ALLOW_EVERYONE_IF_NO_ACL_FOUND: "true"
109+
KAFKA_AUTHORIZER_CLASS_NAME: org.apache.kafka.metadata.authorizer.StandardAuthorizer
110+
111+
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
112+
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
113+
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
114+
ports:
115+
- "9094:9092"

kafka/resource_kafka_acl_test.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,12 @@ func TestAcc_ACLDeletedOutsideOfTerraform(t *testing.T) {
9898
}
9999

100100
func testAccCheckAclDestroy(name string) error {
101-
client := testProvider.Meta().(*LazyClient)
101+
meta := testProvider.Meta()
102+
if meta == nil {
103+
return fmt.Errorf("provider Meta() returned nil")
104+
}
105+
106+
client := meta.(*LazyClient)
102107
err := client.InvalidateACLCache()
103108
if err != nil {
104109
return err

kafka/resource_kafka_quota_test.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,12 @@ func testAccCheckQuotaDestroy(s *terraform.State) error {
205205
entityType := instanceState.Attributes["entity_type"]
206206
entityName := instanceState.Attributes["entity_name"]
207207

208-
client := testProvider.Meta().(*LazyClient)
208+
meta := testProvider.Meta()
209+
if meta == nil {
210+
return fmt.Errorf("provider Meta() returned nil")
211+
}
212+
213+
client := meta.(*LazyClient)
209214
_, err := client.DescribeQuota(entityType, entityName)
210215

211216
if _, ok := err.(QuotaMissingError); !ok {

kafka/resource_kafka_topic_test.go

Lines changed: 46 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,12 @@ func testResourceTopic_noConfigCheck(s *terraform.State) error {
192192
return fmt.Errorf("id doesn't match name")
193193
}
194194

195-
client := testProvider.Meta().(*LazyClient)
195+
meta := testProvider.Meta()
196+
if meta == nil {
197+
return fmt.Errorf("provider Meta() returned nil")
198+
}
199+
200+
client := meta.(*LazyClient)
196201
topic, err := client.ReadTopic(name, true)
197202

198203
if err != nil {
@@ -222,7 +227,12 @@ func testResourceTopic_initialCheck(s *terraform.State) error {
222227
return fmt.Errorf("id doesn't match name")
223228
}
224229

225-
client := testProvider.Meta().(*LazyClient)
230+
meta := testProvider.Meta()
231+
if meta == nil {
232+
return fmt.Errorf("provider Meta() returned nil")
233+
}
234+
235+
client := meta.(*LazyClient)
226236
topic, err := client.ReadTopic(name, true)
227237
if err != nil {
228238
return err
@@ -241,7 +251,12 @@ func testResourceTopic_initialCheck(s *terraform.State) error {
241251

242252
func testResourceTopic_produceMessages(messages []*sarama.ProducerMessage) r.TestCheckFunc {
243253
return func(s *terraform.State) error {
244-
c := testProvider.Meta().(*LazyClient)
254+
meta := testProvider.Meta()
255+
if meta == nil {
256+
return fmt.Errorf("provider Meta() returned nil")
257+
}
258+
259+
c := meta.(*LazyClient)
245260

246261
config := c.inner.config
247262
kafkaConfig, err := config.newKafkaConfig()
@@ -275,7 +290,13 @@ func testResourceTopic_produceMessages(messages []*sarama.ProducerMessage) r.Tes
275290
func testResourceTopic_updateCheck(s *terraform.State) error {
276291
resourceState := s.Modules[0].Resources["kafka_topic.test"]
277292
instanceState := resourceState.Primary
278-
client := testProvider.Meta().(*LazyClient)
293+
294+
meta := testProvider.Meta()
295+
if meta == nil {
296+
return fmt.Errorf("provider Meta() returned nil")
297+
}
298+
299+
client := meta.(*LazyClient)
279300
name := instanceState.ID
280301

281302
if name != instanceState.Attributes["name"] {
@@ -304,7 +325,13 @@ func testResourceTopic_updateCheck(s *terraform.State) error {
304325
func testResourceTopic_updatePartitionsCheck(s *terraform.State) error {
305326
resourceState := s.Modules[0].Resources["kafka_topic.test"]
306327
instanceState := resourceState.Primary
307-
client := testProvider.Meta().(*LazyClient)
328+
329+
meta := testProvider.Meta()
330+
if meta == nil {
331+
return fmt.Errorf("provider Meta() returned nil")
332+
}
333+
334+
client := meta.(*LazyClient)
308335

309336
name := instanceState.ID
310337
topic, err := client.ReadTopic(name, true)
@@ -324,7 +351,13 @@ func testResourceTopic_updatePartitionsCheck(s *terraform.State) error {
324351
func testResourceTopic_updateRFCheck(s *terraform.State) error {
325352
resourceState := s.Modules[0].Resources["kafka_topic.test"]
326353
instanceState := resourceState.Primary
327-
client := testProvider.Meta().(*LazyClient)
354+
355+
meta := testProvider.Meta()
356+
if meta == nil {
357+
return fmt.Errorf("provider Meta() returned nil")
358+
}
359+
360+
client := meta.(*LazyClient)
328361
topicName := instanceState.Attributes["name"]
329362

330363
parsed, err := strconv.ParseInt(instanceState.Attributes["replication_factor"], 10, 16)
@@ -359,7 +392,13 @@ func testResourceTopic_checkSameMessages(producedMessages []*sarama.ProducerMess
359392
return func(s *terraform.State) error {
360393
resourceState := s.Modules[0].Resources["kafka_topic.test"]
361394
instanceState := resourceState.Primary
362-
client := testProvider.Meta().(*LazyClient)
395+
396+
meta := testProvider.Meta()
397+
if meta == nil {
398+
return fmt.Errorf("provider Meta() returned nil")
399+
}
400+
401+
client := meta.(*LazyClient)
363402
topicName := instanceState.Attributes["name"]
364403

365404
consumer, err := sarama.NewConsumerFromClient(client.inner.client)

kafka/resource_kafka_user_scram_credential_test.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,12 @@ func testAccCheckUserScramCredentialDestroy(s *terraform.State) error {
171171
username := instanceState.Attributes["username"]
172172
mechanism := instanceState.Attributes["scram_mechanism"]
173173

174-
client := testProvider.Meta().(*LazyClient)
174+
meta := testProvider.Meta()
175+
if meta == nil {
176+
return fmt.Errorf("provider Meta() returned nil")
177+
}
178+
179+
client := meta.(*LazyClient)
175180
_, err := client.DescribeUserScramCredential(username, mechanism)
176181

177182
if _, ok := err.(UserScramCredentialMissingError); !ok {

0 commit comments

Comments
 (0)