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