2025-11-14 20:48:21 +01:00
|
|
|
---
|
|
|
|
|
sidebar_position: 1
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
# 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
|
2025-11-22 18:07:34 +01:00
|
|
|
|
|
|
|
|
## Articles
|
|
|
|
|
|
|
|
|
|
import DocCardList from '@theme/DocCardList';
|
|
|
|
|
|
|
|
|
|
<DocCardList />
|