@tinybirdco/sdk 0.0.60 → 0.0.61

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.
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/generator/connection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,oBAAoB,EAGrB,MAAM,yBAAyB,CAAC;AAOjC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;CACjB;AA6ED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,oBAAoB,GAC/B,mBAAmB,CAiBrB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAChD,mBAAmB,EAAE,CAEvB"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/generator/connection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,oBAAoB,EAGrB,MAAM,yBAAyB,CAAC;AAOjC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;CACjB;AAqFD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,oBAAoB,GAC/B,mBAAmB,CAiBrB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAChD,mBAAmB,EAAE,CAEvB"}
@@ -27,7 +27,16 @@ function generateKafkaConnection(connection) {
27
27
  parts.push(`KAFKA_SCHEMA_REGISTRY_URL ${options.schemaRegistryUrl}`);
28
28
  }
29
29
  if (options.sslCaPem) {
30
- parts.push(`KAFKA_SSL_CA_PEM ${options.sslCaPem}`);
30
+ if (options.sslCaPem.includes("\n")) {
31
+ const indented = options.sslCaPem
32
+ .split("\n")
33
+ .map((line) => ` ${line}`)
34
+ .join("\n");
35
+ parts.push(`KAFKA_SSL_CA_PEM >\n${indented}`);
36
+ }
37
+ else {
38
+ parts.push(`KAFKA_SSL_CA_PEM ${options.sslCaPem}`);
39
+ }
31
40
  }
32
41
  return parts.join("\n");
33
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/generator/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/generator/connection.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,25 @@ describe("Connection Generator", () => {
54
54
  const result = generateConnection(conn);
55
55
  expect(result.content).toContain('KAFKA_SSL_CA_PEM {{ tb_secret("KAFKA_CA_CERT") }}');
56
56
  });
