Documentation ¶
Index ¶
- Constants
- func Setup(mgr ctrl.Manager, _ controller.Args, l logging.Logger) error
- type HealthStatus
- type PeerHealthConditions
- type Reconciler
- func (r *Reconciler) GetScopeHealthStatus(ctx context.Context, healthScope *v1alpha2.HealthScope) (ScopeHealthCondition, []*WorkloadHealthCondition)
- func (r *Reconciler) Reconcile(req reconcile.Request) (reconcile.Result, error)
- func (r *Reconciler) UpdateStatus(ctx context.Context, hs *v1alpha2.HealthScope, opts ...client.UpdateOption) error
- type ReconcilerOption
- type ScopeHealthCondition
- type WorkloadHealthCheckFn
- type WorkloadHealthCondition
- func CheckByHealthCheckTrait(ctx context.Context, c client.Client, wlRef runtimev1alpha1.TypedReference, ...) *WorkloadHealthCondition
- func CheckContainerziedWorkloadHealth(ctx context.Context, c client.Client, ref runtimev1alpha1.TypedReference, ...) *WorkloadHealthCondition
- func CheckDaemonsetHealth(ctx context.Context, client client.Client, ref runtimev1alpha1.TypedReference, ...) *WorkloadHealthCondition
- func CheckDeploymentHealth(ctx context.Context, client client.Client, ref runtimev1alpha1.TypedReference, ...) *WorkloadHealthCondition
- func CheckPodSpecWorkloadHealth(ctx context.Context, c client.Client, ref runtimev1alpha1.TypedReference, ...) *WorkloadHealthCondition
- func CheckStatefulsetHealth(ctx context.Context, client client.Client, ref runtimev1alpha1.TypedReference, ...) *WorkloadHealthCondition
- func CheckUnknownWorkload(ctx context.Context, c client.Client, wlRef runtimev1alpha1.TypedReference, ...) *WorkloadHealthCondition
- type WorloadHealthChecker
Constants ¶
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 ¶
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) UpdateStatus ¶ added in v0.3.3
func (r *Reconciler) UpdateStatus(ctx context.Context, hs *v1alpha2.HealthScope, opts ...client.UpdateOption) error
UpdateStatus updates v1alpha2.HealthScope's Status with retry.RetryOnConflict
type ReconcilerOption ¶
type ReconcilerOption func(*Reconciler)
A ReconcilerOption configures a Reconciler.
func WithChecker ¶
func WithChecker(c WorloadHealthChecker) ReconcilerOption
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 ¶
type WorkloadHealthCheckFn func(context.Context, client.Client, runtimev1alpha1.TypedReference, string) *WorkloadHealthCondition
WorkloadHealthCheckFn checks health status of specified resource and saves status into an HealthCondition object.
func (WorkloadHealthCheckFn) Check ¶
func (fn WorkloadHealthCheckFn) Check(ctx context.Context, c client.Client, tr runtimev1alpha1.TypedReference, ns string) *WorkloadHealthCondition
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 ¶
func CheckUnknownWorkload(ctx context.Context, c client.Client, wlRef runtimev1alpha1.TypedReference, ns string) *WorkloadHealthCondition
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.