Skip to content

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

License

Notifications You must be signed in to change notification settings

rwaltr/home-ops

Repository files navigation

🚧 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

Topics

Resources

License

Stars

Watchers

Forks