package assets import ( "fmt" "io" "path/filepath" "sort" ) func PrintCRDs(out io.Writer) error { entries, err := CRDs.ReadDir("crds") if err != nil { return err } names := make([]string, 0, len(entries)) for _, entry := range entries { if entry.IsDir() { continue } if filepath.Ext(entry.Name()) != ".yaml" { continue } names = append(names, entry.Name()) } sort.Strings(names) for _, name := range names { b, err := CRDs.ReadFile("crds/" + name) if err != nil { return err } if _, err := fmt.Fprintln(out, "---"); err != nil { return err } if _, err := out.Write(b); err != nil { return err } if len(b) == 0 || b[len(b)-1] != '\n' { if _, err := fmt.Fprintln(out); err != nil { return err } } } return nil }