Nereus/scripts/provision/bootstrap.sh

25 lines
767 B
Bash
Executable file

#!/usr/bin/env bash
set -euo pipefail
script_dir=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)
inventory=${1:-"$script_dir/inventory.yml"}
if [[ ! -f "$inventory" ]]; then
printf 'Inventory not found: %s\nCopy %s/inventory.example.yml and edit it first.\n' "$inventory" "$script_dir" >&2
exit 1
fi
inventory=$(realpath -- "$inventory")
if [[ -z "${K3S_TOKEN:-}" ]]; then
printf 'K3S_TOKEN must be supplied through the environment.\n' >&2
exit 1
fi
if ! command -v ansible-playbook >/dev/null 2>&1; then
printf 'ansible-playbook is required. Install ansible-core on this operator machine.\n' >&2
exit 1
fi
cd "$script_dir"
ansible-galaxy collection install --requirements-file requirements.yml
ansible-playbook --inventory "$inventory" site.yml