{"id":21180657,"url":"https://github.com/okwilkins/h8s","last_synced_at":"2026-05-20T02:50:22.687Z","repository":{"id":260692794,"uuid":"882062972","full_name":"okwilkins/h8s","owner":"okwilkins","description":"Homernetes is a Talos OS based K8s cluster for my homelab.","archived":false,"fork":false,"pushed_at":"2025-01-11T21:25:36.000Z","size":94,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-21T12:10:27.217Z","etag":null,"topics":["homelab","kubernetes","talos-linux"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/okwilkins.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-01T19:55:21.000Z","updated_at":"2025-01-11T21:25:39.000Z","dependencies_parsed_at":"2024-11-01T22:17:30.787Z","dependency_job_id":"59f09d94-8f34-4255-b30c-b21776d586bc","html_url":"https://github.com/okwilkins/h8s","commit_stats":null,"previous_names":["okwilkins/homehosted","okwilkins/h8s"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okwilkins%2Fh8s","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okwilkins%2Fh8s/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okwilkins%2Fh8s/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okwilkins%2Fh8s/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/okwilkins","download_url":"https://codeload.github.com/okwilkins/h8s/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243632407,"owners_count":20322382,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["homelab","kubernetes","talos-linux"],"created_at":"2024-11-20T17:45:46.502Z","updated_at":"2026-05-20T02:50:22.675Z","avatar_url":"https://github.com/okwilkins.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# H8s (Homernetes)\n\n[![Kubernetes](https://img.shields.io/badge/Kubernetes-v1.35-326CE5?style=for-the-badge\u0026logo=kubernetes\u0026logoColor=white)](https://kubernetes.io) [![Talos Linux](https://img.shields.io/badge/Talos-v1.13.0-00A3E0?style=for-the-badge\u0026logo=linux\u0026logoColor=white)](https://www.talos.dev) [![Cilium](https://img.shields.io/badge/Cilium-1.19.1-F8C517?style=for-the-badge\u0026logo=cilium\u0026logoColor=black)](https://cilium.io) [![ArgoCD](https://img.shields.io/badge/ArgoCD-9.4.7-EF7B4D?style=for-the-badge\u0026logo=argo\u0026logoColor=white)](https://argoproj.github.io/cd) [![Nix Flakes](https://img.shields.io/badge/Nix-Flakes-5277C3?style=for-the-badge\u0026logo=nixos\u0026logoColor=white)](https://nixos.org) [![Stars](https://img.shields.io/github/stars/okwilkins/h8s?style=for-the-badge\u0026logo=github\u0026color=brightgreen)](https://github.com/okwilkins/h8s/stargazers)\n\nH8s is a home infrastructure project that combines the power of Kubernetes with the security-first approach of Talos OS.\nThis project provides a my setup, designed specifically for home labs and personal cloud environments.\n\nThis cluster uses 2 N100 CPU-based mini PCs, both retrofitted with 32GB of RAM and 1TB of NVME SSDs. They are happily tucked away under my TV `:)`.\n\n## Motivations\n\nDoing a homelab Kubernetes cluster has been a source of a lot of joy for me personally. I got these mini PCs as I wanted to learn as much as possible when it came to:\n- Best DevOps and SWE practices.\n- Sharpen my Kubernetes skills (at work I heavily use Kubernetes).\n- Bring some of the stack back back within my control.\n- Self-host things that I find useful.\n\nMost importantly: ***I find it fun!*** It keeps me excited and hungry at work and on my other personal projects.\n\n## Features\n- Automated Bootstrap - 8-stage fully declaritive pipeline for complete cluster provisioning from bare metal in under 10 mins.\n- Container registry.\n- Home-wide ad blocker and DNS.\n- Internal certificate authority.\n- Routing to private services only accessible at home.\n- Secrets management.\n- Metric and log observability.\n- Full CI/CD capabilities.\n- Internet access to services via Cloudflare. Give these a try:\n    - [Excalidraw](https://draw.okwilkins.dev)\n    - [Grafana](https://grafana.okwilkins.dev)\n    - [Harbor](https://harbor.okwilkins.dev), you can pull from the `main` project here.\n- Postgres databases for internal services like Terraform and Harbor.\n- Full network encryption, observability, IPAM, kube-proxy replacement and L2 annoucements with Cilium.\n\n## Repo Structure\n\n```text\n├── applications\n│   ├── excalidraw                  | Self-hosted Excalidraw.\n│   └── searxng                     | Privacy-focused metasearch engine.\n├── ci-cd\n│   ├── argo-workflows              | CI/CD pipelines (WIP).\n│   ├── argocd                      | GitOps CD for Kubernetes resources.\n│   └── renovate                    | Automated dependency updates.\n├── images\n│   ├── coredns\n│   ├── terraform\n│   └── image-buildah\n├── infrastructure                  | Complete bootstrapping of the cluster with Proxmox and Talos + platform configuration.\n├── namespaces                      | Holds all namespaces for the cluster.\n├── networking\n│   ├── cert-manager                | Certificate controller for the self-hosted certificate authority.\n│   ├── cilium                      | The cluster's eBPF CNI.\n│   ├── cloudflared                 | Allows Cloudflare to ingress internet traffic in.\n│   ├── coredns                     | Home-wide DNS services and ad-blocking.\n│   └── gateways                    | Ingress and networking routing management.\n├── observability\n│   ├── grafana                     | Metrics and log observability.\n│   ├── loki                        | Log collection.\n│   ├── prometheus                  | Metrics collection.\n│   └── promtail                    | Log collection and shipping agent.\n├── security\n│   ├── cosign                      | Secrets to sign containers and binaries going to Harbor.\n│   ├── external-secrets-operator   | Takes secrets hosted internally with Vault and manages them inside the cluster.\n│   └── vault                       | Secrets storage and certificate authority.\n└── storage\n    ├── cloudnative-pg              | PostrgreSQL database management for various Applications.\n    ├── harbor                      | Container and binary registry.\n    └── longhorn                    | Cluster CSI.\n```\n\n## Getting Started\n\n### CLI Tools\n\nThis repo uses [Nix Flakes](https://nixos.wiki/wiki/flakes) to install all dependencies to run all commands and scripts. To get started:\n\n1. Enable experimental-features. Read the Nix Flakes wiki for more information.\n2. Run the following to drop into a shell with all dependencies:\n\n```bash\nnix shell\n```\n\n### Taskfile\n\nThe `Taskfile.yaml` is used for useful commands orchestration. To get a list of available functionality, within any directory of this repo run:\n\n```bash\ntask\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fokwilkins%2Fh8s","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fokwilkins%2Fh8s","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fokwilkins%2Fh8s/lists"}