Shuffle functions into place

This commit is contained in:
Luke Murphy 2020-03-22 00:33:12 +01:00
parent be6a9a1a73
commit a7e0a2a1bf
No known key found for this signature in database
GPG Key ID: 5E2EF5A63E3718CC
4 changed files with 29 additions and 39 deletions

View File

@ -31,6 +31,10 @@ help_desc
fi
;;
vault-pass)
dokku-ansible-playbook-vault-pass-cmd "$@"
;;
*)
exit "$DOKKU_NOT_IMPLEMENTED_EXIT"
;;

View File

@ -4,19 +4,19 @@ set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
validate_dependencies() {
dokku-ansible-playbook-validate-dependencies() {
if ! command -v "ansible-playbook" &>/dev/null; then
log-fail "Missing ansible-playbook, run dokku plugin:install-dependencies"
fi
}
function run_playbook() {
dokku-ansible-playbook-run() {
local app="$1"
local play_path="$2"
local requirements="$3"
local vault_file="$DOKKU_LIB/ansible/$app/.vault.sh"
validate_dependencies
dokku-ansible-playbook-validate-dependencies
if [[ ! -f "$play_path" ]]; then
dokku_col_log_info1_quiet "$play_path not found or executable bit not set"
@ -43,3 +43,23 @@ function run_playbook() {
dokku_col_log_info1_quiet "running ansible-playbook with $args"
ansible-playbook "$args" "$play_path"
}
dokku-ansible-playbook-vault-pass-cmd() {
#shellcheck disable=SC2034
declare desc="insert new vault password for encrypt/decrypt of passwords"
if [[ -f "$DOKKU_LIB/data/ansible/.vault-pass" ]]; then
dokku_col_log_info1_quiet "Vault password already in place"
exit 0
fi
read -srp "Vault password", vault_password
if [[ -d "$DOKKU_LIB/data/ansible" ]]; then
dokku_col_log_info1_quiet "Creating $DOKKU_LIB/data/ansible"
mkdir -p "$DOKKU_LIB/data/ansible"
fi
dokku_col_log_info1_quiet "Generating $DOKKU_LIB/data/ansible/.vault-pass"
echo "$vault_password" > "$DOKKU_LIB/data/ansible/.vault-pass"
}

View File

@ -1,13 +0,0 @@
#!/usr/bin/env bash
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
cmd-ansible-default() {
declare desc="Run ansible playbooks during deployment"
local cmd="ansible"
dokku_log_fail "Missing command, please run 'dokku ansible:help'"
}
cmd-ansible-default "$@"

View File

@ -2,27 +2,6 @@
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
source "$PLUGIN_AVAILABLE_PATH/ansible-playbook/functions"
cmd-ansible-vault-pass() {
#shellcheck disable=SC2034
declare desc="insert new vault password for encrypt/decrypt of passwords"
if [[ -f "$DOKKU_LIB/data/ansible/.vault-pass" ]]; then
dokku_col_log_info1_quiet "Vault password already in place"
exit 0
fi
read -srp "Vault password", vault_password
if [[ -d "$DOKKU_LIB/data/ansible" ]]; then
dokku_col_log_info1_quiet "Creating $DOKKU_LIB/data/ansible"
mkdir -p "$DOKKU_LIB/data/ansible"
fi
dokku_col_log_info1_quiet "Generating $DOKKU_LIB/data/ansible/.vault-pass"
echo "$vault_password" > "$DOKKU_LIB/data/ansible/.vault-pass"
}
cmd-ansible-vault-pass "$@"
dokku-ansible-playbook-vault-pass-cmd "$@"