...

Package api

import "go.etcd.io/etcd/server/v3/etcdserver/api"
Overview
Index
Subdirectories

Overview ▾

Package api manages the capabilities and features that are exposed to clients by the etcd cluster.

func EnableCapability

func EnableCapability(c Capability)

func IsCapabilityEnabled

func IsCapabilityEnabled(c Capability) bool

func UpdateCapability

func UpdateCapability(lg *zap.Logger, v *semver.Version)

UpdateCapability updates the enabledMap when the cluster version increases.

type Capability

type Capability string
const (
    AuthCapability  Capability = "auth"
    V3rpcCapability Capability = "v3rpc"
)

type Cluster

Cluster is an interface representing a collection of members in one etcd cluster.

type Cluster interface {
    // ID returns the cluster ID
    ID() types.ID
    // ClientURLs returns an aggregate set of all URLs on which this
    // cluster is listening for client requests
    ClientURLs() []string
    // Members returns a slice of members sorted by their ID
    Members() []*membership.Member
    // Member retrieves a particular member based on ID, or nil if the
    // member does not exist in the cluster
    Member(id types.ID) *membership.Member
    // Version is the cluster-wide minimum major.minor version.
    Version() *semver.Version
}

Subdirectories

Name Synopsis
..
etcdhttp Package etcdhttp implements HTTP transportation layer for etcdserver.
membership Package membership describes individual etcd members and clusters of members.
rafthttp Package rafthttp implements HTTP transportation layer for etcd/raft pkg.
snap Package snap handles Raft nodes' states with snapshots.
snappb
v2auth Package v2auth implements etcd authentication.
v2discovery Package v2discovery provides an implementation of the cluster discovery that is used by etcd with v2 client.
v2error Package v2error describes errors in etcd project.
v2http Package v2http provides etcd client and server implementations.
httptypes Package httptypes defines how etcd's HTTP API entities are serialized to and deserialized from JSON.
v2stats Package v2stats defines a standard interface for etcd cluster statistics.
v2store Package v2store defines etcd's in-memory key/value store in v2 API.
v2v3 Package v2v3 provides a ServerV2 implementation backed by clientv3.Client.
v3alarm Package v3alarm manages health status alarms in etcd.
v3client Package v3client provides clientv3 interfaces from an etcdserver.
v3compactor Package v3compactor implements automated policies for compacting etcd's mvcc storage.
v3election Package v3election provides a v3 election service from an etcdserver.
v3electionpb
gw Package v3electionpb is a reverse proxy.
v3lock Package v3lock provides a v3 locking service from an etcdserver.
v3lockpb
gw Package v3lockpb is a reverse proxy.
v3rpc Package v3rpc implements etcd v3 RPC system based on gRPC.