open-vault/commands.go

204 lines
4.2 KiB
Go
Raw Normal View History

2015-03-04 07:03:24 +00:00
package main
import (
"os"
2015-04-05 01:07:53 +00:00
auditFile "github.com/hashicorp/vault/builtin/audit/file"
2015-04-05 01:40:21 +00:00
credAppId "github.com/hashicorp/vault/builtin/credential/app-id"
credGitHub "github.com/hashicorp/vault/builtin/credential/github"
2015-04-05 01:07:53 +00:00
2015-03-20 18:32:18 +00:00
"github.com/hashicorp/vault/builtin/logical/aws"
2015-03-21 16:25:12 +00:00
"github.com/hashicorp/vault/builtin/logical/consul"
2015-04-05 01:07:53 +00:00
"github.com/hashicorp/vault/audit"
tokenDisk "github.com/hashicorp/vault/builtin/token/disk"
2015-03-04 07:03:24 +00:00
"github.com/hashicorp/vault/command"
2015-03-20 18:32:18 +00:00
"github.com/hashicorp/vault/logical"
2015-03-04 07:03:24 +00:00
"github.com/mitchellh/cli"
)
// Commands is the mapping of all the available Vault commands. CommandsInclude
// are the commands to include for help.
2015-03-04 07:03:24 +00:00
var Commands map[string]cli.CommandFactory
var CommandsInclude []string
2015-03-04 07:03:24 +00:00
func init() {
2015-03-04 07:34:32 +00:00
ui := &cli.BasicUi{
Writer: os.Stdout,
ErrorWriter: os.Stderr,
}
meta := command.Meta{Ui: ui}
2015-03-04 07:03:24 +00:00
Commands = map[string]cli.CommandFactory{
2015-04-07 20:46:35 +00:00
"init": func() (cli.Command, error) {
return &command.InitCommand{
Meta: meta,
}, nil
},
"server": func() (cli.Command, error) {
return &command.ServerCommand{
Meta: meta,
AuditBackends: map[string]audit.Factory{
"file": auditFile.Factory,
},
CredentialBackends: map[string]logical.Factory{
"app-id": credAppId.Factory,
"github": credGitHub.Factory,
},
LogicalBackends: map[string]logical.Factory{
"aws": aws.Factory,
"consul": consul.Factory,
},
}, nil
},
2015-04-03 05:42:05 +00:00
"help": func() (cli.Command, error) {
return &command.HelpCommand{
Meta: meta,
}, nil
},
2015-03-04 07:34:32 +00:00
"auth": func() (cli.Command, error) {
return &command.AuthCommand{
Meta: meta,
2015-04-06 16:53:43 +00:00
Handlers: map[string]command.AuthHandler{
"github": &credGitHub.CLIHandler{},
},
2015-03-04 07:34:32 +00:00
}, nil
},
2015-04-02 00:09:11 +00:00
"auth-enable": func() (cli.Command, error) {
return &command.AuthEnableCommand{
Meta: meta,
}, nil
},
2015-04-02 00:14:11 +00:00
"auth-disable": func() (cli.Command, error) {
return &command.AuthDisableCommand{
Meta: meta,
}, nil
},
"policies": func() (cli.Command, error) {
2015-04-02 01:45:11 +00:00
return &command.PolicyListCommand{
Meta: meta,
}, nil
},
2015-04-02 05:58:37 +00:00
"policy-write": func() (cli.Command, error) {
return &command.PolicyWriteCommand{
Meta: meta,
}, nil
},
2015-03-16 03:35:33 +00:00
"read": func() (cli.Command, error) {
return &command.ReadCommand{
2015-03-04 19:08:13 +00:00
Meta: meta,
}, nil
},
2015-03-04 07:34:32 +00:00
2015-03-16 03:35:33 +00:00
"write": func() (cli.Command, error) {
return &command.WriteCommand{
2015-03-04 19:08:13 +00:00
Meta: meta,
}, nil
},
2015-03-04 07:34:32 +00:00
2015-04-07 18:16:08 +00:00
"delete": func() (cli.Command, error) {
return &command.DeleteCommand{
Meta: meta,
}, nil
},
2015-04-01 02:21:02 +00:00
"revoke": func() (cli.Command, error) {
return &command.RevokeCommand{
Meta: meta,
}, nil
},
2015-03-04 16:56:10 +00:00
"seal": func() (cli.Command, error) {
return &command.SealCommand{
Meta: meta,
}, nil
},
2015-03-13 18:33:17 +00:00
"seal-status": func() (cli.Command, error) {
return &command.SealStatusCommand{
Meta: meta,
}, nil
},
2015-03-04 07:57:23 +00:00
"unseal": func() (cli.Command, error) {
return &command.UnsealCommand{
Meta: meta,
}, nil
},
2015-03-31 23:28:46 +00:00
"mount": func() (cli.Command, error) {
return &command.MountCommand{
Meta: meta,
}, nil
},
2015-03-16 04:28:31 +00:00
"mounts": func() (cli.Command, error) {
return &command.MountsCommand{
Meta: meta,
}, nil
},
2015-04-07 17:46:47 +00:00
"remount": func() (cli.Command, error) {
return &command.RemountCommand{
Meta: meta,
}, nil
},
2015-04-07 17:38:51 +00:00
"unmount": func() (cli.Command, error) {
return &command.UnmountCommand{
Meta: meta,
}, nil
},
2015-04-07 21:20:18 +00:00
"token-create": func() (cli.Command, error) {
return &command.TokenCreateCommand{
Meta: meta,
}, nil
},
2015-04-07 21:36:17 +00:00
"token-revoke": func() (cli.Command, error) {
return &command.TokenRevokeCommand{
Meta: meta,
}, nil
},
2015-03-04 07:03:24 +00:00
"version": func() (cli.Command, error) {
ver := Version
rel := VersionPrerelease
if GitDescribe != "" {
ver = GitDescribe
}
if GitDescribe == "" && rel == "" {
rel = "dev"
}
return &command.VersionCommand{
Revision: GitCommit,
Version: ver,
VersionPrerelease: rel,
Ui: ui,
}, nil
},
}
// Build the commands to include in the help now
CommandsInclude = make([]string, 0, len(Commands))
for k, _ := range Commands {
CommandsInclude = append(CommandsInclude, k)
}
// The commands below are hidden from the help output
Commands["token-disk"] = func() (cli.Command, error) {
return &tokenDisk.Command{}, nil
}
2015-03-04 07:03:24 +00:00
}