...

Source file src/edge-infra.dev/hack/tools/fmt-manifests/main.go

Documentation: edge-infra.dev/hack/tools/fmt-manifests

     1  package main
     2  
     3  import (
     4  	"flag"
     5  	"fmt"
     6  	"os"
     7  
     8  	"sigs.k8s.io/kustomize/kyaml/kio"
     9  
    10  	"edge-infra.dev/hack/build/ci"
    11  	"edge-infra.dev/pkg/edge/gitops/fns/normalizer"
    12  	"edge-infra.dev/pkg/edge/gitops/fns/trimmer"
    13  	"edge-infra.dev/pkg/edge/yamlfmt"
    14  	"edge-infra.dev/pkg/lib/build/bazel"
    15  )
    16  
    17  func init() {
    18  	wd, err := bazel.ResolveWd()
    19  	if err != nil {
    20  		fmt.Fprintln(os.Stderr, "failed to determine current working directory:", err)
    21  		os.Exit(1)
    22  	}
    23  
    24  	if err := os.Chdir(wd); err != nil {
    25  		fmt.Fprintln(os.Stderr, "failed to cd to current working directory:", err)
    26  		os.Exit(1)
    27  	}
    28  }
    29  
    30  func main() {
    31  	var dir string
    32  	flag.StringVar(&dir, "directory", ci.ManifestsDir, "path to manifest directory to format")
    33  	flag.Parse()
    34  
    35  	if dir == "" {
    36  		fmt.Fprintln(os.Stderr, "a directory must be provided using --directory")
    37  		os.Exit(1)
    38  	}
    39  
    40  	ignorer, err := yamlfmt.NewIgnorer(dir)
    41  	if err != nil {
    42  		fmt.Println(err)
    43  		fmt.Printf("could not load ignorer with path %s\n", dir)
    44  		os.Exit(1)
    45  	}
    46  
    47  	n := normalizer.Normalizer{}
    48  	tr := trimmer.Trimmer{}
    49  	rw := kio.LocalPackageReadWriter{
    50  		PackagePath:  dir,
    51  		FileSkipFunc: ignorer.IgnorePath,
    52  	}
    53  
    54  	err = kio.Pipeline{
    55  		Inputs:  []kio.Reader{&rw},
    56  		Outputs: []kio.Writer{&rw},
    57  		Filters: []kio.Filter{
    58  			kio.FilterFunc(tr.Run),
    59  			kio.FilterFunc(n.Run),
    60  		},
    61  	}.Execute()
    62  
    63  	if err != nil {
    64  		fmt.Fprintf(os.Stderr, "failed to format manifests: %v", err)
    65  		os.Exit(1)
    66  	}
    67  }
    68  

View as plain text