fix(traffic): clarify backend protocol validation
- commit
- e891c6e7945a66beddf2462e95cc4e5422b6eaf1
- author
- brice · · 2026-06-29 22:33 UTC
- parent
- 01ebc5c
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
2 files · +2 -2
M internal/domain/traffic.go +1 -1
| @@ -507,7 +507,7 @@ func validateL4RouterService(router TrafficRouter, ref TrafficServiceRef, servic | |||
| 507 | 507 | } | |
| 508 | 508 | backend := service.Backends[0] | |
| 509 | 509 | if backend.Protocol != want { | |
| 510 | - | return fmt.Errorf("backend protocol %s does not match router protocol %s for router %q", backend.Protocol, want, router.Name) | |
| 510 | + | return fmt.Errorf("backend protocol %s does not match router protocol %s for router %q (expected backend protocol %s)", backend.Protocol, router.Protocol, router.Name, want) | |
| 511 | 511 | } | |
| 512 | 512 | return nil | |
| 513 | 513 | } | |
| @@ -507,7 +507,7 @@ func validateL4RouterService(router TrafficRouter, ref TrafficServiceRef, servic | |||||
| 507 | } | 507 | } | ||
| 508 | backend := service.Backends[0] | 508 | backend := service.Backends[0] | ||
| 509 | if backend.Protocol != want { | 509 | if backend.Protocol != want { | ||
| 510 | - | return fmt.Errorf("backend protocol %s does not match router protocol %s for router %q", backend.Protocol, want, router.Name) | 510 | + | return fmt.Errorf("backend protocol %s does not match router protocol %s for router %q (expected backend protocol %s)", backend.Protocol, router.Protocol, router.Name, want) |
| 511 | } | 511 | } | ||
| 512 | return nil | 512 | return nil | ||
| 513 | } | 513 | } | ||
M internal/domain/traffic_test.go +1 -1
| @@ -369,7 +369,7 @@ func TestTrafficGraphValidateBackendsAndL4Routers(t *testing.T) { | |||
| 369 | 369 | name: "tls passthrough requires tcp network backend", | |
| 370 | 370 | router: TrafficRouter{Name: "tls", EntryPoint: "tls", Protocol: RouterProtocolTLSPassthrough, Rule: TrafficRule{SNI: "db.example.com"}, Service: "network_service:app:https"}, | |
| 371 | 371 | services: []TrafficService{{Name: "network_service:app:https", Backends: []TrafficBackend{{Name: "app", Port: 443, Protocol: NetworkProtocolUDP}}}}, | |
| 372 | - | wantErr: "backend protocol udp does not match router protocol tcp", | |
| 372 | + | wantErr: "backend protocol udp does not match router protocol tls_passthrough", | |
| 373 | 373 | }, | |
| 374 | 374 | { | |
| 375 | 375 | name: "l4 router rejects route ref", | |
| @@ -369,7 +369,7 @@ func TestTrafficGraphValidateBackendsAndL4Routers(t *testing.T) { | |||||
| 369 | name: "tls passthrough requires tcp network backend", | 369 | name: "tls passthrough requires tcp network backend", | ||
| 370 | router: TrafficRouter{Name: "tls", EntryPoint: "tls", Protocol: RouterProtocolTLSPassthrough, Rule: TrafficRule{SNI: "db.example.com"}, Service: "network_service:app:https"}, | 370 | router: TrafficRouter{Name: "tls", EntryPoint: "tls", Protocol: RouterProtocolTLSPassthrough, Rule: TrafficRule{SNI: "db.example.com"}, Service: "network_service:app:https"}, | ||
| 371 | services: []TrafficService{{Name: "network_service:app:https", Backends: []TrafficBackend{{Name: "app", Port: 443, Protocol: NetworkProtocolUDP}}}}, | 371 | services: []TrafficService{{Name: "network_service:app:https", Backends: []TrafficBackend{{Name: "app", Port: 443, Protocol: NetworkProtocolUDP}}}}, | ||
| 372 | - | wantErr: "backend protocol udp does not match router protocol tcp", | 372 | + | wantErr: "backend protocol udp does not match router protocol tls_passthrough", |
| 373 | }, | 373 | }, | ||
| 374 | { | 374 | { | ||
| 375 | name: "l4 router rejects route ref", | 375 | name: "l4 router rejects route ref", | ||