revision

package
v1.10.0 Latest Latest
Warning

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

Go to latest
Published: Oct 18, 2022 License: Apache-2.0 Imports: 44 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetPackageOwnerReference added in v1.5.0

func GetPackageOwnerReference(rev resource.Object) (metav1.OwnerReference, bool)

GetPackageOwnerReference returns the owner reference that points to the owner package of given revision, if it can find one.

func PackageRevision

func PackageRevision(pr v1.PackageRevision) parser.BackendOption

PackageRevision sets the package revision for ImageBackend.

func SetupConfigurationRevision

func SetupConfigurationRevision(mgr ctrl.Manager, o controller.Options) error

SetupConfigurationRevision adds a controller that reconciles ConfigurationRevisions.

func SetupProviderRevision

func SetupProviderRevision(mgr ctrl.Manager, o controller.Options) error

SetupProviderRevision adds a controller that reconciles ProviderRevisions.

Types

type APIEstablisher

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

APIEstablisher establishes control or ownership of resources in the API server for a parent.

func NewAPIEstablisher

func NewAPIEstablisher(client client.Client, namespace string) *APIEstablisher

NewAPIEstablisher creates a new APIEstablisher.

func (*APIEstablisher) Establish

func (e *APIEstablisher) Establish(ctx context.Context, objs []runtime.Object, parent v1.PackageRevision, control bool) ([]xpv1.TypedReference, error)

Establish checks that control or ownership of resources can be established by parent, then establishes it.

type ConfigurationHooks

type ConfigurationHooks struct{}

ConfigurationHooks performs operations for a configuration package before and after the revision establishes objects.

func NewConfigurationHooks

func NewConfigurationHooks() *ConfigurationHooks

NewConfigurationHooks creates a new ConfigurationHook.

func (*ConfigurationHooks) Post

Post is a no op for configuration packages.

func (*ConfigurationHooks) Pre

Pre sets status fields based on the configuration package.

type DependencyManager

type DependencyManager interface {
	Resolve(ctx context.Context, pkg runtime.Object, pr v1.PackageRevision) (found, installed, invalid int, err error)
	RemoveSelf(ctx context.Context, pr v1.PackageRevision) error
}

DependencyManager is a lock on packages.

type EnqueueRequestForReferencingProviderRevisions added in v1.1.4

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

EnqueueRequestForReferencingProviderRevisions enqueues a request for all provider revisions that reference a ControllerConfig when the given ControllerConfig changes.

func (*EnqueueRequestForReferencingProviderRevisions) Create added in v1.1.4

Create enqueues a request for all provider revisions that reference a given ControllerConfig.

func (*EnqueueRequestForReferencingProviderRevisions) Delete added in v1.1.4

Delete enqueues a request for all provider revisions that reference a given ControllerConfig.

func (*EnqueueRequestForReferencingProviderRevisions) Generic added in v1.1.4

Generic enqueues a request for all provider revisions that reference a given ControllerConfig.

func (*EnqueueRequestForReferencingProviderRevisions) Update added in v1.1.4

Update enqueues a request for all provider revisions that reference a given ControllerConfig.

type Establisher

type Establisher interface {
	Establish(ctx context.Context, objects []runtime.Object, parent v1.PackageRevision, control bool) ([]xpv1.TypedReference, error)
}

An Establisher establishes control or ownership of a set of resources in the API server by checking that control or ownership can be established for all resources and then establishing it.

type Hooks

type Hooks interface {
	// Pre performs operations meant to happen before establishing objects.
	Pre(context.Context, runtime.Object, v1.PackageRevision) error

	// Post performs operations meant to happen after establishing objects.
	Post(context.Context, runtime.Object, v1.PackageRevision) error
}

A Hooks performs operations before and after a revision establishes objects.

type ImageBackend

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

ImageBackend is a backend for parser.

func NewImageBackend

func NewImageBackend(fetcher xpkg.Fetcher, opts ...ImageBackendOption) *ImageBackend

NewImageBackend creates a new image backend.

func (*ImageBackend) Init

Init initializes an ImageBackend. NOTE(hasheddan): this method is slightly over our cyclomatic complexity goal

type ImageBackendOption added in v1.4.0

type ImageBackendOption func(i *ImageBackend)

An ImageBackendOption sets configuration for an image backend.

func WithDefaultRegistry added in v1.4.0

func WithDefaultRegistry(registry string) ImageBackendOption

