Documentation
¶
Overview ¶
Package state provides an interface for querying mesh state.
Index ¶
Constants ¶
View Source
const ( // MeshStatePrefix is the prefix for mesh state keys. MeshStatePrefix = "/registry/meshstate" // IPv6PrefixKey is the key for the IPv6 prefix. IPv6PrefixKey = MeshStatePrefix + "/ipv6prefix" // IPv4PrefixKey is the key for the IPv4 prefix. IPv4PrefixKey = MeshStatePrefix + "/ipv4prefix" // MeshDomainKey is the key for the mesh domain. MeshDomainKey = MeshStatePrefix + "/meshdomain" )
Variables ¶
View Source
var ErrNodeNotFound = sql.ErrNoRows
ErrNodeNotFound is returned when a node is not found.
Functions ¶
This section is empty.
Types ¶
type State ¶
type State interface {
// GetIPv6Prefix returns the IPv6 prefix.
GetIPv6Prefix(ctx context.Context) (netip.Prefix, error)
// GetIPv4Prefix returns the IPv4 prefix.
GetIPv4Prefix(ctx context.Context) (netip.Prefix, error)
// GetMeshDomain returns the mesh domain.
GetMeshDomain(ctx context.Context) (string, error)
// ListPublicRPCAddresses returns all public gRPC addresses in the mesh.
// The map key is the node ID.
ListPublicRPCAddresses(ctx context.Context) (map[string]netip.AddrPort, error)
// ListPeerPublicRPCAddresses returns all public gRPC addresses in the mesh excluding a node.
// The map key is the node ID.
ListPeerPublicRPCAddresses(ctx context.Context, nodeID string) (map[string]netip.AddrPort, error)
// ListPeerPrivateRPCAddresses returns all private gRPC addresses in the mesh excluding a node.
// The map key is the node ID.
ListPeerPrivateRPCAddresses(ctx context.Context, nodeID string) (map[string]netip.AddrPort, error)
}
State is the interface for querying mesh state.
Click to show internal directories.
Click to hide internal directories.