Properly handle the lack of "shot name" parameter.

This commit is contained in:
2026-05-01 09:43:36 +02:00
parent d960f1d85e
commit ff60f331fd
2 changed files with 28 additions and 9 deletions
+22
View File
@@ -0,0 +1,22 @@
bridge=
cmode=
cores=
domain=
dry_run=false
help=false
ip=
memory=
password=
pve_host=
pve_password=
pve_port=
pve_ssh_key=
pve_user=
rootfs_size=
ssh_public_keys=
swap=
tags=
template=
unprivileged=
vlan=
short_name='2'
+6 -9
View File
@@ -14,6 +14,7 @@ usage="Create and configure an LXC container on a remote Proxmox VE 9 server.
Usage: Usage:
$0 <short_name> [options] $0 <short_name> [options]
$0 -h|--help
Options: Options:
-h, --help Show this message. -h, --help Show this message.
@@ -65,19 +66,15 @@ TAGS="${TAGS:-}"
SSH_PUBLIC_KEYS="${SSH_PUBLIC_KEYS:-}" SSH_PUBLIC_KEYS="${SSH_PUBLIC_KEYS:-}"
# --- Parse Arguments with docopts (Lowest Priority) --- # --- Parse Arguments with docopts (Lowest Priority) ---
# This is to prevent set -e from eating the error message from docopts
set +e
args=$(docopts -h "$usage" : "$@") args=$(docopts -h "$usage" : "$@")
eval "$args" eval "$args"
set -e
# Short name of the machine (mandatory parameter)
SHORT_NAME="${argv[0]:-}"
if [ -z "$SHORT_NAME" ]; then
echo "❌ Error: The short name of the machine is required." >&2
echo "$usage" >&2
exit 1
fi
# --- Override with /etc/nixos-infra/hosts/<short_name> (Medium Priority) # --- Override with /etc/nixos-infra/hosts/<short_name> (Medium Priority)
if [ -f "/etc/nixos-infra/hosts/$SHORT_NAME" ]; then if [ -f "/etc/nixos-infra/hosts/$Short_name" ]; then
echo "📄 Applying parameters from /etc/nixos-infra/hosts/$SHORT_NAME..." echo "📄 Applying parameters from /etc/nixos-infra/hosts/$SHORT_NAME..."
set -a set -a
source "/etc/nixos-infra/hosts/$SHORT_NAME" source "/etc/nixos-infra/hosts/$SHORT_NAME"