Skip to main content

Future Homelab - OpenTofu, K3S, Ansible & DevOps

Documentation of the migration to a modern infrastructure based on Kubernetes and DevOps practices.

Vision

Evolve my homelab towards an infrastructure that is:

  • Cloud-native with Kubernetes (K3S)
  • Infrastructure as Code with OpenTofu
  • Highly automated with Ansible and GitOps
  • Observable with advanced monitoring and logging

Target Tech Stack

Orchestration

  • K3S: Lightweight and performant Kubernetes distribution
  • Helm: Package manager for Kubernetes
  • ArgoCD: GitOps for continuous deployment

Infrastructure as Code

  • OpenTofu: Open-source fork of Terraform for IaC
  • Ansible: Configuration management and provisioning
  • Git: Version control for all infrastructure

DevOps & CI/CD

  • Forgejo Actions: Integrated CI/CD
  • GitOps: Declarative and versioned deployment
  • Kustomize: Kubernetes configuration management

Observability

  • Prometheus: Metrics and alerting
  • Grafana: Visualization and dashboards
  • Loki: Log aggregation
  • Tempo: Distributed tracing

Migration Goals

Technical

  • Horizontal scalability
  • High availability
  • Automated deployments
  • Complete observability

Learning

  • Master Kubernetes in production
  • Practice Infrastructure as Code
  • Implement DevOps best practices
  • Explore cloud-native technologies

Roadmap

The migration happens in stages:

  1. Phase 1: Basic K3S setup
  2. Phase 2: Migration of critical services
  3. Phase 3: GitOps implementation (ArgoCD)
  4. Phase 4: Observability and monitoring
  5. Phase 5: Complete automation with OpenTofu

Each step is documented with encountered challenges and solutions provided.

Why This Evolution?

This migration represents:

  • Professional skills: Technologies used in enterprise
  • Practical learning: Experimentation in real conditions
  • Technical evolution: Moving to modern and scalable solutions
  • Portfolio: Demonstration of advanced DevOps skills