mirror of
				https://github.com/optim-enterprises-bv/vault.git
				synced 2025-10-31 02:28:09 +00:00 
			
		
		
		
	Add RunCustom command to allow passing in a TokenHelper
This commit is contained in:
		| @@ -114,6 +114,11 @@ func (c *BaseCommand) Client() (*api.Client, error) { | ||||
| 	return client, nil | ||||
| } | ||||
|  | ||||
| // SetTokenHelper sets the token helper on the command. | ||||
| func (c *BaseCommand) SetTokenHelper(th token.TokenHelper) { | ||||
| 	c.tokenHelper = th | ||||
| } | ||||
|  | ||||
| // TokenHelper returns the token helper attached to the command. | ||||
| func (c *BaseCommand) TokenHelper() (token.TokenHelper, error) { | ||||
| 	if c.tokenHelper != nil { | ||||
|   | ||||
| @@ -184,7 +184,7 @@ func (c *DeprecatedCommand) warn() { | ||||
| var Commands map[string]cli.CommandFactory | ||||
| var DeprecatedCommands map[string]cli.CommandFactory | ||||
|  | ||||
| func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| func initCommands(ui, serverCmdUi cli.Ui, baseCmdTemplate *BaseCommand) { | ||||
| 	loginHandlers := map[string]LoginHandler{ | ||||
| 		"aws":      &credAws.CLIHandler{}, | ||||
| 		"centrify": &credCentrify.CLIHandler{}, | ||||
| @@ -205,42 +205,48 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 		"audit": func() (cli.Command, error) { | ||||
| 			return &AuditCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"audit disable": func() (cli.Command, error) { | ||||
| 			return &AuditDisableCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"audit enable": func() (cli.Command, error) { | ||||
| 			return &AuditEnableCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"audit list": func() (cli.Command, error) { | ||||
| 			return &AuditListCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"auth tune": func() (cli.Command, error) { | ||||
| 			return &AuthTuneCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"auth": func() (cli.Command, error) { | ||||
| 			return &AuthCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 				Handlers: loginHandlers, | ||||
| 			}, nil | ||||
| @@ -248,21 +254,24 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 		"auth disable": func() (cli.Command, error) { | ||||
| 			return &AuthDisableCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"auth enable": func() (cli.Command, error) { | ||||
| 			return &AuthEnableCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"auth help": func() (cli.Command, error) { | ||||
| 			return &AuthHelpCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 				Handlers: loginHandlers, | ||||
| 			}, nil | ||||
| @@ -270,49 +279,56 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 		"auth list": func() (cli.Command, error) { | ||||
| 			return &AuthListCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"delete": func() (cli.Command, error) { | ||||
| 			return &DeleteCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"lease": func() (cli.Command, error) { | ||||
| 			return &LeaseCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"lease renew": func() (cli.Command, error) { | ||||
| 			return &LeaseRenewCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"lease revoke": func() (cli.Command, error) { | ||||
| 			return &LeaseRevokeCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"list": func() (cli.Command, error) { | ||||
| 			return &ListCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"login": func() (cli.Command, error) { | ||||
| 			return &LoginCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 				Handlers: loginHandlers, | ||||
| 			}, nil | ||||
| @@ -320,168 +336,192 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 		"operator": func() (cli.Command, error) { | ||||
| 			return &OperatorCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"operator generate-root": func() (cli.Command, error) { | ||||
| 			return &OperatorGenerateRootCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"operator init": func() (cli.Command, error) { | ||||
| 			return &OperatorInitCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"operator key-status": func() (cli.Command, error) { | ||||
| 			return &OperatorKeyStatusCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"operator rekey": func() (cli.Command, error) { | ||||
| 			return &OperatorRekeyCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"operator rotate": func() (cli.Command, error) { | ||||
| 			return &OperatorRotateCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"operator seal": func() (cli.Command, error) { | ||||
| 			return &OperatorSealCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"operator step-down": func() (cli.Command, error) { | ||||
| 			return &OperatorStepDownCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"operator unseal": func() (cli.Command, error) { | ||||
| 			return &OperatorUnsealCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"path-help": func() (cli.Command, error) { | ||||
| 			return &PathHelpCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"policy": func() (cli.Command, error) { | ||||
| 			return &PolicyCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"policy delete": func() (cli.Command, error) { | ||||
| 			return &PolicyDeleteCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"policy fmt": func() (cli.Command, error) { | ||||
| 			return &PolicyFmtCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"policy list": func() (cli.Command, error) { | ||||
| 			return &PolicyListCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"policy read": func() (cli.Command, error) { | ||||
| 			return &PolicyReadCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"policy write": func() (cli.Command, error) { | ||||
| 			return &PolicyWriteCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"read": func() (cli.Command, error) { | ||||
| 			return &ReadCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"secrets": func() (cli.Command, error) { | ||||
| 			return &SecretsCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"secrets disable": func() (cli.Command, error) { | ||||
| 			return &SecretsDisableCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"secrets enable": func() (cli.Command, error) { | ||||
| 			return &SecretsEnableCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"secrets list": func() (cli.Command, error) { | ||||
| 			return &SecretsListCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"secrets move": func() (cli.Command, error) { | ||||
| 			return &SecretsMoveCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"secrets tune": func() (cli.Command, error) { | ||||
| 			return &SecretsTuneCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"server": func() (cli.Command, error) { | ||||
| 			return &ServerCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: serverCmdUi, | ||||
| 					UI:          serverCmdUi, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 				AuditBackends:      auditBackends, | ||||
| 				CredentialBackends: credentialBackends, | ||||
| @@ -494,63 +534,72 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 		"ssh": func() (cli.Command, error) { | ||||
| 			return &SSHCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"status": func() (cli.Command, error) { | ||||
| 			return &StatusCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"token": func() (cli.Command, error) { | ||||
| 			return &TokenCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"token create": func() (cli.Command, error) { | ||||
| 			return &TokenCreateCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"token capabilities": func() (cli.Command, error) { | ||||
| 			return &TokenCapabilitiesCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"token lookup": func() (cli.Command, error) { | ||||
| 			return &TokenLookupCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"token renew": func() (cli.Command, error) { | ||||
| 			return &TokenRenewCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"token revoke": func() (cli.Command, error) { | ||||
| 			return &TokenRevokeCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"unwrap": func() (cli.Command, error) { | ||||
| 			return &UnwrapCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| @@ -558,14 +607,16 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 			return &VersionCommand{ | ||||
| 				VersionInfo: version.GetVersion(), | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| 		"write": func() (cli.Command, error) { | ||||
| 			return &WriteCommand{ | ||||
| 				BaseCommand: &BaseCommand{ | ||||
| 					UI: ui, | ||||
| 					UI:          ui, | ||||
| 					tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 				}, | ||||
| 			}, nil | ||||
| 		}, | ||||
| @@ -579,10 +630,10 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 			return &DeprecatedCommand{ | ||||
| 				Old: "audit-disable", | ||||
| 				New: "audit disable", | ||||
| 				UI:  ui, | ||||
| 				Command: &AuditDisableCommand{ | ||||
| 					BaseCommand: &BaseCommand{ | ||||
| 						UI: ui, | ||||
| 						UI:          ui, | ||||
| 						tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, nil | ||||
| @@ -595,7 +646,8 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 				UI:  ui, | ||||
| 				Command: &AuditEnableCommand{ | ||||
| 					BaseCommand: &BaseCommand{ | ||||
| 						UI: ui, | ||||
| 						UI:          ui, | ||||
| 						tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, nil | ||||
| @@ -608,7 +660,8 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 				UI:  ui, | ||||
| 				Command: &AuditListCommand{ | ||||
| 					BaseCommand: &BaseCommand{ | ||||
| 						UI: ui, | ||||
| 						UI:          ui, | ||||
| 						tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, nil | ||||
| @@ -621,7 +674,8 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 				UI:  ui, | ||||
| 				Command: &AuthDisableCommand{ | ||||
| 					BaseCommand: &BaseCommand{ | ||||
| 						UI: ui, | ||||
| 						UI:          ui, | ||||
| 						tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, nil | ||||
| @@ -634,7 +688,8 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 				UI:  ui, | ||||
| 				Command: &AuthEnableCommand{ | ||||
| 					BaseCommand: &BaseCommand{ | ||||
| 						UI: ui, | ||||
| 						UI:          ui, | ||||
| 						tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, nil | ||||
| @@ -647,7 +702,8 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 				UI:  ui, | ||||
| 				Command: &TokenCapabilitiesCommand{ | ||||
| 					BaseCommand: &BaseCommand{ | ||||
| 						UI: ui, | ||||
| 						UI:          ui, | ||||
| 						tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, nil | ||||
| @@ -660,7 +716,8 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 				UI:  ui, | ||||
| 				Command: &OperatorGenerateRootCommand{ | ||||
| 					BaseCommand: &BaseCommand{ | ||||
| 						UI: ui, | ||||
| 						UI:          ui, | ||||
| 						tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, nil | ||||
| @@ -673,7 +730,8 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 				UI:  ui, | ||||
| 				Command: &OperatorInitCommand{ | ||||
| 					BaseCommand: &BaseCommand{ | ||||
| 						UI: ui, | ||||
| 						UI:          ui, | ||||
| 						tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, nil | ||||
| @@ -686,7 +744,8 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 				UI:  ui, | ||||
| 				Command: &OperatorKeyStatusCommand{ | ||||
| 					BaseCommand: &BaseCommand{ | ||||
| 						UI: ui, | ||||
| 						UI:          ui, | ||||
| 						tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, nil | ||||
| @@ -699,7 +758,8 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 				UI:  ui, | ||||
| 				Command: &LeaseRenewCommand{ | ||||
| 					BaseCommand: &BaseCommand{ | ||||
| 						UI: ui, | ||||
| 						UI:          ui, | ||||
| 						tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, nil | ||||
| @@ -712,7 +772,8 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 				UI:  ui, | ||||
| 				Command: &LeaseRevokeCommand{ | ||||
| 					BaseCommand: &BaseCommand{ | ||||
| 						UI: ui, | ||||
| 						UI:          ui, | ||||
| 						tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, nil | ||||
| @@ -725,7 +786,8 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 				UI:  ui, | ||||
| 				Command: &SecretsEnableCommand{ | ||||
| 					BaseCommand: &BaseCommand{ | ||||
| 						UI: ui, | ||||
| 						UI:          ui, | ||||
| 						tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, nil | ||||
| @@ -738,7 +800,8 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 				UI:  ui, | ||||
| 				Command: &SecretsTuneCommand{ | ||||
| 					BaseCommand: &BaseCommand{ | ||||
| 						UI: ui, | ||||
| 						UI:          ui, | ||||
| 						tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, nil | ||||
| @@ -751,7 +814,8 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 				UI:  ui, | ||||
| 				Command: &SecretsListCommand{ | ||||
| 					BaseCommand: &BaseCommand{ | ||||
| 						UI: ui, | ||||
| 						UI:          ui, | ||||
| 						tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, nil | ||||
| @@ -764,7 +828,8 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 				UI:  ui, | ||||
| 				Command: &PoliciesDeprecatedCommand{ | ||||
| 					BaseCommand: &BaseCommand{ | ||||
| 						UI: ui, | ||||
| 						UI:          ui, | ||||
| 						tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, nil | ||||
| @@ -777,7 +842,8 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 				UI:  ui, | ||||
| 				Command: &PolicyDeleteCommand{ | ||||
| 					BaseCommand: &BaseCommand{ | ||||
| 						UI: ui, | ||||
| 						UI:          ui, | ||||
| 						tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, nil | ||||
| @@ -790,7 +856,8 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 				UI:  ui, | ||||
| 				Command: &PolicyWriteCommand{ | ||||
| 					BaseCommand: &BaseCommand{ | ||||
| 						UI: ui, | ||||
| 						UI:          ui, | ||||
| 						tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, nil | ||||
| @@ -803,7 +870,8 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 				UI:  ui, | ||||
| 				Command: &OperatorRekeyCommand{ | ||||
| 					BaseCommand: &BaseCommand{ | ||||
| 						UI: ui, | ||||
| 						UI:          ui, | ||||
| 						tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, nil | ||||
| @@ -816,7 +884,8 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 				UI:  ui, | ||||
| 				Command: &SecretsMoveCommand{ | ||||
| 					BaseCommand: &BaseCommand{ | ||||
| 						UI: ui, | ||||
| 						UI:          ui, | ||||
| 						tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, nil | ||||
| @@ -829,7 +898,8 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 				UI:  ui, | ||||
| 				Command: &OperatorRotateCommand{ | ||||
| 					BaseCommand: &BaseCommand{ | ||||
| 						UI: ui, | ||||
| 						UI:          ui, | ||||
| 						tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, nil | ||||
| @@ -842,7 +912,8 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 				UI:  ui, | ||||
| 				Command: &OperatorSealCommand{ | ||||
| 					BaseCommand: &BaseCommand{ | ||||
| 						UI: ui, | ||||
| 						UI:          ui, | ||||
| 						tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, nil | ||||
| @@ -855,7 +926,8 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 				UI:  ui, | ||||
| 				Command: &OperatorStepDownCommand{ | ||||
| 					BaseCommand: &BaseCommand{ | ||||
| 						UI: ui, | ||||
| 						UI:          ui, | ||||
| 						tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, nil | ||||
| @@ -868,7 +940,8 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 				UI:  ui, | ||||
| 				Command: &TokenCreateCommand{ | ||||
| 					BaseCommand: &BaseCommand{ | ||||
| 						UI: ui, | ||||
| 						UI:          ui, | ||||
| 						tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, nil | ||||
| @@ -881,7 +954,8 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 				UI:  ui, | ||||
| 				Command: &TokenLookupCommand{ | ||||
| 					BaseCommand: &BaseCommand{ | ||||
| 						UI: ui, | ||||
| 						UI:          ui, | ||||
| 						tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, nil | ||||
| @@ -894,7 +968,8 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 				UI:  ui, | ||||
| 				Command: &TokenRenewCommand{ | ||||
| 					BaseCommand: &BaseCommand{ | ||||
| 						UI: ui, | ||||
| 						UI:          ui, | ||||
| 						tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, nil | ||||
| @@ -907,7 +982,8 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 				UI:  ui, | ||||
| 				Command: &TokenRevokeCommand{ | ||||
| 					BaseCommand: &BaseCommand{ | ||||
| 						UI: ui, | ||||
| 						UI:          ui, | ||||
| 						tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, nil | ||||
| @@ -920,7 +996,8 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 				UI:  ui, | ||||
| 				Command: &SecretsDisableCommand{ | ||||
| 					BaseCommand: &BaseCommand{ | ||||
| 						UI: ui, | ||||
| 						UI:          ui, | ||||
| 						tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, nil | ||||
| @@ -933,7 +1010,8 @@ func initCommands(ui, serverCmdUi cli.Ui) { | ||||
| 				UI:  ui, | ||||
| 				Command: &OperatorUnsealCommand{ | ||||
| 					BaseCommand: &BaseCommand{ | ||||
| 						UI: ui, | ||||
| 						UI:          ui, | ||||
| 						tokenHelper: baseCmdTemplate.tokenHelper, | ||||
| 					}, | ||||
| 				}, | ||||
| 			}, nil | ||||
|   | ||||
| @@ -81,6 +81,16 @@ func setupEnv(args []string) []string { | ||||
| } | ||||
|  | ||||
| func Run(args []string) int { | ||||
| 	return RunCustom(args, nil) | ||||
| } | ||||
|  | ||||
| // RunCustom allows passing in a base command template to pass to other | ||||
| // commands. Currenty, this is only used for setting a custom token helper. | ||||
| func RunCustom(args []string, baseCmdTemplate *BaseCommand) int { | ||||
| 	if baseCmdTemplate == nil { | ||||
| 		baseCmdTemplate = &BaseCommand{} | ||||
| 	} | ||||
|  | ||||
| 	args = setupEnv(args) | ||||
|  | ||||
| 	// Don't use color if disabled | ||||
| @@ -129,7 +139,7 @@ func Run(args []string) int { | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	initCommands(ui, serverCmdUi) | ||||
| 	initCommands(ui, serverCmdUi, baseCmdTemplate) | ||||
|  | ||||
| 	// Calculate hidden commands from the deprecated ones | ||||
| 	hiddenCommands := make([]string, 0, len(DeprecatedCommands)+1) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Jeff Mitchell
					Jeff Mitchell