etcd-io/etcd
Modules
etcd's source tree is a Go workspace (go.work) of independent modules, each tagged separately. This section documents every module and what depends on what.
| Module | Path | Role |
|---|---|---|
go.etcd.io/etcd/v3 |
./ (root) |
Thin wrapper that re-exports etcdmain.Main so go install go.etcd.io/etcd@… still works |
go.etcd.io/etcd/api/v3 |
api/ |
Public protobuf surface |
go.etcd.io/etcd/client/pkg/v3 |
client/pkg/ |
Reusable client-side helpers |
go.etcd.io/etcd/client/v3 |
client/v3/ |
Official Go client |
go.etcd.io/etcd/pkg/v3 |
pkg/ |
Generic utilities used by both client and server |
go.etcd.io/etcd/server/v3 |
server/ |
Cluster member implementation |
go.etcd.io/etcd/cache/v3 |
cache/ |
Buffered watch fan-out cache |
go.etcd.io/etcd/etcdctl/v3 |
etcdctl/ |
gRPC client CLI |
go.etcd.io/etcd/etcdutl/v3 |
etcdutl/ |
Offline data-file utility CLI |
go.etcd.io/etcd/tests/v3 |
tests/ |
Integration, e2e, and robustness tests |
go.etcd.io/etcd/tools/... |
tools/mod/, tools/rw-heatmaps/, tools/testgrid-analysis/ |
Build and analysis tools |
Pages
(etcdctl/ and etcdutl/ are documented under applications/ since they are user-facing binaries.)
Module dependency graph
graph LR
api[api]
cpkg[client/pkg]
cv3[client/v3]
pkg[pkg]
server[server]
cache[cache]
ctl[etcdctl]
utl[etcdutl]
tests[tests]
cv3 --> api
cv3 --> cpkg
pkg --> api
pkg --> cpkg
server --> api
server --> cpkg
server --> pkg
cache --> cv3
ctl --> cv3
ctl --> pkg
ctl -.snapshot-only.-> utl
utl --> server
utl --> api
utl --> cpkg
utl --> pkg
tests --> server
tests --> cv3
tests --> cache
tests --> apiThe strict direction is enforced per-module by .gomodguard.yaml files; make verify-gomodguard will reject a PR that introduces an upstream dependency.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.