8124483da88a2fbbdd8f34ab578a5de440f8b242
Set up centralized PDU management for a Cyclades AlterPath PM10i (10
controllable AC outlets) connected to pfv-tsys1 via a Prolific USB-to-DB9
serial adapter. powermand is now listening on 0.0.0.0:10101, making the
PDU manageable over the network from any host on the tailnet.
Scripts (powerman/):
- discover.sh: gather USB adapter, powerman state, device definitions
- setup.sh: idempotent setup — udev rule (stable symlink by serial number),
powerman.conf with 10 outlet nodes, fix powermand dialout group, restart
service. Overridable via env vars for other hosts/PDU types
- test-pdu.sh: validate control by cycling outlet 10 off then on (8/8 pass)
- status.sh: quick PDU status check
Issues fixed during setup:
- Config pointed at /dev/ttyUSB0 but adapter is at /dev/ttyUSB1 (fixed
with udev symlink /dev/cyclades-pm10 pinned to adapter serial)
- powermand (user:powerman) lacked dialout group membership to open the
serial device (fixed with usermod + udev GROUP="dialout")
Validation: outlet 10 turned off (confirmed), turned on (confirmed), then
cycled. All 10 outlets currently ON and manageable.
TODO tracked for Friday: rename outlets from generic (outlet-1..10) to
match physical devices, and change PDU admin password from factory default.
💘 Generated with Crush
Assisted-by: Crush:glm-5.2
PFVCluster
Unified infrastructure repo for the Known Element Enterprises Proxmox R&D cluster.
→ Current Status · → Documentation Index · → Agent Guidelines
Directory Structure
| Directory | Description |
|---|---|
provisioning/ |
Server provisioning (SetupNewSystem.sh, security hardening, 2FA, NTP/DNS config, SNMP, Dell OMSA) |
tests/ |
Test suite + VM validation harness |
dns-cluster-setup/ |
Technitium DNS cluster replication scripts |
perf/ |
Proxmox performance tuning, fleet audit, iperf, switch diagnostics |
netinfra/ |
pfv-netinfra-01/02 DNS/NTP setup + audit scripts |
switches/ |
Switch configuration captures |
docs/ |
All documentation (see docmap) |
vendor/ |
Vendored KNELShellFramework |
Quick Start
Provision a new server
sudo bash provisioning/SetupNewSystem.sh
Validate on the sandbox VM
VM_ID=6000 ./tests/vm-validation.sh all
Deploy DNS cluster
cd dns-cluster-setup/ && ./setup.sh all
Deploy perf tunings
cd perf/ && ./deploy-tuning.sh
Architecture
- Proxmox hosts: 7 standalone PVE installs managed via PDM
- DNS: Technitium (authoritative) + Pi-hole (recursive) on pfv-netinfra-01/02
- NTP: pfv-netinfra-01/02 (redundant, LAN IPs, stratum 2/3)
- Production: Cloudron VPS in Reston VA (this cluster is R&D only)
- Backups: Proxmox Backup Server (PBS)
Languages
Shell
69.6%
Python
25.8%
Perl
4.4%
Makefile
0.2%