Skip to content

rwaltr/home-ops

Repository files navigation

rwaltr/home-ops

Universal Blue uCore homelab infrastructure with Terraform/Pulumi cloud management

Discord pre-commit

📖 Overview

This is a monorepo to manage my personal homelab infrastructure. Running Universal Blue uCore (Fedora CoreOS-based immutable OS) on the main host ("mouse") with Terraform/Pulumi for cloud resource management. The infrastructure provides object storage (RustFS), monitoring (Netdata), and backup capabilities (Backblaze B2).

🔧 Infrastructure Components

🔵 uCore

Universal Blue uCore provides immutable, container-first host configuration. Configuration in infra/ucore/ using Butane → Ignition.

Entry point: infra/ucore/butane/

☸️ Kubernetes (k0s)

Single-node k0s cluster planned for mouse. Configuration managed via k0sctl.

Entry point: infra/k0s/

🌐 Terraform

Terraform manages cloud resources (maintenance mode — migrating to Pulumi):

  • Cloudflare: DNS and domain management (infra/terraform/cloudflare/)
  • Backblaze B2: Backup storage provisioning (infra/terraform/backblaze/)
  • Terraform Cloud: Workspace management (infra/terraform/tf-cloud/)

🚀 Pulumi

Pulumi stubs created for migrating cloud resources from Terraform (Go-based):

  • Backblaze: B2 provisioning (infra/pulumi/backblaze/) — has initial Go code
  • Cloudflare: DNS management (infra/pulumi/cloudflare/) — stub
  • Terraform Cloud: Workspace management (infra/pulumi/tf-cloud/) — stub

🔐 SOPS

Age-based secrets management for encrypting sensitive configuration values inline with repository files.

🖥️ Current Host

mouse (uCore)

Primary infrastructure host running:

  • Storage: ZFS pools
  • Object Storage: RustFS (S3-compatible, Rust-based)
  • Monitoring: Netdata for system metrics

Configuration: infra/ucore/butane/hosts/mouse.bu

🌐 Cloud Integrations

Cloudflare

DNS and domain management for multiple domains (familylegacy, legacy, prof, public zones)

Backblaze B2

S3-compatible backup storage for long-term data retention

🖊️ Finding TODOS

Uses the TODO: format in line


🧰 Tools

Tool Use Active
uCore Operating System ☑️
SOPS Secrets Management ☑️
Terraform Cloud Resource Management ☑️
Pulumi Cloud Resource Management 🚧
ZFS Storage & Snapshots ☑️
RustFS S3-compatible Storage ☑️
Netdata System Monitoring ☑️
k0s Kubernetes (single-node) 🚧
Pre-commit Code Quality Automation ☑️
mise Task Runner & Tool Mgmt ☑️

🤟 Thanks

Thank you to the below for inspiration

  • onedr0p
  • anthr76
  • danmanners

🌐 Communities

K8s-at-Home

Discord


📬 Contact Me

  • Github Issues
  • Email

📜 Changelog

See commit history


About

Code and configuration used to manage the fleets of k8s and Terraform clusters managing the Waltr.Tech environment

Topics

Resources

Stars

Watchers

Forks

Contributors