Skip to content
Snippets Groups Projects
Commit b5203a23 authored by Josh Brooks's avatar Josh Brooks
Browse files

Move NDF accessibility CLI to subcommand getndf

parent 19ddf14f
Branches
Tags
2 merge requests!117Release,!79Make NDF accessibility a CLI option
......@@ -42,6 +42,39 @@ var getNDFCmd = &cobra.Command{
"and print it.",
Args: cobra.NoArgs,
Run: func(cmd *cobra.Command, args []string) {
if viper.GetString("env") != "" {
var ndfJSON []byte
var err error
switch viper.GetString("env") {
case mainnet:
ndfJSON, err = api.DownloadAndVerifySignedNdfWithUrl(mainNetUrl, mainNetCert)
if err != nil {
jww.FATAL.Panicf(err.Error())
}
case release:
ndfJSON, err = api.DownloadAndVerifySignedNdfWithUrl(releaseUrl, releaseCert)
if err != nil {
jww.FATAL.Panicf(err.Error())
}
case dev:
ndfJSON, err = api.DownloadAndVerifySignedNdfWithUrl(devUrl, devCert)
if err != nil {
jww.FATAL.Panicf(err.Error())
}
case testnet:
ndfJSON, err = api.DownloadAndVerifySignedNdfWithUrl(testNetUrl, testNetCert)
if err != nil {
jww.FATAL.Panicf(err.Error())
}
default:
jww.FATAL.Panicf("env flag with unknown flag (%s)",
viper.GetString("env"))
}
// Print to stdout
fmt.Printf("%s", ndfJSON)
} else {
// Note: getndf prints to stdout, so we default to not do that
logLevel := viper.GetUint("logLevel")
logPath := viper.GetString("log")
......@@ -109,6 +142,7 @@ var getNDFCmd = &cobra.Command{
}
fmt.Println("Enter --gwhost or --permhost and --cert please")
}
},
}
......@@ -127,5 +161,11 @@ func init() {
viper.BindPFlag("cert",
getNDFCmd.Flags().Lookup("cert"))
getNDFCmd.Flags().StringP("env", "", "",
"Downloads and verifies a signed NDF from a specified environment. "+
"Accepted environment flags include mainnet, release, testnet, and dev")
viper.BindPFlag("env",
getNDFCmd.Flags().Lookup("env"))
rootCmd.AddCommand(getNDFCmd)
}
......@@ -510,43 +510,11 @@ func createClient() *api.Client {
//create a new client if none exist
if _, err := os.Stat(storeDir); os.IsNotExist(err) {
// Load NDF
var ndfJSON []byte
if viper.GetString("ndf") != "" {
ndfJSON, err = ioutil.ReadFile(viper.GetString("ndf"))
if err != nil {
jww.FATAL.Panicf(err.Error())
}
} else if viper.GetString("download-ndf") != "" {
switch viper.GetString("download-ndf") {
case mainnet:
ndfJSON, err = api.DownloadAndVerifySignedNdfWithUrl(mainNetUrl, mainNetCert)
if err != nil {
jww.FATAL.Panicf(err.Error())
}
case release:
ndfJSON, err = api.DownloadAndVerifySignedNdfWithUrl(releaseUrl, releaseCert)
ndfJSON, err := ioutil.ReadFile(viper.GetString("ndf"))
if err != nil {
jww.FATAL.Panicf(err.Error())
}
case dev:
ndfJSON, err = api.DownloadAndVerifySignedNdfWithUrl(devUrl, devCert)
if err != nil {
jww.FATAL.Panicf(err.Error())
}
case testnet:
ndfJSON, err = api.DownloadAndVerifySignedNdfWithUrl(testNetUrl, testNetCert)
if err != nil {
jww.FATAL.Panicf(err.Error())
}
default:
jww.FATAL.Panicf("download-ndf flag with unknown flag (%s)",
viper.GetString("download-ndf"))
}
} else {
jww.FATAL.Panicf("Unspecified NDF in CLI, cannot create client!")
}
if precannedID != 0 {
err = api.NewPrecannedClient(precannedID,
string(ndfJSON), storeDir, []byte(pass))
......@@ -1018,12 +986,6 @@ func init() {
viper.BindPFlag("accept-channel",
rootCmd.Flags().Lookup("accept-channel"))
rootCmd.Flags().StringP("download-ndf", "", "",
"Downloads and verifies a signed NDF from a specified environment. "+
"Accepted environment flags include mainnet, release, testnet, and dev")
viper.BindPFlag("download-ndf",
rootCmd.Flags().Lookup("download-ndf"))
rootCmd.PersistentFlags().Bool("delete-channel", false,
"Delete the channel information for the corresponding recipient ID")
viper.BindPFlag("delete-channel",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment