package api

import "go.etcd.io/etcd/server/v3/etcdserver/api"

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

Index

Functions

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.

Types

type Capability

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

type 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
}

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

Source Files

capability.go cluster.go doc.go

Directories

PathSynopsis
etcdserver/api/etcdhttpPackage etcdhttp implements HTTP transportation layer for etcdserver.
etcdserver/api/etcdhttp/types
etcdserver/api/membershipPackage membership describes individual etcd members and clusters of members.
etcdserver/api/rafthttpPackage rafthttp implements HTTP transportation layer for raft pkg.
etcdserver/api/snapPackage snap handles Raft nodes' states with snapshots.
etcdserver/api/snap/snappb
etcdserver/api/v2discoveryPackage v2discovery provides an implementation of the cluster discovery that is used by etcd with v2 client.
etcdserver/api/v2errorPackage v2error describes errors in etcd project.
etcdserver/api/v2stats
etcdserver/api/v2storePackage v2store defines etcd's in-memory key/value store in v2 API.
etcdserver/api/v3alarmPackage v3alarm manages health status alarms in etcd.
etcdserver/api/v3clientPackage v3client provides clientv3 interfaces from an etcdserver.
etcdserver/api/v3compactorPackage v3compactor implements automated policies for compacting etcd's mvcc storage.
etcdserver/api/v3discoveryPackage v3discovery provides an implementation of the cluster discovery that is used by etcd with v3 client.
etcdserver/api/v3electionPackage v3election provides a v3 election service from an etcdserver.
etcdserver/api/v3election/v3electionpb
etcdserver/api/v3election/v3electionpb/gwPackage v3electionpb is a reverse proxy.
etcdserver/api/v3lockPackage v3lock provides a v3 locking service from an etcdserver.
etcdserver/api/v3lock/v3lockpb
etcdserver/api/v3lock/v3lockpb/gwPackage v3lockpb is a reverse proxy.
etcdserver/api/v3rpcPackage v3rpc implements etcd v3 RPC system based on gRPC.
Version
v3.6.0 (latest)
Published
May 15, 2025
Platform
linux/amd64
Imports
7 packages
Last checked
2 hours ago

Tools for package owners.