Three platforms, end to end.
An industrial control platform, a hosting business, and the cluster in my own rack.
Industrial SCADA platform
Redundant control platform, re-architected to fit the site it landed on.
The specification called for an Always On Availability Group under the historian. The site had no Active Directory domain and the servers were standalone, so I moved the database recovery layer to log shipping — no cluster, no domain, and a recovery point the site sets itself. The two Ignition gateways above it fail over automatically; the database pair does not, and the runbook I delivered says so.
- Ignition 8.3
- SQL Server 2025
- Windows Server 2025
- T-SQL
- PowerShell
Dolphost
A hosting business, from the billing page down to the servers.
I ran a web hosting company selling shared hosting, VPS and domains to paying customers. WHMCS and cPanel were wired together so a paid order became a working account with no human step in the middle, and I ran the fleet it landed on. Billing, provisioning and uptime were all mine, which made the failure modes commercial as well as technical.
- WHMCS
- cPanel/WHM
- Linux
- Apache/LiteSpeed
- MySQL
- DNS
Homelab platform
A production platform in three machines, declared in git.
Three Proxmox hosts run one Talos Kubernetes node each, so the three etcd votes sit in three separate chassis. Flux reconciles the cluster from a public repository and there is no second way to change anything, which is what makes the rebuild believable. Terraform provisions it, Renovate opens the updates, and CI validates them before Flux is allowed to see them.
- Proxmox VE
- Talos Linux
- Kubernetes
- Flux CD
- Terraform
- Ansible
Working together
Available for infrastructure work.
Linux fleets, virtualisation, Kubernetes, backups that have been restored from at least once — the kind of platform someone notices when it stops. Tell me what you are running and what is going wrong with it.