Validate the external backend catalogs

This commit is contained in:
2026-08-26 15:00:50 +00:00
parent d9442850ef
commit f48e042565
9 changed files with 330 additions and 3 deletions

View File

@@ -65,7 +65,7 @@ func NewRegistry(additions []domain.Backend) (*Registry, error) {
return nil, fmt.Errorf("backend ID %q is already registered", definition.ID)
}
normalized, err := normalizeBackend(definition)
normalized, err := NormalizeDefinition(definition)
if err != nil {
return nil, err
}
@@ -128,7 +128,8 @@ func (r *Registry) CapacityPolicies() map[string]domain.BackendCapacityPolicy {
return policies
}
func normalizeBackend(definition domain.Backend) (domain.Backend, error) {
// NormalizeDefinition validates and defensively copies one backend definition.
func NormalizeDefinition(definition domain.Backend) (domain.Backend, error) {
endpoint, err := domain.NormalizeOpenAICompatibleBaseEndpoint(definition.Endpoint)
if err != nil {
return domain.Backend{}, fmt.Errorf("backend %q endpoint: %w", definition.ID, err)