{"adoption": {"forks": 441, "observed_at": "2026-08-28T04:09:11.136472+00:00", "stars": 5140}, "canonical_url": "https://ross.abutalabs.com/products/harvester", "card": {"archived": false, "artifact_type": "application", "description": "Open source hyperconverged infrastructure (HCI) software", "domain": ["infrastructure-as-code", "cloud-computing"], "enriched": true, "function": ["container-orchestration", "self-hosted", "deployment", "developer-tools"], "health_score": 100, "homepage": "https://harvesterhci.io/", "language": "Go", "license": "Apache-2.0", "license_family": "permissive", "maturity": "stable", "member_repos": ["harvester/harvester"], "name": "harvester/harvester", "platform": ["self-hosted", "go"], "pushed_at": "2026-08-26T13:05:56+00:00", "repo": "harvester/harvester", "stars": 5140, "tags": ["hyperconverged-infrastructure", "hci", "virtualization", "kubevirt", "longhorn", "bare-metal", "rancher", "vm-management", "distributed-storage", "devops", "linux", "kubernetes"], "topics": ["harvester", "kubernetes", "virtualization"], "urls": [], "use_cases": ["run virtual machines on bare metal servers with a cloud-native stack", "replace proprietary HCI solutions like VMware vSphere with an open-source alternative", "manage VMs and containers from a single Kubernetes-based platform", "set up edge infrastructure with lightweight hyperconverged clusters", "back up, snapshot, and restore VMs to NFS or S3 storage", "live-migrate VMs between hosts with zero downtime", "run Kubernetes clusters inside VMs on top of Harvester"], "what_it_is": "Harvester is an open-source hyperconverged infrastructure (HCI) solution built on Kubernetes that runs on bare metal servers, providing integrated virtualization (via KubeVirt) and distributed block storage (via Longhorn). It offers VM lifecycle management, live migration, backup/restore, and networking, with integration into Rancher for unified container and VM workload management.", "when_to_avoid": ["you only need container orchestration without virtual machines - plain Kubernetes suffices", "you require advanced enterprise storage features like replication across geographically distant sites", "your hardware lacks virtualization support (KVM) or you run on public cloud VMs", "you need a mature desktop or client OS virtualization experience rather than datacenter infrastructure"], "when_to_choose": ["you want a free, open-source HCI platform built on Linux, KVM, Kubernetes, KubeVirt, and Longhorn", "you need to unify legacy VM workloads with containerized workloads on bare metal", "you want to use the Kubernetes API to manage both VMs and containers", "you operate at the edge or datacenter and prefer direct-attached storage over SANs", "you already use Rancher and want integrated virtualization management"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/harvester", "repo": "harvester/harvester", "role": "main", "score": 94}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.136472+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:02:00.258707+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06d66f67d221ece6ffbdda4283e75b9896f4ac8a7c10611aa3a74a0af64fc2bb", "fetched_at": "2026-08-28T04:09:11.136472+00:00", "kind": "readme", "missing": false, "url": "https://github.com/harvester/harvester"}, {"content_hash": "ea5035e3f8232c9489aad9a4ff5f7aa03a8d4e86ffad6c1d976e642b786dccda", "fetched_at": "2026-08-29T08:56:25.182973+00:00", "kind": "homepage", "missing": false, "url": "https://harvesterhci.io/"}, {"content_hash": "2272455c87275c9a283140b8104231741fc956bb5deed5b344f4ed07cf273bba", "fetched_at": "2026-08-29T08:56:25.192858+00:00", "kind": "site_page", "missing": false, "url": "https://docs.harvesterhci.io/"}, {"content_hash": "2272455c87275c9a283140b8104231741fc956bb5deed5b344f4ed07cf273bba", "fetched_at": "2026-08-29T08:56:25.194980+00:00", "kind": "site_page", "missing": false, "url": "https://docs.harvesterhci.io"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.136472+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:02:00.258707+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06d66f67d221ece6ffbdda4283e75b9896f4ac8a7c10611aa3a74a0af64fc2bb", "fetched_at": "2026-08-28T04:09:11.136472+00:00", "kind": "readme", "missing": false, "url": "https://github.com/harvester/harvester"}, {"content_hash": "ea5035e3f8232c9489aad9a4ff5f7aa03a8d4e86ffad6c1d976e642b786dccda", "fetched_at": "2026-08-29T08:56:25.182973+00:00", "kind": "homepage", "missing": false, "url": "https://harvesterhci.io/"}, {"content_hash": "2272455c87275c9a283140b8104231741fc956bb5deed5b344f4ed07cf273bba", "fetched_at": "2026-08-29T08:56:25.192858+00:00", "kind": "site_page", "missing": false, "url": "https://docs.harvesterhci.io/"}, {"content_hash": "2272455c87275c9a283140b8104231741fc956bb5deed5b344f4ed07cf273bba", "fetched_at": "2026-08-29T08:56:25.194980+00:00", "kind": "site_page", "missing": false, "url": "https://docs.harvesterhci.io"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:02:00.258707+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06d66f67d221ece6ffbdda4283e75b9896f4ac8a7c10611aa3a74a0af64fc2bb", "fetched_at": "2026-08-28T04:09:11.136472+00:00", "kind": "readme", "missing": false, "url": "https://github.com/harvester/harvester"}, {"content_hash": "ea5035e3f8232c9489aad9a4ff5f7aa03a8d4e86ffad6c1d976e642b786dccda", "fetched_at": "2026-08-29T08:56:25.182973+00:00", "kind": "homepage", "missing": false, "url": "https://harvesterhci.io/"}, {"content_hash": "2272455c87275c9a283140b8104231741fc956bb5deed5b344f4ed07cf273bba", "fetched_at": "2026-08-29T08:56:25.192858+00:00", "kind": "site_page", "missing": false, "url": "https://docs.harvesterhci.io/"}, {"content_hash": "2272455c87275c9a283140b8104231741fc956bb5deed5b344f4ed07cf273bba", "fetched_at": "2026-08-29T08:56:25.194980+00:00", "kind": "site_page", "missing": false, "url": "https://docs.harvesterhci.io"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.136472+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.136472+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.136472+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:02:00.258707+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06d66f67d221ece6ffbdda4283e75b9896f4ac8a7c10611aa3a74a0af64fc2bb", "fetched_at": "2026-08-28T04:09:11.136472+00:00", "kind": "readme", "missing": false, "url": "https://github.com/harvester/harvester"}, {"content_hash": "ea5035e3f8232c9489aad9a4ff5f7aa03a8d4e86ffad6c1d976e642b786dccda", "fetched_at": "2026-08-29T08:56:25.182973+00:00", "kind": "homepage", "missing": false, "url": "https://harvesterhci.io/"}, {"content_hash": "2272455c87275c9a283140b8104231741fc956bb5deed5b344f4ed07cf273bba", "fetched_at": "2026-08-29T08:56:25.192858+00:00", "kind": "site_page", "missing": false, "url": "https://docs.harvesterhci.io/"}, {"content_hash": "2272455c87275c9a283140b8104231741fc956bb5deed5b344f4ed07cf273bba", "fetched_at": "2026-08-29T08:56:25.194980+00:00", "kind": "site_page", "missing": false, "url": "https://docs.harvesterhci.io"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.136472+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.136472+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:02:00.258707+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06d66f67d221ece6ffbdda4283e75b9896f4ac8a7c10611aa3a74a0af64fc2bb", "fetched_at": "2026-08-28T04:09:11.136472+00:00", "kind": "readme", "missing": false, "url": "https://github.com/harvester/harvester"}, {"content_hash": "ea5035e3f8232c9489aad9a4ff5f7aa03a8d4e86ffad6c1d976e642b786dccda", "fetched_at": "2026-08-29T08:56:25.182973+00:00", "kind": "homepage", "missing": false, "url": "https://harvesterhci.io/"}, {"content_hash": "2272455c87275c9a283140b8104231741fc956bb5deed5b344f4ed07cf273bba", "fetched_at": "2026-08-29T08:56:25.192858+00:00", "kind": "site_page", "missing": false, "url": "https://docs.harvesterhci.io/"}, {"content_hash": "2272455c87275c9a283140b8104231741fc956bb5deed5b344f4ed07cf273bba", "fetched_at": "2026-08-29T08:56:25.194980+00:00", "kind": "site_page", "missing": false, "url": "https://docs.harvesterhci.io"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.136472+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.136472+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.136472+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:02:00.258707+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06d66f67d221ece6ffbdda4283e75b9896f4ac8a7c10611aa3a74a0af64fc2bb", "fetched_at": "2026-08-28T04:09:11.136472+00:00", "kind": "readme", "missing": false, "url": "https://github.com/harvester/harvester"}, {"content_hash": "ea5035e3f8232c9489aad9a4ff5f7aa03a8d4e86ffad6c1d976e642b786dccda", "fetched_at": "2026-08-29T08:56:25.182973+00:00", "kind": "homepage", "missing": false, "url": "https://harvesterhci.io/"}, {"content_hash": "2272455c87275c9a283140b8104231741fc956bb5deed5b344f4ed07cf273bba", "fetched_at": "2026-08-29T08:56:25.192858+00:00", "kind": "site_page", "missing": false, "url": "https://docs.harvesterhci.io/"}, {"content_hash": "2272455c87275c9a283140b8104231741fc956bb5deed5b344f4ed07cf273bba", "fetched_at": "2026-08-29T08:56:25.194980+00:00", "kind": "site_page", "missing": false, "url": "https://docs.harvesterhci.io"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.136472+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:11.136472+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:02:00.258707+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06d66f67d221ece6ffbdda4283e75b9896f4ac8a7c10611aa3a74a0af64fc2bb", "fetched_at": "2026-08-28T04:09:11.136472+00:00", "kind": "readme", "missing": false, "url": "https://github.com/harvester/harvester"}, {"content_hash": "ea5035e3f8232c9489aad9a4ff5f7aa03a8d4e86ffad6c1d976e642b786dccda", "fetched_at": "2026-08-29T08:56:25.182973+00:00", "kind": "homepage", "missing": false, "url": "https://harvesterhci.io/"}, {"content_hash": "2272455c87275c9a283140b8104231741fc956bb5deed5b344f4ed07cf273bba", "fetched_at": "2026-08-29T08:56:25.192858+00:00", "kind": "site_page", "missing": false, "url": "https://docs.harvesterhci.io/"}, {"content_hash": "2272455c87275c9a283140b8104231741fc956bb5deed5b344f4ed07cf273bba", "fetched_at": "2026-08-29T08:56:25.194980+00:00", "kind": "site_page", "missing": false, "url": "https://docs.harvesterhci.io"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:02:00.258707+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06d66f67d221ece6ffbdda4283e75b9896f4ac8a7c10611aa3a74a0af64fc2bb", "fetched_at": "2026-08-28T04:09:11.136472+00:00", "kind": "readme", "missing": false, "url": "https://github.com/harvester/harvester"}, {"content_hash": "ea5035e3f8232c9489aad9a4ff5f7aa03a8d4e86ffad6c1d976e642b786dccda", "fetched_at": "2026-08-29T08:56:25.182973+00:00", "kind": "homepage", "missing": false, "url": "https://harvesterhci.io/"}, {"content_hash": "2272455c87275c9a283140b8104231741fc956bb5deed5b344f4ed07cf273bba", "fetched_at": "2026-08-29T08:56:25.192858+00:00", "kind": "site_page", "missing": false, "url": "https://docs.harvesterhci.io/"}, {"content_hash": "2272455c87275c9a283140b8104231741fc956bb5deed5b344f4ed07cf273bba", "fetched_at": "2026-08-29T08:56:25.194980+00:00", "kind": "site_page", "missing": false, "url": "https://docs.harvesterhci.io"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:02:00.258707+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06d66f67d221ece6ffbdda4283e75b9896f4ac8a7c10611aa3a74a0af64fc2bb", "fetched_at": "2026-08-28T04:09:11.136472+00:00", "kind": "readme", "missing": false, "url": "https://github.com/harvester/harvester"}, {"content_hash": "ea5035e3f8232c9489aad9a4ff5f7aa03a8d4e86ffad6c1d976e642b786dccda", "fetched_at": "2026-08-29T08:56:25.182973+00:00", "kind": "homepage", "missing": false, "url": "https://harvesterhci.io/"}, {"content_hash": "2272455c87275c9a283140b8104231741fc956bb5deed5b344f4ed07cf273bba", "fetched_at": "2026-08-29T08:56:25.192858+00:00", "kind": "site_page", "missing": false, "url": "https://docs.harvesterhci.io/"}, {"content_hash": "2272455c87275c9a283140b8104231741fc956bb5deed5b344f4ed07cf273bba", "fetched_at": "2026-08-29T08:56:25.194980+00:00", "kind": "site_page", "missing": false, "url": "https://docs.harvesterhci.io"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:02:00.258707+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "06d66f67d221ece6ffbdda4283e75b9896f4ac8a7c10611aa3a74a0af64fc2bb", "fetched_at": "2026-08-28T04:09:11.136472+00:00", "kind": "readme", "missing": false, "url": "https://github.com/harvester/harvester"}, {"content_hash": "ea5035e3f8232c9489aad9a4ff5f7aa03a8d4e86ffad6c1d976e642b786dccda", "fetched_at": "2026-08-29T08:56:25.182973+00:00", "kind": "homepage", "missing": false, "url": "https://harvesterhci.io/"}, {"content_hash": "2272455c87275c9a283140b8104231741fc956bb5deed5b344f4ed07cf273bba", "fetched_at": "2026-08-29T08:56:25.192858+00:00", "kind": "site_page", "missing": false, "url": "https://docs.harvesterhci.io/"}, {"content_hash": "2272455c87275c9a283140b8104231741fc956bb5deed5b344f4ed07cf273bba", "fetched_at": "2026-08-29T08:56:25.194980+00:00", "kind": "site_page", "missing": false, "url": "https://docs.harvesterhci.io"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 84}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2241, "days_push": 7, "days_rel": 26, "gap_med": 45.0, "n_releases_24m": 17}, "score": 94, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}