Documentation
¶
Index ¶
- Constants
- func PhaseSort(unsortedObjs []ocv1.ClusterExtensionRevisionObject) []ocv1.ClusterExtensionRevisionPhase
- type Boxcutter
- type BoxcutterStorageMigrator
- type ClusterExtensionRevisionGenerator
- type Helm
- type HelmChartProvider
- type HelmReleaseToObjectsConverter
- type HelmReleaseToObjectsConverterInterface
- type ManifestProvider
- type Phase
- type Preflight
- type RegistryV1HelmChartProvider
- type RegistryV1ManifestProvider
- type SimpleRevisionGenerator
- func (r *SimpleRevisionGenerator) GenerateRevision(bundleFS fs.FS, ext *ocv1.ClusterExtension, ...) (*ocv1.ClusterExtensionRevision, error)
- func (r *SimpleRevisionGenerator) GenerateRevisionFromHelmRelease(helmRelease *release.Release, ext *ocv1.ClusterExtension, ...) (*ocv1.ClusterExtensionRevision, error)
Constants ¶
const ( StateNeedsInstall string = "NeedsInstall" StateNeedsUpgrade string = "NeedsUpgrade" StateUnchanged string = "Unchanged" StateError string = "Error" )
const (
ClusterExtensionRevisionPreviousLimit = 5
)
Variables ¶
This section is empty.
Functions ¶
func PhaseSort ¶ added in v1.6.0
func PhaseSort(unsortedObjs []ocv1.ClusterExtensionRevisionObject) []ocv1.ClusterExtensionRevisionPhase
PhaseSort takes an unsorted list of objects and organizes them into sorted phases. Each phase will be applied in order according to DefaultPhaseOrder. Objects within a single phase are applied simultaneously.
Types ¶
type Boxcutter ¶ added in v1.6.0
type BoxcutterStorageMigrator ¶ added in v1.6.0
type BoxcutterStorageMigrator struct {
ActionClientGetter helmclient.ActionClientGetter
RevisionGenerator ClusterExtensionRevisionGenerator
Client boxcutterStorageMigratorClient
}
func (*BoxcutterStorageMigrator) Migrate ¶ added in v1.6.0
func (m *BoxcutterStorageMigrator) Migrate(ctx context.Context, ext *ocv1.ClusterExtension, objectLabels map[string]string) error
type ClusterExtensionRevisionGenerator ¶ added in v1.6.0
type ClusterExtensionRevisionGenerator interface {
GenerateRevision(bundleFS fs.FS, ext *ocv1.ClusterExtension, objectLabels, revisionAnnotations map[string]string) (*ocv1.ClusterExtensionRevision, error)
GenerateRevisionFromHelmRelease(
helmRelease *release.Release, ext *ocv1.ClusterExtension,
objectLabels map[string]string,
) (*ocv1.ClusterExtensionRevision, error)
}
type Helm ¶
type Helm struct {
ActionClientGetter helmclient.ActionClientGetter
Preflights []Preflight
PreAuthorizer authorization.PreAuthorizer
HelmChartProvider HelmChartProvider
HelmReleaseToObjectsConverter HelmReleaseToObjectsConverterInterface
Manager contentmanager.Manager
Watcher crcontroller.Controller
}
type HelmChartProvider ¶ added in v1.6.0
type HelmChartProvider interface {
Get(bundle fs.FS, clusterExtension *ocv1.ClusterExtension) (*chart.Chart, error)
}
HelmChartProvider provides helm charts from bundle sources and cluster extensions
type HelmReleaseToObjectsConverter ¶ added in v1.6.0
type HelmReleaseToObjectsConverter struct {
}
func (HelmReleaseToObjectsConverter) GetObjectsFromRelease ¶ added in v1.6.0
type HelmReleaseToObjectsConverterInterface ¶ added in v1.6.0
type ManifestProvider ¶ added in v1.6.0
type ManifestProvider interface {
// Get returns a set of resource manifests in bundle that take into account the configuration in ext
Get(bundle fs.FS, ext *ocv1.ClusterExtension) ([]client.Object, error)
}
ManifestProvider returns the manifests that should be applied by OLM given a bundle and its associated ClusterExtension
type Preflight ¶
type Preflight interface {
// Install runs checks that should be successful prior
// to installing the Helm release. It is provided
// a Helm release and returns an error if the
// check is unsuccessful
Install(context.Context, []client.Object) error
// Upgrade runs checks that should be successful prior
// to upgrading the Helm release. It is provided
// a Helm release and returns an error if the
// check is unsuccessful
Upgrade(context.Context, []client.Object) error
}
Preflight is a check that should be run before making any changes to the cluster
type RegistryV1HelmChartProvider ¶ added in v1.6.0
type RegistryV1HelmChartProvider struct {
ManifestProvider ManifestProvider
}
RegistryV1HelmChartProvider creates a Helm-Chart from a registry+v1 bundle and its associated ClusterExtension
func (*RegistryV1HelmChartProvider) Get ¶ added in v1.6.0
func (r *RegistryV1HelmChartProvider) Get(bundleFS fs.FS, ext *ocv1.ClusterExtension) (*chart.Chart, error)
type RegistryV1ManifestProvider ¶ added in v1.6.0
type RegistryV1ManifestProvider struct {
BundleRenderer render.BundleRenderer
CertificateProvider render.CertificateProvider
IsWebhookSupportEnabled bool
IsSingleOwnNamespaceEnabled bool
}
RegistryV1ManifestProvider generates the manifests that should be installed for a registry+v1 bundle given the user specified configuration given by the ClusterExtension API surface
func (*RegistryV1ManifestProvider) Get ¶ added in v1.6.0
func (r *RegistryV1ManifestProvider) Get(bundleFS fs.FS, ext *ocv1.ClusterExtension) ([]client.Object, error)
type SimpleRevisionGenerator ¶ added in v1.6.0
type SimpleRevisionGenerator struct {
Scheme *runtime.Scheme
ManifestProvider ManifestProvider
}
func (*SimpleRevisionGenerator) GenerateRevision ¶ added in v1.6.0
func (r *SimpleRevisionGenerator) GenerateRevision( bundleFS fs.FS, ext *ocv1.ClusterExtension, objectLabels, revisionAnnotations map[string]string, ) (*ocv1.ClusterExtensionRevision, error)
func (*SimpleRevisionGenerator) GenerateRevisionFromHelmRelease ¶ added in v1.6.0
func (r *SimpleRevisionGenerator) GenerateRevisionFromHelmRelease( helmRelease *release.Release, ext *ocv1.ClusterExtension, objectLabels map[string]string, ) (*ocv1.ClusterExtensionRevision, error)