Skip to content

Commit

Permalink
Allow listing health checks without mount path (#19199)
Browse files Browse the repository at this point in the history
* Allow listing health checks without mount path

This allows the bare:

    $ vault pki health-check -list

without a corresponding mount path to complete. Otherwise, users would
be greeted with a prompt for the mount, which is less than ideal.

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

* Fix usage, use <mount> over pki

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>

---------

Signed-off-by: Alexander Scheel <alex.scheel@hashicorp.com>
  • Loading branch information
cipherboy authored Feb 15, 2023
1 parent 7143c56 commit 100ec9a
Showing 1 changed file with 11 additions and 4 deletions.
15 changes: 11 additions & 4 deletions command/pki_health_check.go
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ default unless enabled by the configuration file explicitly.`,
Default: false,
EnvVar: "",
Usage: `When specified, no health checks are run, but all known health
checks are printed. Still requires a positional mount argument.`,
checks are printed.`,
})

return set
Expand Down Expand Up @@ -170,10 +170,10 @@ func (c *PKIHealthCheckCommand) Run(args []string) int {
}

args = f.Args()
if len(args) < 1 {
if !c.flagList && len(args) < 1 {
c.UI.Error("Not enough arguments (expected mount path, got nothing)")
return pkiRetUsage
} else if len(args) > 1 {
} else if !c.flagList && len(args) > 1 {
c.UI.Error(fmt.Sprintf("Too many arguments (expected only mount path, got %d arguments)", len(args)))
for _, arg := range args {
if strings.HasPrefix(arg, "-") {
Expand All @@ -196,7 +196,14 @@ func (c *PKIHealthCheckCommand) Run(args []string) int {
return pkiRetUsage
}

mount := sanitizePath(args[0])
// When listing is enabled, we lack an argument here, but do not contact
// the server at all, so we're safe to use a hard-coded default here.
pkiPath := "<mount>"
if len(args) == 1 {
pkiPath = args[0]
}

mount := sanitizePath(pkiPath)
executor := healthcheck.NewExecutor(client, mount)
executor.AddCheck(healthcheck.NewCAValidityPeriodCheck())
executor.AddCheck(healthcheck.NewCRLValidityPeriodCheck())
Expand Down

0 comments on commit 100ec9a

Please sign in to comment.