MCPcopy
hub / github.com/cilium/cilium / main

Function main

tools/crdcheck/main.go:28–75  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

26}
27
28func main() {
29 if len(os.Args) != 2 {
30 logging.Fatal(slog.Default(), fmt.Sprintf("usage: %s <path>", os.Args[0]))
31 }
32
33 _ = crdv1.AddToScheme(scheme.Scheme)
34
35 if err := filepath.WalkDir(os.Args[1], func(path string, d os.DirEntry, err error) error {
36 if err != nil {
37 return fmt.Errorf("error accessing %s: %w", path, err)
38 }
39
40 if d.IsDir() {
41 return nil
42 }
43
44 if ext := filepath.Ext(path); ext != ".yaml" && ext != ".yml" {
45 return nil
46 }
47
48 fileContent, err := os.ReadFile(path)
49 if err != nil {
50 if os.IsNotExist(err) {
51 return nil
52 }
53 return err
54 }
55
56 obj, _, err := scheme.Codecs.UniversalDeserializer().Decode(fileContent, nil, nil)
57 if err != nil {
58 return err
59 }
60
61 crd, ok := obj.(*crdv1.CustomResourceDefinition)
62 if !ok {
63 return nil
64 }
65
66 for _, f := range allChecks {
67 if err = f(crd); err != nil {
68 return err
69 }
70 }
71 return nil
72 }); err != nil {
73 log.Fatal(err)
74 }
75}
76
77func checkForCategory(crd *crdv1.CustomResourceDefinition) error {
78 if len(crd.Spec.Names.Categories) == 0 || !slices.Contains(crd.Spec.Names.Categories, mandatoryCategory) {

Callers

nothing calls this directly

Calls 4

FatalFunction · 0.92
FatalMethod · 0.80
DecodeMethod · 0.65
ErrorfMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…