/ Docs / 01 — Overview
Document 01 · Project overview
What this project is and why it exists

The full picture — from a single-VPS WordPress security consultancy to a self-hosted 3-node Kubernetes homelab, documented as a professional infrastructure portfolio.

mfa2fa.com 7layerorg 5+ years Linux/DevOps July 2026
Background

mfa2fa.com started as a security consultancy site — MFA/2FA integration, SIEM deployment, network security, and cloud infrastructure services. It ran on a standard LAMP stack: Apache, WordPress, MySQL on a single VPS. Functional, but fragile.

After 5+ years of commercial Linux and infrastructure work spanning Kubernetes, Ansible, CI/CD pipelines, and multi-cloud platforms (AWS, OCI, Azure), the decision was made to migrate the site to a fully self-hosted Kubernetes platform — not just as a practical improvement, but as a living portfolio piece.

The goal: prove the migration happened, document how it works, and show it running live — all on the same domain.
What mfa2fa.com is now

The domain now serves three distinct sections from a single nginx reverse proxy on an OVH VPS:

🗄
mfa2fa.com/wp/ — Legacy WordPress
The original security consultancy site, preserved exactly as it was. Runs in the wordpress6 namespace as a Kubernetes Deployment. Accessible at /wp/ as the migration baseline.
☸️
mfa2fa.com/cluster/ — Live Cluster Dashboard
A real-time dashboard showing all nodes, namespaces, deployments, and services across the homelab cluster. Data polled every 30 seconds by a CronJob probe using a read-only ServiceAccount.
📋
mfa2fa.com/docs/ — Migration Docs (this site)
Architecture decision records, runbooks, and step-by-step guides documenting the full migration. Built for reproducibility — anyone should be able to rebuild this from scratch using these docs.
Infrastructure at a glance

Everything runs on a 3-node homelab cluster, proxied via an OVH VPS over WireGuard:

kube1 — control-plane — 10.99.0.30 kube2 — worker — 10.99.0.31 kube3 — worker — 10.99.0.32 Oracle Linux 10 k8s v1.31.14 ContainerD Flannel CNI MetalLB Layer 2 WireGuard tunnel NFS storage Wazuh SIEM GitLab CI/CD Jenkins Redis StatefulSet
Why document it this way

Running Kubernetes in a homelab is one thing. Documenting it properly — with architecture decisions, gotchas, and runbooks — is what separates a learning exercise from professional infrastructure work.

These docs are written the way a senior engineer would write them: assuming the reader knows Linux and containers, skipping the basics, focusing on decisions and lessons learned. The kind of documentation you'd want to find if you were inheriting this infrastructure.

Every command in these docs was run against real infrastructure. Every gotcha documented was a real problem. Nothing is theoretical.