Add the keyfile option to decrypt the passwords.yml

The passed keyfile path is used to decrypt the passwords.yml
which encrypted by the ansible vault.

Partially-Implements: blueprint	encrypt-sensitive-info
DocImpact
Change-Id: Ifaebf464478cde99e896c13b375cfaf9282ee576
This commit is contained in:
Allen Gao 2016-01-20 22:02:20 +08:00
parent 2a81598434
commit 0f01d3ebc7

View File

@ -30,6 +30,7 @@ Usage: $0 COMMAND [options]
Options:
--inventory, -i <inventory_path> Specify path to ansible inventory file
--playbook, -p <playbook_path> Specify path to ansible playbook file
--keyfile, -k <key_file> Specify path to ansible vault keyfile
--help, -h Show this usage information
--tags, -t <tags> Only run plays and tasks tagged with these values
@ -41,9 +42,11 @@ Commands:
EOF
}
SHORT_OPTS="hi:p:t:"
LONG_OPTS="help,inventory:,playbook:,tags:"
SHORT_OPTS="hi:p:t:k:"
LONG_OPTS="help,inventory:,playbook:,tags:,keyfile:"
ARGS=$(getopt -o "${SHORT_OPTS}" -l "${LONG_OPTS}" --name "$0" -- "$@") || { usage >&2; exit 2; }
eval set -- "$ARGS"
find_base_dir
@ -69,6 +72,12 @@ while [ "$#" -gt 0 ]; do
shift 2
;;
(--keyfile|-k)
VAULT_PASS_FILE="$2"
EXTRA_OPTS="$EXTRA_OPTS --vault-password-file=$VAULT_PASS_FILE"
shift 2
;;
(--help|-h)
usage
shift