Skip to content

dlin128/vaultfs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VaultFS

VaultFS mounts arbitrary Vault prefixes in a FUSE filesystem. It also provides a Docker volume plugin to the do the same for your containers.

Table of Contents

Installation

This project is in early development and has not reached 1.0. You will have to build the binary yourself:

go get github.com/asteris-llc/vaultfs
env GOOS=linux go build github.com/asteris-llc/vaultfs

Usage

VaultFS is one binary that can mount keys or run a Docker volume plugin to do so for containers. Run vaultfs --help to see options not documented here.

Mounting

Usage:
  vaultfs mount {mountpoint} [flags]

Flags:
  -a, --address="https://localhost:8200": vault address
  -i, --insecure[=false]: skip SSL certificate verification
  -r, --root="secret": root path for reads
  -t, --token="": vault token

To mount secrets, first create a mountpoint (mkdir test), then use vaultfs to mount:

vaultfs mount --address=http://localhost:8200 -t 3a749a17-528e-e4b1-c28a-62e54f0098ae test

Docker

Usage:
  vaultfs docker {mountpoint} [flags]

Flags:
  -a, --address="https://localhost:8200": vault address
  -i, --insecure[=false]: skip SSL certificate verification
  -s, --socket="/run/docker/plugins/vault.sock": socket address to communicate with docker
  -t, --token="": vault token

To start the Docker plugin, create a directory to hold mountpoints (mkdir test), then use vaultfs to start the server. When Docker volumes request a volume (docker run --volume-driver vault --volume {prefix}:/container/secret/path), the plugin will create mountpoints and manage FUSE servers automatically.

vaultfs docker --address=http://localhost:8200 -t 3a749a17-528e-e4b1-c28a-62e54f0098ae test

License

VaultFS is licensed under an Apache 2.0 License (see also: LICENSE)

About

Vault filesystem (and Docker volume plugin)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%