Skip to content

Kubernetes homelab managed with Flux GitOps

License

Notifications You must be signed in to change notification settings

rcdailey/home-ops

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Home Operations

Personal Kubernetes homelab managed with Talos Linux and Flux GitOps.

Stack

  • OS: Talos Linux
  • GitOps: Flux
  • Storage: Rook Ceph
  • Secrets: External Secrets + Infisical
  • Networking: Cilium, Envoy Gateway
  • Observability: VictoriaMetrics + Logs, Grafana
  • Databases: CloudNativePG
  • Backups: Volsync, Kopia

Repository Structure

bootstrap/          # Cluster bootstrap scripts
docs/
  architecture/     # System design docs
  decisions/        # ADRs
  runbooks/         # Operational procedures
  troubleshooting/  # Historical investigations
kubernetes/
  apps/             # Application manifests by namespace
  components/       # Reusable Kustomize components
  flux/             # Flux system configuration
scripts/            # Operational scripts
talos/              # Talos node configuration

New Machine Setup

Prerequisites: mise installed.

  1. Install minijinja-cli (not managed by mise):

    brew install minijinja-cli
  2. Install remaining tools:

    mise trust && mise install
  3. Authenticate with Infisical:

    infisical login
  4. Generate Talos configuration:

    just talos init-config
  5. Verify access:

    talosctl -n 192.168.1.63 version
    kubectl get nodes

Disaster Recovery

Bootstrap a new cluster from scratch:

  1. Bootstrap Talos cluster:

    just bootstrap talos
  2. Bootstrap applications:

    just bootstrap apps

About

Kubernetes homelab managed with Flux GitOps

Resources

License

Stars

Watchers

Forks

Contributors 40