57
+ it("emits multiline SSL CA PEM with > syntax", () => {
58
+ const conn = defineKafkaConnection("my_kafka", {
59
+ bootstrapServers: "kafka.example.com:9092",
60
+ sslCaPem: "-----BEGIN CERTIFICATE-----\nMIIDXTCCAkWgAwIBAgIJAM\n-----END CERTIFICATE-----",
61
+ });
62
+ const result = generateConnection(conn);
63
+ expect(result.content).toContain("KAFKA_SSL_CA_PEM >");
64
+ expect(result.content).toContain(" -----BEGIN CERTIFICATE-----");
65
+ expect(result.content).toContain(" MIIDXTCCAkWgAwIBAgIJAM");
66
+ expect(result.content).toContain(" -----END CERTIFICATE-----");
67
+ });
68
+ it("emits single-line SSL CA PEM for secret references", () => {
69
+ const conn = defineKafkaConnection("my_kafka", {
70
+ bootstrapServers: "kafka.example.com:9092",
71
+ sslCaPem: "{{ tb_secret('KAFKA_CA_CERT') }}",
72
+ });
73
+ const result = generateConnection(conn);
74
+ expect(result.content).toContain("KAFKA_SSL_CA_PEM {{ tb_secret('KAFKA_CA_CERT') }}");
75
+ });
57
76
  it("generates full Kafka connection with all options", () => {
58
77
  const conn = defineKafkaConnection("my_kafka", {
59
78
  bootstrapServers: "kafka.example.com:9092",
@@ -1 +1 @@
1
- {"version":3,"file":"connection.test.js","sourceRoot":"","sources":["../../src/generator/connection.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.test.js","sourceRoot":"","sources":["../../src/generator/connection.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse-connection.d.ts","sourceRoot":"","sources":["../../src/migrate/parse-connection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EAClB,MAAM,YAAY,CAAC;AASpB,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,YAAY,GACrB,oBAAoB,GAAG,iBAAiB,GAAG,kBAAkB,CA4P/D"}
1
+ {"version":3,"file":"parse-connection.d.ts","sourceRoot":"","sources":["../../src/migrate/parse-connection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAkCpB,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,YAAY,GACrB,oBAAoB,GAAG,iBAAiB,GAAG,kBAAkB,CA4Q/D"}
@@ -1,4 +1,27 @@
1
- import { MigrationParseError, isBlank, parseDirectiveLine, parseQuotedValue, splitLines, } from "./parser-utils.js";
1
+ import { MigrationParseError, isBlank, parseDirectiveLine, parseQuotedValue, readDirectiveBlock, splitLines, } from "./parser-utils.js";
2
+ const CONNECTION_DIRECTIVES = new Set([
3
+ "TYPE",
4
+ "KAFKA_BOOTSTRAP_SERVERS",
5
+ "KAFKA_SECURITY_PROTOCOL",
6
+ "KAFKA_SASL_MECHANISM",
7
+ "KAFKA_KEY",
8
+ "KAFKA_SECRET",
9
+ "KAFKA_SCHEMA_REGISTRY_URL",
10
+ "KAFKA_SSL_CA_PEM",
11
+ "S3_REGION",
12
+ "S3_ARN",
13
+ "S3_ACCESS_KEY",
14
+ "S3_SECRET",
15
+ "GCS_SERVICE_ACCOUNT_CREDENTIALS_JSON",
16
+ ]);
17
+ function isConnectionDirectiveLine(line) {
18
+ const trimmed = line.trim();
19
+ if (!trimmed || trimmed.startsWith("#"))
20
+ return false;
21
+ const firstSpace = trimmed.indexOf(" ");
22
+ const word = firstSpace === -1 ? trimmed : trimmed.slice(0, firstSpace);
23
+ return CONNECTION_DIRECTIVES.has(word);
24
+ }
2
25
  export function parseConnectionFile(resource) {
3
26
  const lines = splitLines(resource.content);
4
27
  let connectionType;
@@ -14,9 +37,12 @@ export function parseConnectionFile(resource) {
14
37
  let accessKey;
15
38
  let accessSecret;
16
39
  let serviceAccountCredentialsJson;
17
- for (const rawLine of lines) {
40
+ let i = 0;
41
+ while (i < lines.length) {
42
+ const rawLine = lines[i] ?? "";
18
43
  const line = rawLine.trim();
19
44
  if (isBlank(line) || line.startsWith("#")) {
45
+ i += 1;
20
46
  continue;
21
47
  }
22
48
  const { key: directive, value } = parseDirectiveLine(line);
@@ -52,6 +78,12 @@ export function parseConnectionFile(resource) {
52
78
  schemaRegistryUrl = value;
53
79
  break;
54
80
  case "KAFKA_SSL_CA_PEM":
81
+ if (value === ">") {
82
+ const block = readDirectiveBlock(lines, i + 1, isConnectionDirectiveLine);
83
+ sslCaPem = block.lines.join("\n");
84
+ i = block.nextIndex;
85
+ continue;
86
+ }
55
87
  sslCaPem = value;
56
88
  break;
57
89
  case "S3_REGION":
@@ -67,11 +99,18 @@ export function parseConnectionFile(resource) {
67
99
  accessSecret = parseQuotedValue(value);
68
100
  break;
69
101
  case "GCS_SERVICE_ACCOUNT_CREDENTIALS_JSON":
102
+ if (value === ">") {
103
+ const block = readDirectiveBlock(lines, i + 1, isConnectionDirectiveLine);
104
+ serviceAccountCredentialsJson = block.lines.join("\n");
105
+ i = block.nextIndex;
106
+ continue;
107
+ }
70
108
  serviceAccountCredentialsJson = parseQuotedValue(value);
71
109
  break;
72
110
  default:
73
111
  throw new MigrationParseError(resource.filePath, "connection", resource.name, `Unsupported connection directive in strict mode: "${line}"`);
74
112
  }
113
+ i += 1;
75
114
  }
76
115
  if (!connectionType) {
77
116
  throw new MigrationParseError(resource.filePath, "connection", resource.name, "TYPE directive is required.");
@@ -1 +1 @@
1
- {"version":3,"file":"parse-connection.js","sourceRoot":"","sources":["../../src/migrate/parse-connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-connection.js","sourceRoot":"","sources":["../../src/migrate/parse-connection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=parse-connection.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-connection.test.d.ts","sourceRoot":"","sources":["../../src/migrate/parse-connection.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,56 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { parseConnectionFile } from "./parse-connection.js";
3
+ function resource(name, content) {
4
+ return {
5
+ kind: "connection",
6
+ name,
7
+ filePath: `${name}.connection`,
8
+ absolutePath: `/tmp/${name}.connection`,
9
+ content,
10
+ };
11
+ }
12
+ describe("parseConnectionFile", () => {
13
+ it("parses basic Kafka connection", () => {
14
+ const result = parseConnectionFile(resource("my_kafka", `TYPE kafka
15
+ KAFKA_BOOTSTRAP_SERVERS localhost:9092`));
16
+ expect(result.connectionType).toBe("kafka");
17
+ expect(result).toHaveProperty("bootstrapServers", "localhost:9092");
18
+ });
19
+ it("parses single-quoted TYPE", () => {
20
+ const result = parseConnectionFile(resource("my_kafka", `TYPE 'kafka'
21
+ KAFKA_BOOTSTRAP_SERVERS localhost:9092
22
+ KAFKA_SCHEMA_REGISTRY_URL https://registry.example.com`));
23
+ expect(result.connectionType).toBe("kafka");
24
+ expect(result).toHaveProperty("schemaRegistryUrl", "https://registry.example.com");
25
+ });
26
+ it("parses multiline SSL CA PEM with > syntax", () => {
27
+ const result = parseConnectionFile(resource("my_kafka", `TYPE kafka
28
+ KAFKA_BOOTSTRAP_SERVERS localhost:9092
29
+ KAFKA_SECURITY_PROTOCOL SASL_SSL
30
+ KAFKA_SSL_CA_PEM >
31
+ -----BEGIN CERTIFICATE-----
32
+ MIIDXTCCAkWgAwIBAgIJAM
33
+ -----END CERTIFICATE-----`));
34
+ expect(result).toHaveProperty("sslCaPem", "-----BEGIN CERTIFICATE-----\nMIIDXTCCAkWgAwIBAgIJAM\n-----END CERTIFICATE-----");
35
+ });
36
+ it("parses multiline SSL CA PEM with directives after the block", () => {
37
+ const result = parseConnectionFile(resource("my_kafka", `TYPE kafka
38
+ KAFKA_BOOTSTRAP_SERVERS localhost:9092
39
+ KAFKA_SSL_CA_PEM >
40
+ -----BEGIN CERTIFICATE-----
41
+ MIIDXTCCAkWgAwIBAgIJAM
42
+ -----END CERTIFICATE-----
43
+ KAFKA_SECURITY_PROTOCOL SASL_SSL
44
+ KAFKA_KEY mykey`));
45
+ expect(result).toHaveProperty("sslCaPem", "-----BEGIN CERTIFICATE-----\nMIIDXTCCAkWgAwIBAgIJAM\n-----END CERTIFICATE-----");
46
+ expect(result).toHaveProperty("securityProtocol", "SASL_SSL");
47
+ expect(result).toHaveProperty("key", "mykey");
48
+ });
49
+ it("parses single-line SSL CA PEM (e.g. a secret reference)", () => {
50
+ const result = parseConnectionFile(resource("my_kafka", `TYPE kafka
51
+ KAFKA_BOOTSTRAP_SERVERS localhost:9092
52
+ KAFKA_SSL_CA_PEM {{ tb_secret('KAFKA_SSL_CA_PEM') }}`));
53
+ expect(result).toHaveProperty("sslCaPem", "{{ tb_secret('KAFKA_SSL_CA_PEM') }}");
54
+ });
55
+ });
56
+ //# sourceMappingURL=parse-connection.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-connection.test.js","sourceRoot":"","sources":["../../src/migrate/parse-connection.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,SAAS,QAAQ,CAAC,IAAY,EAAE,OAAe;IAC7C,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,IAAI;QACJ,QAAQ,EAAE,GAAG,IAAI,aAAa;QAC9B,YAAY,EAAE,QAAQ,IAAI,aAAa;QACvC,OAAO;KACR,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,MAAM,GAAG,mBAAmB,CAChC,QAAQ,CACN,UAAU,EACV;uCAC+B,CAChC,CACF,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,MAAM,GAAG,mBAAmB,CAChC,QAAQ,CACN,UAAU,EACV;;uDAE+C,CAChD,CACF,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,mBAAmB,EAAE,8BAA8B,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,MAAM,GAAG,mBAAmB,CAChC,QAAQ,CACN,UAAU,EACV;;;;;;8BAMsB,CACvB,CACF,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAC3B,UAAU,EACV,gFAAgF,CACjF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,MAAM,GAAG,mBAAmB,CAChC,QAAQ,CACN,UAAU,EACV;;;;;;;gBAOQ,CACT,CACF,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAC3B,UAAU,EACV,gFAAgF,CACjF,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,MAAM,GAAG,mBAAmB,CAChC,QAAQ,CACN,UAAU,EACV;;qDAE6C,CAC9C,CACF,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,UAAU,EAAE,qCAAqC,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tinybirdco/sdk",
3
- "version": "0.0.60",
3
+ "version": "0.0.61",
4
4
  "description": "TypeScript SDK for Tinybird Forward - define datasources and pipes as TypeScript",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -79,6 +79,31 @@ describe("Connection Generator", () => {
79
79
  expect(result.content).toContain('KAFKA_SSL_CA_PEM {{ tb_secret("KAFKA_CA_CERT") }}');
80
80
  });
81
81
 
82
+ it("emits multiline SSL CA PEM with > syntax", () => {
83
+ const conn = defineKafkaConnection("my_kafka", {
84
+ bootstrapServers: "kafka.example.com:9092",
85
+ sslCaPem: "-----BEGIN CERTIFICATE-----\nMIIDXTCCAkWgAwIBAgIJAM\n-----END CERTIFICATE-----",
86
+ });
87
+
88
+ const result = generateConnection(conn);
89
+
90
+ expect(result.content).toContain("KAFKA_SSL_CA_PEM >");
91
+ expect(result.content).toContain(" -----BEGIN CERTIFICATE-----");
92
+ expect(result.content).toContain(" MIIDXTCCAkWgAwIBAgIJAM");
93
+ expect(result.content).toContain(" -----END CERTIFICATE-----");
94
+ });
95
+
96
+ it("emits single-line SSL CA PEM for secret references", () => {
97
+ const conn = defineKafkaConnection("my_kafka", {
98
+ bootstrapServers: "kafka.example.com:9092",
99
+ sslCaPem: "{{ tb_secret('KAFKA_CA_CERT') }}",
100
+ });
101
+
102
+ const result = generateConnection(conn);
103
+
104
+ expect(result.content).toContain("KAFKA_SSL_CA_PEM {{ tb_secret('KAFKA_CA_CERT') }}");
105
+ });
106
+
82
107
  it("generates full Kafka connection with all options", () => {
83
108
  const conn = defineKafkaConnection("my_kafka", {
84
109
  bootstrapServers: "kafka.example.com:9092",
@@ -55,7 +55,15 @@ function generateKafkaConnection(connection: KafkaConnectionDefinition): string
55
55
  }
56
56
 
57
57
  if (options.sslCaPem) {
58
- parts.push(`KAFKA_SSL_CA_PEM ${options.sslCaPem}`);
58
+ if (options.sslCaPem.includes("\n")) {
59
+ const indented = options.sslCaPem
60
+ .split("\n")
61
+ .map((line) => ` ${line}`)
62
+ .join("\n");
63
+ parts.push(`KAFKA_SSL_CA_PEM >\n${indented}`);
64
+ } else {
65
+ parts.push(`KAFKA_SSL_CA_PEM ${options.sslCaPem}`);
66
+ }
59
67
  }
60
68
 
61
69
  return parts.join("\n");
@@ -0,0 +1,98 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { parseConnectionFile } from "./parse-connection.js";
3
+ import type { ResourceFile } from "./types.js";
4
+
5
+ function resource(name: string, content: string): ResourceFile {
6
+ return {
7
+ kind: "connection",
8
+ name,
9
+ filePath: `${name}.connection`,
10
+ absolutePath: `/tmp/${name}.connection`,
11
+ content,
12
+ };
13
+ }
14
+
15
+ describe("parseConnectionFile", () => {
16
+ it("parses basic Kafka connection", () => {
17
+ const result = parseConnectionFile(
18
+ resource(
19
+ "my_kafka",
20
+ `TYPE kafka
21
+ KAFKA_BOOTSTRAP_SERVERS localhost:9092`
22
+ )
23
+ );
24
+
25
+ expect(result.connectionType).toBe("kafka");
26
+ expect(result).toHaveProperty("bootstrapServers", "localhost:9092");
27
+ });
28
+
29
+ it("parses single-quoted TYPE", () => {
30
+ const result = parseConnectionFile(
31
+ resource(
32
+ "my_kafka",
33
+ `TYPE 'kafka'
34
+ KAFKA_BOOTSTRAP_SERVERS localhost:9092
35
+ KAFKA_SCHEMA_REGISTRY_URL https://registry.example.com`
36
+ )
37
+ );
38
+
39
+ expect(result.connectionType).toBe("kafka");
40
+ expect(result).toHaveProperty("schemaRegistryUrl", "https://registry.example.com");
41
+ });
42
+
43
+ it("parses multiline SSL CA PEM with > syntax", () => {
44
+ const result = parseConnectionFile(
45
+ resource(
46
+ "my_kafka",
47
+ `TYPE kafka
48
+ KAFKA_BOOTSTRAP_SERVERS localhost:9092
49
+ KAFKA_SECURITY_PROTOCOL SASL_SSL
50
+ KAFKA_SSL_CA_PEM >
51
+ -----BEGIN CERTIFICATE-----
52
+ MIIDXTCCAkWgAwIBAgIJAM
53
+ -----END CERTIFICATE-----`
54
+ )
55
+ );
56
+
57
+ expect(result).toHaveProperty(
58
+ "sslCaPem",
59
+ "-----BEGIN CERTIFICATE-----\nMIIDXTCCAkWgAwIBAgIJAM\n-----END CERTIFICATE-----"
60
+ );
61
+ });
62
+
63
+ it("parses multiline SSL CA PEM with directives after the block", () => {
64
+ const result = parseConnectionFile(
65
+ resource(
66
+ "my_kafka",
67
+ `TYPE kafka
68
+ KAFKA_BOOTSTRAP_SERVERS localhost:9092
69
+ KAFKA_SSL_CA_PEM >
70
+ -----BEGIN CERTIFICATE-----
71
+ MIIDXTCCAkWgAwIBAgIJAM
72
+ -----END CERTIFICATE-----
73
+ KAFKA_SECURITY_PROTOCOL SASL_SSL
74
+ KAFKA_KEY mykey`
75
+ )
76
+ );
77
+
78
+ expect(result).toHaveProperty(
79
+ "sslCaPem",
80
+ "-----BEGIN CERTIFICATE-----\nMIIDXTCCAkWgAwIBAgIJAM\n-----END CERTIFICATE-----"
81
+ );
82
+ expect(result).toHaveProperty("securityProtocol", "SASL_SSL");
83
+ expect(result).toHaveProperty("key", "mykey");
84
+ });
85
+
86
+ it("parses single-line SSL CA PEM (e.g. a secret reference)", () => {
87
+ const result = parseConnectionFile(
88
+ resource(
89
+ "my_kafka",
90
+ `TYPE kafka
91
+ KAFKA_BOOTSTRAP_SERVERS localhost:9092
92
+ KAFKA_SSL_CA_PEM {{ tb_secret('KAFKA_SSL_CA_PEM') }}`
93
+ )
94
+ );
95
+
96
+ expect(result).toHaveProperty("sslCaPem", "{{ tb_secret('KAFKA_SSL_CA_PEM') }}");
97
+ });
98
+ });
@@ -9,9 +9,34 @@ import {
9
9
  isBlank,
10
10
  parseDirectiveLine,
11
11
  parseQuotedValue,
12
+ readDirectiveBlock,
12
13
  splitLines,
13
14
  } from "./parser-utils.js";
14
15
 
16
+ const CONNECTION_DIRECTIVES = new Set([
17
+ "TYPE",
18
+ "KAFKA_BOOTSTRAP_SERVERS",
19
+ "KAFKA_SECURITY_PROTOCOL",
20
+ "KAFKA_SASL_MECHANISM",
21
+ "KAFKA_KEY",
22
+ "KAFKA_SECRET",
23
+ "KAFKA_SCHEMA_REGISTRY_URL",
24
+ "KAFKA_SSL_CA_PEM",
25
+ "S3_REGION",
26
+ "S3_ARN",
27
+ "S3_ACCESS_KEY",
28
+ "S3_SECRET",
29
+ "GCS_SERVICE_ACCOUNT_CREDENTIALS_JSON",
30
+ ]);
31
+
32
+ function isConnectionDirectiveLine(line: string): boolean {
33
+ const trimmed = line.trim();
34
+ if (!trimmed || trimmed.startsWith("#")) return false;
35
+ const firstSpace = trimmed.indexOf(" ");
36
+ const word = firstSpace === -1 ? trimmed : trimmed.slice(0, firstSpace);
37
+ return CONNECTION_DIRECTIVES.has(word);
38
+ }
39
+
15
40
  export function parseConnectionFile(
16
41
  resource: ResourceFile
17
42
  ): KafkaConnectionModel | S3ConnectionModel | GCSConnectionModel {
@@ -41,9 +66,12 @@ export function parseConnectionFile(
41
66
  let accessSecret: string | undefined;
42
67
  let serviceAccountCredentialsJson: string | undefined;
43
68
 
44
- for (const rawLine of lines) {
69
+ let i = 0;
70
+ while (i < lines.length) {
71
+ const rawLine = lines[i] ?? "";
45
72
  const line = rawLine.trim();
46
73
  if (isBlank(line) || line.startsWith("#")) {
74
+ i += 1;
47
75
  continue;
48
76
  }
49
77
 
@@ -92,6 +120,12 @@ export function parseConnectionFile(
92
120
  schemaRegistryUrl = value;
93
121
  break;
94
122
  case "KAFKA_SSL_CA_PEM":
123
+ if (value === ">") {
124
+ const block = readDirectiveBlock(lines, i + 1, isConnectionDirectiveLine);
125
+ sslCaPem = block.lines.join("\n");
126
+ i = block.nextIndex;
127
+ continue;
128
+ }
95
129
  sslCaPem = value;
96
130
  break;
97
131
  case "S3_REGION":
@@ -107,6 +141,12 @@ export function parseConnectionFile(
107
141
  accessSecret = parseQuotedValue(value);
108
142
  break;
109
143
  case "GCS_SERVICE_ACCOUNT_CREDENTIALS_JSON":
144
+ if (value === ">") {
145
+ const block = readDirectiveBlock(lines, i + 1, isConnectionDirectiveLine);
146
+ serviceAccountCredentialsJson = block.lines.join("\n");
147
+ i = block.nextIndex;
148
+ continue;
149
+ }
110
150
  serviceAccountCredentialsJson = parseQuotedValue(value);
111
151
  break;
112
152
  default:
@@ -117,6 +157,7 @@ export function parseConnectionFile(
117
157
  `Unsupported connection directive in strict mode: "${line}"`
118
158
  );
119
159
  }
160
+ i += 1;
120
161
  }
121
162
 
122
163
  if (!connectionType) {