Here you will find all tthe documentation of my homelab.
I am a big proponent to giving credit where it is due, and I would first like to take the time to thank Mischa van den Burg and the Kubecraft community. I could not learn to do all this without them!
If you have ever been curious about Cloud Native Technologies, DevOps or Kubernetes, then the place you want to be is in Kubecraft!
This repository is where I do all my testing, tinkering, and all-in-all a space for me to play, and work! It does have a serious note as well, since I will be working with my own personal data and require me to think about the whole process of deployment and maintanence!
I like to start off talking about hardware first. It's I think a great base line to understand what I was working with.
I have currently 3 old hardware:
HP EliteDesk 800 G2 i5-6500T/16GB/256SSD
HP EliteDesk 800 G2 i5-6500T/16GB/256SSD
HP Laptop (atm do not know the model) 8GB/256SSD
I love Talos Linux. It has production grade security out of the box, is lightweight, and has robust features. At first, I used straight baremetal. But after sometime (a week...), I realized that Omni was the way to go.
I could spin up new clusters in seconds, and exposing external services is a breeze.
I have them in this structure:
Cluster | Usage | Hardware |
---|---|---|
Data | PostgreSQL Database | HP Laptop |
Tachtit | Apps | HP 800 G2 |
Private Apps | HP 800 G2 |
Icon | Name | Description |
---|---|---|
Cilium | An amazing CNI used for all my clusters. I opt out of Flannel for Cilium. | |
CloudnativePG | A Kubernetes operator for deploying and managing PostgreSQL clusters. | |
![]() |
External Secrets Operator | A Kubernetes operator that synchronizes secrets from external APIs into Kubernetes. Currently, it uses secrets from my Azure Key Vault. |
![]() |
External DNS | A Kubernetes addon that automates the management of DNS records based on Kubernetes resources. |
FluxCD | A GitOps tool for automating Kubernetes deployments from Git repositories. | |
Flux Operator | A Kubernetes CRD controller that manages the lifecycle of CNCF Flux. It automates installation, configuration, and upgrades of Flux controllers through a declarative API. | |
Grafana | A multi-platform analytics and visualization web application for monitoring data. | |
Prometheus | An open-source monitoring and alerting toolkit for containers and microservices. | |
Renovate | An automated dependency update tool that creates and maintains pull requests for your dependencies. |
Icon | Name | Description |
---|---|---|
Homepage | A self-hosted dashboard that allows you to organize your web services and bookmarks in a clean, customizable interface. | |
Linkding | A self-hosted bookmark manager with tagging and search functionality. |
- Link my PostgreSQL Database in the data cluster to my TrueNAS Scale.
- Have blob storage for my data cluster to create periodic backups.
- Add on Immich, CommaFeed, Wallabag, to work with my data cluster, and also backup to blob storage.