Archived
Check NixOS configurations / eval-hosts (pull_request) Failing after 30m6s
scripts/ had grown to 10 top-level scripts covering three distinct concerns (sops/age + SSH host-key management, Proxmox deployment, and repo-wide bootstrap/CI) with no grouping. Move the key-management scripts (backup-admin-key.sh, rotate-admin-key.sh, prepare-host-key.sh, sync-host-keys.sh) into scripts/secrets/, and the Proxmox scripts (create-proxmox-resource.sh, configure-nix-cache-client.sh) into scripts/proxmox/; leave env.sh, codex-setup.sh, codex-maintenance.sh, and bump-nixpkgs-release.sh at the top level (frequently hand-typed or pure shared config) and scripts/lib/ as-is. Updates every cross-reference: each moved script's repo_root computation (now one directory deeper), shellcheck source= directives, inter-script paths (create-proxmox-resource.sh's call into sync-host-keys.sh and its remote bootstrap of configure-nix-cache-client.sh on the Proxmox node), and every doc/module mention (CLAUDE.md's Scripts section reorganized to match, README.md, docs/auto-installer.md, docs/proxmox-images.md, modules/installer/common.nix, modules/platforms/lxc.nix). CI workflows need no change -- they only invoke codex-maintenance.sh, which didn't move. Verified via bash -n, shellcheck (no new warnings beyond the pre-existing SC1091/SC2029/SC2095 baseline), and live dry-runs of sync-host-keys.sh --all and create-proxmox-resource.sh --list from their new paths. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
22 lines
1001 B
Bash
22 lines
1001 B
Bash
#!/usr/bin/env bash
|
|
# Shared "type X to confirm" prompt for scripts/proxmox/create-proxmox-resource.sh
|
|
# (--modify, and replacing an existing --allow-duplicate-host resource) and
|
|
# scripts/secrets/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" ]]
|
|
}
|