mirror of
https://github.com/therootcompany/golib.git
synced 2026-03-02 23:57:59 +00:00
doc+fix(cmd/csvauth): cleanup help, print with bare '--help'
This commit is contained in:
parent
6e0c91feb4
commit
af634f2175
@ -29,18 +29,44 @@ var (
|
|||||||
keyRelPath = filepath.Join(".config", "csvauth", "aes-128.key")
|
keyRelPath = filepath.Join(".config", "csvauth", "aes-128.key")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func showHelp() {
|
||||||
|
fmt.Fprintf(os.Stderr, `csvauth - create, update, and verify users, passwords, and tokens
|
||||||
|
|
||||||
|
EXAMPLES
|
||||||
|
csvauth store --ask-password 'my-new-user'
|
||||||
|
csvauth verify 'my-new-user'
|
||||||
|
|
||||||
|
USAGE
|
||||||
|
csvauth help
|
||||||
|
csvauth store [--help] [FLAGS] <username>
|
||||||
|
csvauth verify [--help] [FLAGS] <username>
|
||||||
|
|
||||||
|
`)
|
||||||
|
|
||||||
|
handleSet([]string{"--help"}, nil, nil)
|
||||||
|
fmt.Fprintf(os.Stderr, "\n")
|
||||||
|
|
||||||
|
handleCheck([]string{"--help"}, nil, nil)
|
||||||
|
fmt.Fprintf(os.Stderr, "\n")
|
||||||
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
var subcmd string
|
var subcmd string
|
||||||
if len(os.Args) > 1 {
|
if len(os.Args) > 1 {
|
||||||
subcmd = os.Args[1]
|
subcmd = os.Args[1]
|
||||||
}
|
}
|
||||||
if len(os.Args) > 2 {
|
switch len(os.Args) {
|
||||||
|
case 0:
|
||||||
|
panic(errors.New("it's impossible to have 0 arguments"))
|
||||||
|
case 1:
|
||||||
|
fallthrough
|
||||||
|
case 2:
|
||||||
|
os.Args = append(os.Args, "--help")
|
||||||
|
default:
|
||||||
switch os.Args[2] {
|
switch os.Args[2] {
|
||||||
case "", "help":
|
case "", "help":
|
||||||
os.Args[2] = "--help"
|
os.Args[2] = "--help"
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
os.Args = append(os.Args, "--help")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
homedir, err := os.UserHomeDir()
|
homedir, err := os.UserHomeDir()
|
||||||
@ -93,7 +119,8 @@ func main() {
|
|||||||
case "check":
|
case "check":
|
||||||
handleCheck(os.Args[2:], aesKey, csvFile)
|
handleCheck(os.Args[2:], aesKey, csvFile)
|
||||||
case "--help", "-help", "help", "":
|
case "--help", "-help", "help", "":
|
||||||
fallthrough
|
showHelp()
|
||||||
|
return
|
||||||
default:
|
default:
|
||||||
if len(subcmd) > 0 {
|
if len(subcmd) > 0 {
|
||||||
fmt.Fprintf(os.Stderr, "unknown subcommand %q\n", subcmd)
|
fmt.Fprintf(os.Stderr, "unknown subcommand %q\n", subcmd)
|
||||||
@ -101,13 +128,7 @@ func main() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Fprintf(os.Stderr, "USAGE\n\tcsvauth [store|check] [--help] [--algorithm <aes|plain|pbkdf2[,iters[,size[,hash]]]|bcrypt[,cost]] [--ask-password] [--password-file <filepath>] [--roles 'role1,role2'] [--extra '{\"foo\": \"bar\"}'] <username>\n\n")
|
showHelp()
|
||||||
|
|
||||||
handleSet([]string{"--help"}, nil, nil)
|
|
||||||
fmt.Fprintf(os.Stderr, "\n")
|
|
||||||
|
|
||||||
handleCheck([]string{"--help"}, nil, nil)
|
|
||||||
fmt.Fprintf(os.Stderr, "\n")
|
|
||||||
|
|
||||||
switch subcmd {
|
switch subcmd {
|
||||||
case "--help", "-help", "help":
|
case "--help", "-help", "help":
|
||||||
@ -235,7 +256,7 @@ func handleInit(keyenv, keypath, csvpath string) error {
|
|||||||
func handleSet(args []string, aesKey []byte, csvFile csvauth.NamedReadCloser) {
|
func handleSet(args []string, aesKey []byte, csvFile csvauth.NamedReadCloser) {
|
||||||
storeFlags := flag.NewFlagSet("csvauth-store", flag.ContinueOnError)
|
storeFlags := flag.NewFlagSet("csvauth-store", flag.ContinueOnError)
|
||||||
purpose := storeFlags.String("purpose", "login", "'login' for users, or a service account name, such as 'basecamp_api_key'")
|
purpose := storeFlags.String("purpose", "login", "'login' for users, or a service account name, such as 'basecamp_api_key'")
|
||||||
roleList := storeFlags.String("roles", "", "a space- or comma-separated list of roles (defined by you), such as 'triage audit'")
|
roleList := storeFlags.String("roles", "", "a comma- or space-separated list of roles (defined by you), such as 'triage audit'")
|
||||||
extra := storeFlags.String("extra", "", "free form data to retrieve with the user (hint: JSON might be nice)")
|
extra := storeFlags.String("extra", "", "free form data to retrieve with the user (hint: JSON might be nice)")
|
||||||
algorithm := storeFlags.String("algorithm", "", "Hash algorithm: aes, plain, pbkdf2[,iters[,size[,hash]]], or bcrypt[,cost]")
|
algorithm := storeFlags.String("algorithm", "", "Hash algorithm: aes, plain, pbkdf2[,iters[,size[,hash]]], or bcrypt[,cost]")
|
||||||
askPassword := storeFlags.Bool("ask-password", false, "Read password from stdin")
|
askPassword := storeFlags.Bool("ask-password", false, "Read password from stdin")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user