Archived
scripts/backup-admin-key.sh, rotate-admin-key.sh, and sync-host-keys.sh each independently resolved sops/age's default key-file path, derived an age pubkey from an identity file, and (two of them) ran `sops updatekeys` the same way -- now shared via scripts/lib/sops-age.sh. Also extracted the "type X to confirm" prompt duplicated across create-proxmox-resource.sh and sync-host-keys.sh into scripts/lib/confirm.sh. Pure extraction, no behavior change -- each call site produces identical commands/output to before. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
22 lines
985 B
Bash
22 lines
985 B
Bash
#!/usr/bin/env bash
|
|
# Shared "type X to confirm" prompt for scripts/create-proxmox-resource.sh
|
|
# (--modify, and replacing an existing --allow-duplicate-host resource) and
|
|
# scripts/sync-host-keys.sh (--regenerate-all-keys) -- three destructive
|
|
# confirmations that all work the same way (echo the expected value back
|
|
# exactly), kept in one place so the prompt/comparison logic can't drift.
|
|
# Source alongside env.sh:
|
|
# source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/lib/confirm.sh"
|
|
#
|
|
# Deliberately does NOT print anything on mismatch or decide exit-vs-return
|
|
# -- callers vary on both (a top-level script exits, a subcommand function
|
|
# returns; wording differs too), so that stays at the call site.
|
|
|
|
# confirm_typed <expected> <prompt>
|
|
# Prints <prompt> via `read -rp`, then reports (via exit status) whether the
|
|
# typed input matched <expected> exactly.
|
|
confirm_typed() {
|
|
local expected="$1" prompt="$2" input
|
|
read -rp "$prompt" input
|
|
[[ "$input" == "$expected" ]]
|
|
}
|