crossplane

package
v0.2.1-0...-4d7afa4 Latest Latest
Warning

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

Go to latest
Published: Oct 3, 2025 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package crossplane contains interfaces and implementations for clients that talk to Kubernetes about Crossplane primitives, often by consuming clients from the kubernetes package.

Index

Constants

View Source
const CompositeResourceDefinitionKind = "CompositeResourceDefinition"

CompositeResourceDefinitionKind is the kind for Composite Resource Definitions.

Variables

This section is empty.

Functions

This section is empty.

Types

type Clients

type Clients struct {
	Composition  CompositionClient
	Definition   DefinitionClient
	Environment  EnvironmentClient
	Function     FunctionClient
	ResourceTree ResourceTreeClient
}

Clients is an aggregation of all of our Crossplane clients, used to pass them as a bundle, typically for initialization where the consumer can select which ones they need.

func (*Clients) Initialize

func (c *Clients) Initialize(ctx context.Context, logger logging.Logger) error

Initialize initializes all the clients in this bundle.

type CompositionClient

type CompositionClient interface {
	core.Initializable

	// FindMatchingComposition finds a composition that matches the given XR or claim
	FindMatchingComposition(ctx context.Context, res *un.Unstructured) (*apiextensionsv1.Composition, error)

	// ListCompositions lists all compositions in the cluster
	ListCompositions(ctx context.Context) ([]*apiextensionsv1.Composition, error)

	// GetComposition gets a composition by name
	GetComposition(ctx context.Context, name string) (*apiextensionsv1.Composition, error)

	// FindXRsUsingComposition finds all XRs that use the specified composition
	FindXRsUsingComposition(ctx context.Context, compositionName string, namespace string) ([]*un.Unstructured, error)
}

CompositionClient handles operations related to Compositions.

func NewCompositionClient

func NewCompositionClient(resourceClient kubernetes.ResourceClient, definitionClient DefinitionClient, logger logging.Logger) CompositionClient

NewCompositionClient creates a new DefaultCompositionClient.

type DefaultCompositionClient

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

DefaultCompositionClient implements CompositionClient.

func (*DefaultCompositionClient) FindMatchingComposition

func (c *DefaultCompositionClient) FindMatchingComposition(ctx context.Context, res *un.Unstructured) (*apiextensionsv1.Composition, error)

FindMatchingComposition finds a composition matching the given resource.

func (*DefaultCompositionClient) FindXRsUsingComposition

func (c *DefaultCompositionClient) FindXRsUsingComposition(ctx context.Context, compositionName string, namespace string) ([]*un.Unstructured, error)

FindXRsUsingComposition finds all XRs that use the specified composition.

func (*DefaultCompositionClient) GetComposition

GetComposition gets a composition by name.

func (*DefaultCompositionClient) Initialize

func (c *DefaultCompositionClient) Initialize(ctx context.Context) error

Initialize loads compositions into the cache.

func (*DefaultCompositionClient) ListCompositions

ListCompositions lists all compositions in the cluster.

type DefaultDefinitionClient

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

DefaultDefinitionClient implements DefinitionClient.

func (*DefaultDefinitionClient) GetXRDForClaim

GetXRDForClaim finds the XRD that defines the given claim type.

func (*DefaultDefinitionClient) GetXRDForXR

GetXRDForXR finds the XRD that defines the given XR type.

func (*DefaultDefinitionClient) GetXRDs

GetXRDs gets all XRDs in the cluster.

func (*DefaultDefinitionClient) Initialize

func (c *DefaultDefinitionClient) Initialize(ctx context.Context) error

Initialize loads XRDs into the cache.

func (*DefaultDefinitionClient) IsClaimResource

func (c *DefaultDefinitionClient) IsClaimResource(ctx context.Context, resource *un.Unstructured) bool

IsClaimResource checks if the given resource is a claim type by attempting to find an XRD that defines it as a claim.

type DefaultEnvironmentClient

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

DefaultEnvironmentClient implements EnvironmentClient.

func (*DefaultEnvironmentClient) GetEnvironmentConfig

func (c *DefaultEnvironmentClient) GetEnvironmentConfig(ctx context.Context, name string) (*un.Unstructured, error)

GetEnvironmentConfig gets a specific environment config by name.

func (*DefaultEnvironmentClient) GetEnvironmentConfigs

func (c *DefaultEnvironmentClient) GetEnvironmentConfigs(ctx context.Context) ([]*un.Unstructured, error)

GetEnvironmentConfigs gets all environment configurations.

func (*DefaultEnvironmentClient) Initialize

func (c *DefaultEnvironmentClient) Initialize(ctx context.Context) error

Initialize loads environment configs into the cache.

type DefaultFunctionClient

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

DefaultFunctionClient implements FunctionClient.

func (*DefaultFunctionClient) GetFunctionsFromPipeline

func (c *DefaultFunctionClient) GetFunctionsFromPipeline(comp *apiextensionsv1.Composition) ([]pkgv1.Function, error)

GetFunctionsFromPipeline gets functions used in a composition pipeline.

func (*DefaultFunctionClient) Initialize

func (c *DefaultFunctionClient) Initialize(ctx context.Context) error

Initialize loads functions into the cache.

func (*DefaultFunctionClient) ListFunctions

func (c *DefaultFunctionClient) ListFunctions(ctx context.Context) ([]pkgv1.Function, error)

ListFunctions lists all functions in the cluster.

type DefaultResourceTreeClient

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

DefaultResourceTreeClient implements ResourceTreeClient.

func (*DefaultResourceTreeClient) GetResourceTree

func (c *DefaultResourceTreeClient) GetResourceTree(ctx context.Context, root *un.Unstructured) (*resource.Resource, error)

GetResourceTree gets the resource tree for a root resource.

func (*DefaultResourceTreeClient) Initialize

Initialize initializes the resource tree client.

type DefinitionClient

type DefinitionClient interface {
	core.Initializable

	// GetXRDs gets all XRDs in the cluster
	GetXRDs(ctx context.Context) ([]*un.Unstructured, error)

	// GetXRDForClaim finds the XRD that defines the given claim type
	GetXRDForClaim(ctx context.Context, gvk schema.GroupVersionKind) (*un.Unstructured, error)

	// GetXRDForXR finds the XRD that defines the given XR type
	GetXRDForXR(ctx context.Context, gvk schema.GroupVersionKind) (*un.Unstructured, error)

	// IsClaimResource checks if the given resource is a claim type
	IsClaimResource(ctx context.Context, resource *un.Unstructured) bool
}

DefinitionClient handles Crossplane definitions (XRDs).

func NewDefinitionClient

func NewDefinitionClient(resourceClient kubernetes.ResourceClient, logger logging.Logger) DefinitionClient

NewDefinitionClient creates a new DefaultDefinitionClient.

type EnvironmentClient

type EnvironmentClient interface {
	core.Initializable

	// GetEnvironmentConfigs gets all environment configurations
	GetEnvironmentConfigs(ctx context.Context) ([]*un.Unstructured, error)

	// GetEnvironmentConfig gets a specific environment config by name
	GetEnvironmentConfig(ctx context.Context, name string) (*un.Unstructured, error)
}

EnvironmentClient handles environment configurations.

func NewEnvironmentClient

func NewEnvironmentClient(resourceClient kubernetes.ResourceClient, logger logging.Logger) EnvironmentClient

NewEnvironmentClient creates a new DefaultEnvironmentClient.

type FunctionClient

type FunctionClient interface {
	core.Initializable

	// GetFunctionsFromPipeline gets functions used in a composition pipeline
	GetFunctionsFromPipeline(comp *apiextensionsv1.Composition) ([]pkgv1.Function, error)

	// ListFunctions lists all functions in the cluster
	ListFunctions(ctx context.Context) ([]pkgv1.Function, error)
}

FunctionClient handles operations related to Functions.

func NewFunctionClient

func NewFunctionClient(resourceClient kubernetes.ResourceClient, logger logging.Logger) FunctionClient

NewFunctionClient creates a new DefaultFunctionClient.

type ResourceTreeClient

type ResourceTreeClient interface {
	core.Initializable

	// GetResourceTree gets the resource tree for a root resource
	GetResourceTree(ctx context.Context, root *un.Unstructured) (*resource.Resource, error)
}

ResourceTreeClient handles resource tree operations.

func NewResourceTreeClient

func NewResourceTreeClient(treeClient *xrm.Client, logger logging.Logger) ResourceTreeClient

NewResourceTreeClient creates a new DefaultResourceTreeClient.

Jump to

Keyboard shortcuts

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