Files
Gardomatic/remote/setup/create-admin.sh
T
kleiax 904d14b64c
CI / test (push) Canceled after 0s
Initial commit
2026-09-12 22:22:17 +02:00

40 lines
910 B
Bash
Executable File

#!/bin/bash
set -Eeuo pipefail
# Creates an active application administrator and prints a generated password
# exactly once. Installed during deployment as gardomatic-create-admin.
if [[ $(id -u) -ne 0 ]]; then
exec sudo -n "$0" "$@"
fi
ENV_FILE=/etc/gardomatic/gardomatic.env
CLI=/usr/local/bin/gardomatic-cli
[[ -f "$ENV_FILE" ]] || {
printf 'Missing runtime configuration: %s\n' "$ENV_FILE" >&2
exit 1
}
[[ -x "$CLI" ]] || {
printf 'Missing Gardomatic CLI: %s\n' "$CLI" >&2
exit 1
}
read -r -p 'Administrator name: ' admin_name
read -r -p 'Administrator email: ' admin_email
[[ -n "$admin_name" && -n "$admin_email" ]] || {
printf 'Name and email must not be empty.\n' >&2
exit 1
}
set -a
# shellcheck disable=SC1091
source "$ENV_FILE"
set +a
"$CLI" --yes users create \
--name "$admin_name" \
--email "$admin_email" \
--role application:admin \
--active \
--generate-password