{"adoption": {"forks": 89, "observed_at": "2026-08-28T04:05:41.899544+00:00", "stars": 1831}, "canonical_url": "https://ross.abutalabs.com/products/corrosion", "card": {"archived": false, "artifact_type": "service", "description": "Gossip-based service discovery (and more) for large distributed systems.", "domain": ["microservices", "databases", "networking", "infrastructure-as-code", "self-hosted"], "enriched": true, "function": ["database", "service-discovery", "http-server", "cli", "streaming", "caching"], "health_score": 99, "homepage": "https://superfly.github.io/corrosion/", "language": "Rust", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["superfly/corrosion"], "name": "superfly/corrosion", "platform": ["rust", "self-hosted", "cross-platform"], "pushed_at": "2026-08-26T13:27:13+00:00", "repo": "superfly/corrosion", "stars": 1831, "tags": ["gossip-protocol", "swim", "crdt", "sqlite", "quic", "eventual-consistency", "cluster-membership", "consul-replacement", "linux", "macos"], "topics": ["database", "distributed", "distributed-systems", "gossip", "rust", "sqlite", "swim"], "urls": [], "use_cases": ["service discovery across a large global network without a central state store", "replace Consul's central database with eventually consistent distributed state", "read cluster state locally with sub-millisecond latency instead of remote round-trips", "subscribe to SQL query results over HTTP streaming for live config updates", "populate configuration files from distributed state with Rhai templates", "run a multi-writer SQLite database that syncs across many nodes"], "what_it_is": "Corrosion is a Rust-based distributed system that propagates SQLite state across a cluster using gossip (SWIM membership via Foca) and CRDT conflict resolution (CR-SQLite). Each node runs an agent exposing a local HTTP API for SQL reads/writes, query subscriptions, and QUIC-secured peer-to-peer sync.", "when_to_avoid": ["you need strong/serializable consistency guarantees rather than eventual consistency", "your cluster is small enough that a conventional database or Consul works fine", "you need a general-purpose relational database with full SQLite feature coverage", "you require mature, battle-tested documentation and a large community"], "when_to_choose": ["you need fast, eventually consistent shared state across a large fleet of hosts", "round-trips to a centralized Raft-based store like Consul are too slow for your use case", "you want flexible schemas and SQL queries with local reads on every node", "you need live subscriptions to state changes for config generation"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/corrosion", "repo": "superfly/corrosion", "role": "main", "score": 91}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.899544+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:19:13.397797+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a2e31b9fb298e2827d491398e92ad15052dc7b4c1fa0010bcbfa69606fe6e9a4", "fetched_at": "2026-08-28T04:05:41.899544+00:00", "kind": "readme", "missing": false, "url": "https://github.com/superfly/corrosion"}, {"content_hash": "4f5d8297d2da6e9bca8dec169d2acd16ce8ea808fb0b40499d8daa72f7e347a6", "fetched_at": "2026-08-29T10:58:00.758444+00:00", "kind": "homepage", "missing": false, "url": "https://superfly.github.io/corrosion/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.899544+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:19:13.397797+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a2e31b9fb298e2827d491398e92ad15052dc7b4c1fa0010bcbfa69606fe6e9a4", "fetched_at": "2026-08-28T04:05:41.899544+00:00", "kind": "readme", "missing": false, "url": "https://github.com/superfly/corrosion"}, {"content_hash": "4f5d8297d2da6e9bca8dec169d2acd16ce8ea808fb0b40499d8daa72f7e347a6", "fetched_at": "2026-08-29T10:58:00.758444+00:00", "kind": "homepage", "missing": false, "url": "https://superfly.github.io/corrosion/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:19:13.397797+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a2e31b9fb298e2827d491398e92ad15052dc7b4c1fa0010bcbfa69606fe6e9a4", "fetched_at": "2026-08-28T04:05:41.899544+00:00", "kind": "readme", "missing": false, "url": "https://github.com/superfly/corrosion"}, {"content_hash": "4f5d8297d2da6e9bca8dec169d2acd16ce8ea808fb0b40499d8daa72f7e347a6", "fetched_at": "2026-08-29T10:58:00.758444+00:00", "kind": "homepage", "missing": false, "url": "https://superfly.github.io/corrosion/"}], "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:05:41.899544+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.899544+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.899544+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:19:13.397797+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a2e31b9fb298e2827d491398e92ad15052dc7b4c1fa0010bcbfa69606fe6e9a4", "fetched_at": "2026-08-28T04:05:41.899544+00:00", "kind": "readme", "missing": false, "url": "https://github.com/superfly/corrosion"}, {"content_hash": "4f5d8297d2da6e9bca8dec169d2acd16ce8ea808fb0b40499d8daa72f7e347a6", "fetched_at": "2026-08-29T10:58:00.758444+00:00", "kind": "homepage", "missing": false, "url": "https://superfly.github.io/corrosion/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.899544+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.899544+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:19:13.397797+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a2e31b9fb298e2827d491398e92ad15052dc7b4c1fa0010bcbfa69606fe6e9a4", "fetched_at": "2026-08-28T04:05:41.899544+00:00", "kind": "readme", "missing": false, "url": "https://github.com/superfly/corrosion"}, {"content_hash": "4f5d8297d2da6e9bca8dec169d2acd16ce8ea808fb0b40499d8daa72f7e347a6", "fetched_at": "2026-08-29T10:58:00.758444+00:00", "kind": "homepage", "missing": false, "url": "https://superfly.github.io/corrosion/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.899544+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.899544+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.899544+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:19:13.397797+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a2e31b9fb298e2827d491398e92ad15052dc7b4c1fa0010bcbfa69606fe6e9a4", "fetched_at": "2026-08-28T04:05:41.899544+00:00", "kind": "readme", "missing": false, "url": "https://github.com/superfly/corrosion"}, {"content_hash": "4f5d8297d2da6e9bca8dec169d2acd16ce8ea808fb0b40499d8daa72f7e347a6", "fetched_at": "2026-08-29T10:58:00.758444+00:00", "kind": "homepage", "missing": false, "url": "https://superfly.github.io/corrosion/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.899544+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:41.899544+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:19:13.397797+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a2e31b9fb298e2827d491398e92ad15052dc7b4c1fa0010bcbfa69606fe6e9a4", "fetched_at": "2026-08-28T04:05:41.899544+00:00", "kind": "readme", "missing": false, "url": "https://github.com/superfly/corrosion"}, {"content_hash": "4f5d8297d2da6e9bca8dec169d2acd16ce8ea808fb0b40499d8daa72f7e347a6", "fetched_at": "2026-08-29T10:58:00.758444+00:00", "kind": "homepage", "missing": false, "url": "https://superfly.github.io/corrosion/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:19:13.397797+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a2e31b9fb298e2827d491398e92ad15052dc7b4c1fa0010bcbfa69606fe6e9a4", "fetched_at": "2026-08-28T04:05:41.899544+00:00", "kind": "readme", "missing": false, "url": "https://github.com/superfly/corrosion"}, {"content_hash": "4f5d8297d2da6e9bca8dec169d2acd16ce8ea808fb0b40499d8daa72f7e347a6", "fetched_at": "2026-08-29T10:58:00.758444+00:00", "kind": "homepage", "missing": false, "url": "https://superfly.github.io/corrosion/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:19:13.397797+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a2e31b9fb298e2827d491398e92ad15052dc7b4c1fa0010bcbfa69606fe6e9a4", "fetched_at": "2026-08-28T04:05:41.899544+00:00", "kind": "readme", "missing": false, "url": "https://github.com/superfly/corrosion"}, {"content_hash": "4f5d8297d2da6e9bca8dec169d2acd16ce8ea808fb0b40499d8daa72f7e347a6", "fetched_at": "2026-08-29T10:58:00.758444+00:00", "kind": "homepage", "missing": false, "url": "https://superfly.github.io/corrosion/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:19:13.397797+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a2e31b9fb298e2827d491398e92ad15052dc7b4c1fa0010bcbfa69606fe6e9a4", "fetched_at": "2026-08-28T04:05:41.899544+00:00", "kind": "readme", "missing": false, "url": "https://github.com/superfly/corrosion"}, {"content_hash": "4f5d8297d2da6e9bca8dec169d2acd16ce8ea808fb0b40499d8daa72f7e347a6", "fetched_at": "2026-08-29T10:58:00.758444+00:00", "kind": "homepage", "missing": false, "url": "https://superfly.github.io/corrosion/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 87, "rhythm": 84}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1228, "days_push": 7, "days_rel": 111, "gap_med": 0, "n_releases_24m": 4}, "score": 91, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}