ansible/deploy.sh

51 lines
1.4 KiB
Bash
Raw Normal View History

#!/bin/sh
usage () {
{
echo "Usage: $0 [--vagrant]"
echo "Usage: $0 [--vagrant] base"
echo "Usage: $0 [--vagrant] users"
echo "Usage: $0 [--vagrant] services [SERVICE]"
} >&2
}
2024-03-01 19:53:08 +00:00
BASE_CMD="ansible-playbook playbook.yml"
if [ "$1" = "--vagrant" ]; then
BASE_CMD="$BASE_CMD --verbose --inventory=vagrant_host"
2023-11-04 00:20:53 +00:00
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!"
2023-11-04 00:20:53 +00:00
eval "$BASE_CMD --tags setup_services $(test -z "$VAGRANT_VAR" || printf '%s' "$VAGRANT_VAR=true")"
else
echo "Deploying service: $2"
2023-11-04 00:20:53 +00:00
$BASE_CMD --tags setup_services --extra-vars '{"single_service": "'"$2"'"'"$(test -z "$VAGRANT_VAR" || printf '%s' ', "'"$VAGRANT_VAR"'": true')"'}'
fi
2022-11-26 19:09:34 +00:00
;;
2022-11-11 21:16:22 +00:00
"base")
2023-11-04 00:20:53 +00:00
eval "$BASE_CMD --tags base_only $(test -z "$VAGRANT_VAR" || printf '%s' "$VAGRANT_VAR=true")"
2022-11-26 19:09:34 +00:00
;;
2022-12-29 16:55:59 +00:00
"users")
2023-11-04 00:20:53 +00:00
eval "$BASE_CMD --tags setup-users $(test -z "$VAGRANT_VAR" || printf '%s' "$VAGRANT_VAR=true")"
2022-12-29 16:55:59 +00:00
;;
2022-11-26 08:15:55 +00:00
*)
usage
2022-11-26 19:09:34 +00:00
exit 1
;;
esac
fi