mirror of
				https://github.com/optim-enterprises-bv/vault.git
				synced 2025-11-03 20:17:59 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			86 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package command
 | 
						|
 | 
						|
import (
 | 
						|
	"fmt"
 | 
						|
	"sort"
 | 
						|
	"strings"
 | 
						|
 | 
						|
	"github.com/ryanuber/columnize"
 | 
						|
)
 | 
						|
 | 
						|
// MountsCommand is a Command that lists the mounts.
 | 
						|
type MountsCommand struct {
 | 
						|
	Meta
 | 
						|
}
 | 
						|
 | 
						|
func (c *MountsCommand) Run(args []string) int {
 | 
						|
	flags := c.Meta.FlagSet("mounts", FlagSetDefault)
 | 
						|
	flags.Usage = func() { c.Ui.Error(c.Help()) }
 | 
						|
	if err := flags.Parse(args); err != nil {
 | 
						|
		return 1
 | 
						|
	}
 | 
						|
 | 
						|
	client, err := c.Client()
 | 
						|
	if err != nil {
 | 
						|
		c.Ui.Error(fmt.Sprintf(
 | 
						|
			"Error initializing client: %s", err))
 | 
						|
		return 2
 | 
						|
	}
 | 
						|
 | 
						|
	mounts, err := client.Sys().ListMounts()
 | 
						|
	if err != nil {
 | 
						|
		c.Ui.Error(fmt.Sprintf(
 | 
						|
			"Error reading mounts: %s", err))
 | 
						|
		return 2
 | 
						|
	}
 | 
						|
 | 
						|
	paths := make([]string, 0, len(mounts))
 | 
						|
	for path, _ := range mounts {
 | 
						|
		paths = append(paths, path)
 | 
						|
	}
 | 
						|
	sort.Strings(paths)
 | 
						|
 | 
						|
	columns := []string{"Path | Type | Description"}
 | 
						|
	for _, path := range paths {
 | 
						|
		mount := mounts[path]
 | 
						|
 | 
						|
		columns = append(columns, fmt.Sprintf(
 | 
						|
			"%s | %s | %s", path, mount.Type, mount.Description))
 | 
						|
	}
 | 
						|
 | 
						|
	c.Ui.Output(columnize.SimpleFormat(columns))
 | 
						|
	return 0
 | 
						|
}
 | 
						|
 | 
						|
func (c *MountsCommand) Synopsis() string {
 | 
						|
	return "Lists mounted backends in Vault"
 | 
						|
}
 | 
						|
 | 
						|
func (c *MountsCommand) Help() string {
 | 
						|
	helpText := `
 | 
						|
Usage: vault mounts [options]
 | 
						|
 | 
						|
  Outputs information about the mounted backends.
 | 
						|
 | 
						|
  This command lists the mounted backends, their mount points, and
 | 
						|
  a human-friendly description of the mount point.
 | 
						|
 | 
						|
General Options:
 | 
						|
 | 
						|
  -address=TODO           The address of the Vault server.
 | 
						|
 | 
						|
  -ca-cert=path           Path to a PEM encoded CA cert file to use to
 | 
						|
                          verify the Vault server SSL certificate.
 | 
						|
 | 
						|
  -ca-path=path           Path to a directory of PEM encoded CA cert files
 | 
						|
                          to verify the Vault server SSL certificate. If both
 | 
						|
                          -ca-cert and -ca-path are specified, -ca-path is used.
 | 
						|
 | 
						|
  -insecure               Do not verify TLS certificate. This is highly
 | 
						|
                          not recommended. This is especially not recommended
 | 
						|
                          for unsealing a vault.
 | 
						|
 | 
						|
`
 | 
						|
	return strings.TrimSpace(helpText)
 | 
						|
}
 |