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
No related branches found
No related tags found
2 merge requests!117Release,!79Make NDF accessibility a CLI option
...@@ -42,6 +42,39 @@ var getNDFCmd = &cobra.Command{ ...@@ -42,6 +42,39 @@ var getNDFCmd = &cobra.Command{
"and print it.", "and print it.",
Args: cobra.NoArgs, Args: cobra.NoArgs,
Run: func(cmd *cobra.Command, args []string) { 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 // Note: getndf prints to stdout, so we default to not do that
logLevel := viper.GetUint("logLevel") logLevel := viper.GetUint("logLevel")
logPath := viper.GetString("log") logPath := viper.GetString("log")
...@@ -109,6 +142,7 @@ var getNDFCmd = &cobra.Command{ ...@@ -109,6 +142,7 @@ var getNDFCmd = &cobra.Command{
} }
fmt.Println("Enter --gwhost or --permhost and --cert please") fmt.Println("Enter --gwhost or --permhost and --cert please")
}
}, },
} }
...@@ -127,5 +161,11 @@ func init() { ...@@ -127,5 +161,11 @@ func init() {
viper.BindPFlag("cert", viper.BindPFlag("cert",
getNDFCmd.Flags().Lookup("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) rootCmd.AddCommand(getNDFCmd)
} }
...@@ -510,43 +510,11 @@ func createClient() *api.Client { ...@@ -510,43 +510,11 @@ func createClient() *api.Client {
//create a new client if none exist //create a new client if none exist
if _, err := os.Stat(storeDir); os.IsNotExist(err) { if _, err := os.Stat(storeDir); os.IsNotExist(err) {
// Load NDF // Load NDF
var ndfJSON []byte ndfJSON, err := ioutil.ReadFile(viper.GetString("ndf"))
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)
if err != nil { if err != nil {
jww.FATAL.Panicf(err.Error()) 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 { if precannedID != 0 {
err = api.NewPrecannedClient(precannedID, err = api.NewPrecannedClient(precannedID,
string(ndfJSON), storeDir, []byte(pass)) string(ndfJSON), storeDir, []byte(pass))
...@@ -1018,12 +986,6 @@ func init() { ...@@ -1018,12 +986,6 @@ func init() {
viper.BindPFlag("accept-channel", viper.BindPFlag("accept-channel",
rootCmd.Flags().Lookup("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, rootCmd.PersistentFlags().Bool("delete-channel", false,
"Delete the channel information for the corresponding recipient ID") "Delete the channel information for the corresponding recipient ID")
viper.BindPFlag("delete-channel", 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