healthscope

package
v0.2.6 Latest Latest
Warning

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

Go to latest
Published: Dec 2, 2021 License: Apache-2.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// StatusHealthy represents healthy status.
	StatusHealthy = v1alpha2.StatusHealthy
	// StatusUnhealthy represents unhealthy status.
	StatusUnhealthy = v1alpha2.StatusUnhealthy
	// StatusUnknown represents unknown status.
	StatusUnknown = v1alpha2.StatusUnknown
)

Variables

This section is empty.

Functions

func Setup

func Setup(mgr ctrl.Manager, args controller.Args, l logging.Logger) error

Setup adds a controller that reconciles HealthScope.

Types

type HealthStatus

type HealthStatus = v1alpha2.HealthStatus

HealthStatus represents health status strings.

type PeerHealthConditions

type PeerHealthConditions []WorkloadHealthCondition

PeerHealthConditions refers to a slice of health condition of worloads belonging to one version-enabled component

func (PeerHealthConditions) Len

func (p PeerHealthConditions) Len() int

func (PeerHealthConditions) Less

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

func (PeerHealthConditions) MergePeerWorkloadsConditions

func (p PeerHealthConditions) MergePeerWorkloadsConditions(basic *WorkloadHealthCondition)

MergePeerWorkloadsConditions merge health conditions of all peer workloads into basic

func (PeerHealthConditions) Swap

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

type Reconciler

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

A Reconciler reconciles OAM Scopes by keeping track of the health status of components.

func NewReconciler

func NewReconciler(m ctrl.Manager, o ...ReconcilerOption) *Reconciler

NewReconciler returns a Reconciler that reconciles HealthScope by keeping track of its healthstatus.

func (*Reconciler) GetScopeHealthStatus

func (r *Reconciler) GetScopeHealthStatus(ctx context.Context, healthScope *v1alpha2.HealthScope) (ScopeHealthCondition, []*WorkloadHealthCondition)

GetScopeHealthStatus get the status of the healthscope based on workload resources.

func (*Reconciler) Reconcile

func (r *Reconciler) Reconcile(req reconcile.Request) (reconcile.Result, error)

Reconcile an OAM HealthScope by keeping track of its health status.

type ReconcilerOption

type ReconcilerOption func(*Reconciler)

A ReconcilerOption configures a Reconciler.

func WithChecker

WithChecker adds workload health checker

func WithLogger

func WithLogger(l logging.Logger) ReconcilerOption

WithLogger specifies how the Reconciler should log messages.

func WithRecorder

func WithRecorder(er event.Recorder) ReconcilerOption

WithRecorder specifies how the Reconciler should record events.

func WithTraitChecker

func WithTraitChecker(c WorloadHealthChecker) ReconcilerOption

WithTraitChecker adds health checker based on HealthCheckTrait

type ScopeHealthCondition

type ScopeHealthCondition = v1alpha2.ScopeHealthCondition

ScopeHealthCondition holds health condition of a scope

type WorkloadHealthCheckFn

WorkloadHealthCheckFn checks health status of specified resource and saves status into an HealthCondition object.

func (WorkloadHealthCheckFn) Check

Check the health status of specified resource

type WorkloadHealthCondition

type WorkloadHealthCondition = v1alpha2.WorkloadHealthCondition

WorkloadHealthCondition holds health status of any resource

func CheckByHealthCheckTrait

func CheckByHealthCheckTrait(ctx context.Context, c client.Client, wlRef runtimev1alpha1.TypedReference, ns string) *WorkloadHealthCondition

CheckByHealthCheckTrait checks health condition through HealthCheckTrait.

func CheckContainerziedWorkloadHealth

func CheckContainerziedWorkloadHealth(ctx context.Context, c client.Client, ref runtimev1alpha1.TypedReference, namespace string) *WorkloadHealthCondition

CheckContainerziedWorkloadHealth check health condition of ContainerizedWorkload

func CheckDaemonsetHealth

func CheckDaemonsetHealth(ctx context.Context, client client.Client, ref runtimev1alpha1.TypedReference, namespace string) *WorkloadHealthCondition

CheckDaemonsetHealth checks health condition of DaemonSet

func CheckDeploymentHealth

func CheckDeploymentHealth(ctx context.Context, client client.Client, ref runtimev1alpha1.TypedReference, namespace string) *WorkloadHealthCondition

CheckDeploymentHealth checks health condition of Deployment

func CheckPodSpecWorkloadHealth

func CheckPodSpecWorkloadHealth(ctx context.Context, c client.Client, ref runtimev1alpha1.TypedReference, namespace string) *WorkloadHealthCondition

CheckPodSpecWorkloadHealth check health condition of podspecworkloads.standard.oam.dev

func CheckStatefulsetHealth

func CheckStatefulsetHealth(ctx context.Context, client client.Client, ref runtimev1alpha1.TypedReference, namespace string) *WorkloadHealthCondition

CheckStatefulsetHealth checks health condition of StatefulSet

func CheckUnknownWorkload

CheckUnknownWorkload handles unknown type workloads.

type WorloadHealthChecker

type WorloadHealthChecker interface {
	Check(context.Context, client.Client, runtimev1alpha1.TypedReference, string) *WorkloadHealthCondition
}

A WorloadHealthChecker checks health status of specified resource and saves status into an HealthCondition object.

Jump to

Keyboard shortcuts

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