mrcharles d9b32e4eef fix(console): fix udev symlink naming bug + add portable audit tooling
Console fix: generate-config.sh wrote SYMLINK+="console/$name" (singular)
but ser2net.yaml opens /dev/consoles/$name (plural). They never matched,
so after every reboot the console ports failed until setup.sh's manual
fallback re-created the symlinks. Fixed the udev rule to use "consoles/"
to match ser2net and the README.

New portable read-only audit tools (AGPLv3-friendly, config-driven):
- perf/scripts/probe-storage.sh: disk/mount/export/SMART/storage.cfg probe
- perf/scripts/probe-network.sh: NIC/bond/LLDP/NFS/nconnect probe
- perf/scripts/conman-console.py: PTY-based conman console driver (replaces
  the old sw-capture.py that conflicted with ser2net)
- perf/scripts/snmp-switch-audit.py: SNMP-based switch inventory (interfaces,
  LLDP, LAG, VLANs) via pysnmp or net-snmp

Removed stale pre-conman switch tooling (sw-capture-remote.sh, sw-capture.py,
sw-probe.sh, sw-conman-probe.sh) and old .cmds files. Added fresh .cmds
files for the two cross-rack trunk endpoint switches.

💘 Generated with Crush

Assisted-by: Crush:glm-5.2
2026-07-30 22:51:27 -05:00
2024-10-12 03:38:27 +00:00

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
k8s/ k3s cluster setup scripts (3-node HA control plane over Tailscale) + co-located docs
powerman/ Cyclades PM10i PDU management via powerman on pfv-tsys1
console/ Serial console management (ser2net + conman) for network switches on pfv-tsys4
ups/ UPS management (NUT) for APC Smart-UPS C 1500 on pfv-tsys1 — upsd on Tailscale
perf/ Proxmox performance tuning, fleet audit, iperf, switch diagnostics
proxmox/ Proxmox fleet docs: hardware audit, capacity analysis, k8s host planning
netinfra/ pfv-netinfra-01/02 DNS/NTP/DHCP setup + audit scripts
switches/ Switch configuration captures
awx/ Ansible AWX deployment on tsys-awx (k3s + AWX Operator 2.19.1, v24.6.1)
docs/ Server-build docs, documentation index (docmap), and archive
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)
S
Description
All things related to the PFV proxmox/k8s cluster .
Readme AGPL-3.0
6.8 MiB
Languages
Shell 69.6%
Python 25.8%
Perl 4.4%
Makefile 0.2%