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/membershipPackage membership describes individual etcd members and clusters of members.
etcdserver/api/rafthttpPackage rafthttp implements HTTP transportation layer for etcd/raft pkg.
etcdserver/api/snapPackage snap handles Raft nodes' states with snapshots.
etcdserver/api/snap/snappb
etcdserver/api/v2authPackage v2auth implements etcd authentication.
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/v2httpPackage v2http provides etcd client and server implementations.
etcdserver/api/v2http/httptypesPackage httptypes defines how etcd's HTTP API entities are serialized to and deserialized from JSON.
etcdserver/api/v2statsPackage v2stats defines a standard interface for etcd cluster statistics.
etcdserver/api/v2storePackage v2store defines etcd's in-memory key/value store in v2 API.
etcdserver/api/v2v3Package v2v3 provides a ServerV2 implementation backed by clientv3.Client.
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/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.5.18 (latest)
Published
Jan 24, 2025
Platform
linux/amd64
Imports
6 packages
Last checked
5 days ago

Tools for package owners.