https://github.com/lucas-dclrcq/homelabitty
https://github.com/lucas-dclrcq/homelabitty
flux fluxcd helm homelab k8s-at-home kubernetes kubesearch self-hosted talos
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/lucas-dclrcq/homelabitty
- Owner: lucas-dclrcq
- License: mit
- Created: 2023-06-27T17:09:06.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-05-07T03:40:22.000Z (about 1 year ago)
- Last Synced: 2025-05-07T04:31:01.475Z (about 1 year ago)
- Topics: flux, fluxcd, helm, homelab, k8s-at-home, kubernetes, kubesearch, self-hosted, talos
- Language: Shell
- Homepage:
- Size: 5.57 MB
- Stars: 6
- Watchers: 1
- Forks: 3
- Open Issues: 22
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

### My Homelab Gitops repository
_... managed with Flux, Renovate, and GitHub Actions_ 🤖
[](https://github.com/kashalls/kromgo)
[](https://github.com/kashalls/kromgo)
[](https://github.com/kashalls/kromgo)
[](https://github.com/kashalls/kromgo)
[](https://github.com/kashalls/kromgo)
[](https://github.com/kashalls/kromgo)
[](https://github.com/kashalls/kromgo)
[](https://github.com/kashalls/kromgo)
[](https://github.com/kashalls/kromgo)
[](https://github.com/kashalls/kromgo)
## 🚀 Bootstrap
1. Setup talos nodes: `task talos:bootstrap`
2. Push private key: `task flux:github-deploy-key`
3. Setup Flux : `task flux:bootstrap`
## 🛠️ Talos and Kubernetes Maintenance
### ⚙️ Updating Talos node configuration
> [!IMPORTANT]
> Ensure you have updated `talconfig.yaml` and any patches with your updated configuration. In some cases you **not only need to apply the configuration but also upgrade talos** to apply new configuration.
```sh
# (Re)generate the Talos config
task talos:generate-config
# Apply the config to the node
task talos:apply-node HOSTNAME=? MODE=?
# e.g. task talos:apply-config HOSTNAME=k8s-0 MODE=auto
```
### ⬆️ Updating Talos and Kubernetes versions
> [!IMPORTANT]
> Ensure the `talosVersion` and `kubernetesVersion` in `talhelper.yaml` are up-to-date with the version you wish to upgrade to.
```sh
# Upgrade node to a newer Talos version
task talos:upgrade-node HOSTNAME=?
# e.g. task talos:upgrade HOSTNAME=k8s-0
```
```sh
# Upgrade cluster to a newer Kubernetes version
task talos:upgrade-k8s
# e.g. task talos:upgrade-k8s
```
## 🔧 Hardware
| Name | Device | CPU | OS Disk | Data Disk(s) | RAM | OS | Purpose |
|-----------|--------------------------|-------------------|------------|-------------------------|------|---------------|-------------------|
| Fitz | Dell Optiplex 3080 Micro | i5-10500T | 500GB NVMe | 1TB SSD | 32GB | Talos | K8S Control Plane |
| Nighteyes | Dell Optiplex 3080 Micro | i5-10500T | 500GB NVMe | 1TB SSD | 32GB | Talos | K8S Control Plane |
| Chade | Dell Optiplex 3080 Micro | i5-10500T | 500GB NVMe | 1TB SSD | 32GB | Talos | K8S Control Plane |
| Fool | Dell Optiplex 3090 Micro | i5-10500T | 500GB NVMe | 1TB SSD | 64GB | Talos | K8S Worker |
| Burrich | Dell Optiplex 3090 Micro | i5-10500T | 500GB NVMe | 1TB SSD | 64GB | Talos | K8S Worker |
| Bee | Dell Optiplex 3090 Micro | i5-10500T | 500GB NVMe | 1TB SSD | 64GB | Talos | K8S Worker |
| Verity | DIY NAS | Ryzen 5 Pro 5650G | 1TB NVMe | 4*18TB (mirrored vdevs) | 32GB | TrueNAS SCALE | NAS (NFS/Backup) |
| Shrewd | Synology DS1520+ | - | - | 5*4TB (RAID 5) | - | - | NAS (NFS/Backup) |
| Chivalry | UniFi Dream Pro Max | - | - | - | - | - | Router |
| Molly | UniFi Switch Pro Max 24 | - | - | - | - | - | 2.5Gb Switch |
## ☁️ Cloud Services
| Service | Use | Cost |
|-------------------------------------------|----------------------------------------------------------------|----------------------|
| [Pushover](https://pushover.net) | Alerts & Notifications | 5$ one-time purchase |
| [Cloudflare](https://www.cloudflare.com/) | Domain | Free |
| [GitHub](https://github.com/) | Hosting this repository and continuous integration/deployments | Free |
## 🖥️ Tech Stack
| | Name | Description |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------|--------------------------------------------------------------------------------------------------------|
|
| [Kubernetes](https://kubernetes.io/) | An open-source system for automating deployment, scaling, and management of containerized applications |
|
| [FluxCD](https://fluxcd.io/) | GitOps tool for deploying applications to Kubernetes |
|
| [Talos Linux](https://www.talos.dev/) | Talos Linux is Linux designed for Kubernetes |
|
| [Cilium](https://cilium.io/) | GitOps tool for deploying applications to Kubernetes |
|
| [containerd](https://containerd.io/) | Container runtime integrated with Talos Linux |
|
| [CoreDNS](https://coredns.io/) | A DNS server that operates via chained plugins |
|
| [Prometheus](https://prometheus.io) | Monitoring system and time series database |
|
| [Helm](https://helm.sh) | The Kubernetes package manager |
|
| [OpenEBS](https://openebs.io) | Container-attached storage |
|
| [OpenTelemetry](https://opentelemetry.io) | Making robust, portable telemetry a built in feature of cloud-native software. |
|
| [Cert Manager](https://cert-manager.io/) | X.509 certificate management for Kubernetes |
|
| [Grafana](https://grafana.com) | Analytics & monitoring solution for every database. |
|
| [Loki](https://grafana.com/oss/loki/) | Horizontally-scalable, highly-available, multi-tenant log aggregation system |