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.

Resources