vaku

command module
v1.5.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 30, 2020 License: MIT Imports: 1 Imported by: 0

README

Vaku

Vaku

go.dev reference goreportcard codecov

Vaku is a CLI and Go API that add useful functions on top of Hashicorp Vault.

NOTE: Vaku is in a stable and supported state. New features will not be added by me, but I will review any issues or PRs that improve the tool or add new features.

Installation

The easiest way to install the vaku CLI is with [homebrew][]

brew install lingrino/tap/vaku

Alternatively, use go get to install the latest version of the API and CLI. This command will install the vaku executable and the latest version of the Vault API.

go get -u github.com/lingrino/vaku

Next, import vaku in your project like so:

import "github.com/lingrino/vaku/vaku"

CLI

CLI Summary

The Vaku CLI provides many of the API functions on the command line. You can use it to copy, move, search, and more on Vault folders or paths. Unlike the Vaku API, the CLI does not provide write or update commands because of the highly structured data that it expects as input.

CLI Documentation

Vaku CLI documentation is best read on the command line using either vaku help [cmd] or vaku [cmd] --help. Full documentation generated by cobra is also available in the docs folder

$ vaku --help
Vaku CLI extends the official Vault CLI with useful high-level functions

The Vaku CLI is intended to be used side by side with the official Vault CLI,
and only provides functions to extend the existing functionality. Many of the 'vaku path'
functions are very similar (or even less featured) than the vault CLI equivalent. However
vaku works on both v1 and v2 secret mounts, and can even copy/move secrets between them.

Vaku does not log you in to vault or help you with getting a token. Like the CLI,
it will look for a token first at the VAULT_TOKEN env var and then in ~/.vault-token

Built by Sean Lingren <sean@lingrino.com>
CLI documentation is available using 'vaku help [cmd]'
API documentation is available at https://godoc.org/github.com/lingrino/vaku/vaku

Usage:
  vaku [command]

Available Commands:
  folder      Contains all vaku folder functions, does nothing on its own
  help        Help about any command
  path        Contains all vaku path functions, does nothing on its own
  version     Returns the current Vaku CLI and API versions

Flags:
  -o, --format string   The output format to use. One of: "json", "text" (default "json")
  -h, --help            help for vaku

Use "vaku [command] --help" for more information about a command.

API

API Summary

The Vaku API provides a simple interface for interfacing with both versions of the Vault Key/Value backend. In addition, the API adds path and folder level functions not fouund in the official vault API such as FolderCopy(), FolderSearch(), and FolderWrite.

API Documentation

The API is well documented and can be read on godoc. Please use the godoc documentation for all reference and example information.

Contributing

Suggestions and contributions of all kinds are welcome! If there is functionality you would like to see in Vaku please open an issue or pull request and I will be sure to address it.

Command Reference

  • Path List
  • Path Read
  • Path Write (API only)
  • Path Delete
  • Path Destroy (v2 mounts only)
  • Path Copy
  • Path Move
  • Path Update (API only)
  • Path Search
  • Folder List
  • Folder Read
  • Folder Write (API only)
  • Folder Delete
  • Folder Destroy (v2 mounts only)
  • Folder Copy
  • Folder Move
  • Folder Search
  • Folder Map (CLI Only)

Running Tests

Tests are meant to be run side by side with a real Vault server docker image. This creates an external dependency for the tests but makes it much simpler to test different Vault versions and key/value mounts. With docker and docker-compose installed tests can be run with a simple make test.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package vaku wraps an official Vault client with useful high-level functions.
Package vaku wraps an official Vault client with useful high-level functions.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL