MCPcopy
hub / github.com/cortexlabs/cortex / validateEndpointCollisions

Function validateEndpointCollisions

pkg/operator/resources/validations.go:185–202  ·  view source on GitHub ↗
(api *userconfig.API, virtualServices []istioclientnetworking.VirtualService)

Source from the content-addressed store, hash-verified

183}
184
185func validateEndpointCollisions(api *userconfig.API, virtualServices []istioclientnetworking.VirtualService) error {
186 for i := range virtualServices {
187 virtualService := virtualServices[i]
188 gateways := k8s.ExtractVirtualServiceGateways(&virtualService)
189 if !gateways.Has("apis-gateway") {
190 continue
191 }
192
193 endpoints := k8s.ExtractVirtualServiceEndpoints(&virtualService)
194 for endpoint := range endpoints {
195 if s.EnsureSuffix(endpoint, "/") == s.EnsureSuffix(*api.Networking.Endpoint, "/") && virtualService.Labels["apiName"] != api.Name {
196 return errors.Wrap(spec.ErrorDuplicateEndpoint(virtualService.Labels["apiName"]), userconfig.NetworkingKey, userconfig.EndpointKey, endpoint)
197 }
198 }
199 }
200
201 return nil
202}
203
204func findDuplicateEndpoints(apis []userconfig.API) []userconfig.API {
205 endpoints := make(map[string][]userconfig.API)

Callers 1

ValidateClusterAPIsFunction · 0.85

Calls 5

WrapFunction · 0.92
ErrorDuplicateEndpointFunction · 0.92
HasMethod · 0.45

Tested by

no test coverage detected