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
- type Clients
- type CompositionClient
- type CompositionRevisionClient
- type DefaultCompositionClient
- func (c *DefaultCompositionClient) FindMatchingComposition(ctx context.Context, res *un.Unstructured) (*apiextensionsv1.Composition, error)
- func (c *DefaultCompositionClient) FindXRsUsingComposition(ctx context.Context, compositionName string, namespace string) ([]*un.Unstructured, error)
- func (c *DefaultCompositionClient) GetComposition(ctx context.Context, name string) (*apiextensionsv1.Composition, error)
- func (c *DefaultCompositionClient) Initialize(ctx context.Context) error
- func (c *DefaultCompositionClient) ListCompositions(ctx context.Context) ([]*apiextensionsv1.Composition, error)
- type DefaultCompositionRevisionClient
- func (c *DefaultCompositionRevisionClient) GetCompositionFromRevision(revision *apiextensionsv1.CompositionRevision) *apiextensionsv1.Composition
- func (c *DefaultCompositionRevisionClient) GetCompositionRevision(ctx context.Context, name string) (*apiextensionsv1.CompositionRevision, error)
- func (c *DefaultCompositionRevisionClient) GetLatestRevisionForComposition(ctx context.Context, compositionName string) (*apiextensionsv1.CompositionRevision, error)
- func (c *DefaultCompositionRevisionClient) Initialize(ctx context.Context) error
- func (c *DefaultCompositionRevisionClient) ListCompositionRevisions(ctx context.Context) ([]*apiextensionsv1.CompositionRevision, error)
- type DefaultDefinitionClient
- func (c *DefaultDefinitionClient) GetXRDForClaim(ctx context.Context, gvk schema.GroupVersionKind) (*un.Unstructured, error)
- func (c *DefaultDefinitionClient) GetXRDForXR(ctx context.Context, gvk schema.GroupVersionKind) (*un.Unstructured, error)
- func (c *DefaultDefinitionClient) GetXRDs(ctx context.Context) ([]*un.Unstructured, error)
- func (c *DefaultDefinitionClient) Initialize(ctx context.Context) error
- func (c *DefaultDefinitionClient) IsClaimResource(ctx context.Context, resource *un.Unstructured) bool
- type DefaultEnvironmentClient
- type DefaultFunctionClient
- type DefaultResourceTreeClient
- type DefinitionClient
- type EnvironmentClient
- type FunctionClient
- type ResourceTreeClient
Constants ¶
const CompositeResourceDefinitionKind = "CompositeResourceDefinition"
CompositeResourceDefinitionKind is the kind for Composite Resource Definitions.
const (
// LabelCompositionName is the label key for the composition name on CompositionRevisions.
LabelCompositionName = "crossplane.io/composition-name"
)
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.
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 CompositionRevisionClient ¶ added in v0.3.0
type CompositionRevisionClient interface {
core.Initializable
// GetCompositionRevision gets a composition revision by name
GetCompositionRevision(ctx context.Context, name string) (*apiextensionsv1.CompositionRevision, error)
// ListCompositionRevisions lists all composition revisions in the cluster
ListCompositionRevisions(ctx context.Context) ([]*apiextensionsv1.CompositionRevision, error)
// GetLatestRevisionForComposition finds the latest revision for a given composition
GetLatestRevisionForComposition(ctx context.Context, compositionName string) (*apiextensionsv1.CompositionRevision, error)
// GetCompositionFromRevision extracts a Composition from a CompositionRevision
GetCompositionFromRevision(revision *apiextensionsv1.CompositionRevision) *apiextensionsv1.Composition
}
CompositionRevisionClient handles operations related to CompositionRevisions.
func NewCompositionRevisionClient ¶ added in v0.3.0
func NewCompositionRevisionClient(resourceClient kubernetes.ResourceClient, logger logging.Logger) CompositionRevisionClient
NewCompositionRevisionClient creates a new DefaultCompositionRevisionClient.
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 ¶
func (c *DefaultCompositionClient) GetComposition(ctx context.Context, name string) (*apiextensionsv1.Composition, error)
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 ¶
func (c *DefaultCompositionClient) ListCompositions(ctx context.Context) ([]*apiextensionsv1.Composition, error)
ListCompositions lists all compositions in the cluster.
type DefaultCompositionRevisionClient ¶ added in v0.3.0
type DefaultCompositionRevisionClient struct {
// contains filtered or unexported fields
}
DefaultCompositionRevisionClient implements CompositionRevisionClient.
func (*DefaultCompositionRevisionClient) GetCompositionFromRevision ¶ added in v0.3.0
func (c *DefaultCompositionRevisionClient) GetCompositionFromRevision(revision *apiextensionsv1.CompositionRevision) *apiextensionsv1.Composition
GetCompositionFromRevision extracts a Composition from a CompositionRevision. CompositionRevision contains the full Composition spec, so we construct a Composition object.
func (*DefaultCompositionRevisionClient) GetCompositionRevision ¶ added in v0.3.0
func (c *DefaultCompositionRevisionClient) GetCompositionRevision(ctx context.Context, name string) (*apiextensionsv1.CompositionRevision, error)
GetCompositionRevision gets a composition revision by name.
func (*DefaultCompositionRevisionClient) GetLatestRevisionForComposition ¶ added in v0.3.0
func (c *DefaultCompositionRevisionClient) GetLatestRevisionForComposition(ctx context.Context, compositionName string) (*apiextensionsv1.CompositionRevision, error)
GetLatestRevisionForComposition finds the latest revision for a given composition.
func (*DefaultCompositionRevisionClient) Initialize ¶ added in v0.3.0
func (c *DefaultCompositionRevisionClient) Initialize(ctx context.Context) error
Initialize prepares the composition revision client for use.
func (*DefaultCompositionRevisionClient) ListCompositionRevisions ¶ added in v0.3.0
func (c *DefaultCompositionRevisionClient) ListCompositionRevisions(ctx context.Context) ([]*apiextensionsv1.CompositionRevision, error)
ListCompositionRevisions lists all composition revisions in the cluster.
type DefaultDefinitionClient ¶
type DefaultDefinitionClient struct {
// contains filtered or unexported fields
}
DefaultDefinitionClient implements DefinitionClient.
func (*DefaultDefinitionClient) GetXRDForClaim ¶
func (c *DefaultDefinitionClient) GetXRDForClaim(ctx context.Context, gvk schema.GroupVersionKind) (*un.Unstructured, error)
GetXRDForClaim finds the XRD that defines the given claim type.
func (*DefaultDefinitionClient) GetXRDForXR ¶
func (c *DefaultDefinitionClient) GetXRDForXR(ctx context.Context, gvk schema.GroupVersionKind) (*un.Unstructured, error)
GetXRDForXR finds the XRD that defines the given XR type.
func (*DefaultDefinitionClient) GetXRDs ¶
func (c *DefaultDefinitionClient) GetXRDs(ctx context.Context) ([]*un.Unstructured, error)
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 ¶
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 ¶
func (c *DefaultResourceTreeClient) Initialize(_ context.Context) error
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.