woodpecker-ansible-runner/entrypoint
2021-12-15 17:50:35 +01:00

57 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
check=${PLUGIN_CHECK_SYNTAX:-false}
verbosity=${PLUGIN_VERBOSITY:-0}
run_command(){
echo "\$ $@"
$($@)
}
if [[ -z "$PLUGIN_PLAYBOOK" ]]; then
echo -e "\e[31m'playbook' setting not defined, ABORT!\e[39m"
exit 1
fi
if [[ -z "$PLUGIN_PRIVATE_KEY" ]]; then
echo -e "\e[31m[WARN] 'private_key' setting not defined !\e[39m"
else
run_command mkdir /root/.ssh
run_command echo "$PLUGIN_PRIVATE_KEY" > /root/.ssh/id_ed
run_command chmod 400 /root/.ssh/id_ed
fi
if [[ -n "$PLUGIN_VAULT_TOKEN" ]]; then
echo "Adding vault token to 'credentials/vault_token'"
run_command mkdir credentials
run_command echo $PLUGIN_VAULT_TOKEN > credentials/vault_token
echo ""
fi
if [[ -n "$PLUGIN_GALAXY_FILE" ]]; then
echo "Installing Galaxy dependencies ($PLUGIN_GALAXY_FILE)"
run_command ansible-galaxy install -r $PLUGIN_GALAXY_FILE --force
echo ""
fi
args="$PLUGIN_PLAYBOOK"
if [[ $check = true ]]; then
args="$args --syntax-check"
fi
if [[ $verbosity != "0" ]]; then
args="${args} -"
for i in `seq 1 $verbosity`; do
args="${args}v"
done
fi
if [[ -n "$PLUGIN_LIMIT" ]]; then
args="${args} --limit \"$PLUGIN_LIMIT\""
fi
run_command export ANSIBLE_HOST_KEY_CHECKING=False
run_command ansible-playbook $args