github.com/nextlinux/gosbom@v0.81.1-0.20230627115839-1ff50c281391/cmd/gosbom/cli/options/rekor.go (about) 1 package options 2 3 import ( 4 "github.com/spf13/cobra" 5 "github.com/spf13/pflag" 6 "github.com/spf13/viper" 7 ) 8 9 const DefaultRekorURL = "https://rekor.sigstore.dev" 10 11 // RekorOptions is the wrapper for Rekor related options. 12 type RekorOptions struct { 13 URL string 14 } 15 16 var _ Interface = (*RekorOptions)(nil) 17 18 // AddFlags implements Interface 19 func (o *RekorOptions) AddFlags(cmd *cobra.Command, v *viper.Viper) error { 20 cmd.Flags().StringVar(&o.URL, "rekor-url", DefaultRekorURL, 21 "address of rekor STL server") 22 return bindRekorConfigOptions(cmd.Flags(), v) 23 } 24 25 //nolint:revive 26 func bindRekorConfigOptions(flags *pflag.FlagSet, v *viper.Viper) error { 27 // TODO: config re-design 28 if err := v.BindPFlag("attest.rekor-url", flags.Lookup("rekor-url")); err != nil { 29 return err 30 } 31 32 return nil 33 }