@testcontainers/kafka 10.7.2 → 10.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -20,12 +20,14 @@ interface PKCS12CertificateStore {
20
20
  }
21
21
  export declare class KafkaContainer extends GenericContainer {
22
22
  private readonly uuid;
23
- private isZooKeeperProvided;
23
+ private mode;
24
24
  private zooKeeperHost?;
25
25
  private zooKeeperPort?;
26
26
  private saslSslConfig?;
27
+ private originalWaitinStrategy;
27
28
  constructor(image?: string);
28
29
  withZooKeeper(host: string, port: number): this;
30
+ withKraft(): this;
29
31
  withSaslSslListener(options: SaslSslListenerOptions): this;
30
32
  protected beforeContainerCreated(): Promise<void>;
31
33
  start(): Promise<StartedKafkaContainer>;
@@ -34,6 +36,11 @@ export declare class KafkaContainer extends GenericContainer {
34
36
  private addPlaintextListener;
35
37
  private updateAdvertisedListeners;
36
38
  private createUser;
39
+ private verifyMinKraftVersion;
40
+ private isLessThanCP;
41
+ private commandKraftCreateUser;
42
+ private commandKraft;
43
+ private commandZookeeper;
37
44
  }
38
45
  export declare class StartedKafkaContainer extends AbstractStartedContainer {
39
46
  constructor(startedTestContainer: StartedTestContainer);
@@ -4,14 +4,28 @@ exports.StartedKafkaContainer = exports.KafkaContainer = exports.KAFKA_IMAGE = v
4
4
  const testcontainers_1 = require("testcontainers");
5
5
  const KAFKA_PORT = 9093;
6
6
  const KAFKA_BROKER_PORT = 9092;
7
+ const KAFKA_CONTROLLER_PORT = 9094;
7
8
  const DEFAULT_ZOOKEEPER_PORT = 2181;
9
+ const DEFAULT_CLUSTER_ID = "4L6g3nShT-eMCtK--X86sw";
10
+ const STARTER_SCRIPT = "/testcontainers_start.sh";
11
+ const WAIT_FOR_SCRIPT_MESSAGE = "Waiting for script...";
12
+ // https://docs.confluent.io/platform/7.0.0/release-notes/index.html#ak-raft-kraft
13
+ const MIN_KRAFT_VERSION = "7.0.0";
14
+ const MIN_KRAFT_SASL_VERSION = "7.5.0";
8
15
  exports.KAFKA_IMAGE = "confluentinc/cp-kafka:7.2.2";
16
+ var KafkaMode;
17
+ (function (KafkaMode) {
18
+ KafkaMode[KafkaMode["EMBEDDED_ZOOKEEPER"] = 0] = "EMBEDDED_ZOOKEEPER";
19
+ KafkaMode[KafkaMode["PROVIDED_ZOOKEEPER"] = 1] = "PROVIDED_ZOOKEEPER";
20
+ KafkaMode[KafkaMode["KRAFT"] = 2] = "KRAFT";
21
+ })(KafkaMode || (KafkaMode = {}));
9
22
  class KafkaContainer extends testcontainers_1.GenericContainer {
10
23
  uuid = new testcontainers_1.RandomUuid();
11
- isZooKeeperProvided = false;
24
+ mode = KafkaMode.EMBEDDED_ZOOKEEPER;
12
25
  zooKeeperHost;
13
26
  zooKeeperPort;
14
27
  saslSslConfig;
28
+ originalWaitinStrategy;
15
29
  constructor(image = exports.KAFKA_IMAGE) {
16
30
  super(image);
17
31
  this.withExposedPorts(KAFKA_PORT).withStartupTimeout(180000).withEnvironment({
@@ -25,13 +39,21 @@ class KafkaContainer extends testcontainers_1.GenericContainer {
25
39
  KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: "0",
26
40
  KAFKA_CONFLUENT_SUPPORT_METRICS_ENABLE: "false",
27
41
  });
42
+ this.originalWaitinStrategy = this.waitStrategy;
28
43
  }
29
44
  withZooKeeper(host, port) {
30
- this.isZooKeeperProvided = true;
45
+ this.mode = KafkaMode.PROVIDED_ZOOKEEPER;
31
46
  this.zooKeeperHost = host;
32
47
  this.zooKeeperPort = port;
33
48
  return this;
34
49
  }
50
+ withKraft() {
51
+ this.verifyMinKraftVersion();
52
+ this.mode = KafkaMode.KRAFT;
53
+ this.zooKeeperHost = undefined;
54
+ this.zooKeeperPort = undefined;
55
+ return this;
56
+ }
35
57
  withSaslSslListener(options) {
36
58
  this.saslSslConfig = options;
37
59
  return this;
@@ -45,30 +67,71 @@ class KafkaContainer extends testcontainers_1.GenericContainer {
45
67
  else {
46
68
  this.addPlaintextListener();
47
69
  }
48
- let command = "#!/bin/bash\n";
49
- if (this.isZooKeeperProvided) {
70
+ if (this.mode === KafkaMode.PROVIDED_ZOOKEEPER) {
50
71
  this.withEnvironment({ KAFKA_ZOOKEEPER_CONNECT: `${this.zooKeeperHost}:${this.zooKeeperPort}` });
51
72
  }
52
- else {
73
+ else if (this.mode === KafkaMode.EMBEDDED_ZOOKEEPER) {
53
74
  this.zooKeeperHost = this.uuid.nextUuid();
54
75
  this.zooKeeperPort = DEFAULT_ZOOKEEPER_PORT;
55
76
  this.withExposedPorts(this.zooKeeperPort);
56
77
  this.withEnvironment({ KAFKA_ZOOKEEPER_CONNECT: `localhost:${this.zooKeeperPort}` });
57
- command += "echo 'clientPort=" + this.zooKeeperPort + "' > zookeeper.properties\n";
58
- command += "echo 'dataDir=/var/lib/zookeeper/data' >> zookeeper.properties\n";
59
- command += "echo 'dataLogDir=/var/lib/zookeeper/log' >> zookeeper.properties\n";
60
- command += "zookeeper-server-start zookeeper.properties &\n";
61
78
  }
62
- command += "echo '' > /etc/confluent/docker/ensure \n";
63
- command += "/etc/confluent/docker/run \n";
64
- this.withCommand(["sh", "-c", command]);
79
+ else {
80
+ // Kraft
81
+ this.withEnvironment({
82
+ CLUSTER_ID: DEFAULT_CLUSTER_ID,
83
+ KAFKA_NODE_ID: this.environment["KAFKA_BROKER_ID"],
84
+ KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: this.environment["KAFKA_LISTENER_SECURITY_PROTOCOL_MAP"] + ",CONTROLLER:PLAINTEXT",
85
+ KAFKA_LISTENERS: `${this.environment["KAFKA_LISTENERS"]},CONTROLLER://0.0.0.0:${KAFKA_CONTROLLER_PORT}`,
86
+ KAFKA_PROCESS_ROLES: "broker,controller",
87
+ KAFKA_CONTROLLER_QUORUM_VOTERS: `${this.environment["KAFKA_BROKER_ID"]}@${network}:${KAFKA_CONTROLLER_PORT}`,
88
+ KAFKA_CONTROLLER_LISTENER_NAMES: "CONTROLLER",
89
+ });
90
+ }
91
+ // Change the wait strategy to wait for a log message from a fake starter script
92
+ // so that we can put a real starter script in place at that moment
93
+ this.originalWaitinStrategy = this.waitStrategy;
94
+ this.waitStrategy = testcontainers_1.Wait.forLogMessage(WAIT_FOR_SCRIPT_MESSAGE);
95
+ this.withEntrypoint(["sh"]);
96
+ this.withCommand([
97
+ "-c",
98
+ `echo '${WAIT_FOR_SCRIPT_MESSAGE}'; while [ ! -f ${STARTER_SCRIPT} ]; do sleep 0.1; done; ${STARTER_SCRIPT}`,
99
+ ]);
65
100
  }
66
101
  async start() {
102
+ if (this.mode === KafkaMode.KRAFT && this.saslSslConfig && this.isLessThanCP(7, 5)) {
103
+ throw new Error(`Provided Confluent Platform's version ${this.imageName.tag} is not supported in Kraft mode with sasl (must be ${MIN_KRAFT_SASL_VERSION} or above)`);
104
+ }
67
105
  return new StartedKafkaContainer(await super.start());
68
106
  }
69
107
  async containerStarted(container, inspectResult) {
70
- await this.updateAdvertisedListeners(container, inspectResult);
71
- if (this.saslSslConfig) {
108
+ let command = "#!/bin/bash\n";
109
+ const advertisedListeners = this.updateAdvertisedListeners(container, inspectResult);
110
+ // exporting KAFKA_ADVERTISED_LISTENERS with the container hostname
111
+ command += `export KAFKA_ADVERTISED_LISTENERS=${advertisedListeners}\n`;
112
+ if (this.mode !== KafkaMode.KRAFT || this.isLessThanCP(7, 4)) {
113
+ // Optimization: skip the checks
114
+ command += "echo '' > /etc/confluent/docker/ensure \n";
115
+ }
116
+ if (this.mode === KafkaMode.KRAFT) {
117
+ if (this.saslSslConfig) {
118
+ command += this.commandKraftCreateUser(this.saslSslConfig);
119
+ }
120
+ if (this.isLessThanCP(7, 4)) {
121
+ command += this.commandKraft();
122
+ }
123
+ }
124
+ else if (this.mode === KafkaMode.EMBEDDED_ZOOKEEPER) {
125
+ command += this.commandZookeeper();
126
+ }
127
+ // Run the original command
128
+ command += "/etc/confluent/docker/run \n";
129
+ await container.copyContentToContainer([{ content: command, target: STARTER_SCRIPT, mode: 0o777 }]);
130
+ const client = await (0, testcontainers_1.getContainerRuntimeClient)();
131
+ const dockerContainer = client.container.getById(container.getId());
132
+ const boundPorts = testcontainers_1.BoundPorts.fromInspectResult(client.info.containerRuntime.hostIps, inspectResult).filter(this.exposedPorts);
133
+ await (0, testcontainers_1.waitForContainer)(client, dockerContainer, this.originalWaitinStrategy, boundPorts);
134
+ if (this.saslSslConfig && this.mode !== KafkaMode.KRAFT) {
72
135
  await this.createUser(container, this.saslSslConfig.sasl);
73
136
  }
74
137
  }
@@ -100,8 +163,8 @@ class KafkaContainer extends testcontainers_1.GenericContainer {
100
163
  KAFKA_LISTENERS: `PLAINTEXT://0.0.0.0:${KAFKA_PORT},BROKER://0.0.0.0:${KAFKA_BROKER_PORT}`,
101
164
  }).withExposedPorts(KAFKA_PORT);
102
165
  }
103
- async updateAdvertisedListeners(container, inspectResult) {
104
- const brokerAdvertisedListener = `BROKER://${inspectResult.hostname}:${KAFKA_BROKER_PORT}`;
166
+ updateAdvertisedListeners(container, inspectResult) {
167
+ let advertisedListeners = `BROKER://${inspectResult.hostname}:${KAFKA_BROKER_PORT}`;
105
168
  let bootstrapServers = `PLAINTEXT://${container.getHost()}:${container.getMappedPort(KAFKA_PORT)}`;
106
169
  if (this.saslSslConfig) {
107
170
  if (this.networkMode) {
@@ -111,21 +174,8 @@ class KafkaContainer extends testcontainers_1.GenericContainer {
111
174
  bootstrapServers = `${bootstrapServers},SECURE://${container.getHost()}:${container.getMappedPort(this.saslSslConfig.port)}`;
112
175
  }
113
176
  }
114
- const { output, exitCode } = await container.exec([
115
- "kafka-configs",
116
- "--alter",
117
- "--bootstrap-server",
118
- brokerAdvertisedListener,
119
- "--entity-type",
120
- "brokers",
121
- "--entity-name",
122
- this.environment["KAFKA_BROKER_ID"],
123
- "--add-config",
124
- `advertised.listeners=[${bootstrapServers},${brokerAdvertisedListener}]`,
125
- ]);
126
- if (exitCode !== 0) {
127
- throw new Error(`Kafka container configuration failed with exit code ${exitCode}: ${output}`);
128
- }
177
+ advertisedListeners += `,${bootstrapServers}`;
178
+ return advertisedListeners;
129
179
  }
130
180
  async createUser(container, { user: { name, password }, mechanism }) {
131
181
  const { output, exitCode } = await container.exec([
@@ -146,6 +196,42 @@ class KafkaContainer extends testcontainers_1.GenericContainer {
146
196
  throw new Error(`Kafka container configuration failed with exit code ${exitCode}: ${output}`);
147
197
  }
148
198
  }
199
+ verifyMinKraftVersion() {
200
+ if (this.isLessThanCP(7)) {
201
+ throw new Error(`Provided Confluent Platform's version ${this.imageName.tag} is not supported in Kraft mode (must be ${MIN_KRAFT_VERSION} or above)`);
202
+ }
203
+ }
204
+ isLessThanCP(max, min = 0, patch = 0) {
205
+ if (this.imageName.tag === "latest") {
206
+ return false;
207
+ }
208
+ const parts = this.imageName.tag.split(".");
209
+ return !(parts.length > 2 &&
210
+ (Number(parts[0]) > max ||
211
+ (Number(parts[0]) === max &&
212
+ (Number(parts[1]) > min || (Number(parts[1]) === min && Number(parts[2]) >= patch)))));
213
+ }
214
+ commandKraftCreateUser(saslOptions) {
215
+ return ("echo 'kafka-storage format --ignore-formatted " +
216
+ `-t "${this.environment["CLUSTER_ID"]}" ` +
217
+ "-c /etc/kafka/kafka.properties " +
218
+ `--add-scram "${saslOptions.sasl.mechanism}=[name=${saslOptions.sasl.user.name},password=${saslOptions.sasl.user.password}]"' >> /etc/confluent/docker/configure\n`);
219
+ }
220
+ commandKraft() {
221
+ let command = "sed -i '/KAFKA_ZOOKEEPER_CONNECT/d' /etc/confluent/docker/configure\n";
222
+ command +=
223
+ "echo 'kafka-storage format --ignore-formatted " +
224
+ `-t "${this.environment["CLUSTER_ID"]}" ` +
225
+ "-c /etc/kafka/kafka.properties' >> /etc/confluent/docker/configure\n";
226
+ return command;
227
+ }
228
+ commandZookeeper() {
229
+ let command = "echo 'clientPort=" + DEFAULT_ZOOKEEPER_PORT + "' > zookeeper.properties\n";
230
+ command += "echo 'dataDir=/var/lib/zookeeper/data' >> zookeeper.properties\n";
231
+ command += "echo 'dataLogDir=/var/lib/zookeeper/log' >> zookeeper.properties\n";
232
+ command += "zookeeper-server-start zookeeper.properties &\n";
233
+ return command;
234
+ }
149
235
  }
150
236
  exports.KafkaContainer = KafkaContainer;
151
237
  class StartedKafkaContainer extends testcontainers_1.AbstractStartedContainer {
@@ -1 +1 @@
1
- {"version":3,"file":"kafka-container.js","sourceRoot":"","sources":["../src/kafka-container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kafka-container.js","sourceRoot":"","sources":["../src/kafka-container.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@testcontainers/kafka",
3
- "version": "10.7.2",
3
+ "version": "10.8.1",
4
4
  "license": "MIT",
5
5
  "keywords": [
6
6
  "kafka",
@@ -32,6 +32,6 @@
32
32
  "kafkajs": "^2.2.4"
33
33
  },
34
34
  "dependencies": {
35
- "testcontainers": "^10.7.2"
35
+ "testcontainers": "^10.8.1"
36
36
  }
37
37
  }