Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/crisszkutnik/home-lab

Kubernetes deployments, Ansible config and everyting else for my home lab
https://github.com/crisszkutnik/home-lab

ansible gitops home-lab infrastructure k8s k8s-cluster kubernetes on-premise

Last synced: 4 days ago
JSON representation

Kubernetes deployments, Ansible config and everyting else for my home lab

Awesome Lists containing this project

README

        


Kubernetes logo

Managed with Flux and Renovate. Scanned with Trufflehog via GitHub Actions




![GitHub last commit](https://img.shields.io/github/last-commit/crisszkutnik/home-lab)
[![Renovate enabled](https://img.shields.io/badge/Renovate-Enabled-brightgreen)](https://github.com/renovatebot/renovate)
[![K3s](https://img.shields.io/badge/K3s-gold)](https://k3s.io/)

---

## 📖 Overview

This is the repository for my on-premise Kubernetes cluster that runs in my house. It uses GitOps techniques in order to keep the content of this repository in-sync with the cluster. Basic stuff is:

- [Flux](https://github.com/fluxcd/flux2) for GitOps and keeping the cluster in sync with the repo Also
- [Renovate](https://github.com/renovatebot/renovate) to update dependencies
- [Trufflehog](https://github.com/trufflesecurity/trufflehog) and [GitHub Actions](https://github.com/features/actions) for credential scanning and avoid leaking private credentials

In case you want to check the full index of my on-premise stuff, check [crisszkutnik/kubernetes-home-lab](https://github.com/crisszkutnik/kubernetes-home-lab)

## 💻 Setup, deployments and details

The cluster runs a variety of applications for setup and management such as:

- [Grafana](https://grafana.com/) for charts and observability
- [Loki](https://grafana.com/oss/loki/) and [Promtail](https://grafana.com/docs/loki/latest/send-data/promtail/) for log collection
- [MetalLB](https://metallb.universe.tf/) as load balancer via L2 advertisement
- [NGINX ingress controller](https://docs.nginx.com/nginx-ingress-controller/) is used as an ingress controller
- [Prometheus](https://prometheus-operator.dev/) for metrics and monitoring
- [External Secrets operator](https://external-secrets.io/latest/) and [1Password Connect server](https://developer.1password.com/docs/connect/get-started/?deploy=kubernetes) for secrets management

It also runs a bunch of other applications that were developed for personal use

## 🔧 Hardware

Not much to add here yet. Hopefully I'll be able to add stuff here eventually

| Device | Count | CPU | RAM | Disk size | OS | Purpose |
| ---------- | ----- | -------------- | ---- | --------- | ------ | ------------- |
| OrangePi 5 | 1 | RK3588S 8-core | 4 GB | 64 GB | Ubuntu | Control plane |
| OrangePi 5 | 2 | RK3588S 8-core | 4 GB | 64 GB | Ubuntu | Worker |

## IPs and networking

### Reserved IP spaces on my local network

| Host | Address |
| --------------------- | ----------------------------- |
| DHCP | 192.168.0.10 - 192.168.0.189 |
| K8s load balancer IPs | 192.168.0.190 - 192.168.0.199 |
| Master nodes | 192.168.0.200 - 192.168.0.210 |
| Nodes | 192.168.0.211 - 192.168.1.254 |

#### Nodes IPs

| Host | Address |
| -------------------- | ------------- |
| Control plane node 1 | 192.168.0.200 |
| Worker node 1 | 192.168.0.211 |
| Worker node 2 | 192.168.0.212 |