1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
package main
import (
"flag"
"fmt"
"log"
"os"
)
var flagset = flag.NewFlagSet("crypt", flag.ExitOnError)
var (
data string
backendName string
key string
keyring string
endpoint string
secretKeyring string
plaintext bool
machines []string
)
func init() {
flagset.StringVar(&backendName, "backend", "etcd", "backend provider")
flagset.StringVar(&endpoint, "endpoint", "", "backend url")
flagset.BoolVar(&plaintext, "plaintext", false, "skip encryption")
}
func main() {
log.SetFlags(0)
if len(os.Args) < 2 {
help()
}
cmd := os.Args[1]
switch cmd {
case "set":
setCmd(flagset)
case "get":
getCmd(flagset)
case "list":
listCmd(flagset)
default:
help()
}
}
func help() {
fmt.Fprintf(os.Stderr, "usage: %s COMMAND [arg...]", os.Args[0])
fmt.Fprintf(os.Stderr, "\n\n")
fmt.Fprintf(os.Stderr, "commands:\n")
fmt.Fprintf(os.Stderr, " get retrieve the value of a key\n")
fmt.Fprintf(os.Stderr, " list retrieve all values under a key\n")
fmt.Fprintf(os.Stderr, " set set the value of a key\n")
fmt.Fprintf(os.Stderr, "\n")
fmt.Fprintf(os.Stderr, "-plaintext don't encrypt or decrypt the values before storage or retrieval\n")
os.Exit(1)
}
|