castellan/tools/setup-vault-env.sh
Davanum Srinivas a972da32a9 Vault based key manager
* Uses https://www.vaultproject.io/ to store/fetch secrets
* All we need is the URL and a Token to talk to the vault server
* tox target "functional-vault" sets up a server in development mode
  and runs functional tests
* Supports both http:// and https:// url(s)
* the https support was tested by setting up a vault server by hand
  (https://gist.github.com/dims/47674cf2c3b0a953df69246c2ea1ff78)
* create_key_pair is the only API that is not implemented

Change-Id: I6436e5841c8e77a7262b4d5aa39201b40a985255
2017-11-13 20:56:34 -05:00

32 lines
852 B
Bash
Executable File

#!/bin/bash
set -eux
if [ -z "$(which vault)" ]; then
VAULT_VERSION=0.7.3
SUFFIX=zip
case `uname -s` in
Darwin)
OS=darwin
;;
Linux)
OS=linux
;;
*)
echo "Unsupported OS"
exit 1
esac
case `uname -m` in
x86_64)
MACHINE=amd64
;;
*)
echo "Unsupported machine"
exit 1
esac
TARBALL_NAME=vault_${VAULT_VERSION}_${OS}_${MACHINE}
test ! -d "$TARBALL_NAME" && mkdir ${TARBALL_NAME} && wget https://releases.hashicorp.com/vault/${VAULT_VERSION}/${TARBALL_NAME}.${SUFFIX} && unzip -d ${TARBALL_NAME} ${TARBALL_NAME}.${SUFFIX} && rm ${TARBALL_NAME}.${SUFFIX}
export VAULT_CONFIG_PATH=$(pwd)/$TARBALL_NAME/vault.json
export PATH=$PATH:$(pwd)/$TARBALL_NAME
fi
$*