63 lines
1.7 KiB
Go
63 lines
1.7 KiB
Go
package storage
|
|
|
|
import (
|
|
"github.com/indra-labs/indra/pkg/util/appdata"
|
|
"github.com/spf13/cobra"
|
|
"github.com/spf13/viper"
|
|
"path/filepath"
|
|
)
|
|
|
|
var (
|
|
storeKeyFlag = "store-key"
|
|
storeKeyFileFlag = "store-keyfile"
|
|
//storeKeyRPCFlag = "store-key-rpc"
|
|
storeFilePathFlag = "store-path"
|
|
//storeAskPassFlag = "store-ask-pass"
|
|
)
|
|
|
|
var (
|
|
storeEncryptionKey string
|
|
storeEncryptionKeyFile string
|
|
//storeEncryptionKeyRPC bool
|
|
storeFilePath string
|
|
//storeAskPass bool
|
|
)
|
|
|
|
func InitFlags(cmd *cobra.Command) {
|
|
|
|
cmd.Flags().StringVarP(&storeEncryptionKey, storeKeyFlag, "",
|
|
"",
|
|
"the key required to unlock storage (NOT recommended)",
|
|
)
|
|
|
|
viper.BindPFlag(storeKeyFlag, cmd.Flags().Lookup(storeKeyFlag))
|
|
|
|
cmd.PersistentFlags().StringVarP(&storeEncryptionKeyFile, storeKeyFileFlag, "",
|
|
"",
|
|
"the path of the keyfile required to unlock storage",
|
|
)
|
|
|
|
viper.BindPFlag(storeKeyFileFlag, cmd.PersistentFlags().Lookup(storeKeyFileFlag))
|
|
|
|
cmd.PersistentFlags().StringVarP(&storeFilePath, storeFilePathFlag, "",
|
|
filepath.Join(appdata.Dir("indra", false), "indra.db"),
|
|
"the path of the database (default is <data-dir>/indra.db)",
|
|
)
|
|
|
|
viper.BindPFlag(storeFilePathFlag, cmd.PersistentFlags().Lookup(storeFilePathFlag))
|
|
|
|
//cmd.PersistentFlags().BoolVarP(&storeEncryptionKeyRPC, storeKeyRPCFlag, "",
|
|
// false,
|
|
// "looks for the encryption key via RPC",
|
|
//)
|
|
//
|
|
//viper.BindPFlag(storeKeyRPCFlag, cmd.PersistentFlags().Lookup(storeKeyRPCFlag))
|
|
|
|
//cmd.PersistentFlags().BoolVarP(&storeAskPass, storeAskPassFlag, "",
|
|
// false,
|
|
// "prompts the user for a password to unlock storage",
|
|
//)
|
|
//
|
|
//viper.BindPFlag(storeAskPassFlag, cmd.PersistentFlags().Lookup(storeAskPassFlag))
|
|
}
|