package main import ( "flag" "fmt" "os" "sigs.k8s.io/kustomize/kyaml/kio" "edge-infra.dev/hack/build/ci" "edge-infra.dev/pkg/edge/gitops/fns/normalizer" "edge-infra.dev/pkg/edge/gitops/fns/trimmer" "edge-infra.dev/pkg/edge/yamlfmt" "edge-infra.dev/pkg/lib/build/bazel" ) func init() { wd, err := bazel.ResolveWd() if err != nil { fmt.Fprintln(os.Stderr, "failed to determine current working directory:", err) os.Exit(1) } if err := os.Chdir(wd); err != nil { fmt.Fprintln(os.Stderr, "failed to cd to current working directory:", err) os.Exit(1) } } func main() { var dir string flag.StringVar(&dir, "directory", ci.ManifestsDir, "path to manifest directory to format") flag.Parse() if dir == "" { fmt.Fprintln(os.Stderr, "a directory must be provided using --directory") os.Exit(1) } ignorer, err := yamlfmt.NewIgnorer(dir) if err != nil { fmt.Println(err) fmt.Printf("could not load ignorer with path %s\n", dir) os.Exit(1) } n := normalizer.Normalizer{} tr := trimmer.Trimmer{} rw := kio.LocalPackageReadWriter{ PackagePath: dir, FileSkipFunc: ignorer.IgnorePath, } err = kio.Pipeline{ Inputs: []kio.Reader{&rw}, Outputs: []kio.Writer{&rw}, Filters: []kio.Filter{ kio.FilterFunc(tr.Run), kio.FilterFunc(n.Run), }, }.Execute() if err != nil { fmt.Fprintf(os.Stderr, "failed to format manifests: %v", err) os.Exit(1) } }