51 lines
1.4 KiB
Bash
Executable file
51 lines
1.4 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
usage () {
|
|
{
|
|
echo "Usage: $0 [--vagrant]"
|
|
echo "Usage: $0 [--vagrant] base"
|
|
echo "Usage: $0 [--vagrant] users"
|
|
echo "Usage: $0 [--vagrant] services [SERVICE]"
|
|
} >&2
|
|
}
|
|
|
|
BASE_CMD="ansible-playbook playbook.yml"
|
|
|
|
if [ "$1" = "--vagrant" ]; then
|
|
BASE_CMD="$BASE_CMD --verbose --inventory=vagrant_host"
|
|
VAGRANT_VAR="from_vagrant"
|
|
shift
|
|
fi
|
|
|
|
if [ -z "$(ansible-galaxy collection list community.general 2>/dev/null)" ]; then
|
|
echo "Installing community.general modules"
|
|
ansible-galaxy collection install community.general
|
|
fi
|
|
|
|
if [ -z "$1" ]; then
|
|
echo "Deploying all!"
|
|
$BASE_CMD
|
|
else
|
|
case $1 in
|
|
"services")
|
|
if [ -z "$2" ]; then
|
|
echo "Deploying all services!"
|
|
eval "$BASE_CMD --tags setup_services $(test -z "$VAGRANT_VAR" || printf '%s' "$VAGRANT_VAR=true")"
|
|
else
|
|
echo "Deploying service: $2"
|
|
$BASE_CMD --tags setup_services --extra-vars '{"single_service": "'"$2"'"'"$(test -z "$VAGRANT_VAR" || printf '%s' ', "'"$VAGRANT_VAR"'": true')"'}'
|
|
fi
|
|
;;
|
|
"base")
|
|
eval "$BASE_CMD --tags base_only $(test -z "$VAGRANT_VAR" || printf '%s' "$VAGRANT_VAR=true")"
|
|
;;
|
|
"users")
|
|
eval "$BASE_CMD --tags setup-users $(test -z "$VAGRANT_VAR" || printf '%s' "$VAGRANT_VAR=true")"
|
|
;;
|
|
*)
|
|
usage
|
|
exit 1
|
|
;;
|
|
esac
|
|
fi
|