devhome Lab Documentation
devhome is a self-hosted homelab built to mirror real enterprise platform-engineering patterns at home: a VMware compute layer, Kubernetes clusters provisioned by Terraform, GitOps delivery via ArgoCD, fleet management via Rancher, secrets centralized in Vault, hybrid identity via on-prem Active Directory synced to Microsoft Entra ID (with SSO across ArgoCD, Rancher, Vault, and vCenter), and a hybrid connection out to Azure via Arc and a private AKS cluster.
Every piece of that stack is the same open-source software running in real production platform teams today, not a toy substitute — HashiCorp's Terraform and Vault, the CNCF's Kubernetes, Argo Project's ArgoCD, and Rancher's cluster-management tooling. Running the actual tools (self-hosted, not a managed equivalent) is the point: it's what forces this lab to deal with the same operational edges — cert rotation, state locking, dynamic secrets, GitOps drift — that a managed service would otherwise hide.
This documentation is the single source of truth for how devhome is built, wired, and operated — written so it's followable by anyone setting up a similar lab, not just useful as personal notes.
It covers:
- Network design (pfSense: routing, DHCP/PXE, DNS, VPN, certificates, firewall)
- Storage (TrueNAS: TFTP, NFS, SMB, iSCSI, backups)
- Secrets management (Vault)
- Compute provisioning (VMware + Terraform + Packer)
- Identity & access (on-prem Active Directory ↔ Microsoft Entra ID hybrid sync, SSO for ArgoCD/Rancher/Vault/vCenter, and the My Apps portal)
- Configuration management (Ansible)
- Kubernetes cluster lifecycle (kubeadm via Terraform, GitOps bootstrap)
- GitOps delivery (ArgoCD) and fleet management (Rancher)
- Developer machine setup and a self-hosted Azure DevOps agent
- Troubleshooting runbooks for the gnarliest recurring issues
Why this exists
Homelabs accumulate tribal knowledge fast — a DHCP quirk here, a routing workaround there — and it evaporates the moment you forget why you did something. This site exists so that knowledge survives: every non-obvious decision here has a Why attached to it, not just a How.
Where to start
- New to the lab? Start with Architecture Overview.
- Setting up your own dev machine against this repo? See Developer Setup.
- Bootstrapping a brand-new cluster? See Bootstrapping a New Cluster.
- Curious how identity/SSO ties together? Start with On-Prem Active Directory, then Entra for the hybrid sync/app-registration side.
- Something broken? Check Troubleshooting first — there's a good chance it's already been hit and solved.