diff --git a/auth/doc.go b/server/auth/doc.go similarity index 100% rename from auth/doc.go rename to server/auth/doc.go diff --git a/auth/jwt.go b/server/auth/jwt.go similarity index 100% rename from auth/jwt.go rename to server/auth/jwt.go diff --git a/auth/jwt_test.go b/server/auth/jwt_test.go similarity index 100% rename from auth/jwt_test.go rename to server/auth/jwt_test.go diff --git a/auth/main_test.go b/server/auth/main_test.go similarity index 100% rename from auth/main_test.go rename to server/auth/main_test.go diff --git a/auth/metrics.go b/server/auth/metrics.go similarity index 100% rename from auth/metrics.go rename to server/auth/metrics.go diff --git a/auth/nop.go b/server/auth/nop.go similarity index 100% rename from auth/nop.go rename to server/auth/nop.go diff --git a/auth/options.go b/server/auth/options.go similarity index 100% rename from auth/options.go rename to server/auth/options.go diff --git a/auth/range_perm_cache.go b/server/auth/range_perm_cache.go similarity index 100% rename from auth/range_perm_cache.go rename to server/auth/range_perm_cache.go diff --git a/auth/range_perm_cache_test.go b/server/auth/range_perm_cache_test.go similarity index 100% rename from auth/range_perm_cache_test.go rename to server/auth/range_perm_cache_test.go diff --git a/auth/simple_token.go b/server/auth/simple_token.go similarity index 100% rename from auth/simple_token.go rename to server/auth/simple_token.go diff --git a/auth/simple_token_test.go b/server/auth/simple_token_test.go similarity index 100% rename from auth/simple_token_test.go rename to server/auth/simple_token_test.go diff --git a/auth/store.go b/server/auth/store.go similarity index 100% rename from auth/store.go rename to server/auth/store.go diff --git a/auth/store_test.go b/server/auth/store_test.go similarity index 100% rename from auth/store_test.go rename to server/auth/store_test.go diff --git a/embed/auth_test.go b/server/embed/auth_test.go similarity index 100% rename from embed/auth_test.go rename to server/embed/auth_test.go diff --git a/embed/config.go b/server/embed/config.go similarity index 100% rename from embed/config.go rename to server/embed/config.go diff --git a/embed/config_logging.go b/server/embed/config_logging.go similarity index 100% rename from embed/config_logging.go rename to server/embed/config_logging.go diff --git a/embed/config_logging_journal_unix.go b/server/embed/config_logging_journal_unix.go similarity index 100% rename from embed/config_logging_journal_unix.go rename to server/embed/config_logging_journal_unix.go diff --git a/embed/config_logging_journal_windows.go b/server/embed/config_logging_journal_windows.go similarity index 100% rename from embed/config_logging_journal_windows.go rename to server/embed/config_logging_journal_windows.go diff --git a/embed/config_test.go b/server/embed/config_test.go similarity index 100% rename from embed/config_test.go rename to server/embed/config_test.go diff --git a/embed/doc.go b/server/embed/doc.go similarity index 100% rename from embed/doc.go rename to server/embed/doc.go diff --git a/embed/etcd.go b/server/embed/etcd.go similarity index 100% rename from embed/etcd.go rename to server/embed/etcd.go diff --git a/embed/serve.go b/server/embed/serve.go similarity index 100% rename from embed/serve.go rename to server/embed/serve.go diff --git a/embed/serve_test.go b/server/embed/serve_test.go similarity index 100% rename from embed/serve_test.go rename to server/embed/serve_test.go diff --git a/embed/util.go b/server/embed/util.go similarity index 100% rename from embed/util.go rename to server/embed/util.go diff --git a/etcdmain/config.go b/server/etcdmain/config.go similarity index 100% rename from etcdmain/config.go rename to server/etcdmain/config.go diff --git a/etcdmain/config_test.go b/server/etcdmain/config_test.go similarity index 100% rename from etcdmain/config_test.go rename to server/etcdmain/config_test.go diff --git a/etcdmain/doc.go b/server/etcdmain/doc.go similarity index 100% rename from etcdmain/doc.go rename to server/etcdmain/doc.go diff --git a/etcdmain/etcd.go b/server/etcdmain/etcd.go similarity index 100% rename from etcdmain/etcd.go rename to server/etcdmain/etcd.go diff --git a/etcdmain/gateway.go b/server/etcdmain/gateway.go similarity index 100% rename from etcdmain/gateway.go rename to server/etcdmain/gateway.go diff --git a/etcdmain/grpc_proxy.go b/server/etcdmain/grpc_proxy.go similarity index 100% rename from etcdmain/grpc_proxy.go rename to server/etcdmain/grpc_proxy.go diff --git a/etcdmain/help.go b/server/etcdmain/help.go similarity index 100% rename from etcdmain/help.go rename to server/etcdmain/help.go diff --git a/etcdmain/main.go b/server/etcdmain/main.go similarity index 100% rename from etcdmain/main.go rename to server/etcdmain/main.go diff --git a/etcdmain/util.go b/server/etcdmain/util.go similarity index 100% rename from etcdmain/util.go rename to server/etcdmain/util.go diff --git a/etcdserver/api/capability.go b/server/etcdserver/api/capability.go similarity index 100% rename from etcdserver/api/capability.go rename to server/etcdserver/api/capability.go diff --git a/etcdserver/api/cluster.go b/server/etcdserver/api/cluster.go similarity index 100% rename from etcdserver/api/cluster.go rename to server/etcdserver/api/cluster.go diff --git a/etcdserver/api/doc.go b/server/etcdserver/api/doc.go similarity index 100% rename from etcdserver/api/doc.go rename to server/etcdserver/api/doc.go diff --git a/etcdserver/api/etcdhttp/base.go b/server/etcdserver/api/etcdhttp/base.go similarity index 100% rename from etcdserver/api/etcdhttp/base.go rename to server/etcdserver/api/etcdhttp/base.go diff --git a/etcdserver/api/etcdhttp/doc.go b/server/etcdserver/api/etcdhttp/doc.go similarity index 100% rename from etcdserver/api/etcdhttp/doc.go rename to server/etcdserver/api/etcdhttp/doc.go diff --git a/etcdserver/api/etcdhttp/metrics.go b/server/etcdserver/api/etcdhttp/metrics.go similarity index 100% rename from etcdserver/api/etcdhttp/metrics.go rename to server/etcdserver/api/etcdhttp/metrics.go diff --git a/etcdserver/api/etcdhttp/peer.go b/server/etcdserver/api/etcdhttp/peer.go similarity index 100% rename from etcdserver/api/etcdhttp/peer.go rename to server/etcdserver/api/etcdhttp/peer.go diff --git a/etcdserver/api/etcdhttp/peer_test.go b/server/etcdserver/api/etcdhttp/peer_test.go similarity index 100% rename from etcdserver/api/etcdhttp/peer_test.go rename to server/etcdserver/api/etcdhttp/peer_test.go diff --git a/etcdserver/api/etcdhttp/version_test.go b/server/etcdserver/api/etcdhttp/version_test.go similarity index 100% rename from etcdserver/api/etcdhttp/version_test.go rename to server/etcdserver/api/etcdhttp/version_test.go diff --git a/etcdserver/api/membership/cluster.go b/server/etcdserver/api/membership/cluster.go similarity index 100% rename from etcdserver/api/membership/cluster.go rename to server/etcdserver/api/membership/cluster.go diff --git a/etcdserver/api/membership/cluster_test.go b/server/etcdserver/api/membership/cluster_test.go similarity index 100% rename from etcdserver/api/membership/cluster_test.go rename to server/etcdserver/api/membership/cluster_test.go diff --git a/etcdserver/api/membership/doc.go b/server/etcdserver/api/membership/doc.go similarity index 100% rename from etcdserver/api/membership/doc.go rename to server/etcdserver/api/membership/doc.go diff --git a/etcdserver/api/membership/downgrade.go b/server/etcdserver/api/membership/downgrade.go similarity index 100% rename from etcdserver/api/membership/downgrade.go rename to server/etcdserver/api/membership/downgrade.go diff --git a/etcdserver/api/membership/downgrade_test.go b/server/etcdserver/api/membership/downgrade_test.go similarity index 100% rename from etcdserver/api/membership/downgrade_test.go rename to server/etcdserver/api/membership/downgrade_test.go diff --git a/etcdserver/api/membership/errors.go b/server/etcdserver/api/membership/errors.go similarity index 100% rename from etcdserver/api/membership/errors.go rename to server/etcdserver/api/membership/errors.go diff --git a/etcdserver/api/membership/member.go b/server/etcdserver/api/membership/member.go similarity index 100% rename from etcdserver/api/membership/member.go rename to server/etcdserver/api/membership/member.go diff --git a/etcdserver/api/membership/member_test.go b/server/etcdserver/api/membership/member_test.go similarity index 100% rename from etcdserver/api/membership/member_test.go rename to server/etcdserver/api/membership/member_test.go diff --git a/etcdserver/api/membership/metrics.go b/server/etcdserver/api/membership/metrics.go similarity index 100% rename from etcdserver/api/membership/metrics.go rename to server/etcdserver/api/membership/metrics.go diff --git a/etcdserver/api/membership/store.go b/server/etcdserver/api/membership/store.go similarity index 100% rename from etcdserver/api/membership/store.go rename to server/etcdserver/api/membership/store.go diff --git a/etcdserver/api/rafthttp/coder.go b/server/etcdserver/api/rafthttp/coder.go similarity index 100% rename from etcdserver/api/rafthttp/coder.go rename to server/etcdserver/api/rafthttp/coder.go diff --git a/etcdserver/api/rafthttp/doc.go b/server/etcdserver/api/rafthttp/doc.go similarity index 100% rename from etcdserver/api/rafthttp/doc.go rename to server/etcdserver/api/rafthttp/doc.go diff --git a/etcdserver/api/rafthttp/fake_roundtripper_test.go b/server/etcdserver/api/rafthttp/fake_roundtripper_test.go similarity index 100% rename from etcdserver/api/rafthttp/fake_roundtripper_test.go rename to server/etcdserver/api/rafthttp/fake_roundtripper_test.go diff --git a/etcdserver/api/rafthttp/functional_test.go b/server/etcdserver/api/rafthttp/functional_test.go similarity index 100% rename from etcdserver/api/rafthttp/functional_test.go rename to server/etcdserver/api/rafthttp/functional_test.go diff --git a/etcdserver/api/rafthttp/http.go b/server/etcdserver/api/rafthttp/http.go similarity index 100% rename from etcdserver/api/rafthttp/http.go rename to server/etcdserver/api/rafthttp/http.go diff --git a/etcdserver/api/rafthttp/http_test.go b/server/etcdserver/api/rafthttp/http_test.go similarity index 100% rename from etcdserver/api/rafthttp/http_test.go rename to server/etcdserver/api/rafthttp/http_test.go diff --git a/etcdserver/api/rafthttp/metrics.go b/server/etcdserver/api/rafthttp/metrics.go similarity index 100% rename from etcdserver/api/rafthttp/metrics.go rename to server/etcdserver/api/rafthttp/metrics.go diff --git a/etcdserver/api/rafthttp/msg_codec.go b/server/etcdserver/api/rafthttp/msg_codec.go similarity index 100% rename from etcdserver/api/rafthttp/msg_codec.go rename to server/etcdserver/api/rafthttp/msg_codec.go diff --git a/etcdserver/api/rafthttp/msg_codec_test.go b/server/etcdserver/api/rafthttp/msg_codec_test.go similarity index 100% rename from etcdserver/api/rafthttp/msg_codec_test.go rename to server/etcdserver/api/rafthttp/msg_codec_test.go diff --git a/etcdserver/api/rafthttp/msgappv2_codec.go b/server/etcdserver/api/rafthttp/msgappv2_codec.go similarity index 100% rename from etcdserver/api/rafthttp/msgappv2_codec.go rename to server/etcdserver/api/rafthttp/msgappv2_codec.go diff --git a/etcdserver/api/rafthttp/msgappv2_codec_test.go b/server/etcdserver/api/rafthttp/msgappv2_codec_test.go similarity index 100% rename from etcdserver/api/rafthttp/msgappv2_codec_test.go rename to server/etcdserver/api/rafthttp/msgappv2_codec_test.go diff --git a/etcdserver/api/rafthttp/peer.go b/server/etcdserver/api/rafthttp/peer.go similarity index 100% rename from etcdserver/api/rafthttp/peer.go rename to server/etcdserver/api/rafthttp/peer.go diff --git a/etcdserver/api/rafthttp/peer_status.go b/server/etcdserver/api/rafthttp/peer_status.go similarity index 100% rename from etcdserver/api/rafthttp/peer_status.go rename to server/etcdserver/api/rafthttp/peer_status.go diff --git a/etcdserver/api/rafthttp/peer_test.go b/server/etcdserver/api/rafthttp/peer_test.go similarity index 100% rename from etcdserver/api/rafthttp/peer_test.go rename to server/etcdserver/api/rafthttp/peer_test.go diff --git a/etcdserver/api/rafthttp/pipeline.go b/server/etcdserver/api/rafthttp/pipeline.go similarity index 100% rename from etcdserver/api/rafthttp/pipeline.go rename to server/etcdserver/api/rafthttp/pipeline.go diff --git a/etcdserver/api/rafthttp/pipeline_test.go b/server/etcdserver/api/rafthttp/pipeline_test.go similarity index 100% rename from etcdserver/api/rafthttp/pipeline_test.go rename to server/etcdserver/api/rafthttp/pipeline_test.go diff --git a/etcdserver/api/rafthttp/probing_status.go b/server/etcdserver/api/rafthttp/probing_status.go similarity index 100% rename from etcdserver/api/rafthttp/probing_status.go rename to server/etcdserver/api/rafthttp/probing_status.go diff --git a/etcdserver/api/rafthttp/remote.go b/server/etcdserver/api/rafthttp/remote.go similarity index 100% rename from etcdserver/api/rafthttp/remote.go rename to server/etcdserver/api/rafthttp/remote.go diff --git a/etcdserver/api/rafthttp/snapshot_sender.go b/server/etcdserver/api/rafthttp/snapshot_sender.go similarity index 100% rename from etcdserver/api/rafthttp/snapshot_sender.go rename to server/etcdserver/api/rafthttp/snapshot_sender.go diff --git a/etcdserver/api/rafthttp/snapshot_test.go b/server/etcdserver/api/rafthttp/snapshot_test.go similarity index 100% rename from etcdserver/api/rafthttp/snapshot_test.go rename to server/etcdserver/api/rafthttp/snapshot_test.go diff --git a/etcdserver/api/rafthttp/stream.go b/server/etcdserver/api/rafthttp/stream.go similarity index 100% rename from etcdserver/api/rafthttp/stream.go rename to server/etcdserver/api/rafthttp/stream.go diff --git a/etcdserver/api/rafthttp/stream_test.go b/server/etcdserver/api/rafthttp/stream_test.go similarity index 100% rename from etcdserver/api/rafthttp/stream_test.go rename to server/etcdserver/api/rafthttp/stream_test.go diff --git a/etcdserver/api/rafthttp/transport.go b/server/etcdserver/api/rafthttp/transport.go similarity index 100% rename from etcdserver/api/rafthttp/transport.go rename to server/etcdserver/api/rafthttp/transport.go diff --git a/etcdserver/api/rafthttp/transport_bench_test.go b/server/etcdserver/api/rafthttp/transport_bench_test.go similarity index 100% rename from etcdserver/api/rafthttp/transport_bench_test.go rename to server/etcdserver/api/rafthttp/transport_bench_test.go diff --git a/etcdserver/api/rafthttp/transport_test.go b/server/etcdserver/api/rafthttp/transport_test.go similarity index 100% rename from etcdserver/api/rafthttp/transport_test.go rename to server/etcdserver/api/rafthttp/transport_test.go diff --git a/etcdserver/api/rafthttp/urlpick.go b/server/etcdserver/api/rafthttp/urlpick.go similarity index 100% rename from etcdserver/api/rafthttp/urlpick.go rename to server/etcdserver/api/rafthttp/urlpick.go diff --git a/etcdserver/api/rafthttp/urlpick_test.go b/server/etcdserver/api/rafthttp/urlpick_test.go similarity index 100% rename from etcdserver/api/rafthttp/urlpick_test.go rename to server/etcdserver/api/rafthttp/urlpick_test.go diff --git a/etcdserver/api/rafthttp/util.go b/server/etcdserver/api/rafthttp/util.go similarity index 100% rename from etcdserver/api/rafthttp/util.go rename to server/etcdserver/api/rafthttp/util.go diff --git a/etcdserver/api/rafthttp/util_test.go b/server/etcdserver/api/rafthttp/util_test.go similarity index 100% rename from etcdserver/api/rafthttp/util_test.go rename to server/etcdserver/api/rafthttp/util_test.go diff --git a/etcdserver/api/snap/db.go b/server/etcdserver/api/snap/db.go similarity index 100% rename from etcdserver/api/snap/db.go rename to server/etcdserver/api/snap/db.go diff --git a/etcdserver/api/snap/doc.go b/server/etcdserver/api/snap/doc.go similarity index 100% rename from etcdserver/api/snap/doc.go rename to server/etcdserver/api/snap/doc.go diff --git a/etcdserver/api/snap/message.go b/server/etcdserver/api/snap/message.go similarity index 100% rename from etcdserver/api/snap/message.go rename to server/etcdserver/api/snap/message.go diff --git a/etcdserver/api/snap/metrics.go b/server/etcdserver/api/snap/metrics.go similarity index 100% rename from etcdserver/api/snap/metrics.go rename to server/etcdserver/api/snap/metrics.go diff --git a/etcdserver/api/snap/snappb/snap.pb.go b/server/etcdserver/api/snap/snappb/snap.pb.go similarity index 100% rename from etcdserver/api/snap/snappb/snap.pb.go rename to server/etcdserver/api/snap/snappb/snap.pb.go diff --git a/etcdserver/api/snap/snappb/snap.proto b/server/etcdserver/api/snap/snappb/snap.proto similarity index 100% rename from etcdserver/api/snap/snappb/snap.proto rename to server/etcdserver/api/snap/snappb/snap.proto diff --git a/etcdserver/api/snap/snapshotter.go b/server/etcdserver/api/snap/snapshotter.go similarity index 100% rename from etcdserver/api/snap/snapshotter.go rename to server/etcdserver/api/snap/snapshotter.go diff --git a/etcdserver/api/snap/snapshotter_test.go b/server/etcdserver/api/snap/snapshotter_test.go similarity index 100% rename from etcdserver/api/snap/snapshotter_test.go rename to server/etcdserver/api/snap/snapshotter_test.go diff --git a/etcdserver/api/v2auth/auth.go b/server/etcdserver/api/v2auth/auth.go similarity index 100% rename from etcdserver/api/v2auth/auth.go rename to server/etcdserver/api/v2auth/auth.go diff --git a/etcdserver/api/v2auth/auth_requests.go b/server/etcdserver/api/v2auth/auth_requests.go similarity index 100% rename from etcdserver/api/v2auth/auth_requests.go rename to server/etcdserver/api/v2auth/auth_requests.go diff --git a/etcdserver/api/v2auth/auth_test.go b/server/etcdserver/api/v2auth/auth_test.go similarity index 100% rename from etcdserver/api/v2auth/auth_test.go rename to server/etcdserver/api/v2auth/auth_test.go diff --git a/etcdserver/api/v2discovery/discovery.go b/server/etcdserver/api/v2discovery/discovery.go similarity index 100% rename from etcdserver/api/v2discovery/discovery.go rename to server/etcdserver/api/v2discovery/discovery.go diff --git a/etcdserver/api/v2discovery/discovery_test.go b/server/etcdserver/api/v2discovery/discovery_test.go similarity index 100% rename from etcdserver/api/v2discovery/discovery_test.go rename to server/etcdserver/api/v2discovery/discovery_test.go diff --git a/etcdserver/api/v2error/error.go b/server/etcdserver/api/v2error/error.go similarity index 100% rename from etcdserver/api/v2error/error.go rename to server/etcdserver/api/v2error/error.go diff --git a/etcdserver/api/v2error/error_test.go b/server/etcdserver/api/v2error/error_test.go similarity index 100% rename from etcdserver/api/v2error/error_test.go rename to server/etcdserver/api/v2error/error_test.go diff --git a/etcdserver/api/v2http/capability.go b/server/etcdserver/api/v2http/capability.go similarity index 100% rename from etcdserver/api/v2http/capability.go rename to server/etcdserver/api/v2http/capability.go diff --git a/etcdserver/api/v2http/client.go b/server/etcdserver/api/v2http/client.go similarity index 100% rename from etcdserver/api/v2http/client.go rename to server/etcdserver/api/v2http/client.go diff --git a/etcdserver/api/v2http/client_auth.go b/server/etcdserver/api/v2http/client_auth.go similarity index 100% rename from etcdserver/api/v2http/client_auth.go rename to server/etcdserver/api/v2http/client_auth.go diff --git a/etcdserver/api/v2http/client_auth_test.go b/server/etcdserver/api/v2http/client_auth_test.go similarity index 100% rename from etcdserver/api/v2http/client_auth_test.go rename to server/etcdserver/api/v2http/client_auth_test.go diff --git a/etcdserver/api/v2http/client_test.go b/server/etcdserver/api/v2http/client_test.go similarity index 100% rename from etcdserver/api/v2http/client_test.go rename to server/etcdserver/api/v2http/client_test.go diff --git a/etcdserver/api/v2http/doc.go b/server/etcdserver/api/v2http/doc.go similarity index 100% rename from etcdserver/api/v2http/doc.go rename to server/etcdserver/api/v2http/doc.go diff --git a/etcdserver/api/v2http/http.go b/server/etcdserver/api/v2http/http.go similarity index 100% rename from etcdserver/api/v2http/http.go rename to server/etcdserver/api/v2http/http.go diff --git a/etcdserver/api/v2http/http_test.go b/server/etcdserver/api/v2http/http_test.go similarity index 100% rename from etcdserver/api/v2http/http_test.go rename to server/etcdserver/api/v2http/http_test.go diff --git a/etcdserver/api/v2http/httptypes/errors.go b/server/etcdserver/api/v2http/httptypes/errors.go similarity index 100% rename from etcdserver/api/v2http/httptypes/errors.go rename to server/etcdserver/api/v2http/httptypes/errors.go diff --git a/etcdserver/api/v2http/httptypes/errors_test.go b/server/etcdserver/api/v2http/httptypes/errors_test.go similarity index 100% rename from etcdserver/api/v2http/httptypes/errors_test.go rename to server/etcdserver/api/v2http/httptypes/errors_test.go diff --git a/etcdserver/api/v2http/httptypes/member.go b/server/etcdserver/api/v2http/httptypes/member.go similarity index 100% rename from etcdserver/api/v2http/httptypes/member.go rename to server/etcdserver/api/v2http/httptypes/member.go diff --git a/etcdserver/api/v2http/httptypes/member_test.go b/server/etcdserver/api/v2http/httptypes/member_test.go similarity index 100% rename from etcdserver/api/v2http/httptypes/member_test.go rename to server/etcdserver/api/v2http/httptypes/member_test.go diff --git a/etcdserver/api/v2http/metrics.go b/server/etcdserver/api/v2http/metrics.go similarity index 100% rename from etcdserver/api/v2http/metrics.go rename to server/etcdserver/api/v2http/metrics.go diff --git a/etcdserver/api/v2http/testdata/ca.pem b/server/etcdserver/api/v2http/testdata/ca.pem similarity index 100% rename from etcdserver/api/v2http/testdata/ca.pem rename to server/etcdserver/api/v2http/testdata/ca.pem diff --git a/etcdserver/api/v2http/testdata/otheruser.pem b/server/etcdserver/api/v2http/testdata/otheruser.pem similarity index 100% rename from etcdserver/api/v2http/testdata/otheruser.pem rename to server/etcdserver/api/v2http/testdata/otheruser.pem diff --git a/etcdserver/api/v2http/testdata/user.pem b/server/etcdserver/api/v2http/testdata/user.pem similarity index 100% rename from etcdserver/api/v2http/testdata/user.pem rename to server/etcdserver/api/v2http/testdata/user.pem diff --git a/etcdserver/api/v2stats/leader.go b/server/etcdserver/api/v2stats/leader.go similarity index 100% rename from etcdserver/api/v2stats/leader.go rename to server/etcdserver/api/v2stats/leader.go diff --git a/etcdserver/api/v2stats/queue.go b/server/etcdserver/api/v2stats/queue.go similarity index 100% rename from etcdserver/api/v2stats/queue.go rename to server/etcdserver/api/v2stats/queue.go diff --git a/etcdserver/api/v2stats/server.go b/server/etcdserver/api/v2stats/server.go similarity index 100% rename from etcdserver/api/v2stats/server.go rename to server/etcdserver/api/v2stats/server.go diff --git a/etcdserver/api/v2stats/stats.go b/server/etcdserver/api/v2stats/stats.go similarity index 100% rename from etcdserver/api/v2stats/stats.go rename to server/etcdserver/api/v2stats/stats.go diff --git a/etcdserver/api/v2store/doc.go b/server/etcdserver/api/v2store/doc.go similarity index 100% rename from etcdserver/api/v2store/doc.go rename to server/etcdserver/api/v2store/doc.go diff --git a/etcdserver/api/v2store/event.go b/server/etcdserver/api/v2store/event.go similarity index 100% rename from etcdserver/api/v2store/event.go rename to server/etcdserver/api/v2store/event.go diff --git a/etcdserver/api/v2store/event_history.go b/server/etcdserver/api/v2store/event_history.go similarity index 100% rename from etcdserver/api/v2store/event_history.go rename to server/etcdserver/api/v2store/event_history.go diff --git a/etcdserver/api/v2store/event_queue.go b/server/etcdserver/api/v2store/event_queue.go similarity index 100% rename from etcdserver/api/v2store/event_queue.go rename to server/etcdserver/api/v2store/event_queue.go diff --git a/etcdserver/api/v2store/event_test.go b/server/etcdserver/api/v2store/event_test.go similarity index 100% rename from etcdserver/api/v2store/event_test.go rename to server/etcdserver/api/v2store/event_test.go diff --git a/etcdserver/api/v2store/heap_test.go b/server/etcdserver/api/v2store/heap_test.go similarity index 100% rename from etcdserver/api/v2store/heap_test.go rename to server/etcdserver/api/v2store/heap_test.go diff --git a/etcdserver/api/v2store/metrics.go b/server/etcdserver/api/v2store/metrics.go similarity index 100% rename from etcdserver/api/v2store/metrics.go rename to server/etcdserver/api/v2store/metrics.go diff --git a/etcdserver/api/v2store/node.go b/server/etcdserver/api/v2store/node.go similarity index 100% rename from etcdserver/api/v2store/node.go rename to server/etcdserver/api/v2store/node.go diff --git a/etcdserver/api/v2store/node_extern.go b/server/etcdserver/api/v2store/node_extern.go similarity index 100% rename from etcdserver/api/v2store/node_extern.go rename to server/etcdserver/api/v2store/node_extern.go diff --git a/etcdserver/api/v2store/node_extern_test.go b/server/etcdserver/api/v2store/node_extern_test.go similarity index 100% rename from etcdserver/api/v2store/node_extern_test.go rename to server/etcdserver/api/v2store/node_extern_test.go diff --git a/etcdserver/api/v2store/node_test.go b/server/etcdserver/api/v2store/node_test.go similarity index 100% rename from etcdserver/api/v2store/node_test.go rename to server/etcdserver/api/v2store/node_test.go diff --git a/etcdserver/api/v2store/stats.go b/server/etcdserver/api/v2store/stats.go similarity index 100% rename from etcdserver/api/v2store/stats.go rename to server/etcdserver/api/v2store/stats.go diff --git a/etcdserver/api/v2store/stats_test.go b/server/etcdserver/api/v2store/stats_test.go similarity index 100% rename from etcdserver/api/v2store/stats_test.go rename to server/etcdserver/api/v2store/stats_test.go diff --git a/etcdserver/api/v2store/store.go b/server/etcdserver/api/v2store/store.go similarity index 100% rename from etcdserver/api/v2store/store.go rename to server/etcdserver/api/v2store/store.go diff --git a/etcdserver/api/v2store/store_bench_test.go b/server/etcdserver/api/v2store/store_bench_test.go similarity index 100% rename from etcdserver/api/v2store/store_bench_test.go rename to server/etcdserver/api/v2store/store_bench_test.go diff --git a/etcdserver/api/v2store/store_ttl_test.go b/server/etcdserver/api/v2store/store_ttl_test.go similarity index 100% rename from etcdserver/api/v2store/store_ttl_test.go rename to server/etcdserver/api/v2store/store_ttl_test.go diff --git a/etcdserver/api/v2store/ttl_key_heap.go b/server/etcdserver/api/v2store/ttl_key_heap.go similarity index 100% rename from etcdserver/api/v2store/ttl_key_heap.go rename to server/etcdserver/api/v2store/ttl_key_heap.go diff --git a/etcdserver/api/v2store/watcher.go b/server/etcdserver/api/v2store/watcher.go similarity index 100% rename from etcdserver/api/v2store/watcher.go rename to server/etcdserver/api/v2store/watcher.go diff --git a/etcdserver/api/v2store/watcher_hub.go b/server/etcdserver/api/v2store/watcher_hub.go similarity index 100% rename from etcdserver/api/v2store/watcher_hub.go rename to server/etcdserver/api/v2store/watcher_hub.go diff --git a/etcdserver/api/v2store/watcher_hub_test.go b/server/etcdserver/api/v2store/watcher_hub_test.go similarity index 100% rename from etcdserver/api/v2store/watcher_hub_test.go rename to server/etcdserver/api/v2store/watcher_hub_test.go diff --git a/etcdserver/api/v2store/watcher_test.go b/server/etcdserver/api/v2store/watcher_test.go similarity index 100% rename from etcdserver/api/v2store/watcher_test.go rename to server/etcdserver/api/v2store/watcher_test.go diff --git a/etcdserver/api/v2v3/cluster.go b/server/etcdserver/api/v2v3/cluster.go similarity index 100% rename from etcdserver/api/v2v3/cluster.go rename to server/etcdserver/api/v2v3/cluster.go diff --git a/etcdserver/api/v2v3/doc.go b/server/etcdserver/api/v2v3/doc.go similarity index 100% rename from etcdserver/api/v2v3/doc.go rename to server/etcdserver/api/v2v3/doc.go diff --git a/etcdserver/api/v2v3/server.go b/server/etcdserver/api/v2v3/server.go similarity index 100% rename from etcdserver/api/v2v3/server.go rename to server/etcdserver/api/v2v3/server.go diff --git a/etcdserver/api/v2v3/store.go b/server/etcdserver/api/v2v3/store.go similarity index 100% rename from etcdserver/api/v2v3/store.go rename to server/etcdserver/api/v2v3/store.go diff --git a/etcdserver/api/v2v3/watcher.go b/server/etcdserver/api/v2v3/watcher.go similarity index 100% rename from etcdserver/api/v2v3/watcher.go rename to server/etcdserver/api/v2v3/watcher.go diff --git a/etcdserver/api/v3alarm/alarms.go b/server/etcdserver/api/v3alarm/alarms.go similarity index 100% rename from etcdserver/api/v3alarm/alarms.go rename to server/etcdserver/api/v3alarm/alarms.go diff --git a/etcdserver/api/v3client/doc.go b/server/etcdserver/api/v3client/doc.go similarity index 100% rename from etcdserver/api/v3client/doc.go rename to server/etcdserver/api/v3client/doc.go diff --git a/etcdserver/api/v3client/v3client.go b/server/etcdserver/api/v3client/v3client.go similarity index 100% rename from etcdserver/api/v3client/v3client.go rename to server/etcdserver/api/v3client/v3client.go diff --git a/etcdserver/api/v3compactor/compactor.go b/server/etcdserver/api/v3compactor/compactor.go similarity index 100% rename from etcdserver/api/v3compactor/compactor.go rename to server/etcdserver/api/v3compactor/compactor.go diff --git a/etcdserver/api/v3compactor/compactor_test.go b/server/etcdserver/api/v3compactor/compactor_test.go similarity index 100% rename from etcdserver/api/v3compactor/compactor_test.go rename to server/etcdserver/api/v3compactor/compactor_test.go diff --git a/etcdserver/api/v3compactor/doc.go b/server/etcdserver/api/v3compactor/doc.go similarity index 100% rename from etcdserver/api/v3compactor/doc.go rename to server/etcdserver/api/v3compactor/doc.go diff --git a/etcdserver/api/v3compactor/periodic.go b/server/etcdserver/api/v3compactor/periodic.go similarity index 100% rename from etcdserver/api/v3compactor/periodic.go rename to server/etcdserver/api/v3compactor/periodic.go diff --git a/etcdserver/api/v3compactor/periodic_test.go b/server/etcdserver/api/v3compactor/periodic_test.go similarity index 100% rename from etcdserver/api/v3compactor/periodic_test.go rename to server/etcdserver/api/v3compactor/periodic_test.go diff --git a/etcdserver/api/v3compactor/revision.go b/server/etcdserver/api/v3compactor/revision.go similarity index 100% rename from etcdserver/api/v3compactor/revision.go rename to server/etcdserver/api/v3compactor/revision.go diff --git a/etcdserver/api/v3compactor/revision_test.go b/server/etcdserver/api/v3compactor/revision_test.go similarity index 100% rename from etcdserver/api/v3compactor/revision_test.go rename to server/etcdserver/api/v3compactor/revision_test.go diff --git a/etcdserver/api/v3election/doc.go b/server/etcdserver/api/v3election/doc.go similarity index 100% rename from etcdserver/api/v3election/doc.go rename to server/etcdserver/api/v3election/doc.go diff --git a/etcdserver/api/v3election/election.go b/server/etcdserver/api/v3election/election.go similarity index 100% rename from etcdserver/api/v3election/election.go rename to server/etcdserver/api/v3election/election.go diff --git a/etcdserver/api/v3election/v3electionpb/gw/v3election.pb.gw.go b/server/etcdserver/api/v3election/v3electionpb/gw/v3election.pb.gw.go similarity index 100% rename from etcdserver/api/v3election/v3electionpb/gw/v3election.pb.gw.go rename to server/etcdserver/api/v3election/v3electionpb/gw/v3election.pb.gw.go diff --git a/etcdserver/api/v3election/v3electionpb/v3election.pb.go b/server/etcdserver/api/v3election/v3electionpb/v3election.pb.go similarity index 100% rename from etcdserver/api/v3election/v3electionpb/v3election.pb.go rename to server/etcdserver/api/v3election/v3electionpb/v3election.pb.go diff --git a/etcdserver/api/v3election/v3electionpb/v3election.proto b/server/etcdserver/api/v3election/v3electionpb/v3election.proto similarity index 100% rename from etcdserver/api/v3election/v3electionpb/v3election.proto rename to server/etcdserver/api/v3election/v3electionpb/v3election.proto diff --git a/etcdserver/api/v3lock/doc.go b/server/etcdserver/api/v3lock/doc.go similarity index 100% rename from etcdserver/api/v3lock/doc.go rename to server/etcdserver/api/v3lock/doc.go diff --git a/etcdserver/api/v3lock/lock.go b/server/etcdserver/api/v3lock/lock.go similarity index 100% rename from etcdserver/api/v3lock/lock.go rename to server/etcdserver/api/v3lock/lock.go diff --git a/etcdserver/api/v3lock/v3lockpb/gw/v3lock.pb.gw.go b/server/etcdserver/api/v3lock/v3lockpb/gw/v3lock.pb.gw.go similarity index 100% rename from etcdserver/api/v3lock/v3lockpb/gw/v3lock.pb.gw.go rename to server/etcdserver/api/v3lock/v3lockpb/gw/v3lock.pb.gw.go diff --git a/etcdserver/api/v3lock/v3lockpb/v3lock.pb.go b/server/etcdserver/api/v3lock/v3lockpb/v3lock.pb.go similarity index 100% rename from etcdserver/api/v3lock/v3lockpb/v3lock.pb.go rename to server/etcdserver/api/v3lock/v3lockpb/v3lock.pb.go diff --git a/etcdserver/api/v3lock/v3lockpb/v3lock.proto b/server/etcdserver/api/v3lock/v3lockpb/v3lock.proto similarity index 100% rename from etcdserver/api/v3lock/v3lockpb/v3lock.proto rename to server/etcdserver/api/v3lock/v3lockpb/v3lock.proto diff --git a/etcdserver/api/v3rpc/auth.go b/server/etcdserver/api/v3rpc/auth.go similarity index 100% rename from etcdserver/api/v3rpc/auth.go rename to server/etcdserver/api/v3rpc/auth.go diff --git a/etcdserver/api/v3rpc/codec.go b/server/etcdserver/api/v3rpc/codec.go similarity index 100% rename from etcdserver/api/v3rpc/codec.go rename to server/etcdserver/api/v3rpc/codec.go diff --git a/etcdserver/api/v3rpc/grpc.go b/server/etcdserver/api/v3rpc/grpc.go similarity index 100% rename from etcdserver/api/v3rpc/grpc.go rename to server/etcdserver/api/v3rpc/grpc.go diff --git a/etcdserver/api/v3rpc/header.go b/server/etcdserver/api/v3rpc/header.go similarity index 100% rename from etcdserver/api/v3rpc/header.go rename to server/etcdserver/api/v3rpc/header.go diff --git a/etcdserver/api/v3rpc/interceptor.go b/server/etcdserver/api/v3rpc/interceptor.go similarity index 100% rename from etcdserver/api/v3rpc/interceptor.go rename to server/etcdserver/api/v3rpc/interceptor.go diff --git a/etcdserver/api/v3rpc/key.go b/server/etcdserver/api/v3rpc/key.go similarity index 100% rename from etcdserver/api/v3rpc/key.go rename to server/etcdserver/api/v3rpc/key.go diff --git a/etcdserver/api/v3rpc/lease.go b/server/etcdserver/api/v3rpc/lease.go similarity index 100% rename from etcdserver/api/v3rpc/lease.go rename to server/etcdserver/api/v3rpc/lease.go diff --git a/etcdserver/api/v3rpc/maintenance.go b/server/etcdserver/api/v3rpc/maintenance.go similarity index 100% rename from etcdserver/api/v3rpc/maintenance.go rename to server/etcdserver/api/v3rpc/maintenance.go diff --git a/etcdserver/api/v3rpc/member.go b/server/etcdserver/api/v3rpc/member.go similarity index 100% rename from etcdserver/api/v3rpc/member.go rename to server/etcdserver/api/v3rpc/member.go diff --git a/etcdserver/api/v3rpc/metrics.go b/server/etcdserver/api/v3rpc/metrics.go similarity index 100% rename from etcdserver/api/v3rpc/metrics.go rename to server/etcdserver/api/v3rpc/metrics.go diff --git a/etcdserver/api/v3rpc/quota.go b/server/etcdserver/api/v3rpc/quota.go similarity index 100% rename from etcdserver/api/v3rpc/quota.go rename to server/etcdserver/api/v3rpc/quota.go diff --git a/etcdserver/api/v3rpc/util.go b/server/etcdserver/api/v3rpc/util.go similarity index 100% rename from etcdserver/api/v3rpc/util.go rename to server/etcdserver/api/v3rpc/util.go diff --git a/etcdserver/api/v3rpc/util_test.go b/server/etcdserver/api/v3rpc/util_test.go similarity index 100% rename from etcdserver/api/v3rpc/util_test.go rename to server/etcdserver/api/v3rpc/util_test.go diff --git a/etcdserver/api/v3rpc/watch.go b/server/etcdserver/api/v3rpc/watch.go similarity index 100% rename from etcdserver/api/v3rpc/watch.go rename to server/etcdserver/api/v3rpc/watch.go diff --git a/etcdserver/api/v3rpc/watch_test.go b/server/etcdserver/api/v3rpc/watch_test.go similarity index 100% rename from etcdserver/api/v3rpc/watch_test.go rename to server/etcdserver/api/v3rpc/watch_test.go diff --git a/etcdserver/apply.go b/server/etcdserver/apply.go similarity index 100% rename from etcdserver/apply.go rename to server/etcdserver/apply.go diff --git a/etcdserver/apply_auth.go b/server/etcdserver/apply_auth.go similarity index 100% rename from etcdserver/apply_auth.go rename to server/etcdserver/apply_auth.go diff --git a/etcdserver/apply_v2.go b/server/etcdserver/apply_v2.go similarity index 100% rename from etcdserver/apply_v2.go rename to server/etcdserver/apply_v2.go diff --git a/etcdserver/backend.go b/server/etcdserver/backend.go similarity index 100% rename from etcdserver/backend.go rename to server/etcdserver/backend.go diff --git a/etcdserver/cindex/cindex.go b/server/etcdserver/cindex/cindex.go similarity index 100% rename from etcdserver/cindex/cindex.go rename to server/etcdserver/cindex/cindex.go diff --git a/etcdserver/cindex/cindex_test.go b/server/etcdserver/cindex/cindex_test.go similarity index 100% rename from etcdserver/cindex/cindex_test.go rename to server/etcdserver/cindex/cindex_test.go diff --git a/etcdserver/cindex/doc.go b/server/etcdserver/cindex/doc.go similarity index 100% rename from etcdserver/cindex/doc.go rename to server/etcdserver/cindex/doc.go diff --git a/etcdserver/cluster_util.go b/server/etcdserver/cluster_util.go similarity index 100% rename from etcdserver/cluster_util.go rename to server/etcdserver/cluster_util.go diff --git a/etcdserver/cluster_util_test.go b/server/etcdserver/cluster_util_test.go similarity index 100% rename from etcdserver/cluster_util_test.go rename to server/etcdserver/cluster_util_test.go diff --git a/etcdserver/config.go b/server/etcdserver/config.go similarity index 100% rename from etcdserver/config.go rename to server/etcdserver/config.go diff --git a/etcdserver/config_test.go b/server/etcdserver/config_test.go similarity index 100% rename from etcdserver/config_test.go rename to server/etcdserver/config_test.go diff --git a/etcdserver/corrupt.go b/server/etcdserver/corrupt.go similarity index 100% rename from etcdserver/corrupt.go rename to server/etcdserver/corrupt.go diff --git a/etcdserver/doc.go b/server/etcdserver/doc.go similarity index 100% rename from etcdserver/doc.go rename to server/etcdserver/doc.go diff --git a/etcdserver/errors.go b/server/etcdserver/errors.go similarity index 100% rename from etcdserver/errors.go rename to server/etcdserver/errors.go diff --git a/etcdserver/metrics.go b/server/etcdserver/metrics.go similarity index 100% rename from etcdserver/metrics.go rename to server/etcdserver/metrics.go diff --git a/etcdserver/quota.go b/server/etcdserver/quota.go similarity index 100% rename from etcdserver/quota.go rename to server/etcdserver/quota.go diff --git a/etcdserver/raft.go b/server/etcdserver/raft.go similarity index 100% rename from etcdserver/raft.go rename to server/etcdserver/raft.go diff --git a/etcdserver/raft_test.go b/server/etcdserver/raft_test.go similarity index 100% rename from etcdserver/raft_test.go rename to server/etcdserver/raft_test.go diff --git a/etcdserver/server.go b/server/etcdserver/server.go similarity index 100% rename from etcdserver/server.go rename to server/etcdserver/server.go diff --git a/etcdserver/server_access_control.go b/server/etcdserver/server_access_control.go similarity index 100% rename from etcdserver/server_access_control.go rename to server/etcdserver/server_access_control.go diff --git a/etcdserver/server_test.go b/server/etcdserver/server_test.go similarity index 100% rename from etcdserver/server_test.go rename to server/etcdserver/server_test.go diff --git a/etcdserver/snapshot_merge.go b/server/etcdserver/snapshot_merge.go similarity index 100% rename from etcdserver/snapshot_merge.go rename to server/etcdserver/snapshot_merge.go diff --git a/etcdserver/storage.go b/server/etcdserver/storage.go similarity index 100% rename from etcdserver/storage.go rename to server/etcdserver/storage.go diff --git a/etcdserver/util.go b/server/etcdserver/util.go similarity index 100% rename from etcdserver/util.go rename to server/etcdserver/util.go diff --git a/etcdserver/util_test.go b/server/etcdserver/util_test.go similarity index 100% rename from etcdserver/util_test.go rename to server/etcdserver/util_test.go diff --git a/etcdserver/v2_server.go b/server/etcdserver/v2_server.go similarity index 100% rename from etcdserver/v2_server.go rename to server/etcdserver/v2_server.go diff --git a/etcdserver/v3_server.go b/server/etcdserver/v3_server.go similarity index 100% rename from etcdserver/v3_server.go rename to server/etcdserver/v3_server.go diff --git a/etcdserver/zap_raft.go b/server/etcdserver/zap_raft.go similarity index 100% rename from etcdserver/zap_raft.go rename to server/etcdserver/zap_raft.go diff --git a/etcdserver/zap_raft_test.go b/server/etcdserver/zap_raft_test.go similarity index 100% rename from etcdserver/zap_raft_test.go rename to server/etcdserver/zap_raft_test.go diff --git a/go.mod b/server/go.mod similarity index 100% rename from go.mod rename to server/go.mod diff --git a/go.sum b/server/go.sum similarity index 100% rename from go.sum rename to server/go.sum diff --git a/lease/doc.go b/server/lease/doc.go similarity index 100% rename from lease/doc.go rename to server/lease/doc.go diff --git a/lease/lease_queue.go b/server/lease/lease_queue.go similarity index 100% rename from lease/lease_queue.go rename to server/lease/lease_queue.go diff --git a/lease/lease_queue_test.go b/server/lease/lease_queue_test.go similarity index 100% rename from lease/lease_queue_test.go rename to server/lease/lease_queue_test.go diff --git a/lease/leasehttp/doc.go b/server/lease/leasehttp/doc.go similarity index 100% rename from lease/leasehttp/doc.go rename to server/lease/leasehttp/doc.go diff --git a/lease/leasehttp/http.go b/server/lease/leasehttp/http.go similarity index 100% rename from lease/leasehttp/http.go rename to server/lease/leasehttp/http.go diff --git a/lease/leasehttp/http_test.go b/server/lease/leasehttp/http_test.go similarity index 100% rename from lease/leasehttp/http_test.go rename to server/lease/leasehttp/http_test.go diff --git a/lease/leasepb/lease.pb.go b/server/lease/leasepb/lease.pb.go similarity index 100% rename from lease/leasepb/lease.pb.go rename to server/lease/leasepb/lease.pb.go diff --git a/lease/leasepb/lease.proto b/server/lease/leasepb/lease.proto similarity index 100% rename from lease/leasepb/lease.proto rename to server/lease/leasepb/lease.proto diff --git a/lease/lessor.go b/server/lease/lessor.go similarity index 100% rename from lease/lessor.go rename to server/lease/lessor.go diff --git a/lease/lessor_bench_test.go b/server/lease/lessor_bench_test.go similarity index 100% rename from lease/lessor_bench_test.go rename to server/lease/lessor_bench_test.go diff --git a/lease/lessor_test.go b/server/lease/lessor_test.go similarity index 100% rename from lease/lessor_test.go rename to server/lease/lessor_test.go diff --git a/lease/metrics.go b/server/lease/metrics.go similarity index 100% rename from lease/metrics.go rename to server/lease/metrics.go diff --git a/mvcc/backend/backend.go b/server/mvcc/backend/backend.go similarity index 100% rename from mvcc/backend/backend.go rename to server/mvcc/backend/backend.go diff --git a/mvcc/backend/backend_bench_test.go b/server/mvcc/backend/backend_bench_test.go similarity index 100% rename from mvcc/backend/backend_bench_test.go rename to server/mvcc/backend/backend_bench_test.go diff --git a/mvcc/backend/backend_test.go b/server/mvcc/backend/backend_test.go similarity index 100% rename from mvcc/backend/backend_test.go rename to server/mvcc/backend/backend_test.go diff --git a/mvcc/backend/batch_tx.go b/server/mvcc/backend/batch_tx.go similarity index 100% rename from mvcc/backend/batch_tx.go rename to server/mvcc/backend/batch_tx.go diff --git a/mvcc/backend/batch_tx_test.go b/server/mvcc/backend/batch_tx_test.go similarity index 100% rename from mvcc/backend/batch_tx_test.go rename to server/mvcc/backend/batch_tx_test.go diff --git a/mvcc/backend/config_default.go b/server/mvcc/backend/config_default.go similarity index 100% rename from mvcc/backend/config_default.go rename to server/mvcc/backend/config_default.go diff --git a/mvcc/backend/config_linux.go b/server/mvcc/backend/config_linux.go similarity index 100% rename from mvcc/backend/config_linux.go rename to server/mvcc/backend/config_linux.go diff --git a/mvcc/backend/config_windows.go b/server/mvcc/backend/config_windows.go similarity index 100% rename from mvcc/backend/config_windows.go rename to server/mvcc/backend/config_windows.go diff --git a/mvcc/backend/doc.go b/server/mvcc/backend/doc.go similarity index 100% rename from mvcc/backend/doc.go rename to server/mvcc/backend/doc.go diff --git a/mvcc/backend/metrics.go b/server/mvcc/backend/metrics.go similarity index 100% rename from mvcc/backend/metrics.go rename to server/mvcc/backend/metrics.go diff --git a/mvcc/backend/read_tx.go b/server/mvcc/backend/read_tx.go similarity index 100% rename from mvcc/backend/read_tx.go rename to server/mvcc/backend/read_tx.go diff --git a/mvcc/backend/tx_buffer.go b/server/mvcc/backend/tx_buffer.go similarity index 100% rename from mvcc/backend/tx_buffer.go rename to server/mvcc/backend/tx_buffer.go diff --git a/mvcc/doc.go b/server/mvcc/doc.go similarity index 100% rename from mvcc/doc.go rename to server/mvcc/doc.go diff --git a/mvcc/index.go b/server/mvcc/index.go similarity index 100% rename from mvcc/index.go rename to server/mvcc/index.go diff --git a/mvcc/index_bench_test.go b/server/mvcc/index_bench_test.go similarity index 100% rename from mvcc/index_bench_test.go rename to server/mvcc/index_bench_test.go diff --git a/mvcc/index_test.go b/server/mvcc/index_test.go similarity index 100% rename from mvcc/index_test.go rename to server/mvcc/index_test.go diff --git a/mvcc/key_index.go b/server/mvcc/key_index.go similarity index 100% rename from mvcc/key_index.go rename to server/mvcc/key_index.go diff --git a/mvcc/key_index_test.go b/server/mvcc/key_index_test.go similarity index 100% rename from mvcc/key_index_test.go rename to server/mvcc/key_index_test.go diff --git a/mvcc/kv.go b/server/mvcc/kv.go similarity index 100% rename from mvcc/kv.go rename to server/mvcc/kv.go diff --git a/mvcc/kv_test.go b/server/mvcc/kv_test.go similarity index 100% rename from mvcc/kv_test.go rename to server/mvcc/kv_test.go diff --git a/mvcc/kv_view.go b/server/mvcc/kv_view.go similarity index 100% rename from mvcc/kv_view.go rename to server/mvcc/kv_view.go diff --git a/mvcc/kvstore.go b/server/mvcc/kvstore.go similarity index 100% rename from mvcc/kvstore.go rename to server/mvcc/kvstore.go diff --git a/mvcc/kvstore_bench_test.go b/server/mvcc/kvstore_bench_test.go similarity index 100% rename from mvcc/kvstore_bench_test.go rename to server/mvcc/kvstore_bench_test.go diff --git a/mvcc/kvstore_compaction.go b/server/mvcc/kvstore_compaction.go similarity index 100% rename from mvcc/kvstore_compaction.go rename to server/mvcc/kvstore_compaction.go diff --git a/mvcc/kvstore_compaction_test.go b/server/mvcc/kvstore_compaction_test.go similarity index 100% rename from mvcc/kvstore_compaction_test.go rename to server/mvcc/kvstore_compaction_test.go diff --git a/mvcc/kvstore_test.go b/server/mvcc/kvstore_test.go similarity index 100% rename from mvcc/kvstore_test.go rename to server/mvcc/kvstore_test.go diff --git a/mvcc/kvstore_txn.go b/server/mvcc/kvstore_txn.go similarity index 100% rename from mvcc/kvstore_txn.go rename to server/mvcc/kvstore_txn.go diff --git a/mvcc/metrics.go b/server/mvcc/metrics.go similarity index 100% rename from mvcc/metrics.go rename to server/mvcc/metrics.go diff --git a/mvcc/metrics_txn.go b/server/mvcc/metrics_txn.go similarity index 100% rename from mvcc/metrics_txn.go rename to server/mvcc/metrics_txn.go diff --git a/mvcc/revision.go b/server/mvcc/revision.go similarity index 100% rename from mvcc/revision.go rename to server/mvcc/revision.go diff --git a/mvcc/revision_test.go b/server/mvcc/revision_test.go similarity index 100% rename from mvcc/revision_test.go rename to server/mvcc/revision_test.go diff --git a/mvcc/util.go b/server/mvcc/util.go similarity index 100% rename from mvcc/util.go rename to server/mvcc/util.go diff --git a/mvcc/watchable_store.go b/server/mvcc/watchable_store.go similarity index 100% rename from mvcc/watchable_store.go rename to server/mvcc/watchable_store.go diff --git a/mvcc/watchable_store_bench_test.go b/server/mvcc/watchable_store_bench_test.go similarity index 100% rename from mvcc/watchable_store_bench_test.go rename to server/mvcc/watchable_store_bench_test.go diff --git a/mvcc/watchable_store_test.go b/server/mvcc/watchable_store_test.go similarity index 100% rename from mvcc/watchable_store_test.go rename to server/mvcc/watchable_store_test.go diff --git a/mvcc/watchable_store_txn.go b/server/mvcc/watchable_store_txn.go similarity index 100% rename from mvcc/watchable_store_txn.go rename to server/mvcc/watchable_store_txn.go diff --git a/mvcc/watcher.go b/server/mvcc/watcher.go similarity index 100% rename from mvcc/watcher.go rename to server/mvcc/watcher.go diff --git a/mvcc/watcher_bench_test.go b/server/mvcc/watcher_bench_test.go similarity index 100% rename from mvcc/watcher_bench_test.go rename to server/mvcc/watcher_bench_test.go diff --git a/mvcc/watcher_group.go b/server/mvcc/watcher_group.go similarity index 100% rename from mvcc/watcher_group.go rename to server/mvcc/watcher_group.go diff --git a/mvcc/watcher_test.go b/server/mvcc/watcher_test.go similarity index 100% rename from mvcc/watcher_test.go rename to server/mvcc/watcher_test.go diff --git a/proxy/grpcproxy/adapter/auth_client_adapter.go b/server/proxy/grpcproxy/adapter/auth_client_adapter.go similarity index 100% rename from proxy/grpcproxy/adapter/auth_client_adapter.go rename to server/proxy/grpcproxy/adapter/auth_client_adapter.go diff --git a/proxy/grpcproxy/adapter/chan_stream.go b/server/proxy/grpcproxy/adapter/chan_stream.go similarity index 100% rename from proxy/grpcproxy/adapter/chan_stream.go rename to server/proxy/grpcproxy/adapter/chan_stream.go diff --git a/proxy/grpcproxy/adapter/cluster_client_adapter.go b/server/proxy/grpcproxy/adapter/cluster_client_adapter.go similarity index 100% rename from proxy/grpcproxy/adapter/cluster_client_adapter.go rename to server/proxy/grpcproxy/adapter/cluster_client_adapter.go diff --git a/proxy/grpcproxy/adapter/doc.go b/server/proxy/grpcproxy/adapter/doc.go similarity index 100% rename from proxy/grpcproxy/adapter/doc.go rename to server/proxy/grpcproxy/adapter/doc.go diff --git a/proxy/grpcproxy/adapter/election_client_adapter.go b/server/proxy/grpcproxy/adapter/election_client_adapter.go similarity index 100% rename from proxy/grpcproxy/adapter/election_client_adapter.go rename to server/proxy/grpcproxy/adapter/election_client_adapter.go diff --git a/proxy/grpcproxy/adapter/kv_client_adapter.go b/server/proxy/grpcproxy/adapter/kv_client_adapter.go similarity index 100% rename from proxy/grpcproxy/adapter/kv_client_adapter.go rename to server/proxy/grpcproxy/adapter/kv_client_adapter.go diff --git a/proxy/grpcproxy/adapter/lease_client_adapter.go b/server/proxy/grpcproxy/adapter/lease_client_adapter.go similarity index 100% rename from proxy/grpcproxy/adapter/lease_client_adapter.go rename to server/proxy/grpcproxy/adapter/lease_client_adapter.go diff --git a/proxy/grpcproxy/adapter/lock_client_adapter.go b/server/proxy/grpcproxy/adapter/lock_client_adapter.go similarity index 100% rename from proxy/grpcproxy/adapter/lock_client_adapter.go rename to server/proxy/grpcproxy/adapter/lock_client_adapter.go diff --git a/proxy/grpcproxy/adapter/maintenance_client_adapter.go b/server/proxy/grpcproxy/adapter/maintenance_client_adapter.go similarity index 100% rename from proxy/grpcproxy/adapter/maintenance_client_adapter.go rename to server/proxy/grpcproxy/adapter/maintenance_client_adapter.go diff --git a/proxy/grpcproxy/adapter/watch_client_adapter.go b/server/proxy/grpcproxy/adapter/watch_client_adapter.go similarity index 100% rename from proxy/grpcproxy/adapter/watch_client_adapter.go rename to server/proxy/grpcproxy/adapter/watch_client_adapter.go diff --git a/proxy/grpcproxy/auth.go b/server/proxy/grpcproxy/auth.go similarity index 100% rename from proxy/grpcproxy/auth.go rename to server/proxy/grpcproxy/auth.go diff --git a/proxy/grpcproxy/cache/store.go b/server/proxy/grpcproxy/cache/store.go similarity index 100% rename from proxy/grpcproxy/cache/store.go rename to server/proxy/grpcproxy/cache/store.go diff --git a/proxy/grpcproxy/cluster.go b/server/proxy/grpcproxy/cluster.go similarity index 100% rename from proxy/grpcproxy/cluster.go rename to server/proxy/grpcproxy/cluster.go diff --git a/proxy/grpcproxy/doc.go b/server/proxy/grpcproxy/doc.go similarity index 100% rename from proxy/grpcproxy/doc.go rename to server/proxy/grpcproxy/doc.go diff --git a/proxy/grpcproxy/election.go b/server/proxy/grpcproxy/election.go similarity index 100% rename from proxy/grpcproxy/election.go rename to server/proxy/grpcproxy/election.go diff --git a/proxy/grpcproxy/health.go b/server/proxy/grpcproxy/health.go similarity index 100% rename from proxy/grpcproxy/health.go rename to server/proxy/grpcproxy/health.go diff --git a/proxy/grpcproxy/kv.go b/server/proxy/grpcproxy/kv.go similarity index 100% rename from proxy/grpcproxy/kv.go rename to server/proxy/grpcproxy/kv.go diff --git a/proxy/grpcproxy/leader.go b/server/proxy/grpcproxy/leader.go similarity index 100% rename from proxy/grpcproxy/leader.go rename to server/proxy/grpcproxy/leader.go diff --git a/proxy/grpcproxy/lease.go b/server/proxy/grpcproxy/lease.go similarity index 100% rename from proxy/grpcproxy/lease.go rename to server/proxy/grpcproxy/lease.go diff --git a/proxy/grpcproxy/lock.go b/server/proxy/grpcproxy/lock.go similarity index 100% rename from proxy/grpcproxy/lock.go rename to server/proxy/grpcproxy/lock.go diff --git a/proxy/grpcproxy/maintenance.go b/server/proxy/grpcproxy/maintenance.go similarity index 100% rename from proxy/grpcproxy/maintenance.go rename to server/proxy/grpcproxy/maintenance.go diff --git a/proxy/grpcproxy/metrics.go b/server/proxy/grpcproxy/metrics.go similarity index 100% rename from proxy/grpcproxy/metrics.go rename to server/proxy/grpcproxy/metrics.go diff --git a/proxy/grpcproxy/register.go b/server/proxy/grpcproxy/register.go similarity index 100% rename from proxy/grpcproxy/register.go rename to server/proxy/grpcproxy/register.go diff --git a/proxy/grpcproxy/util.go b/server/proxy/grpcproxy/util.go similarity index 100% rename from proxy/grpcproxy/util.go rename to server/proxy/grpcproxy/util.go diff --git a/proxy/grpcproxy/watch.go b/server/proxy/grpcproxy/watch.go similarity index 100% rename from proxy/grpcproxy/watch.go rename to server/proxy/grpcproxy/watch.go diff --git a/proxy/grpcproxy/watch_broadcast.go b/server/proxy/grpcproxy/watch_broadcast.go similarity index 100% rename from proxy/grpcproxy/watch_broadcast.go rename to server/proxy/grpcproxy/watch_broadcast.go diff --git a/proxy/grpcproxy/watch_broadcasts.go b/server/proxy/grpcproxy/watch_broadcasts.go similarity index 100% rename from proxy/grpcproxy/watch_broadcasts.go rename to server/proxy/grpcproxy/watch_broadcasts.go diff --git a/proxy/grpcproxy/watch_ranges.go b/server/proxy/grpcproxy/watch_ranges.go similarity index 100% rename from proxy/grpcproxy/watch_ranges.go rename to server/proxy/grpcproxy/watch_ranges.go diff --git a/proxy/grpcproxy/watcher.go b/server/proxy/grpcproxy/watcher.go similarity index 100% rename from proxy/grpcproxy/watcher.go rename to server/proxy/grpcproxy/watcher.go diff --git a/proxy/httpproxy/director.go b/server/proxy/httpproxy/director.go similarity index 100% rename from proxy/httpproxy/director.go rename to server/proxy/httpproxy/director.go diff --git a/proxy/httpproxy/director_test.go b/server/proxy/httpproxy/director_test.go similarity index 100% rename from proxy/httpproxy/director_test.go rename to server/proxy/httpproxy/director_test.go diff --git a/proxy/httpproxy/doc.go b/server/proxy/httpproxy/doc.go similarity index 100% rename from proxy/httpproxy/doc.go rename to server/proxy/httpproxy/doc.go diff --git a/proxy/httpproxy/metrics.go b/server/proxy/httpproxy/metrics.go similarity index 100% rename from proxy/httpproxy/metrics.go rename to server/proxy/httpproxy/metrics.go diff --git a/proxy/httpproxy/proxy.go b/server/proxy/httpproxy/proxy.go similarity index 100% rename from proxy/httpproxy/proxy.go rename to server/proxy/httpproxy/proxy.go diff --git a/proxy/httpproxy/proxy_test.go b/server/proxy/httpproxy/proxy_test.go similarity index 100% rename from proxy/httpproxy/proxy_test.go rename to server/proxy/httpproxy/proxy_test.go diff --git a/proxy/httpproxy/reverse.go b/server/proxy/httpproxy/reverse.go similarity index 100% rename from proxy/httpproxy/reverse.go rename to server/proxy/httpproxy/reverse.go diff --git a/proxy/httpproxy/reverse_test.go b/server/proxy/httpproxy/reverse_test.go similarity index 100% rename from proxy/httpproxy/reverse_test.go rename to server/proxy/httpproxy/reverse_test.go diff --git a/proxy/tcpproxy/doc.go b/server/proxy/tcpproxy/doc.go similarity index 100% rename from proxy/tcpproxy/doc.go rename to server/proxy/tcpproxy/doc.go diff --git a/proxy/tcpproxy/userspace.go b/server/proxy/tcpproxy/userspace.go similarity index 100% rename from proxy/tcpproxy/userspace.go rename to server/proxy/tcpproxy/userspace.go diff --git a/proxy/tcpproxy/userspace_test.go b/server/proxy/tcpproxy/userspace_test.go similarity index 100% rename from proxy/tcpproxy/userspace_test.go rename to server/proxy/tcpproxy/userspace_test.go diff --git a/wal/decoder.go b/server/wal/decoder.go similarity index 100% rename from wal/decoder.go rename to server/wal/decoder.go diff --git a/wal/doc.go b/server/wal/doc.go similarity index 100% rename from wal/doc.go rename to server/wal/doc.go diff --git a/wal/encoder.go b/server/wal/encoder.go similarity index 100% rename from wal/encoder.go rename to server/wal/encoder.go diff --git a/wal/file_pipeline.go b/server/wal/file_pipeline.go similarity index 100% rename from wal/file_pipeline.go rename to server/wal/file_pipeline.go diff --git a/wal/file_pipeline_test.go b/server/wal/file_pipeline_test.go similarity index 100% rename from wal/file_pipeline_test.go rename to server/wal/file_pipeline_test.go diff --git a/wal/metrics.go b/server/wal/metrics.go similarity index 100% rename from wal/metrics.go rename to server/wal/metrics.go diff --git a/wal/record_test.go b/server/wal/record_test.go similarity index 100% rename from wal/record_test.go rename to server/wal/record_test.go diff --git a/wal/repair.go b/server/wal/repair.go similarity index 100% rename from wal/repair.go rename to server/wal/repair.go diff --git a/wal/repair_test.go b/server/wal/repair_test.go similarity index 100% rename from wal/repair_test.go rename to server/wal/repair_test.go diff --git a/wal/util.go b/server/wal/util.go similarity index 100% rename from wal/util.go rename to server/wal/util.go diff --git a/wal/wal.go b/server/wal/wal.go similarity index 100% rename from wal/wal.go rename to server/wal/wal.go diff --git a/wal/wal_bench_test.go b/server/wal/wal_bench_test.go similarity index 100% rename from wal/wal_bench_test.go rename to server/wal/wal_bench_test.go diff --git a/wal/wal_test.go b/server/wal/wal_test.go similarity index 100% rename from wal/wal_test.go rename to server/wal/wal_test.go diff --git a/wal/walpb/record.go b/server/wal/walpb/record.go similarity index 100% rename from wal/walpb/record.go rename to server/wal/walpb/record.go diff --git a/wal/walpb/record.pb.go b/server/wal/walpb/record.pb.go similarity index 100% rename from wal/walpb/record.pb.go rename to server/wal/walpb/record.pb.go diff --git a/wal/walpb/record.proto b/server/wal/walpb/record.proto similarity index 100% rename from wal/walpb/record.proto rename to server/wal/walpb/record.proto