kubernetes

package
v1.1.1 Latest Latest
Warning

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

Go to latest
Published: Sep 12, 2024 License: Apache-2.0 Imports: 54 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrSecretExists = errors.New("skipped creating secret since it already exists")

Functions

func CertsToSecret

func CertsToSecret(namespace string, certs *crypto.Certificates) []corev1.Secret

CertsToSecret creates secrets in the provided namespace, in compact form, from the provided certs.

func CreateOrUpdateSecrets

func CreateOrUpdateSecrets(ctx context.Context, client client.Client, secrets []corev1.Secret, update bool) ([]corev1.Secret, error)

CreateOrUpdateSecrets creates the provided secrets if they don't exist or updates them if they do.

func NewWatchAndReconcileSource added in v1.1.0

func NewWatchAndReconcileSource(cond <-chan struct{}, obj client.Object, eh handler.EventHandler) source.Source

Types

type Mutator added in v1.1.0

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

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

type MutatorFunc added in v1.1.0

type MutatorFunc func(client.Object) client.Object

MutatorFunc is a function adaptor for Mutators.

func (MutatorFunc) Mutate added in v1.1.0

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

Mutate adapts the MutatorFunc to fit through the Mutator interface.

type NamespaceGetter added in v0.6.0

type NamespaceGetter interface {
	GetNamespace() string
}

type ObjectKindNamespacedName

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

type Provider

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

Provider is the scaffolding for the Kubernetes provider. It sets up dependencies and defines the topology of the provider and its managed components, wiring them together.

func New

func New(cfg *rest.Config, svr *ec.Server, resources *message.ProviderResources) (*Provider, error)

New creates a new Provider from the provided EnvoyGateway.

func (*Provider) Start

func (p *Provider) Start(ctx context.Context) error

Start starts the Provider synchronously until a message is received from ctx.

type Update added in v1.1.0

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 added in v1.1.0

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 added in v1.1.0

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

func (*UpdateHandler) NeedLeaderElection added in v1.1.0

func (u *UpdateHandler) NeedLeaderElection() bool

func (*UpdateHandler) Start added in v1.1.0

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

Start runs the goroutine to perform status writes.

func (*UpdateHandler) Writer added in v1.1.0

func (u *UpdateHandler) Writer() Updater

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

type UpdateWriter added in v1.1.0

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

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

func (*UpdateWriter) Send added in v1.1.0

func (u *UpdateWriter) Send(update Update)

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

type Updater added in v1.1.0

type Updater interface {
	Send(u Update)
}

Updater describes an interface to send status updates somewhere.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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