8000 GitHub - chrede88/home-ops: Repository for my Talos Linux/Kubernetes cluster
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

chrede88/home-ops

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Talos Linux logo Kubernetes logo

My Home-ops Repository ⚑

... powered by Talos Linux and Kubernetes

Talos version Kubernetes version Fluxcd version Open Pull Requests
Cluster Age Cluster Up Time Cluster Nodes Cluster Pods Cluster CPU Cluster Memory Ceph Cluster Health

πŸš€ Introduction

This repository holds all information about my homelab and kubernetes cluster. I'm doing my best to adhere to the principles of infrastructure as code (IaC) and GitOps.


πŸ€ Kubernetes

My Kubernetes cluster is deployed with Talos Linux, a Linux distribution build spefically for running Kubernetes. I run a three bare-metal node cluster on Intel 12th gen NUC's and using Rook for cluster persistence block, object, and file storage.

GitOps

Flux watches the cluster resources in the kubernetes folder (see Directories) and makes changes to the cluster based on the state of the Git repository.

Flux is pointed at the two top level Flux kustomizations (ks.yaml) which points at the kubernetes/apps folder and some other general common components. Flux will recursively search the kubernetes/apps folder until it finds the most top level kustomization.yaml per directory and then apply all the resources listed in it. That aforementioned kustomization.yaml will generally only define a few resource and one or many Flux kustomizations. Those Flux kustomizations will control the deployment of the actual resources related to each application.

Renovate watches my entire repository looking for dependency updates, when they are found a PR is automatically created. When PRs are merged Flux applies the changes to my cluster.

Directories

The layout of the repository is as follows:

πŸ“ .github              # Github related files
πŸ“ docs                 # My running documentation
πŸ“ network              # My internal network setup
πŸ“ cluster
β”œβ”€β”€ πŸ“ kubernetes       # Kubernetes cluster definitions
β”‚   β”œβ”€β”€ πŸ“ apps         # application manifests
β”‚   └── πŸ“ flux         # flux system configuration
└── πŸ“ talos            # Talos configuration stuff

Docs

I keep running docs where I try to document my journey. Hopefully others will find them helpful.


βš™ Hardware

Device Num OS Disk Size Data Disk Size Ram OS Function
Intel NUC 12th i5 3 500GB SATA SSD 2TB NVMe SSD 64GB Talos Kubernetes
Rasberry Pi 4 1 64GB SD card - 4GB Debian GNU/Linux 12
Unifi Gateway Fiber 1 - - - - Router
Unifi Cloudkey Gen 2+ 1 - - - - Unifi OS
Unifi Switch Flex 2.5G 8 PoE 1 - - - - PoE 2.5Gb Switch
Unifi U6+ AP 1 - - - - Wifi

πŸ™ Thanks

Thanks to all the people who donate their time to the Home Operations Discord community. Be sure to check out kubesearch.dev for ideas on how to deploy applications or get ideas on what you could deploy.

About

Repository for my Talos Linux/Kubernetes cluster

Topics

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •  
0