Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

694 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

HomeOps

Infrastructure as Code repository for home infrastructure management.

Cluster Photo

Repository Structure

homeops/
β”œβ”€β”€ talos/              # Talos Kubernetes cluster configurations
β”‚   └── talos1018/      # Cluster-specific config and patches
β”œβ”€β”€ kubernetes/         # Flux CD GitOps manifests
β”‚   β”œβ”€β”€ apps/           # Application deployments
β”‚   β”‚   └── talos1018/  # Cluster applications
β”‚   β”œβ”€β”€ infrastructure/ # Infrastructure components
β”‚   β”‚   └── talos1018/
β”‚   β”‚       β”œβ”€β”€ core/   # Core components (CNI, cert-manager)
β”‚   β”‚       └── storage/ # Storage layer (Longhorn)
β”‚   β”œβ”€β”€ clusters/       # Flux configurations
β”‚   β”‚   └── talos1018/
β”‚   β”‚       β”œβ”€β”€ flux-system/
β”‚   β”‚       β”œβ”€β”€ infrastructure.yaml
β”‚   β”‚       └── apps.yaml
β”‚   └── components/     # Shared Kustomize components
β”œβ”€β”€ scripts/            # Automation and validation scripts
β”œβ”€β”€ docs/               # Documentation and assets
└── .github/            # CI/CD workflows

Projects

Talos1018 Cluster

A 3-node Kubernetes cluster running on Talos Linux. For detailed setup and configuration, see talos/talos1018/README.md.

  • Control plane: 3 nodes
  • Network: Cilium CNI (native routing) with L2 announcements and Gateway API
  • Dual-stack, IPv6-primary (ULA fd00:1018:0:5:10:18:6:90-93, IPv4 10.18.6.90-93)

Infrastructure Architecture

Layered architecture with minimal dependencies:

Core (no dependencies):

  • Cilium CNI (native routing) with L2 announcements and Gateway API (HTTPRoutes for all apps)
  • cert-manager with Let's Encrypt

Storage (depends on core):

  • Longhorn with S3 backups to Cloudflare R2

Applications (depends on core):

  • Deploy in parallel
  • Storage-dependent apps wait automatically via Kubernetes

Kubernetes GitOps

GitOps with Flux CD. See kubernetes/README.md for details.

  • Continuous deployment via Flux CD
  • Secret management with SOPS + age
  • Automated validation via GitHub Actions

Prerequisites

  • talosctl
  • kubectl
  • helm
  • flux CLI
  • sops (for secret management)

Getting Started

  1. Clone the repository:
git clone https://github.com/fmurodov/homeops.git
cd homeops
  1. Navigate to the desired project directory and follow the project-specific README instructions.

Development

Git Pre-Commit Hook

To automatically validate configs before committing:

cp scripts/pre-commit .git/hooks/pre-commit

This will run ./scripts/validate.sh before each commit. To bypass: git commit --no-verify

About

🏠 Infrastructure as Code for home Kubernetes cluster running on Talos Linux with Flux CD

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages