Conversation
…tions Agent-Logs-Url: https://github.com/borchero/switchboard/sessions/7e1cc085-e388-4585-a2af-312d469f1f15 Co-authored-by: borchero <22455425+borchero@users.noreply.github.com>
|
Thank you for opening this pull request! 👋🏼 This repository requires pull request titles to follow the Conventional Commits specification and it looks like your proposed title needs to be adjusted. Details |
|
@copilot the existing |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #238 +/- ##
==========================================
- Coverage 57.51% 56.40% -1.12%
==========================================
Files 16 17 +1
Lines 419 500 +81
==========================================
+ Hits 241 282 +41
- Misses 159 192 +33
- Partials 19 26 +7
Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
… IngressRoute and IngressRouteTCP Agent-Logs-Url: https://github.com/borchero/switchboard/sessions/cec72c49-62ec-435f-909c-31f9d1647cc8 Co-authored-by: borchero <22455425+borchero@users.noreply.github.com>
Agent-Logs-Url: https://github.com/borchero/switchboard/sessions/cec72c49-62ec-435f-909c-31f9d1647cc8 Co-authored-by: borchero <22455425+borchero@users.noreply.github.com>
Refactored in 361a1cd. The |
Adds IngressRouteTCP reconciliation so Switchboard triggers external-dns and cert-manager for TCP ingress resources, mirroring existing IngressRoute behavior.
Changes
internal/switchboard/hosts.go): AddedWithTLSTCPHostsIfAvailableandWithRouteTCPHostsIfRequiredmethods. TCP routes useHostSNI()matchers (parsed viamuxer/tcp.ParseHostSNI) instead ofHost(). WildcardHostSNI(*)entries are filtered out.internal/controllers/ingressroute.go): Introduced aningressAdapterinterface with two implementations (ingressRouteAdapterandingressRouteTCPAdapter). The existingIngressRouteReconcileris now generalized to handle bothIngressRouteandIngressRouteTCPresources — reconciliation logic is fully shared, with only resource creation, info extraction, and watch setup delegated to the adapter.internal/controllers/utils.go): MadebuilderWithIntegrationsgeneric overclient.ObjectListso both adapters can share watch/own setup logic.cmd/main.go): TCP controller registered alongside the existing one viaNewIngressRouteTCPReconciler.chart/templates/rbac.yaml): Addedingressroutetcpsto the ClusterRole.pixi.toml): Added IngressRouteTCP CRD to cluster bootstrap.Example
An
IngressRouteTCPlike:will now produce a
CertificateandDNSEndpointresource, same asIngressRoutedoes today.