status

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Oct 20, 2022 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const ReasonOlderGatewayClassExists gwapiv1b1.GatewayClassConditionReason = "OlderGatewayClassExists"

Variables

This section is empty.

Functions

func MergeConditions

func MergeConditions(conditions []metav1.Condition, updates ...metav1.Condition) []metav1.Condition

MergeConditions adds or updates matching conditions, and updates the transition time if details of a condition have changed. Returns the updated condition array.

func SetGatewayClassAccepted

func SetGatewayClassAccepted(gc *gwapiv1b1.GatewayClass, accepted bool) *gwapiv1b1.GatewayClass

SetGatewayClassAccepted inserts or updates the Accepted condition for the provided GatewayClass.

func UpdateGatewayStatusReadyCondition

func UpdateGatewayStatusReadyCondition(gw *gwapiv1b1.Gateway, svc *corev1.Service, deployment *appsv1.Deployment)

UpdateGatewayStatusAddrs updates the status addresses for the provided gateway based on the status IP/Hostname of svc and updates the Ready condition based on the service and deployment state.

func UpdateGatewayStatusScheduledCondition

func UpdateGatewayStatusScheduledCondition(gw *gwapiv1b1.Gateway, scheduled bool) *gwapiv1b1.Gateway

UpdateGatewayScheduledCondition updates the status condition for the provided Gateway based on the scheduled state.

Types

type Mutator

type Mutator interface {
	Mutate(obj client.Object) client.Object
}

Mutator is an interface to hold mutator functions for status updates.

type MutatorFunc

type MutatorFunc func(client.Object) client.Object

MutatorFunc is a function adaptor for Mutators.

func (MutatorFunc) Mutate

func (m MutatorFunc) Mutate(old client.Object) client.Object

Mutate adapts the MutatorFunc to fit through the Mutator interface.

type Update

type Update struct {
	NamespacedName types.NamespacedName
	Resource       client.Object
	Mutator        Mutator
}

Update contains an all the information needed to update an object's status. Send down a channel to the goroutine that actually writes the changes back.

type UpdateHandler

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

UpdateHandler holds the details required to actually write an Update back to the referenced object.

func NewUpdateHandler

func NewUpdateHandler(log logr.Logger, client client.Client) *UpdateHandler

func (*UpdateHandler) NeedLeaderElection

func (u *UpdateHandler) NeedLeaderElection() bool

func (*UpdateHandler) Start

func (u *UpdateHandler) Start(ctx context.Context) error

Start runs the goroutine to perform status writes.

func (*UpdateHandler) Writer

func (u *UpdateHandler) Writer() Updater

Writer retrieves the interface that should be used to write to the UpdateHandler.

type UpdateWriter

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

UpdateWriter takes status updates and sends these to the UpdateHandler via a channel.

func (*UpdateWriter) Send

func (u *UpdateWriter) Send(update Update)

Send sends the given Update off to the update channel for writing by the UpdateHandler.

type Updater

type Updater interface {
	Send(u Update)
}

Updater describes an interface to send status updates somewhere.

Jump to

Keyboard shortcuts

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