memberlist_manager

package
v0.0.0-...-1edfd68 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 29, 2025 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const MemberLabel = "member-type"

Variables

This section is empty.

Functions

This section is empty.

Types

type CRMemberlistStore

type CRMemberlistStore struct {
	// contains filtered or unexported fields
}

func NewCRMemberlistStore

func NewCRMemberlistStore(dynamicClient dynamic.Interface, coordinatorNamespace string, memberlistCustomResource string) *CRMemberlistStore

func (*CRMemberlistStore) GetMemberlist

func (s *CRMemberlistStore) GetMemberlist(ctx context.Context) (return_memberlist Memberlist, resourceVersion string, err error)

func (*CRMemberlistStore) UpdateMemberlist

func (s *CRMemberlistStore) UpdateMemberlist(ctx context.Context, memberlist Memberlist, resourceVersion string) error

type IMemberlistManager

type IMemberlistManager interface {
	common.Component
}

type IMemberlistStore

type IMemberlistStore interface {
	GetMemberlist(ctx context.Context) (_ Memberlist, resourceVersion string, err error)
	UpdateMemberlist(ctx context.Context, _ Memberlist, resourceVersion string) error
}

func NewCRMemberlistStoreFromK8s

func NewCRMemberlistStoreFromK8s(namespace, memberlistName string) (IMemberlistStore, error)

NewCRMemberlistStoreFromK8s creates a CRMemberlistStore by automatically creating a Kubernetes dynamic client. This is a convenience function for the common case where you need to access a memberlist CRD in Kubernetes.

type IWatcher

type IWatcher interface {
	common.Component
	RegisterCallback(callback NodeWatcherCallback)
	ListReadyMembers() (Memberlist, error)
}

type KubernetesWatcher

type KubernetesWatcher struct {
	// contains filtered or unexported fields
}

func NewKubernetesWatcher

func NewKubernetesWatcher(clientset kubernetes.Interface, coordinator_namespace string, pod_label string, resyncPeriod time.Duration) *KubernetesWatcher

func (*KubernetesWatcher) ListReadyMembers

func (w *KubernetesWatcher) ListReadyMembers() (Memberlist, error)

func (*KubernetesWatcher) RegisterCallback

func (w *KubernetesWatcher) RegisterCallback(callback NodeWatcherCallback)

Register a queue

func (*KubernetesWatcher) Start

func (w *KubernetesWatcher) Start() error

func (*KubernetesWatcher) Stop

func (w *KubernetesWatcher) Stop() error

Stop the kubernetes watcher

type Member

type Member struct {
	// contains filtered or unexported fields
}

func NewMember

func NewMember(id, ip, node string) Member

NewMember creates a new Member with the given id, ip, and node

func (Member) GetID

func (m Member) GetID() string

GetID returns the ID of the member

func (Member) GetIP

func (m Member) GetIP() string

GetIP returns the IP address of the member

func (Member) MarshalLogObject

func (m Member) MarshalLogObject(enc zapcore.ObjectEncoder) error

MarshalLogObject implements the zapcore.ObjectMarshaler interface

type Memberlist

type Memberlist []Member

func (Memberlist) Len

func (p Memberlist) Len() int

func (Memberlist) Less

func (p Memberlist) Less(i, j int) bool

func (Memberlist) MarshalLogArray

func (ml Memberlist) MarshalLogArray(enc zapcore.ArrayEncoder) error

MarshalLogArray implements the zapcore.ArrayMarshaler interface

func (Memberlist) Swap

func (p Memberlist) Swap(i, j int)

type MemberlistManager

type MemberlistManager struct {
	// contains filtered or unexported fields
}

func NewMemberlistManager

func NewMemberlistManager(nodeWatcher IWatcher, memberlistStore IMemberlistStore) *MemberlistManager

func (*MemberlistManager) SetReconcileCount

func (m *MemberlistManager) SetReconcileCount(count uint)

func (*MemberlistManager) SetReconcileInterval

func (m *MemberlistManager) SetReconcileInterval(interval time.Duration)

func (*MemberlistManager) Start

func (m *MemberlistManager) Start() error

func (*MemberlistManager) Stop

func (m *MemberlistManager) Stop() error

type NodeWatcherCallback

type NodeWatcherCallback func(node_ip string)

type Status

type Status int
const (
	Ready Status = iota
	NotReady
	Unknown
)

Enum for status

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL