Skip to content

olefSch/homelab

Repository files navigation

🚀 GitOps Homelab

My fully automated, GitOps-driven infrastructure repository managing my K3s Raspberry Pi homelab

🛠️ Built with

K3S argo_cd Kubernetes Helm RPI Terraform GCP

📖 Overview

This repository is the single source of truth for my Homelab infrastructure. It utilizes Infrastructure-as-Code (IaC) to provision foundational resources that I do not want to host (e.g., KeyVault) and GitOps principles to manage all Kubernetes cluster configurations and workloads.

The base for the repo is my zero touch provisioning repo here

🧰 Tech Stack

Component Technology Description
Kubernetes K3s Lightweight, edge-optimized Kubernetes
GitOps ArgoCD App-of-Apps cluster workload bootstrapping
IaC Terraform Manages external infrastructure state and provisioning.
Docs Zensical Successor to Material for MkDocs

📂 Repository Structure

├── .github/                 # CI/CD pipelines (Docs, Security scans, CI Check for PRs)
├── docs/                    # MkDocs source files (ADRs, Runbooks)
├── kubernetes/              # GitOps declarative state following the app of apps pattern
├── terraform/               # To setup SaaS solutions I don't want to host myself
└── ...                      # Small helper tooling and root files

🚀 Getting Started (Local Development)

If you fork the repository or test configurations locally, ensure you have the required developer tooling installed.

1. Prerequisites

  • Docker (Required for local CI simulation)
  • Just: The primary command runner (brew install just).
  • uv: Simply best Python package manager (brew install uv).
  • Pre-commit: Git hook framework (brew install pre-commit).
  • act: Run GitHub Actions locally (brew install act).
  • Google Cloud CLI (gcloud): For local GCP authentication and dirty config ^-^
  • Technology tooling obviously too

2. Initialization

Clone the repository and initialize the local development environment:

git clone https://github.com/olefSch/homelab.git
cd homelab

pre-commit install

# option to run the docs
uv sync

📄 License

This project is licensed under the MIT License. See the LICENSE file for details.

About

My Homelab

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors