Skip to content

[VCFN-2809] Add Gateway/ListenerSet controller and DNS service scaffold#1398

Open
wenyingd wants to merge 1 commit intovmware-tanzu:mainfrom
wenyingd:gateway_controller_part1
Open

[VCFN-2809] Add Gateway/ListenerSet controller and DNS service scaffold#1398
wenyingd wants to merge 1 commit intovmware-tanzu:mainfrom
wenyingd:gateway_controller_part1

Conversation

@wenyingd
Copy link
Copy Markdown
Contributor

  • Add GatewayReconciler for K8s Gateway API: handles create/update/delete of DNS records via DNSRecordService
  • Add ListenerSet event handler to trigger Gateway reconciliation on ListenerSet changes
  • Add cmd/main.go wiring for GatewayReconciler and DNSRecordService initialization
  • Add DNSRecordService with public API (CreateOrUpdateDNSRecords, DeleteDNSRecordsByOwner, DeleteAllDNSRecordsInGateway, DeleteOrphanedDNSRecordsInGateway, ListGatewayNamespacedName)
  • Add DNSRecordStore and DNSZoneStore with indexers for owner UID and gateway namespaced name
  • Add unit tests for controller flow and DNS service components; E2E tests are deferred to a follow-up change

AI-Tool-Used: Cursor
AI-Tool-Use-Level: high
AI-Code-Category: production

@wenyingd wenyingd force-pushed the gateway_controller_part1 branch 2 times, most recently from ca75469 to ed8e256 Compare March 26, 2026 04:16
@wenyingd wenyingd force-pushed the gateway_controller_part1 branch from ed8e256 to 518c7fd Compare March 26, 2026 05:12
@wenyingd wenyingd changed the title Add Gateway/ListenerSet controller and DNS service scaffold [VCFN-2809] Add Gateway/ListenerSet controller and DNS service scaffold Mar 26, 2026
@wenyingd wenyingd force-pushed the gateway_controller_part1 branch 4 times, most recently from 819d722 to 5cab859 Compare March 30, 2026 07:18
@codecov-commenter
Copy link
Copy Markdown

codecov-commenter commented Mar 30, 2026

Codecov Report

❌ Patch coverage is 75.26316% with 141 lines in your changes missing coverage. Please review.
✅ Project coverage is 76.73%. Comparing base (6f7ddad) to head (d52b27b).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
pkg/controllers/gateway/gateway_controller.go 73.62% 73 Missing and 18 partials ⚠️
pkg/nsx/services/dns/store.go 77.96% 17 Missing and 9 partials ⚠️
pkg/controllers/gateway/listenerset_handler.go 60.60% 13 Missing ⚠️
pkg/nsx/services/dns/recordservice.go 88.67% 3 Missing and 3 partials ⚠️
cmd/main.go 0.00% 3 Missing ⚠️
pkg/nsx/services/dns/initialize.go 88.88% 2 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #1398      +/-   ##
==========================================
- Coverage   76.77%   76.73%   -0.04%     
==========================================
  Files         151      156       +5     
  Lines       21315    21885     +570     
==========================================
+ Hits        16364    16793     +429     
- Misses       3782     3893     +111     
- Partials     1169     1199      +30     
Flag Coverage Δ
unit-tests 76.73% <75.26%> (-0.04%) ⬇️
Files with missing lines Coverage Δ
pkg/nsx/services/common/types.go 100.00% <ø> (ø)
pkg/nsx/services/dns/initialize.go 88.88% <88.88%> (ø)
cmd/main.go 0.00% <0.00%> (ø)
pkg/nsx/services/dns/recordservice.go 88.67% <88.67%> (ø)
pkg/controllers/gateway/listenerset_handler.go 60.60% <60.60%> (ø)
pkg/nsx/services/dns/store.go 77.96% <77.96%> (ø)
pkg/controllers/gateway/gateway_controller.go 73.62% <73.62%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@wenyingd wenyingd force-pushed the gateway_controller_part1 branch 3 times, most recently from 458e242 to 74bdff9 Compare March 31, 2026 11:42
- Add GatewayReconciler for K8s Gateway API: handles create/update/delete of
  DNS records via DNSRecordService for Gateways and ListenerSets
- Add ListenerSet event handler to trigger Gateway reconciliation
- Wire GatewayReconciler and DNSRecordService initialization in cmd/main.go
- Add DNSRecordService public API: CreateOrUpdateDNSRecords (stub; DNS zone
  validation and NSX record creation deferred to follow-up),
  DeleteDNSRecordsByOwner, DeleteAllDNSRecordsInGateway,
  DeleteOrphanedDNSRecordsInGateway, ListGatewayNamespacedName
- Add DNSRecordStore with indexers for owner UID and gateway namespaced name
- Add unit tests for controller flow and DNS service/store components
- DNS zone configuration (ZoneConfig, permitted zones) is deferred to
  the follow-up change

AI-Tool-Used: Cursor
AI-Tool-Use-Level: Medium
AI-Code-Category: Production
@wenyingd wenyingd force-pushed the gateway_controller_part1 branch from 74bdff9 to d52b27b Compare April 1, 2026 10:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants