provider

package
v0.3.3 Latest Latest
Warning

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

Go to latest
Published: Dec 15, 2025 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Clusters

type Clusters = clusters.Clusters[cluster.Cluster]

Clusters is an alias for clusters.Clusters[cluster.Cluster].

type Options

type Options struct {
	// Scheme is the scheme to use for the provider. If this is nil, it defaults
	// to the client-go scheme.
	Scheme *runtime.Scheme

	// WildcardCache is the wildcard cache to use for the provider. If this is
	// nil, a new wildcard cache will be created for the given rest.Config.
	WildcardCache mcpcache.WildcardCache

	// ObjectToWatch is the object type that the provider watches via a /clusters/*
	// wildcard endpoint to extract information about logical clusters joining and
	// leaving the "fleet" of (logical) clustergit pushs in kcp. If this is nil, it defaults
	// to [apisv1alpha1.APIBinding]. This might be useful when using this provider
	// against custom virtual workspaces that are not the APIExport one but share
	// the same endpoint semantics.
	ObjectToWatch client.Object

	// Log is the logger used to write any logs.
	Log *logr.Logger

	// Handlers are lifecycle handlers for logical clusters managed by this provider represented
	// by apibinding object.
	Handlers handlers.Handlers
	// contains filtered or unexported fields
}

Options are the options for creating a new instance of the apiexport provider.

type Provider

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

Provider is a sigs.k8s.io/multicluster-runtime/pkg/multicluster.Provider that represents each logical cluster (in the kcp sense) exposed via a virtual workspace as a cluster in the sigs.k8s.io/multicluster-runtime sense.

This is internal representation of the provider, use apiexport.Provider for the public one. This provider deals with single virtual workspace, representinged by the rest.Config provided.

func New

func New(cfg *rest.Config, clusters *Clusters, options Options) (*Provider, error)

New creates a new kcp virtual workspace provider. The provided rest.Config must point to a virtual workspace apiserver base path, i.e. up to but without the '/clusters/*' suffix. This information can be extracted from the APIExport status (deprecated) or an APIExportEndpointSlice status.

func (*Provider) Start

func (p *Provider) Start(ctx context.Context, aware multicluster.Aware) error

Start starts the provider and blocks.

Jump to

Keyboard shortcuts

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