WithDefaultRegistry sets the default registry that an image backend will use.

type NopEstablisher added in v1.7.0

type NopEstablisher struct{}

NopEstablisher does nothing.

func NewNopEstablisher added in v1.7.0

func NewNopEstablisher() *NopEstablisher

NewNopEstablisher returns a new NopEstablisher.

func (*NopEstablisher) Establish added in v1.7.0

Establish does nothing.

type NopHooks

type NopHooks struct{}

NopHooks performs no operations.

func NewNopHooks

func NewNopHooks() *NopHooks

NewNopHooks creates a hook that does nothing.

func (*NopHooks) Post

Post does nothing and returns nil.

func (*NopHooks) Pre

Pre does nothing and returns nil.

type PackageDependencyManager

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

PackageDependencyManager is a resolver for packages.

func NewPackageDependencyManager

func NewPackageDependencyManager(c client.Client, nd dag.NewDAGFn, t v1beta1.PackageType) *PackageDependencyManager

NewPackageDependencyManager creates a new PackageDependencyManager.

func (*PackageDependencyManager) RemoveSelf

RemoveSelf removes a package from the lock.

func (*PackageDependencyManager) Resolve

func (m *PackageDependencyManager) Resolve(ctx context.Context, pkg runtime.Object, pr v1.PackageRevision) (found, installed, invalid int, err error)

Resolve resolves package dependencies.

type ProviderHooks

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

ProviderHooks performs operations for a provider package that requires a controller before and after the revision establishes objects.

func NewProviderHooks

func NewProviderHooks(client resource.ClientApplicator, namespace, serviceAccount string) *ProviderHooks

NewProviderHooks creates a new ProviderHooks.

func (*ProviderHooks) Post

Post creates a packaged provider controller and service account if the revision is active.

func (*ProviderHooks) Pre

Pre cleans up a packaged controller and service account if the revision is inactive.

type Reconciler

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

Reconciler reconciles packages.

func NewReconciler

func NewReconciler(mgr manager.Manager, opts ...ReconcilerOption) *Reconciler

NewReconciler creates a new package revision reconciler.

func (*Reconciler) Reconcile

func (r *Reconciler) Reconcile(ctx context.Context, req reconcile.Request) (reconcile.Result, error)

Reconcile package revision.

type ReconcilerOption

type ReconcilerOption func(*Reconciler)

ReconcilerOption is used to configure the Reconciler.

func WithCache

func WithCache(c xpkg.PackageCache) ReconcilerOption

WithCache specifies how the Reconcile should cache package contents.

func WithClientApplicator

func WithClientApplicator(ca resource.ClientApplicator) ReconcilerOption

WithClientApplicator specifies how the Reconciler should interact with the Kubernetes API.

func WithDependencyManager

func WithDependencyManager(m DependencyManager) ReconcilerOption

WithDependencyManager specifies how the Reconciler should manage dependencies.

func WithEstablisher

func WithEstablisher(e Establisher) ReconcilerOption

WithEstablisher specifies how the Reconciler should establish package resources.

func WithFinalizer

func WithFinalizer(f resource.Finalizer) ReconcilerOption

WithFinalizer specifies how the Reconciler should finalize package revisions.

func WithHooks

func WithHooks(h Hooks) ReconcilerOption

WithHooks specifies how the Reconciler should perform pre and post object establishment operations.

func WithLinter

func WithLinter(l parser.Linter) ReconcilerOption

WithLinter specifies how the Reconciler should lint a package.

func WithLogger

func WithLogger(log logging.Logger) ReconcilerOption

WithLogger specifies how the Reconciler should log messages.

func WithNewPackageRevisionFn

func WithNewPackageRevisionFn(f func() v1.PackageRevision) ReconcilerOption

WithNewPackageRevisionFn determines the type of package being reconciled.

func WithParser

func WithParser(p parser.Parser) ReconcilerOption

WithParser specifies how the Reconciler should parse a package.

func WithParserBackend

func WithParserBackend(p parser.Backend) ReconcilerOption

WithParserBackend specifies how the Reconciler should parse a package.

func WithRecorder

func WithRecorder(er event.Recorder) ReconcilerOption

WithRecorder specifies how the Reconciler should record Kubernetes events.

func WithVersioner

func WithVersioner(v version.Operations) ReconcilerOption

WithVersioner specifies how the Reconciler should fetch the current Crossplane version.

Jump to

Keyboard shortcuts

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