Help us shape the future of Go! Take the 2026 Go Developer Survey

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