watcher

package
v0.0.1-dev.12 Latest Latest
Warning

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

Go to latest
Published: Sep 6, 2025 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultInstanceEventRenderer

func DefaultInstanceEventRenderer(events []Event) []string

DefaultInstanceEventRenderer returns a default renderer for instance events

func DefaultInstanceResourceToRows

func DefaultInstanceResourceToRows(resources []types.Resource) [][]string

DefaultInstanceResourceToRows returns a default row renderer for instances

func DefaultServiceEventRenderer

func DefaultServiceEventRenderer(events []Event) []string

DefaultServiceEventRenderer returns a default renderer for service events

func DefaultServiceResourceToRows

func DefaultServiceResourceToRows(resources []types.Resource) [][]string

Types

type Event

type Event struct {
	EventType string         // "ADDED", "MODIFIED", "DELETED"
	Resource  types.Resource // The resource that changed
	Timestamp time.Time      // When the event occurred
}

Event represents a resource change event for display

type InstanceWatcher

type InstanceWatcher interface {
	WatchInstances(namespace, serviceId, labelSelector, fieldSelector string) (<-chan client.InstanceWatchEvent, error)
}

InstanceWatcher defines the interface for watching instances

type InstanceWatcherAdapter

type InstanceWatcherAdapter struct {
	InstanceWatcher
}

InstanceWatcherAdapter adapts the InstanceWatcher interface to ResourceToWatch

func (InstanceWatcherAdapter) Watch

func (a InstanceWatcherAdapter) Watch(ctx context.Context, namespace, labelSelector, fieldSelector string) (<-chan WatchEvent, error)

Watch implements the ResourceToWatch interface

type ResourceToWatch

type ResourceToWatch interface {
	// Watch starts watching the resource and returns a channel of events
	Watch(ctx context.Context, namespace, labelSelector, fieldSelector string) (<-chan WatchEvent, error)
}

ResourceToWatch is a generic interface for resource watchers

type ResourceWatcher

type ResourceWatcher struct {
	// Configuration
	Namespace         string
	AllNamespaces     bool
	LabelSelector     string
	FieldSelector     string
	ResourceName      string
	ShowHeaders       bool
	RefreshInterval   time.Duration
	InitialBufferTime time.Duration
	WatchTimeout      time.Duration
	// contains filtered or unexported fields
}

ResourceWatcher is a generic interface for resource watching

func NewResourceWatcher

func NewResourceWatcher() *ResourceWatcher

NewResourceWatcher creates a new watcher with default configuration

func (*ResourceWatcher) SetEventRenderer

func (w *ResourceWatcher) SetEventRenderer(renderer func(events []Event) []string)

SetEventRenderer sets a custom function to render events

func (*ResourceWatcher) SetHeaderRenderer

func (w *ResourceWatcher) SetHeaderRenderer(renderer func() string)

SetHeaderRenderer sets a custom function to render the header

func (*ResourceWatcher) SetResourceToRowsRenderer

func (w *ResourceWatcher) SetResourceToRowsRenderer(renderer func(resources []types.Resource) [][]string)

SetResourceToRowsRenderer sets a custom function to convert resources to table rows

func (*ResourceWatcher) SetTimeout

func (w *ResourceWatcher) SetTimeout(timeout string) error

SetTimeout sets the watch timeout duration

func (*ResourceWatcher) Watch

func (w *ResourceWatcher) Watch(ctx context.Context, watcher ResourceToWatch) error

Watch starts watching resources using the provided watcher

type ServiceWatcher

type ServiceWatcher interface {
	WatchServices(namespace, labelSelector, fieldSelector string) (<-chan client.WatchEvent, context.CancelFunc, error)
}

ServiceWatcher defines the interface for watching services

type ServiceWatcherAdapter

type ServiceWatcherAdapter struct {
	ServiceWatcher
}

ServiceWatcherAdapter adapts the ServiceWatcher interface to ResourceToWatch

func (ServiceWatcherAdapter) Watch

func (a ServiceWatcherAdapter) Watch(ctx context.Context, namespace, labelSelector, fieldSelector string) (<-chan WatchEvent, error)

Watch implements the ResourceToWatch interface

type WatchEvent

type WatchEvent struct {
	Resource  types.Resource
	EventType string // "ADDED", "MODIFIED", "DELETED"
	Error     error
}

WatchEvent represents a resource change event from the API

Jump to

Keyboard shortcuts

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