{"id":29187965,"url":"https://github.com/serpro69/ktchn8s","last_synced_at":"2025-07-01T22:07:48.741Z","repository":{"id":301122766,"uuid":"991557244","full_name":"serpro69/Ktchn8s","owner":"serpro69","description":"Home-cooked k8s ☸ homelab that just works ⚛ ...served hot ♨ Don’t burn the nodes! 👾","archived":false,"fork":false,"pushed_at":"2025-06-25T08:52:05.000Z","size":13152,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-06-25T09:26:07.930Z","etag":null,"topics":["argocd","gitops","homelab","homelabbing","k3s","k8s","kubernetes","metal","self-hosted"],"latest_commit_sha":null,"homepage":"https://serpro69.github.io/Ktchn8s/","language":"Makefile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/serpro69.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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,"zenodo":null}},"created_at":"2025-05-27T20:05:49.000Z","updated_at":"2025-06-25T08:25:26.000Z","dependencies_parsed_at":"2025-06-25T09:36:55.508Z","dependency_job_id":null,"html_url":"https://github.com/serpro69/Ktchn8s","commit_stats":null,"previous_names":["serpro69/ktchn8s"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/serpro69/Ktchn8s","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serpro69%2FKtchn8s","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serpro69%2FKtchn8s/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serpro69%2FKtchn8s/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serpro69%2FKtchn8s/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/serpro69","download_url":"https://codeload.github.com/serpro69/Ktchn8s/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/serpro69%2FKtchn8s/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263042354,"owners_count":23404459,"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":["argocd","gitops","homelab","homelabbing","k3s","k8s","kubernetes","metal","self-hosted"],"created_at":"2025-07-01T22:07:46.766Z","updated_at":"2025-07-01T22:07:48.677Z","avatar_url":"https://github.com/serpro69.png","language":"Makefile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ktchn8s\n\n\u003cdiv markdown=\"1\" style=\"text-align: center; font-size: 1.2em;\"\u003e\n\n_...there's no place like_ `~`\n\n\u003cb\u003e🚧 Fork in progress, expect some dust 🚧\u003c/b\u003e\n\n[![github-tag](https://img.shields.io/github/v/tag/serpro69/ktchn8s?style=for-the-badge\u0026logo=semver\u0026logoColor=white)](https://github.com/serpro69/ktchn8s/tags)\n[![github-license](https://img.shields.io/github/license/serpro69/ktchn8s?style=for-the-badge\u0026logo=unlicense\u0026logoColor=white)](https://opensource.org/license/mit)\n[![github-stars](https://img.shields.io/github/stars/serpro69/ktchn8s?logo=github\u0026logoColor=white\u0026color=gold\u0026style=for-the-badge)](https://github.com/serpro69/ktchn8s)\n[![website](https://img.shields.io/website?label=docs\u0026logo=gitbook\u0026logoColor=white\u0026style=for-the-badge\u0026url=https%3A%2F%2Fserpro69.github.io/ktchn8s)](https://serpro69.github.io/ktchn8s)\n\n\u003c/div\u003e\n\n\u003e `/ˈkɪtʃ.ən.eɪts/` (“Kitch-en-ates”)\n\nA K8s ☸️ homelab cluster 👾\n\u003cbr\u003e...right in your kitchen 🚀💥\n\n\u003cdiv markdown=\"1\" style=\"text-align: center; font-size: 2em;\"\u003e\n\n**[:material-star-circle-outline: Features](#features) ⟩ [:material-rocket-launch: Getting Started](#getting-started) ⟩ [:material-file-document-multiple: Documentation](https://serpro69.github.io/ktchn8s)**\n\n\u003c/div\u003e\n\n---\n\n## About\n\nThis project utilizes [Infrastructure as Code](https://en.wikipedia.org/wiki/Infrastructure_as_code) and [GitOps](https://www.weave.works/technologies/gitops) to automate provisioning, operating, and updating self-hosted services in my homelab.\nIt can also be used as a framework to build your own homelab.\n\nIf you encounter an issue or want to contribute a fix or an improvement, please create [a bug issue](https://github.com/serpro69/ktchn8s/issues/new?template=bug.md).\n\u003cbr\u003eIf you have a question or want to chat about this project, please create [a new discussion](https://github.com/serpro69/ktchn8s/discussions/new/choose).\n\n## Overview\n\nThis project is still in the experimental stage. This means, among other things, that:\n\n- There might be breaking changes that may require a complete redeployment.\n- A proper upgrade path is planned for the stable release.\n\nMore information can be found in the [roadmap](https://serpro69.github.io/ktchn8s/info/roadmap/).\n\n### Hardware\n\n![PXL_20250627_134343069_21](https://github.com/user-attachments/assets/7a5c9ce3-c1de-4d23-a5a6-796e0e08a2ec)\n\n- Network:\n    - Cisco C1111-8P Router\n    - Cisco C3560-GS-8P Switch\n    - Eero 6 Router (used as access-point for WiFi at home)\n- Servers:\n    - 3 × Lenovo Tiny M70q Gen.3\n        - CPU: `Intel Core i5-12400T`\n        - RAM: `16GB DDR4`\n        - SSD: `256GB`\n    - 2 × Lenovo Tiny M70q Gen.2\n        - CPU: `Intel Core i5-11400T`\n        - RAM: `16GB DDR4`\n        - SSD: `256GB`\n    - 7 × Lenovo Tiny M720q\n        - CPU: `Intel Core i5-8100T`\n        - RAM: `16GB`\n        - SSD: `512GB`\n\n### Features\n\n- [x] Common applications: Gitea, Jellyfin, Paperless...\n- [x] Automated bare metal provisioning with PXE boot\n- [x] Automated Kubernetes installation and management\n- [x] Installing and managing applications using GitOps\n- [x] Automatic rolling upgrade for OS and Kubernetes\n- [ ] Automatically update apps (with approval)\n- [x] Modular architecture, easy to add or remove features/components\n- [x] Automated certificate management\n- [x] Automatically update DNS records for exposed services\n- [ ] VPN (Tailscale or Wireguard)\n- [x] Expose services to the internet securely with [Cloudflare Tunnel](https://www.cloudflare.com/products/tunnel/)\n- [x] CI/CD platform\n- [x] Private container registry\n- [ ] Distributed storage\n- [ ] Support multiple environments (dev, prod)\n- [ ] Monitoring and alerting\n- [ ] Automated backup and restore\n- [x] Single sign-on\n- [x] Infrastructure testing\n\nSome demo videos and screenshots are shown here.\nThey can't capture all the project's features, but they are sufficient to get a concept of it.\n\n| Demo                                                                                                            |\n| :--:                                                                                                            |\n| Homepage powered by... [Homepage](https://gethomepage.dev)                                                      |\n| [![][homepage-demo]][homepage-demo]                                                                             |\n| Git server powered by [Gitea](https://gitea.io/en-us)                                                           |\n| [![][gitea-demo]][gitea-demo]                                                                                   |\n| Continuous deployment with [ArgoCD](https://argoproj.github.io/cd)                                              |\n| [![][argocd-demo]][argocd-demo]                                                                                 |\n\n[homepage-demo]: https://github.com/user-attachments/assets/8b2680c1-53e1-47c5-818d-08d3502f144b\n[gitea-demo]: https://github.com/user-attachments/assets/f3775815-6c55-4086-b15a-8e0562e5d6a6\n[argocd-demo]: https://github.com/user-attachments/assets/bdd91804-2e10-4910-8cf6-afa15e433178\n\n## Getting Started\n\n[Deploy on real hardware](https://serpro69.github.io/ktchn8s/installation/production) for production workload.\n\n## Roadmap\n\nSee [roadmap](https://serpro69.github.io/ktchn8s/info/roadmap/) and [open issues](https://github.com/serpro69/ktchn8s/issues) for a list of proposed features and known issues.\n\n## Contributing\n\nAny contributions you make are greatly appreciated.\n\nPlease see [contributing guide](https://serpro69.github.io/ktchn8s/info/contributing/) for more information.\n\n## License\n\nCopyright \u0026copy; 2025 - present, [serpro69](https://github.com/serpro69)\n\nDistributed under the MIT License.\nSee [license page](https://serpro69.github.io/ktchn8s/info/license) or [`LICENSE.md`](https://github.com/serpro69/ktchn8s/blob/master/LICENSE.md) file for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserpro69%2Fktchn8s","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fserpro69%2Fktchn8s","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fserpro69%2Fktchn8s/lists"}