Skip to main content

Overview

This guide explains my homelab Kubernetes setup, designed to help IT admins understand, run, and maintain the system.

Searching the docs

Local search runs entirely in the browser thanks to the @easyops-cn/docusaurus-search-local plugin. Use the search bar at the top of any page to quickly find topics, and your search terms will be highlighted on the destination page.

Core Design Principles

  1. GitOps as Source of Truth

    • All cluster states live in this Git repo
    • ArgoCD syncs cluster state with Git definitions
    • Changes require Git commits for audit tracking
  2. Declarative Configuration

    • Uses Kubernetes YAML, Kustomize, and OpenTofu
    • Tools manage state based on defined specs
  3. Automated Operations

    • ArgoCD ApplicationSets handle deployments
    • Cert-Manager runs certificate lifecycle
    • CI/CD pipelines automate testing and deployment
  4. Security First

    • Non-root container execution
    • Network policies control traffic
    • External secrets management
    • Regular security scans
  5. Clean Organization

    • Kustomize manages configurations
    • ArgoCD projects group related apps
    • ApplicationSets simplify scaling

Documentation Map

Cluster Setup

Kubernetes Management

Application Guides

  • Deploy Apps
    • User application deployment
    • App lifecycle management

Infrastructure

  • Core Services
    • Network setup
    • Storage configuration
    • Auth systems
    • Monitoring stack

CI/CD