diff --git a/command/seal_status.go b/command/seal_status.go index 333b37340e..9f3b76002f 100644 --- a/command/seal_status.go +++ b/command/seal_status.go @@ -25,25 +25,38 @@ func (c *SealStatusCommand) Run(args []string) int { return 2 } - status, err := client.Sys().SealStatus() + sealStatus, err := client.Sys().SealStatus() if err != nil { c.Ui.Error(fmt.Sprintf( "Error checking seal status: %s", err)) return 2 } + leaderStatus, err := client.Sys().Leader() + if err != nil { + c.Ui.Error(fmt.Sprintf( + "Error checking leader status: %s", err)) + return 2 + } + c.Ui.Output(fmt.Sprintf( "Sealed: %v\n"+ "Key Shares: %d\n"+ "Key Threshold: %d\n"+ - "Unseal Progress: %d", - status.Sealed, - status.N, - status.T, - status.Progress, + "Unseal Progress: %d\n"+ + "HA Enabled: %v\n"+ + "Is Leader: %v\n"+ + "Leader Address: %s", + sealStatus.Sealed, + sealStatus.N, + sealStatus.T, + sealStatus.Progress, + leaderStatus.HAEnabled, + leaderStatus.IsSelf, + leaderStatus.LeaderAddress, )) - if status.Sealed { + if sealStatus.Sealed { return 1 } else { return 0