diff --git a/pkg/restore/service_action.go b/pkg/restore/service_action.go index 6f171ddc1..e7b7c55f0 100644 --- a/pkg/restore/service_action.go +++ b/pkg/restore/service_action.go @@ -57,18 +57,14 @@ func (a *serviceAction) Execute(obj runtime.Unstructured, restore *api.Restore) delete(spec, "clusterIP") } - // Since spec.ports is an optional key, we can ignore 'not found' errors. Also assuming it was a string already. - if val, _ := collections.GetString(spec, "spec.ports"); val != "None" { - delete(spec, "spec.ports") - } - preservedPorts, err := getPreservedPorts(obj) if err != nil { return nil, nil, err } ports, err := collections.GetSlice(obj.UnstructuredContent(), "spec.ports") - if err != nil { + serviceType, _ := collections.GetString(spec, "type") + if err != nil && serviceType != "ExternalName" { return nil, nil, err }