Commit Graph
9 Commits
Author SHA1 Message Date
ergosteurandClaude Opus 5 be5cc9b505 Add IPMI fan control scripts, reading credentials from conf/
ipmi-fancontrol.service pins the fans to a fixed speed on start and hands
control back to the BMC's automatic curve on stop, to quiet the chassis.

BMC credentials are read from conf/ipmi-fancontrol.conf, resolved relative
to the scripts themselves so the tree stays self-contained whether it is run
from a checkout or from /opt/ergosteur. See conf/ipmi-fancontrol.conf.example.

Use ipmitool -E rather than -P so the password is passed via the environment
instead of argv, where any local user could read it out of ps.

docker-idrac.sh is the alternative temperature-aware controller.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 15:45:12 +00:00
ergosteurandClaude Opus 5 5a661d728f Add NIC SR-IOV and performance tuning units
sriov-enp4s0.service allocates VFs on the ixgbe ports at boot and applies
persistent VF MACs via set-ixgbe-vfmacs-enp4s0.sh, so guests keep stable
addresses across host reboots. The VF MAC assignments are currently all
commented out.

nic-performance-tweaks.service raises ring buffers and txqueuelen on the
uplinks and vmbr0.

unused/ holds the equivalent pair for the retired enp130s0 adapter.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 15:44:58 +00:00
ergosteurandClaude Opus 5 25b96af194 Add OVA/OVF import tools and virtio-win downloader
Two implementations of the same OVA/OVF import flow: a Python version that
parses the OVF with ElementTree and detects UEFI, and a shell version using
xmllint that handles multi-disk appliances. Both check free space on the
target storage before importing.

download-virtio-win-progress.py fetches the latest virtio-win ISO, skipping
the download when the local copy is already current.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 15:44:49 +00:00
ergosteurandClaude Opus 5 3ef068e846 Add host maintenance mode and NUT/Tailscale helpers
prox-maintenance-mode.sh saves and clears onboot/startup across all VMs and
CTs so a host can be rebooted without guests coming back up, then restores
the saved state. Supports --status and --dry-run.

nut-udev-restart.sh restarts the NUT UPS driver on a USB re-enumeration
event. tailscale-optimize-router.sh applies the recommended UDP GRO
forwarding offloads for subnet routers.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 15:44:49 +00:00
ergosteurandClaude Opus 5 927f687863 Add Proxmox VM and LXC watchdog scripts
Cron-driven liveness checks that ping each guest, restart it via qm/pct if
unreachable, and log plus email the outcome. Guest lists are configured in
the associative array at the top of each script.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 15:44:49 +00:00
ergosteurandClaude Opus 5 51c1483dd0 Add .gitignore for local secrets and host dumps
Ignore *.conf and .env (keeping the committed *.conf.example and
.env.example templates) so runtime credentials stay out of the repo.

Also ignore bridge-vlan-show.txt, tmp/, and downloaded disk images, which
are host-specific dumps and build artifacts rather than source.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-06 15:44:37 +00:00
Claude 76a3841ded Build image URL from Debian codename instead of raw URL
Second positional arg is now a codename (bullseye/bookworm/trixie/
forky) mapped to the corresponding cloud.debian.org image, with an
IMAGE_URL env var escape hatch for pointing at something else.
2026-08-06 14:45:44 +00:00
Claude 931652738d Add hardened Proxmox Debian cloud-init template script
Adds error handling (set -euo pipefail), VM ID/storage validation,
dependency checks, configurable storage/bridge/memory/cores via env
vars, image download caching, and auto-detection of the imported
disk instead of hardcoding filesystem-specific paths.
2026-08-06 14:40:12 +00:00
ergosteur 16bd76e317 Add original personal cloud-init template script 2026-08-06 14:40:11 +00:00