Commit a1fc2ad
kafka: add BOOTSTRAP BROKER and MATCHING broker rules for PrivateLink
Introduces two new SQL constructs for Kafka PrivateLink connections:
- `BOOTSTRAP BROKER 'addr' USING AWS PRIVATELINK conn (...)` — provides
the initial bootstrap address with an explicit PrivateLink tunnel. The
bootstrap address is used as `bootstrap.servers` and the real hostname
is preserved for correct TLS SNI.
- `MATCHING 'pattern' USING AWS PRIVATELINK conn (...)` inside `BROKERS`
— pattern-based routing rules for dynamically discovered brokers.
After the initial metadata fetch, Kafka returns broker addresses that
may differ from the bootstrap address (e.g., AZ-specific hostnames).
MATCHING rules route these through the correct PrivateLink endpoint.
This replaces the `AWS PRIVATELINKS` syntax which used exact-match
patterns for dual-purpose bootstrap/routing and a separate `TO` keyword
inconsistent with the existing `USING AWS PRIVATELINK` syntax.
Example:
```sql
CREATE CONNECTION kafka TO KAFKA (
BOOTSTRAP BROKER 'lkc-825730.endpoint.cloud:9092'
USING AWS PRIVATELINK pl_conn (AVAILABILITY ZONE 'use1-az1'),
BROKERS (
MATCHING '*use1-az1*' USING AWS PRIVATELINK pl_conn (AVAILABILITY ZONE 'use1-az1'),
MATCHING '*use1-az4*' USING AWS PRIVATELINK pl_conn (AVAILABILITY ZONE 'use1-az4')
),
SASL MECHANISMS 'PLAIN',
SASL USERNAME 'key',
SASL PASSWORD SECRET secret,
SECURITY PROTOCOL 'SASL_SSL'
);
```
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 99ca3ea commit a1fc2ad
13 files changed
Lines changed: 814 additions & 201 deletions
File tree
- src
- kafka-util/src
- sql-lexer/src
- sql-parser
- src
- ast/defs
- tests/testdata
- sql/src
- plan
- statement/ddl
- session/vars
- storage-types/src
- test/testdrive
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
288 | 288 | | |
289 | 289 | | |
290 | 290 | | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
291 | 298 | | |
292 | 299 | | |
293 | 300 | | |
| |||
301 | 308 | | |
302 | 309 | | |
303 | 310 | | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
304 | 321 | | |
305 | 322 | | |
306 | 323 | | |
| |||
313 | 330 | | |
314 | 331 | | |
315 | 332 | | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
316 | 405 | | |
317 | 406 | | |
318 | 407 | | |
| |||
321 | 410 | | |
322 | 411 | | |
323 | 412 | | |
| 413 | + | |
| 414 | + | |
324 | 415 | | |
325 | 416 | | |
326 | 417 | | |
| |||
489 | 580 | | |
490 | 581 | | |
491 | 582 | | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
492 | 587 | | |
| 588 | + | |
493 | 589 | | |
494 | 590 | | |
495 | 591 | | |
| |||
525 | 621 | | |
526 | 622 | | |
527 | 623 | | |
| 624 | + | |
528 | 625 | | |
| 626 | + | |
529 | 627 | | |
| 628 | + | |
| 629 | + | |
530 | 630 | | |
531 | 631 | | |
532 | 632 | | |
| |||
543 | 643 | | |
544 | 644 | | |
545 | 645 | | |
| 646 | + | |
546 | 647 | | |
547 | 648 | | |
548 | 649 | | |
| |||
565 | 666 | | |
566 | 667 | | |
567 | 668 | | |
| 669 | + | |
568 | 670 | | |
569 | 671 | | |
570 | 672 | | |
| |||
587 | 689 | | |
588 | 690 | | |
589 | 691 | | |
| 692 | + | |
590 | 693 | | |
591 | 694 | | |
592 | 695 | | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
| 716 | + | |
| 717 | + | |
593 | 718 | | |
594 | 719 | | |
595 | 720 | | |
596 | 721 | | |
597 | 722 | | |
598 | | - | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
599 | 731 | | |
600 | 732 | | |
601 | 733 | | |
| |||
958 | 1090 | | |
959 | 1091 | | |
960 | 1092 | | |
| 1093 | + | |
| 1094 | + | |
| 1095 | + | |
| 1096 | + | |
| 1097 | + | |
| 1098 | + | |
| 1099 | + | |
| 1100 | + | |
| 1101 | + | |
| 1102 | + | |
| 1103 | + | |
| 1104 | + | |
| 1105 | + | |
| 1106 | + | |
| 1107 | + | |
| 1108 | + | |
| 1109 | + | |
| 1110 | + | |
| 1111 | + | |
| 1112 | + | |
| 1113 | + | |
| 1114 | + | |
| 1115 | + | |
| 1116 | + | |
| 1117 | + | |
| 1118 | + | |
| 1119 | + | |
| 1120 | + | |
| 1121 | + | |
| 1122 | + | |
| 1123 | + | |
| 1124 | + | |
| 1125 | + | |
| 1126 | + | |
| 1127 | + | |
| 1128 | + | |
| 1129 | + | |
| 1130 | + | |
| 1131 | + | |
| 1132 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
279 | 279 | | |
280 | 280 | | |
281 | 281 | | |
| 282 | + | |
282 | 283 | | |
283 | 284 | | |
284 | 285 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
603 | 603 | | |
604 | 604 | | |
605 | 605 | | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
606 | 675 | | |
607 | 676 | | |
608 | 677 | | |
| |||
4396 | 4465 | | |
4397 | 4466 | | |
4398 | 4467 | | |
| 4468 | + | |
4399 | 4469 | | |
4400 | 4470 | | |
4401 | 4471 | | |
| |||
4426 | 4496 | | |
4427 | 4497 | | |
4428 | 4498 | | |
| 4499 | + | |
4429 | 4500 | | |
4430 | 4501 | | |
4431 | 4502 | | |
| |||
4477 | 4548 | | |
4478 | 4549 | | |
4479 | 4550 | | |
| 4551 | + | |
| 4552 | + | |
| 4553 | + | |
4480 | 4554 | | |
4481 | 4555 | | |
4482 | 4556 | | |
| |||
0 commit comments