Goldfish - A HashiCorp Vault UI and workflow tool. pic.twitter.com/uVWLuQEBMi
— Kelsey Hightower (@kelseyhightower) August 21, 2017
Goldfish answers many auditing and administration questions that Vault API can't:
Seriously, the instructions fit on one screen!
You'll need go (v1.9), nodejs (v8.2), and npm (v5)
# hashicorp vault ui
# clone goldfish
go get github.com/caiyeon/goldfish
cd $GOPATH/src/github.com/caiyeon/goldfish
# running goldfish server in -dev will spin up a local vault instance for you
go run server.go -dev
# running goldfish frontend in dev mode will allow for hot-reload of frontend files
cd frontend
sudo npm install -g cross-env
npm install
npm run dev
# a browser window/tab should open, pointing directly to goldfish
A vagrantfile is available as well
You'll need Vagrant and VirtualBox. On Windows, a restart after installation is needed.
# if you wish to launch goldfish in a VM:
git clone https://github.com/Caiyeon/goldfish.git
cd goldfish/vagrant
# this will take awhile
vagrant up --provision
# go to localhost:8080 on your local machine and login with token 'goldfish'
# changes to frontend .vue files will be hot-reloaded
# to force a full reload for the frontend, ssh into the machine and run
# `sudo systemctl restart goldfish_frontend.service`
# to recompile and re-run the backend, ssh into the machine and run
# `sudo systemctl restart goldfish.service`
You'll need Go(v1.9), Nodejs (v8.2.0), Npm (v5)
Note that using different versions (of nodeJS, especially) will cause differences in the final binary.
# download the source code
go get -d github.com/caiyeon/goldfish
cd $GOPATH/src/github.com/caiyeon/goldfish
# resetting to a tagged version is recommended
# no support will be given to arbitrary commits on the master branch
git fetch --all --tags --prune
git checkout tags/<version> # version could be, for example, v0.8.0
# compile the binary
sh build.sh
Goldfish is in very active development.
Pull requests and feature requests are welcome. Feel free to suggest new workflows by opening issues.
Frontend:
Backend:
See: Architecture
This server should behave as a goldfish, forgetting everything immediately after a request is completed. That, and other inside-joke reasons.
Credits for the goldfish icon goes to Laurel Chan