reconciler

package
v0.0.0-...-330c09c Latest Latest
Warning

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

Go to latest
Published: Jun 6, 2023 License: Apache-2.0 Imports: 17 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PassNewValue

func PassNewValue(old interface{}, new interface{}) interface{}

Types

type AsyncCommandNotificationStore

type AsyncCommandNotificationStore interface {
	GetCommandResult(srcName types.NamespacedName, pod string, command message.AsyncCommand) *message.AsyncCommandResult
	CleanPodsNotifications(srcName types.NamespacedName)
	CleanPodNotification(srcName types.NamespacedName, pod string)
	MessageHandler(srcName types.NamespacedName, pod string) control.MessageHandler
}

AsyncCommandNotificationStore defines a specialized NotificationStore capable of handling message.AsyncCommandResults

func NewAsyncCommandNotificationStore

func NewAsyncCommandNotificationStore(enqueueKey func(name types.NamespacedName)) AsyncCommandNotificationStore

NewAsyncCommandNotificationStore creates an AsyncCommandNotificationStore

type ControlPlaneConnectionPool

type ControlPlaneConnectionPool interface {
	GetConnectedHosts(key string) []string
	GetServices(key string) map[string]control.Service
	ResolveControlInterface(key string, host string) (string, control.Service)
	RemoveConnection(ctx context.Context, key string, host string)
	RemoveAllConnections(ctx context.Context, key string)
	Close(ctx context.Context)
	ReconcileConnections(ctx context.Context, key string, wantConnections []string, newServiceCb func(string, control.Service), oldServiceCb func(string)) (map[string]control.Service, error)
	DialControlService(ctx context.Context, key string, host string) (string, control.Service, error)
}

func NewControlPlaneConnectionPool

func NewControlPlaneConnectionPool(tlsDialerFactory TLSDialerFactory, opts ...ControlPlaneConnectionPoolOption) ControlPlaneConnectionPool

type ControlPlaneConnectionPoolOption

type ControlPlaneConnectionPoolOption func(*controlPlaneConnectionPoolImpl)

type ListerCertificateGetter

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

func NewCertificateGetter

func NewCertificateGetter(secrets v1.SecretLister, namespace string, name string) *ListerCertificateGetter

func (*ListerCertificateGetter) GenerateTLSDialer

func (ch *ListerCertificateGetter) GenerateTLSDialer(baseDialOptions *net.Dialer) (*tls.Dialer, error)

type NotificationStore

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

func NewNotificationStore

func NewNotificationStore(enqueueKey func(name types.NamespacedName), parser PayloadParser) *NotificationStore

func (*NotificationStore) CleanPodNotification

func (n *NotificationStore) CleanPodNotification(srcName types.NamespacedName, pod string)

func (*NotificationStore) CleanPodsNotifications

func (n *NotificationStore) CleanPodsNotifications(srcName types.NamespacedName)

func (*NotificationStore) GetPodNotification

func (n *NotificationStore) GetPodNotification(srcName types.NamespacedName, pod string) (interface{}, bool)

func (*NotificationStore) GetPodsNotifications

func (n *NotificationStore) GetPodsNotifications(srcName types.NamespacedName) (map[string]interface{}, bool)

func (*NotificationStore) MessageHandler

func (n *NotificationStore) MessageHandler(srcName types.NamespacedName, pod string, valueMerger ValueMerger) control.MessageHandler

type PayloadParser

type PayloadParser func([]byte) (interface{}, error)

type PodIpGetter

type PodIpGetter struct {
	Lister v1.PodLister
}

func (PodIpGetter) GetAllPodsIp

func (ipGetter PodIpGetter) GetAllPodsIp(namespace string, selector labels.Selector) ([]string, error)

type TLSDialerFactory

type TLSDialerFactory interface {
	GenerateTLSDialer(baseDialOptions *net.Dialer) (*tls.Dialer, error)
}

type ValueMerger

type ValueMerger func(old interface{}, new interface{}) interface{}

Jump to

Keyboard shortcuts

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