Forge ahead with bash madness
This commit is contained in:
parent
4e4999a6d6
commit
052f42347b
11
dependencies
11
dependencies
@ -2,15 +2,6 @@
|
|||||||
|
|
||||||
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
|
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
|
||||||
|
|
||||||
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
|
source "$PLUGIN_AVAILABLE_PATH/ansible-deploy/functions"
|
||||||
|
|
||||||
dokku-ansible-deploy-dependencies() {
|
|
||||||
export DEBIAN_FRONTEND=noninteractive
|
|
||||||
|
|
||||||
if ! command -v "ansible" &>/dev/null; then
|
|
||||||
dokku_col_log_info1_quiet "installing ansible"
|
|
||||||
apt install -qq -y ansible
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
dokku-ansible-deploy-dependencies "$@"
|
dokku-ansible-deploy-dependencies "$@"
|
||||||
|
72
functions
72
functions
@ -1 +1,73 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
dokku-ansible-deploy-validate-dependencies() {
|
||||||
|
#shellcheck disable=SC2034
|
||||||
|
declare desc="check that ansible dependencies are available"
|
||||||
|
|
||||||
|
if ! command -v "ansible-playbook" &>/dev/null; then
|
||||||
|
dokku_col_log_info1_quiet "Missing ansible dependency, run dokku plugin:install-dependencies"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
dokku-ansible-deploy-vault-pass-cmd() {
|
||||||
|
#shellcheck disable=SC2034
|
||||||
|
declare desc="insert new application vault password for decryption of passwords"
|
||||||
|
|
||||||
|
local app="$1"
|
||||||
|
local vault_file="$DOKKU_LIB_ROOT/data/deploy.d/$app/.vault-password.sh"
|
||||||
|
|
||||||
|
if [[ -f $vault_file ]]; then
|
||||||
|
dokku_col_log_info1_quiet "Vault password already in place"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
read -p "Please enter your vault password for $app: `echo $'\n> '`" vault_password
|
||||||
|
|
||||||
|
if [[ ! -d "$DOKKU_LIB_ROOT/data/deploy.d/$app" ]]; then
|
||||||
|
mkdir -p "$DOKKU_LIB_ROOT/data/deploy.d/$app"
|
||||||
|
fi
|
||||||
|
|
||||||
|
{ echo "#!/bin/bash";
|
||||||
|
echo "";
|
||||||
|
echo "set -eu -o pipefail";
|
||||||
|
echo "";
|
||||||
|
echo "echo \"$vault_password\""; } > "$vault_file"
|
||||||
|
|
||||||
|
chmod +x "$vault_file"
|
||||||
|
|
||||||
|
dokku_col_log_info1_quiet "Generated $vault_file"
|
||||||
|
}
|
||||||
|
|
||||||
|
dokku-ansible-deploy-dependencies() {
|
||||||
|
#shellcheck disable=SC2034
|
||||||
|
declare desc="install plugin dependencies"
|
||||||
|
|
||||||
|
export DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
if ! command -v "ansible" &>/dev/null; then
|
||||||
|
dokku_col_log_info1_quiet "installing ansible"
|
||||||
|
apt install -qq -y ansible
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
dokku-ansible-deploy-post-extract() {
|
||||||
|
#shellcheck disable=SC2034
|
||||||
|
declare desc="run the post-extract hook to setup the plugin"
|
||||||
|
|
||||||
|
declare APP="$1" TMPDIR="$2"
|
||||||
|
|
||||||
|
if [[ -d "$TMPDIR/deploy.d" ]] && [[ "$(ls -A "$TMPDIR/deploy.d")" ]]; then
|
||||||
|
mkdir -p "$DOKKU_LIB_ROOT/data/deploy.d/$APP"
|
||||||
|
cp -r "$TMPDIR/deploy.d/." "$DOKKU_LIB_ROOT/data/deploy.d/$APP"
|
||||||
|
dokku_col_log_info1_quiet "Copied deploy.d files into place"
|
||||||
|
|
||||||
|
if [[ -d "$TMPDIR/deploy.d/vault" ]]; then
|
||||||
|
if [[ ! -f "$DOKKU_LIB_ROOT/data/deploy.d/$APP/.vault-password.sh" ]]; then
|
||||||
|
dokku_col_log_info1_quiet "Vault folder discovered but missing vault password"
|
||||||
|
dokku_col_log_info1_quiet "please run dokku dokku-deploy:vault-password $APP"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
20
post-extract
20
post-extract
@ -2,24 +2,6 @@
|
|||||||
|
|
||||||
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
|
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
|
||||||
|
|
||||||
source "$PLUGIN_CORE_AVAILABLE_PATH/common/functions"
|
source "$PLUGIN_AVAILABLE_PATH/ansible-deploy/functions"
|
||||||
|
|
||||||
dokku-ansible-deploy-post-extract() {
|
|
||||||
declare APP="$1" TMPDIR="$2"
|
|
||||||
|
|
||||||
if [[ -d "$TMPDIR/deploy.d" ]] && [[ "$(ls -A "$TMPDIR/deploy.d")" ]]; then
|
|
||||||
dokku_col_log_info1_quiet "Copying deploy.d files into place"
|
|
||||||
mkdir -p "$DOKKU_LIB_ROOT/data/deploy.d/$APP"
|
|
||||||
cp -r "$TMPDIR/deploy.d/." "$DOKKU_LIB_ROOT/data/deploy.d/$APP"
|
|
||||||
|
|
||||||
if [[ -d "$TMPDIR/deploy.d/vault" ]]; then
|
|
||||||
if [[ ! -f "$DOKKU_LIB_ROOT/data/deploy.d/$APP/.vault-password.sh" ]]; then
|
|
||||||
dokku_col_log_info1_quiet "Vault folder discovered but missing vault password"
|
|
||||||
dokku_col_log_info1_quiet "please run dokku dokku-deploy:vault-password $APP"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
dokku-ansible-deploy-post-extract "$@"
|
dokku-ansible-deploy-post-extract "$@"
|
||||||
|
@ -1 +0,0 @@
|
|||||||
#!/usr/bin/env python3
|
|
@ -1 +1,7 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -eo pipefail; [[ $DOKKU_TRACE ]] && set -x
|
||||||
|
|
||||||
|
source "$PLUGIN_AVAILABLE_PATH/ansible-deploy/functions"
|
||||||
|
|
||||||
|
dokku-ansible-deploy-vault-pass-cmd "$@"
|
||||||
|
Reference in New Issue
Block a user