Files
nigiri/cli/cmd/flags.go
Francis 5af3371205 Added version command and goreleaser (#100)
* added version command and goreleaser

* added release to Makefile. adapted build and clean scripts to gorelease. changed version short text output

* reverted clean and build scripts. changed path for builds

* added dist field to goreleaser

* added post hook

* disabled archiving

* added archive name template

* changed archive name template

* changed archive name template

* changed goreleaser.yml

* removed pre hooks
2020-09-21 19:44:22 +02:00

62 lines
2.3 KiB
Go

package cmd
import (
"encoding/json"
"os"
log "github.com/sirupsen/logrus"
"github.com/spf13/cobra"
"github.com/vulpemventures/nigiri/cli/config"
"github.com/vulpemventures/nigiri/cli/constants"
)
var (
flagDatadir string
flagNetwork string
flagDelete bool
flagAttachLiquid bool
flagLiquidService bool
flagEnv string
)
var RootCmd = &cobra.Command{
Use: "nigiri",
Short: "Nigiri lets you manage a full dockerized bitcoin environment",
Long: "Nigiri lets you create your dockerized environment with a bitcoin and optionally a liquid node + block explorer powered by an electrum server for every network",
}
func init() {
c := &config.Config{}
viper := c.Viper()
defaultDir := c.GetPath()
defaultJSON, _ := json.Marshal(constants.DefaultEnv)
RootCmd.PersistentFlags().StringVar(&flagDatadir, "datadir", defaultDir, "Set nigiri default directory")
StartCmd.PersistentFlags().StringVar(&flagNetwork, "network", "regtest", "Set bitcoin network - regtest only for now")
StartCmd.PersistentFlags().BoolVar(&flagAttachLiquid, "liquid", false, "Enable liquid sidechain")
StartCmd.PersistentFlags().StringVar(&flagEnv, "env", string(defaultJSON), "Set compose env in JSON format")
StopCmd.PersistentFlags().BoolVar(&flagDelete, "delete", false, "Stop and delete nigiri")
LogsCmd.PersistentFlags().BoolVar(&flagLiquidService, "liquid", false, "Set to see logs of a liquid service")
FaucetCmd.PersistentFlags().BoolVar(&flagLiquidService, "liquid", false, "Set to donate liquid btc")
RpcCmd.PersistentFlags().BoolVar(&flagLiquidService, "liquid", false, "Set to use liquid node")
PushCmd.PersistentFlags().BoolVar(&flagLiquidService, "liquid", false, "Set to use liquid")
RootCmd.AddCommand(StartCmd)
RootCmd.AddCommand(StopCmd)
RootCmd.AddCommand(LogsCmd)
RootCmd.AddCommand(FaucetCmd)
RootCmd.AddCommand(RpcCmd)
RootCmd.AddCommand(MintCmd)
RootCmd.AddCommand(PushCmd)
RootCmd.AddCommand(VersionCmd)
viper.BindPFlag(constants.Datadir, RootCmd.PersistentFlags().Lookup("datadir"))
viper.BindPFlag(constants.Network, StartCmd.PersistentFlags().Lookup("network"))
viper.BindPFlag(constants.AttachLiquid, StartCmd.PersistentFlags().Lookup("liquid"))
cobra.OnInitialize(func() {
log.SetOutput(os.Stdout)
log.SetLevel(log.InfoLevel)
})
}