rwaltr / home-ops

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🚧 Please pardon the dust 🚧

The homelab is currently undergoing operation "Honey I Shrunk The Homelab". See Issues for progress

rwaltr/home-ops

Discord talos pre-commit

πŸ“– Overview

This is a Monorepo to manage my personal environment. A combination of Talos, NixOS, Terraform, and Flux allow this repo to provide most of the configuration required to manage this environment across regions/clouds.

πŸ”§ Orchestration tools

KCL

Yaml is old school, KCL is a DSL that provides the power of full type safety while rendering yaml at the end of the day.

β›΅ Kubernetes

My homelab is Kubernetes based, meaning that I have a cluster of nodes running OCI (AKA. Docker) containers. Since my lab is mostly Kubernetes, I can use tools that focus on text manipulation and formatting, then use Flux to actually feed these configs into my cluster.

The result is that the text files here turn into actual running applications.

I use a toolset called Talos Linux to help abstract the hardware management of Kubernetes.

🌐 Terraform/OpenTofu

Terraform does one-shot api calls. Things I wont want managed by a controller but should be gitops.

🍭 Crossplane

Crossplane is the platform behind my operator focused management.

❄️ Nix

Nix is used for hosts that do not run Kubernetes directly. This is a declarative configuration management system that allows me to manage my hosts in a gitops fashion.

Nodes types

🐦 Talos

Talos is a kubernetes focused OS that is configured by a YAML manifest. You can see this in :/infra/talos

I use talhelper to further abstract Talos's config for easy config file expandability

❄️ NixOS

NixOS is used in hosts that are not meant to run Kubernetes directly.

:/infra/nix is where I store this but the entry point is :/flake.nix

🏘️ Sites

🏒 KYZ

KYZ acts as the management and as a workload site.

πŸ–ŠοΈ Finding TODOS

Uses the TODO: format in line


🧰 Tools

Tool Use Active
NixOS Operating System β˜‘οΈ
SOPS inline secrets-manager
KCL DSL
Talos Operating System
Flux Gitops Operator
Crossplane API platform

🀟 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


πŸ” License

See LICENSE


About

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

License:MIT License


Languages

Language:HCL 70.9%Language:Nix 29.1%