HomeLab Automation Redesign Workflow
I’ve put together a plan for my new HomeLab automation workflow. This should give you a good idea of what I had in mind in terms of the benefits of the redesign:
- Enhance automation, efficiency, consistency, security and manageability.
- Infrastructure as Code for easy version control, modular and reusable code.
- Packer to automate the creation of consistent, repeatable base images with pre-defined configurations.
- Terraform to automate VM provisioning and resource management.
- Ansible to automate software and configuration management.
- Proxmox VE cluster as the central platform for managing all VMs and containers.
- Gitea as a single source of truth for all configuration files, scripts and templates.
- Kubernetes for container orchestration.
This is a simple diagram that should give you a general idea:
+------------------------+ +------------------------+
| Packer | | Terraform |
|------------------------| |------------------------|
|- Builds base images | |- Deploys VMs from |
| using cloud-init | | templates |
|- Deploys templates | |- Configures VM settings|
+------------------------+ +------------------------+
| |
| |
v v
+----------------------------------------------------+
| Proxmox VE Cluster |
|----------------------------------------------------|
|- Hosts VM templates generated by Packer |
|- Hosts VMs deployed via Terraform |
|- Hosts containers & Kubernetes cluster |
+----------------------------------------------------+
^
|
|
+-----------------------------+
| Ansible |
|-----------------------------|
| - Install & configures |
| software |
| - Updates & patches |
+-----------------------------+
Right now, I’m finishing up my Packer templates and a few basic Ansible playbooks. Next step is to work on the Terraform configuration. Once I’ve got all of this done, my plan is to integrate a complete CI/CD pipeline with Jenkins for this workflow.
If you have any questions or suggestions about my automated workflow plan, feel free to reach out to me on Mastodon or give me a shout via email.