{"id":37395313,"url":"https://github.com/muspelheim/microk8s-gitops","last_synced_at":"2026-01-16T05:36:33.556Z","repository":{"id":37011647,"uuid":"436455873","full_name":"muspelheim/microk8s-gitops","owner":"muspelheim","description":"Home Cloud via Flux v2 | GitOps Toolkit. Leverage Flux2 to automate cluster state using code residing in this repo.","archived":false,"fork":false,"pushed_at":"2025-11-27T16:56:29.000Z","size":856,"stargazers_count":8,"open_issues_count":12,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-28T07:09:27.833Z","etag":null,"topics":["flux2","gitops","helm","helm-chart","home-assistant","kubernetes","smarthome"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/muspelheim.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-12-09T02:20:47.000Z","updated_at":"2024-10-17T20:52:10.000Z","dependencies_parsed_at":"2023-09-27T04:49:17.988Z","dependency_job_id":"d0bed7ac-9763-4dbd-bfee-a3a0f77b49f0","html_url":"https://github.com/muspelheim/microk8s-gitops","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/muspelheim/microk8s-gitops","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muspelheim%2Fmicrok8s-gitops","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muspelheim%2Fmicrok8s-gitops/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muspelheim%2Fmicrok8s-gitops/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muspelheim%2Fmicrok8s-gitops/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/muspelheim","download_url":"https://codeload.github.com/muspelheim/microk8s-gitops/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/muspelheim%2Fmicrok8s-gitops/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28477363,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T03:13:13.607Z","status":"ssl_error","status_checked_at":"2026-01-16T03:11:47.863Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["flux2","gitops","helm","helm-chart","home-assistant","kubernetes","smarthome"],"created_at":"2026-01-16T05:36:32.767Z","updated_at":"2026-01-16T05:36:33.510Z","avatar_url":"https://github.com/muspelheim.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://camo.githubusercontent.com/bd0df216af51c1525f14e62155608e448562cb4033554e001a0ac2009e545aec/68747470733a2f2f726173706265726e657465732e6769746875622e696f2f696d672f6c6f676f2e737667\" align=\"left\" width=\"144px\" height=\"144px\"/\u003e\n\n## microk8s-gitops - Home Cloud via Flux v2 | GitOps Toolkit\n\u003e GitOps state for my home lab cluster using [flux2](https://github.com/fluxcd/flux2)\n\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\u0026logoColor=white\u0026style=flat-square)](https://github.com/pre-commit/pre-commit)\n[![renovate](https://github.com/angelnu/k8s-gitops/workflows/renovate/badge.svg)](https://github.com/angelnu/k8s-gitop/workflows/renovate-annotations-schedule/actions)\n[![update-flux](https://github.com/angelnu/k8s-gitops/workflows/update-flux/badge.svg)](https://github.com/angelnu/k8s-gitop/workflows/flux-update-schedule/actions)\n\u003cbr /\u003e\nLeverage Flux2 to automate cluster state using code residing in this repo.\n\n---\n\n## :open_file_folder:\u0026nbsp; Repository structure\n\nThe Git repository contains the following directories under `cluster` and are ordered below by how Flux will apply them.\n\n- **base** directory is the entrypoint to Flux\n- **crds** directory contains custom resource definitions (CRDs) that need to exist globally in your cluster before anything else exists\n- **core** directory (depends on **crds**) are important infrastructure applications (grouped by namespace) that should never be pruned by Flux\n- **apps** directory (depends on **core**) is where your common applications (grouped by namespace) could be placed, Flux will prune resources here if they are not tracked by Git anymore\n\n```\n.\n├── cluster\n│   ├── apps\n│   │   ├── default\n│   │   │   └── hajimari\n│   │   ├── home\n│   │   │   ├── adguard-home\n│   │   │   ├── esphome\n│   │   │   ├── focalboard\n│   │   │   ├── home-assistant\n│   │   │   ├── mosquitto\n│   │   │   └── zigbee2mqtt\n│   │   └── networking\n│   │       ├── authelia\n│   │       └── linkerd\n│   ├── base\n│   │   └── flux-system\n│   ├── core\n│   │   ├── cert-manager\n│   │   ├── kubed\n│   │   ├── metallb-system\n│   │   └── namespaces\n│   └── crds\n│       └── cert-manager\n│       └── metallb\n└── standalone\n    └── adguard\n```\n\n---\n\n## :gear:\u0026nbsp; Hardware\n\nDell Optiplex 7090 Micro as a core server with the following specs:\n* Intel Core i5-10500T\n* 32GB RAM\n* 512 NVMe SSD\n* 1TB SSD\n* Zigbee USB stick (CC2538)\n\nx3 Raspberry Pi 3B+ as edge devices with the following specs:\n* 1GB RAM\n* 32GB SD Card\n\nBunch of Zigbee and BLE devices.\n\n---\n\n## :wrench:\u0026nbsp; Tools\n\nBelow are some of the tools I find useful\n\n| Tool                                                   | Purpose                                               |\n|--------------------------------------------------------|-------------------------------------------------------|\n| [sops](https://github.com/mozilla/sops)                | Simple and flexible tool for managing secrets         |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | Ensure the YAML and shell script in my repo are consistent |\n| [task](https://taskfile.dev/)                          | Task is a task runner / build tool|                  |\n\n---\n\n## :handshake:\u0026nbsp; Thanks!\n\nA lot of inspiration for my cluster came from the people that have shared their clusters over at [awesome-home-kubernetes](https://github.com/k8s-at-home/awesome-home-kubernetes)\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuspelheim%2Fmicrok8s-gitops","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmuspelheim%2Fmicrok8s-gitops","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmuspelheim%2Fmicrok8s-gitops/lists"}