Commit e96edce
feat(a2a): Add service discovery configuration to Gateway CRD (#16)
* feat(a2a): Add service discovery configuration to Gateway CRD
- Add A2AServiceDiscovery struct with enabled, namespace, labelSelector, and pollingInterval fields
- Update A2AServersSpec to include ServiceDiscovery configuration
- Update Gateway controller to pass service discovery config as environment variables
- Supports YAML configuration as specified:
a2a:
serviceDiscovery:
enabled: true
namespace: 'agents'
labelSelector: 'inference-gateway.com/a2a-agent=true'
pollingInterval: '30s'
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-authored-by: Eden Reich <edenreich@users.noreply.github.com>
* test(gateway): Add tests for A2A service discovery configuration
Add unit tests to verify that A2A service discovery environment variables
are correctly set in the Gateway deployment when configured. Tests cover:
- Full service discovery configuration with custom values
- Minimal configuration using default values
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-authored-by: Eden Reich <edenreich@users.noreply.github.com>
* fix(test): Regenerate CRDs and fix test environment setup
- Regenerate Gateway CRD to include new serviceDiscovery field
- Fix getFirstFoundEnvTestBinaryDir() to respect KUBEBUILDER_ASSETS env var
- Update test environment setup to properly locate envtest binaries
- All 42 unit tests now pass successfully
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-authored-by: Eden Reich <edenreich@users.noreply.github.com>
* chore: Remove inline comments
Signed-off-by: Eden Reich <eden.reich@gmail.com>
* feat(a2a): Add DeepCopy methods for A2AServiceDiscovery
Signed-off-by: Eden Reich <eden.reich@gmail.com>
* feat(a2a): Add service discovery configuration to A2A and Gateway CRDs
Signed-off-by: Eden Reich <eden.reich@gmail.com>
* feat(docs): Add A2A service discovery examples and documentation
- Add new example file gateway-a2a-service-discovery.yaml showing complete service discovery configuration
- Update gateway-complete.yaml to include service discovery configuration section
- Update README.md with comprehensive service discovery documentation including:
- Feature descriptions in Extensions section
- Detailed A2A Service Discovery Configuration section
- Agent service requirements and examples
- Advanced configuration examples
Co-authored-by: Eden Reich <edenreich@users.noreply.github.com>
* style: Clean up whitespace and formatting in gateway-a2a-service-discovery.yaml
Signed-off-by: Eden Reich <eden.reich@gmail.com>
---------
Signed-off-by: Eden Reich <eden.reich@gmail.com>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
Co-authored-by: Eden Reich <edenreich@users.noreply.github.com>1 parent e038f10 commit e96edce
11 files changed
Lines changed: 425 additions & 1 deletion
File tree
- api/v1alpha1
- config/crd/bases
- examples
- internal/controller
- manifests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
135 | 135 | | |
136 | 136 | | |
137 | 137 | | |
| 138 | + | |
| 139 | + | |
138 | 140 | | |
139 | 141 | | |
140 | 142 | | |
| |||
485 | 487 | | |
486 | 488 | | |
487 | 489 | | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
488 | 537 | | |
489 | 538 | | |
490 | 539 | | |
| |||
499 | 548 | | |
500 | 549 | | |
501 | 550 | | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
502 | 554 | | |
503 | 555 | | |
504 | 556 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
356 | 356 | | |
357 | 357 | | |
358 | 358 | | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
359 | 363 | | |
360 | 364 | | |
361 | 365 | | |
| |||
394 | 398 | | |
395 | 399 | | |
396 | 400 | | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
397 | 424 | | |
398 | 425 | | |
399 | 426 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 20 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
201 | 201 | | |
202 | 202 | | |
203 | 203 | | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
204 | 210 | | |
205 | 211 | | |
206 | 212 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
505 | 505 | | |
506 | 506 | | |
507 | 507 | | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
508 | 544 | | |
509 | 545 | | |
510 | 546 | | |
| |||
0 commit comments