package main import ( "fmt" "os" "sort" "github.com/urfave/cli/v2" "github.com/filecoin-project/lotus/storage/sealer/storiface" ) var resourcesCmd = &cli.Command{ Name: "resources", Usage: "Manage resource table overrides", Flags: []cli.Flag{ &cli.BoolFlag{ Name: "all", Usage: "print all resource envvars", }, &cli.BoolFlag{ Name: "default", Usage: "print default resource envvars", }, }, Action: func(cctx *cli.Context) error { def := map[string]string{} set := map[string]string{} all := map[string]string{} _, err := storiface.ParseResourceEnv(func(key, d string) (string, bool) { if d != "" { all[key] = d def[key] = d } s, ok := os.LookupEnv(key) if ok { all[key] = s set[key] = s } return s, ok }) if err != nil { return err } printMap := func(m map[string]string) { var arr []string for k, v := range m { arr = append(arr, fmt.Sprintf("%s=%s", k, v)) } sort.Strings(arr) for _, s := range arr { fmt.Println(s) } } if cctx.Bool("default") { printMap(def) } else { if cctx.Bool("all") { printMap(all) } else { printMap(set) } } return nil }, }