{"adoption": {"forks": 93, "observed_at": "2026-08-28T04:03:30.917222+00:00", "stars": 1082}, "canonical_url": "https://ross.abutalabs.com/products/zetcd", "card": {"archived": true, "artifact_type": "service", "description": "Serve the Apache Zookeeper API but back it with an etcd cluster", "domain": ["databases", "microservices", "developer-tools"], "enriched": true, "function": ["middleware", "http-server", "testing"], "health_score": 10, "homepage": null, "language": "Go", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["etcd-io/zetcd"], "name": "etcd-io/zetcd", "platform": ["go", "cross-platform"], "pushed_at": "2023-09-25T12:46:07+00:00", "repo": "etcd-io/zetcd", "stars": 1082, "tags": ["zookeeper", "etcd", "api-compatibility", "protocol-translation", "coordination-service", "docker", "linux"], "topics": ["zookeeper", "etcd"], "urls": [], "use_cases": ["migrate applications from zookeeper to etcd without rewriting clients", "run zookeeper client libraries against an etcd cluster", "replace zookeeper servers with etcd in kubernetes environments", "test zookeeper api compatibility against etcd", "avoid running a separate zookeeper ensemble for coordination"], "what_it_is": "zetcd is a ZooKeeper 'personality' proxy for etcd that serves the Apache ZooKeeper API backed by an etcd cluster. It lets existing ZooKeeper clients operate on etcd without modification, and includes a cross-checking mode that compares its responses against a real ZooKeeper server for equivalence testing.", "when_to_avoid": ["you are starting fresh and can use etcd's native API directly", "you rely on zookeeper features not emulated by zetcd", "you need a project with frequent releases and active development"], "when_to_choose": ["you have existing zookeeper clients but want etcd as the backing store", "you want to consolidate coordination services on etcd", "you need to verify zookeeper protocol behavior against etcd via cross-checking"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/zetcd", "repo": "etcd-io/zetcd", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.917222+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:51:15.125109+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4ad00a998a4d68cea06de1abee419eafd88ef5c8b591c7003e6da54fa630b475", "fetched_at": "2026-08-28T04:03:30.917222+00:00", "kind": "readme", "missing": false, "url": "https://github.com/etcd-io/zetcd"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.917222+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:51:15.125109+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4ad00a998a4d68cea06de1abee419eafd88ef5c8b591c7003e6da54fa630b475", "fetched_at": "2026-08-28T04:03:30.917222+00:00", "kind": "readme", "missing": false, "url": "https://github.com/etcd-io/zetcd"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:51:15.125109+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4ad00a998a4d68cea06de1abee419eafd88ef5c8b591c7003e6da54fa630b475", "fetched_at": "2026-08-28T04:03:30.917222+00:00", "kind": "readme", "missing": false, "url": "https://github.com/etcd-io/zetcd"}], "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:03:30.917222+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.917222+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.917222+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:51:15.125109+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4ad00a998a4d68cea06de1abee419eafd88ef5c8b591c7003e6da54fa630b475", "fetched_at": "2026-08-28T04:03:30.917222+00:00", "kind": "readme", "missing": false, "url": "https://github.com/etcd-io/zetcd"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.917222+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.917222+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:51:15.125109+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4ad00a998a4d68cea06de1abee419eafd88ef5c8b591c7003e6da54fa630b475", "fetched_at": "2026-08-28T04:03:30.917222+00:00", "kind": "readme", "missing": false, "url": "https://github.com/etcd-io/zetcd"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.917222+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.917222+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.917222+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:51:15.125109+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4ad00a998a4d68cea06de1abee419eafd88ef5c8b591c7003e6da54fa630b475", "fetched_at": "2026-08-28T04:03:30.917222+00:00", "kind": "readme", "missing": false, "url": "https://github.com/etcd-io/zetcd"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.917222+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:30.917222+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:51:15.125109+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4ad00a998a4d68cea06de1abee419eafd88ef5c8b591c7003e6da54fa630b475", "fetched_at": "2026-08-28T04:03:30.917222+00:00", "kind": "readme", "missing": false, "url": "https://github.com/etcd-io/zetcd"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:51:15.125109+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4ad00a998a4d68cea06de1abee419eafd88ef5c8b591c7003e6da54fa630b475", "fetched_at": "2026-08-28T04:03:30.917222+00:00", "kind": "readme", "missing": false, "url": "https://github.com/etcd-io/zetcd"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:51:15.125109+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4ad00a998a4d68cea06de1abee419eafd88ef5c8b591c7003e6da54fa630b475", "fetched_at": "2026-08-28T04:03:30.917222+00:00", "kind": "readme", "missing": false, "url": "https://github.com/etcd-io/zetcd"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:51:15.125109+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4ad00a998a4d68cea06de1abee419eafd88ef5c8b591c7003e6da54fa630b475", "fetched_at": "2026-08-28T04:03:30.917222+00:00", "kind": "readme", "missing": false, "url": "https://github.com/etcd-io/zetcd"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3600, "days_push": 1073, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}