{"id":15095583,"url":"https://github.com/Heavybullets8/heavy-ops","last_synced_at":"2025-09-26T18:31:59.238Z","repository":{"id":255245066,"uuid":"811535186","full_name":"Heavybullets8/heavy-ops","owner":"Heavybullets8","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-24T14:03:59.000Z","size":1017,"stargazers_count":4,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-24T14:33:06.641Z","etag":null,"topics":["fluxcd","gitops","helm","kubernetes","kubesearch","talos"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Heavybullets8.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-06-06T19:35:46.000Z","updated_at":"2024-10-24T13:47:25.000Z","dependencies_parsed_at":"2024-08-28T20:53:42.811Z","dependency_job_id":"ba5227d0-b662-4847-a463-cdb845018079","html_url":"https://github.com/Heavybullets8/heavy-ops","commit_stats":null,"previous_names":["heavybullets8/heavy-ops"],"tags_count":2,"template":false,"template_full_name":"onedr0p/cluster-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Heavybullets8%2Fheavy-ops","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Heavybullets8%2Fheavy-ops/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Heavybullets8%2Fheavy-ops/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Heavybullets8%2Fheavy-ops/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Heavybullets8","download_url":"https://codeload.github.com/Heavybullets8/heavy-ops/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234333924,"owners_count":18815845,"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":["fluxcd","gitops","helm","kubernetes","kubesearch","talos"],"created_at":"2024-09-25T15:01:52.277Z","updated_at":"2025-09-26T18:31:59.227Z","avatar_url":"https://github.com/Heavybullets8.png","language":"Python","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# My Home Operations Repository\n\n_... managed with Flux, SOPS, and GitHub Actions_ 🤖\n\n---\n\n## 📖 Overview\n\nThis repository contains the configuration for my home infrastructure and\nKubernetes cluster. I follow Infrastructure as Code (IaC) and GitOps practices\nusing tools like [Talos Linux](https://www.talos.dev/),\n[Kubernetes](https://kubernetes.io/), [Flux](https://github.com/fluxcd/flux2),\n[SOPS](https://github.com/mozilla/sops), and\n[GitHub Actions](https://github.com/features/actions).\n\n---\n\n## ⛵ Kubernetes\n\nMy Kubernetes cluster is deployed with [Talos Linux](https://www.talos.dev/) on\na single powerful node. For persistent storage, I use\n[OpenEBS HostPath](https://github.com/openebs/dynamic-localpv-provisioner) and\n[OpenEBS ZFS](https://github.com/openebs/zfs-localpv).\n\n### Core Components\n\n- [cert-manager](https://github.com/cert-manager/cert-manager): Automates the\n  creation and management of TLS certificates.\n- [cilium](https://github.com/cilium/cilium): Provides networking, security, and\n  observability for the cluster.\n- [external-secrets](https://github.com/external-secrets/external-secrets):\n  Syncs secrets from external APIs into Kubernetes.\n- [ingress-nginx](https://github.com/kubernetes/ingress-nginx): Acts as a\n  reverse proxy and load balancer for Kubernetes services.\n- [sops](https://github.com/mozilla/sops): Encrypts and manages secrets within\n  Git.\n\n### GitOps and Automation\n\n[Flux](https://github.com/fluxcd/flux2) monitors the `kubernetes` directory in\nthis repository and ensures the cluster state matches the configuration. Changes\npushed to the main branch are automatically applied to the cluster.\n\nI use [GitHub Actions](https://github.com/features/actions) for continuous\nintegration and deployment workflows, leveraging self-hosted GitHub runners\nwithin the cluster for execution.\n\n---\n\n## ☁️ Cloud Dependencies\n\nWhile the core infrastructure is self-hosted, I utilize a few cloud services for\ncritical functionalities:\n\n| Service                                   | Purpose                                           | Cost        |\n| ----------------------------------------- | ------------------------------------------------- | ----------- |\n| [Migadu](https://migadu.com/)             | Email hosting (also use this for business things) | ~$90/year   |\n| [Cloudflare](https://www.cloudflare.com/) | DNS, domain management and R2 bucket              | ~$8/month   |\n| [GitHub](https://github.com/)             | Repository hosting and CI/CD pipelines            | Free        |\n| [Pushover](https://pushover.net/)         | Application and system notifications              | $5 one-time |\n\n---\n\n## 🌐 DNS and Networking\n\nMy network is managed using a\n[UniFi Dream Machine Pro Max](https://store.ui.com/us/en/category/cloud-gateways-large-scale/products/udm-pro-max),\nwhich serves as the router, firewall, and DNS server for my home network.\n\n---\n\n## 🔧 Hardware\n\n### Kubernetes Node\n\n- **Case**: Fractal Design Torrent\n- **Motherboard**: ASUS Pro WS TRX50-SAGE\n- **CPU**: AMD Ryzen™ Threadripper™ 7970X (32 cores, 64 threads)\n- **RAM**: 192 GB (G.SKILL Zeta R5 NEO Series DDR5, 4× 48 GB)\n- **Boot Drive**: Intel Optane 905p 960 GB (formatted with XFS)\n- **Persistent Volumes**:\n  - 4× Intel Optane 905p 1.5 TB (configured as 2 mirrored VDEVs using ZFS)\n  - **Adapter**: GLOTRENDS PU41 Quad U.2 SSD to PCIe 4.0 X16\n- **GPU**: NVIDIA RTX 4000 ADA\n- **Cooling**: SilverStone Technology XE360-TR5 AIO cooler\n- **Power Supply**: FSP Twins Pro 900 W\n- **Network**:\n  - Mellanox X5 ADAT 25 Gb\n\n### NAS Server\n\n- **CPU**: AMD Ryzen Threadripper 3960X (24 cores, 48 threads)\n- **RAM**: 256 GB\n- **Storage**:\n  - **HDDs**: 12× 18 TB WD Red Pro (configured as 2 VDEVs in RAIDZ2)\n- **GPU**: NVIDIA Quadro P2200\n- **Power Supply**: FSP Twins Pro 900 W\n- **Network**:\n  - Mellanox X5 ADAT 25 Gb\n\n---\n\n## 🤝 Acknowledgments\n\nI would like to express my gratitude to the following resources and communities\nthat have significantly contributed to my home operations setup:\n\n- **[kubesearch.dev](https://kubesearch.dev/)**: Provided configuration examples\n  during my setup process.\n- **[onedr0p's cluster template](https://github.com/onedr0p/cluster-template)**:\n  Served as a bootstrap for my server configuration.\n- **[Home Operations Discord Community](https://discord.gg/home-operations)**: A\n  supportive community where I received valuable advice and shared experiences.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FHeavybullets8%2Fheavy-ops","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FHeavybullets8%2Fheavy-ops","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FHeavybullets8%2Fheavy-ops/lists"}