Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/oscaromeu/home-ops
A mono repository for my homelab infrastructure and Kubernetes cluster which adheres to Infrastructure as Code (IaC) and GitOps practices where possible
https://github.com/oscaromeu/home-ops
ansible flux gitops homelab k3s k8s-at-home kubernetes logging monitoring observability renovate selfhosted terraform tracing
Last synced: 3 months ago
JSON representation
A mono repository for my homelab infrastructure and Kubernetes cluster which adheres to Infrastructure as Code (IaC) and GitOps practices where possible
- Host: GitHub
- URL: https://github.com/oscaromeu/home-ops
- Owner: oscaromeu
- License: mit
- Created: 2021-10-12T06:36:28.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-13T18:07:03.000Z (7 months ago)
- Last Synced: 2024-04-14T00:59:49.989Z (7 months ago)
- Topics: ansible, flux, gitops, homelab, k3s, k8s-at-home, kubernetes, logging, monitoring, observability, renovate, selfhosted, terraform, tracing
- Language: Jinja
- Homepage: https://homelab.oscaromeu.io
- Size: 33.9 MB
- Stars: 18
- Watchers: 1
- Forks: 3
- Open Issues: 104
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ๐ก ๐งช Home Lab
## ๐ Overview
This mono repository houses the infrastructure for my homelab. I try to adhere to Infrastructure as Code (IaC) and GitOps practices using tools like [Ansible](https://www.ansible.com/), [Terraform](https://www.terraform.io/), [Kubernetes](https://kubernetes.io/), [Flux](https://github.com/fluxcd/flux2), [Renovate](https://github.com/renovatebot/renovate) and [GitHub Actions](https://github.com/features/actions).
## โต How to get started
There is a template over at [onedr0p/flux-cluster-template](https://github.com/onedr0p/flux-cluster-template) if you want to try and follow along with some of the practices I use here.
## ๐จ Cluster components
+ [actions-runner-controller](https://github.com/actions/actions-runner-controller): Self-hosted Github runners
+ [cert-manager](https://cert-manager.io/docs/): Creates SSL certificates for services in my k3s cluster.
+ [cilium](https://cilium.io/get-started/): Internal Kubernetes networking plugin.
+ [external-dns](https://github.com/kubernetes-sigs/external-dns): Automatically manages DNS records from my cluster in a cloud DNS provider.
+ [external-secrets](https://github.com/external-secrets/external-secrets/): Managed Kubernetes secrets using [Doppler](https://www.doppler.com).
+ [ingress-nginx](https://github.com/kubernetes/ingress-nginx/): Ingress controller to expose HTTP traffic to pods over DNS.
+ [Rook](https://rook.io): Distributed block storage for persistent storage.
+ [sops](https://github.com/mozilla/sops): Managed secrets for Kubernetes, Ansible and Terraform which are commited to Git.
+ [volsync](https://volsync.readthedocs.io/en/stable/) and [snapscheduler](https://backube.github.io/snapscheduler/): Backup and recovery of persistent volume claims.... and more!
## ๐๏ธ Hardware
## Production Nodes
| Device | Count | Specs | OS | Purpose |
|--------------------|-------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------|---------|
| MinisForum um350 | 1 | **RAM** `32GB`
**M.2 SSD** `500GB`
**HDD SSD** `500GB` | Ubuntu 22.04.4 LTS | Control Plane |
| MinisForum um350 | 1 | **RAM** `32GB`
**M.2 SSD** `500GB`
**HDD SSD** `500GB` | Ubuntu 22.04.4 LTS | Data Plane |
| Minisforum um560 | 1 | **RAM** `32GB`
**M.2 SSD** `1TB`
**HDD SSD** `500GB` | Ubuntu 22.04.4 LTS | Data Plane |## Staging Nodes
| Device | Count | Specs | OS | Purpose |
|--------------------|-------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------|---------|
| Turing Pi RK1 | 3 | **RAM** `16GB`
**M.2 SSD** `500GB`| Ubuntu 22.04 LTS | Development & Staging |## Infrastructure
| Device | Count | Specs | OS | Purpose |
|--------------------|-------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|---------|
| Turing Pi RK1 | 1 | **RAM** `16GB`
**M.2 SSD** `500GB`
**HDD** `1TB` | - | DNS Server |
| Turing Pi Board V2 | 1 | - | - | - |
| Unifi UDM Pro | 1 | - | - | 10Gb Core Switch + Router + FW |
| Unifi Lite 8 PoE | 1 | - | - | Switch |
| Mac Mini | 1 | **RAM** `8GB`
**M.2 SSD** `256GB` | - | TBD |## ๐ Changelog
See my _awful_ commit [main history](https://github.com/oscaromeu/home-ops/commits/main) and [legacy history](https://github.com/oscaromeu/home-ops/tree/d75a6360586de8b5b5c4ff6b553b7512cfea5007)
## :handshake:ย Gratitude and thanks
Thanks all the people of [Home Operations](https://discord.gg/home-operations) Discord community who put a lot of effort and donate their time to the community.
## ๐ License
See [LICENSE](./LICENSE) v.g WTF License