25 lines
767 B
Bash
Executable file
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
|