k8swatch

package
v0.20.2 Latest Latest
Warning

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

Go to latest
Published: May 7, 2021 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const ImagePulledReason = "Pulled"
View Source
const ImagePullingReason = "Pulling"

Variables

This section is empty.

Functions

func CheckForContainerCrash added in v0.20.2

func CheckForContainerCrash(state *store.EngineState, mt *store.ManifestTarget)

func DispatchServiceChange

func DispatchServiceChange(st store.RStore, service *v1.Service, mn model.ManifestName, ip k8s.NodeIP) error

func HandleKubernetesDiscoveryCreateAction added in v0.20.2

func HandleKubernetesDiscoveryCreateAction(_ context.Context, state *store.EngineState, a KubernetesDiscoveryCreateAction)

func HandleKubernetesDiscoveryDeleteAction added in v0.20.2

func HandleKubernetesDiscoveryDeleteAction(_ context.Context, state *store.EngineState, a KubernetesDiscoveryDeleteAction)

func HandleKubernetesDiscoveryUpdateAction added in v0.20.2

func HandleKubernetesDiscoveryUpdateAction(ctx context.Context, state *store.EngineState, a KubernetesDiscoveryUpdateAction)

func HandleKubernetesDiscoveryUpdateStatusAction added in v0.20.2

func HandleKubernetesDiscoveryUpdateStatusAction(ctx context.Context, state *store.EngineState, a KubernetesDiscoveryUpdateStatusAction)

func KeyForManifest added in v0.20.2

func KeyForManifest(mn model.ManifestName) types.NamespacedName

func ShouldLogEvent added in v0.16.1

func ShouldLogEvent(e *v1.Event) bool

func UpdateK8sRuntimeState added in v0.20.2

func UpdateK8sRuntimeState(ctx context.Context, state *store.EngineState, key types.NamespacedName)

Types

type ContainerRestartDetector added in v0.20.2

type ContainerRestartDetector struct{}

func NewContainerRestartDetector added in v0.20.2

func NewContainerRestartDetector() *ContainerRestartDetector

func (*ContainerRestartDetector) Detect added in v0.20.2

type Dispatcher added in v0.20.2

type Dispatcher interface {
	Dispatch(action store.Action)
}

type EventWatchManager

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

TODO(nick): Right now, the EventWatchManager, PodWatcher, and ServiceWatcher all look very similar, with a few subtle differences (particularly in how we decide whether two objects are related, and how we index those relationships).

We're probably missing some abstractions here.

TODO(nick): We should also add garbage collection and/or handle Delete events from the kubernetes informer properly.

func NewEventWatchManager

func NewEventWatchManager(kClient k8s.Client, ownerFetcher k8s.OwnerFetcher, cfgNS k8s.Namespace) *EventWatchManager

func (*EventWatchManager) OnChange

type KubernetesDiscoveryCreateAction added in v0.20.2

type KubernetesDiscoveryCreateAction struct {
	KubernetesDiscovery *v1alpha1.KubernetesDiscovery
}

func NewKubernetesDiscoveryCreateAction added in v0.20.2

func NewKubernetesDiscoveryCreateAction(kd *v1alpha1.KubernetesDiscovery) KubernetesDiscoveryCreateAction

func (KubernetesDiscoveryCreateAction) Action added in v0.20.2

func (KubernetesDiscoveryCreateAction) Summarize added in v0.20.2

type KubernetesDiscoveryDeleteAction added in v0.20.2

type KubernetesDiscoveryDeleteAction struct {
	Name types.NamespacedName
}

func NewKubernetesDiscoveryDeleteAction added in v0.20.2

func NewKubernetesDiscoveryDeleteAction(name types.NamespacedName) KubernetesDiscoveryDeleteAction

func (KubernetesDiscoveryDeleteAction) Action added in v0.20.2

func (KubernetesDiscoveryDeleteAction) Summarize added in v0.20.2

type KubernetesDiscoveryUpdateAction added in v0.20.2

type KubernetesDiscoveryUpdateAction struct {
	KubernetesDiscovery *v1alpha1.KubernetesDiscovery
}

func NewKubernetesDiscoveryUpdateAction added in v0.20.2

func NewKubernetesDiscoveryUpdateAction(kd *v1alpha1.KubernetesDiscovery) KubernetesDiscoveryUpdateAction

func (KubernetesDiscoveryUpdateAction) Action added in v0.20.2

func (KubernetesDiscoveryUpdateAction) Summarize added in v0.20.2

type KubernetesDiscoveryUpdateStatusAction added in v0.20.2

type KubernetesDiscoveryUpdateStatusAction struct {
	ObjectMeta *metav1.ObjectMeta
	Status     *v1alpha1.KubernetesDiscoveryStatus
}

func NewKubernetesDiscoveryUpdateStatusAction added in v0.20.2

func NewKubernetesDiscoveryUpdateStatusAction(kd *v1alpha1.KubernetesDiscovery) KubernetesDiscoveryUpdateStatusAction

func (KubernetesDiscoveryUpdateStatusAction) Action added in v0.20.2

func (KubernetesDiscoveryUpdateStatusAction) Summarize added in v0.20.2

type ManifestSubscriber added in v0.20.2

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

func NewManifestSubscriber added in v0.20.2

func NewManifestSubscriber(cfgNS k8s.Namespace) *ManifestSubscriber

func (*ManifestSubscriber) OnChange added in v0.20.2

func (m *ManifestSubscriber) OnChange(ctx context.Context, st store.RStore, summary store.ChangeSummary)

type PodWatcher

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

func NewPodWatcher

func NewPodWatcher(kCli k8s.Client, ownerFetcher k8s.OwnerFetcher, restartDetector *ContainerRestartDetector) *PodWatcher

func (*PodWatcher) ExtraSelectors added in v0.20.2

func (w *PodWatcher) ExtraSelectors(key types.NamespacedName) []labels.Selector

ExtraSelectors returns the extra selectors for a given KubernetesDiscovery object.

This is intended for use in tests.

func (*PodWatcher) HasNamespaceWatch added in v0.20.2

func (w *PodWatcher) HasNamespaceWatch(key types.NamespacedName, ns k8s.Namespace) bool

HasNamespaceWatch returns true if the key is a watcher for the given namespace.

This is intended for use in tests.

func (*PodWatcher) HasUIDWatch added in v0.20.2

func (w *PodWatcher) HasUIDWatch(key types.NamespacedName, uid types.UID) bool

HasUIDWatch returns true if the key is a watcher for the given K8s UID.

This is intended for use in tests.

func (*PodWatcher) OnChange

func (w *PodWatcher) OnChange(ctx context.Context, st store.RStore, summary store.ChangeSummary)

OnChange reconciles based on changes to KubernetesDiscovery objects.

type ServiceChangeAction

type ServiceChangeAction struct {
	Service      *v1.Service
	ManifestName model.ManifestName
	URL          *url.URL
}

func NewServiceChangeAction

func NewServiceChangeAction(service *v1.Service, mn model.ManifestName, url *url.URL) ServiceChangeAction

func (ServiceChangeAction) Action

func (ServiceChangeAction) Action()

type ServiceWatcher

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

func NewServiceWatcher

func NewServiceWatcher(kCli k8s.Client, ownerFetcher k8s.OwnerFetcher, cfgNS k8s.Namespace) *ServiceWatcher

func (*ServiceWatcher) OnChange

func (w *ServiceWatcher) OnChange(ctx context.Context, st store.RStore, _ store.ChangeSummary)

Jump to

Keyboard shortcuts

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