@testcontainers/kafka 10.7.1 → 10.8.0

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