Skip to content

Commit

Permalink
prevent errorring out on crd path absence
Browse files Browse the repository at this point in the history
  • Loading branch information
bverschueren committed Jan 21, 2025
1 parent a4f41fb commit 52bf4d1
Showing 1 changed file with 37 additions and 37 deletions.
74 changes: 37 additions & 37 deletions cmd/get/helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -145,8 +145,7 @@ func kindGroupNamespaced(alias string) (string, string, bool, error) {

func kindGroupNamespacedFromCrds(alias string) (string, string, bool, error) {
crdsPath := vars.MustGatherRootPath + "/cluster-scoped-resources/apiextensions.k8s.io/customresourcedefinitions/"
_, err := Exists(crdsPath)
if err == nil {
if ok, _ := Exists(crdsPath); ok {
crds, rErr := ReadDirForResources(crdsPath)
if rErr != nil {
fmt.Fprintln(os.Stderr, rErr)
Expand Down Expand Up @@ -194,48 +193,49 @@ func kindGroupNamespacedFromCrds(alias string) (string, string, bool, error) {
}
home, _ := os.UserHomeDir()
omcCrdsPath := home + "/.omc/customresourcedefinitions/"
crds, rErr := ReadDirForResources(omcCrdsPath)
if rErr != nil {
fmt.Fprintln(os.Stderr, rErr)
}
for _, f := range crds {
crdYamlPath := omcCrdsPath + f.Name()
crdByte, _ := ioutil.ReadFile(crdYamlPath)
_crd := &apiextensionsv1.CustomResourceDefinition{}
if err := yaml.Unmarshal([]byte(crdByte), &_crd); err != nil {
continue
if ok, _ := Exists(omcCrdsPath); ok {
crds, rErr := ReadDirForResources(omcCrdsPath)
if rErr != nil {
fmt.Fprintln(os.Stderr, rErr)
}
if strings.Contains(alias, ".") {
split := strings.Split(alias, ".")
if len(split) > 1 {
group := strings.Join(split[1:], ".")
if !strings.HasPrefix(_crd.Spec.Group, group) {
continue
} else {
_alias := strings.Join(split[:1], ".")
if strings.ToLower(_crd.Spec.Names.Plural) == _alias || strings.ToLower(_crd.Spec.Names.Singular) == _alias || StringInSlice(_alias, _crd.Spec.Names.ShortNames) {
namespaced := false
if _crd.Spec.Scope == "Namespaced" {
namespaced = true
for _, f := range crds {
crdYamlPath := omcCrdsPath + f.Name()
crdByte, _ := ioutil.ReadFile(crdYamlPath)
_crd := &apiextensionsv1.CustomResourceDefinition{}
if err := yaml.Unmarshal([]byte(crdByte), &_crd); err != nil {
continue
}
if strings.Contains(alias, ".") {
split := strings.Split(alias, ".")
if len(split) > 1 {
group := strings.Join(split[1:], ".")
if !strings.HasPrefix(_crd.Spec.Group, group) {
continue
} else {
_alias := strings.Join(split[:1], ".")
if strings.ToLower(_crd.Spec.Names.Plural) == _alias || strings.ToLower(_crd.Spec.Names.Singular) == _alias || StringInSlice(_alias, _crd.Spec.Names.ShortNames) {
namespaced := false
if _crd.Spec.Scope == "Namespaced" {
namespaced = true
}
vars.AliasToCrd[strings.ToLower(_crd.Spec.Names.Kind)+"."+_crd.Spec.Group] = apiextensionsv1.CustomResourceDefinition{Spec: _crd.Spec}
return _crd.Spec.Names.Plural, _crd.Spec.Group, namespaced, nil
}

vars.AliasToCrd[strings.ToLower(_crd.Spec.Names.Kind)+"."+_crd.Spec.Group] = apiextensionsv1.CustomResourceDefinition{Spec: _crd.Spec}
return _crd.Spec.Names.Plural, _crd.Spec.Group, namespaced, nil
}
}
}
}
vars.AliasToCrd[strings.ToLower(_crd.Spec.Names.Kind)+"."+_crd.Spec.Group] = apiextensionsv1.CustomResourceDefinition{Spec: _crd.Spec}
if strings.ToLower(_crd.Spec.Names.Kind) == alias || strings.ToLower(_crd.Spec.Names.Plural) == alias || strings.ToLower(_crd.Spec.Names.Singular) == alias || StringInSlice(alias, _crd.Spec.Names.ShortNames) || _crd.Spec.Names.Singular+"."+_crd.Spec.Group == alias {
vars.AliasToCrd[alias] = apiextensionsv1.CustomResourceDefinition{Spec: _crd.Spec}
klog.V(4).Info("INFO ", fmt.Sprintf("Alias \"%s\" found in path \"%s\".", alias, crdYamlPath))
namespaced := false
if _crd.Spec.Scope == "Namespaced" {
namespaced = true
vars.AliasToCrd[strings.ToLower(_crd.Spec.Names.Kind)+"."+_crd.Spec.Group] = apiextensionsv1.CustomResourceDefinition{Spec: _crd.Spec}
if strings.ToLower(_crd.Spec.Names.Kind) == alias || strings.ToLower(_crd.Spec.Names.Plural) == alias || strings.ToLower(_crd.Spec.Names.Singular) == alias || StringInSlice(alias, _crd.Spec.Names.ShortNames) || _crd.Spec.Names.Singular+"."+_crd.Spec.Group == alias {
vars.AliasToCrd[alias] = apiextensionsv1.CustomResourceDefinition{Spec: _crd.Spec}
klog.V(4).Info("INFO ", fmt.Sprintf("Alias \"%s\" found in path \"%s\".", alias, crdYamlPath))
namespaced := false
if _crd.Spec.Scope == "Namespaced" {
namespaced = true
}
return _crd.Spec.Names.Plural, _crd.Spec.Group, namespaced, nil
}
return _crd.Spec.Names.Plural, _crd.Spec.Group, namespaced, nil
klog.V(5).Info("INFO ", fmt.Sprintf("Alias \"%s\" not found in path \"%s\".", alias, crdYamlPath))
}
klog.V(5).Info("INFO ", fmt.Sprintf("Alias \"%s\" not found in path \"%s\".", alias, crdYamlPath))
}
klog.V(4).Info("INFO ", fmt.Sprintf("No customResource found with name or alias \"%s\" in path: \"%s\".", alias, omcCrdsPath))
return alias, "", false, fmt.Errorf("No customResource found with name or alias \"%s\".", alias)
Expand Down

0 comments on commit 52bf4d1

Please sign in to comment.