Starting the Build
Welcome to my first blog in many years, but also an overall opportunity to restart the development of my personal and development infrastructure at home. Something I have been wanting to do for many years, and now I’m finally making it a reality.
The overall plan is:
- Development of multiple GitHub Actions to facilitate management of GitHub
repositories, including handling pull requests, and
syncing upstream template repositories with
downstream instances, and potentially one for
improved
terraform-docs
handling too. - Creation of Terraform modules for the management of initial resources, including GitHub repositories, Terraform modules themselves, and Terraform configurations through workspaces in Terraform Cloud.
- Build out a cluster of Intel NUC i5-1340p nodes with 64GiB RAM and 2TB SSDs.
- Build out highly available Vault and Consul clusters for supporting a Certificate Authority, secrets management, central configuration, and service mesh.
- Build out an etcd cluster for Kubernetes.
- Build out a Kubernetes Cluster with 3 controllers, 15 worker nodes and 5 storage notes.
- Configure Calico as the CNI.
- Configure Ceph as the CSI.
- Configure Vault as the Secrets Store CSI.
- Configure the Kubernetes cluster using Flux.
- Integrate tools such as Metal LB, Cloudflare Argo Tunnels, Vault, Consul, ingress-nginx, external-dns, cert-manager, Ceph, NetData, loki, Prometheus, Grafana, and more.
- Deploy services such as PostgreSQL, Concourse, GitHub Actions Operator, Terraform Cloud Operator, as well as local testing applications.
I expect this to take most of the rest of 2023 to complete, with
some aspects using Ansible (such as the physical hosts and virtual machines) and
others using combinations of Terraform, Flux, Concourse, and GitHub Actions.