v1alpha1

package
v0.10.0 Latest Latest
Warning

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

Go to latest
Published: May 13, 2024 License: Apache-2.0 Imports: 5 Imported by: 1

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the olm v1alpha1 API group +kubebuilder:object:generate=true +groupName=olm.operatorframework.io

Index

Constants

View Source
const (
	// TODO(user): add more Types, here and into init()
	TypeInstalled = "Installed"
	TypeResolved  = "Resolved"
	// TypeDeprecated is a rollup condition that is present when
	// any of the deprecated conditions are present.
	TypeDeprecated        = "Deprecated"
	TypePackageDeprecated = "PackageDeprecated"
	TypeChannelDeprecated = "ChannelDeprecated"
	TypeBundleDeprecated  = "BundleDeprecated"

	ReasonBundleLookupFailed        = "BundleLookupFailed"
	ReasonInstallationFailed        = "InstallationFailed"
	ReasonInstallationStatusUnknown = "InstallationStatusUnknown"
	ReasonInstallationSucceeded     = "InstallationSucceeded"
	ReasonInvalidSpec               = "InvalidSpec"
	ReasonResolutionFailed          = "ResolutionFailed"
	ReasonResolutionUnknown         = "ResolutionUnknown"
	ReasonSuccess                   = "Success"
	ReasonDeprecated                = "Deprecated"
)
View Source
const (
	// TypeProgressing indicates whether operator-controller is
	// reconciling, installing, updating or deleting an extension.
	TypeProgressing = "Progressing"

	ReasonProgressing                = "Progressing"
	ReasonFailedToReachDesiredIntent = "FailedToReachDesiredIntent"
	ReasonReachedDesiredIntent       = "ReachedDesiredIntent"
)
View Source
const (
	SourceTypePackage = "package"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "olm.operatorframework.io", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type BundleMetadata added in v0.10.0

type BundleMetadata struct {
	Name    string `json:"name"`
	Version string `json:"version"`
}

func (*BundleMetadata) DeepCopy added in v0.10.0

func (in *BundleMetadata) DeepCopy() *BundleMetadata

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BundleMetadata.

func (*BundleMetadata) DeepCopyInto added in v0.10.0

func (in *BundleMetadata) DeepCopyInto(out *BundleMetadata)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClusterExtension added in v0.9.0

type ClusterExtension struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ClusterExtensionSpec   `json:"spec,omitempty"`
	Status ClusterExtensionStatus `json:"status,omitempty"`
}

ClusterExtension is the Schema for the clusterextensions API

func (*ClusterExtension) DeepCopy added in v0.9.0

func (in *ClusterExtension) DeepCopy() *ClusterExtension

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterExtension.

func (*ClusterExtension) DeepCopyInto added in v0.9.0

func (in *ClusterExtension) DeepCopyInto(out *ClusterExtension)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ClusterExtension) DeepCopyObject added in v0.9.0

func (in *ClusterExtension) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ClusterExtensionList added in v0.9.0

type ClusterExtensionList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ClusterExtension `json:"items"`
}

ClusterExtensionList contains a list of ClusterExtension

func (*ClusterExtensionList) DeepCopy added in v0.9.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterExtensionList.

func (*ClusterExtensionList) DeepCopyInto added in v0.9.0

func (in *ClusterExtensionList) DeepCopyInto(out *ClusterExtensionList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ClusterExtensionList) DeepCopyObject added in v0.9.0

func (in *ClusterExtensionList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ClusterExtensionSpec added in v0.9.0

type ClusterExtensionSpec struct {
	//+kubebuilder:validation:MaxLength:=48
	//+kubebuilder:validation:Pattern:=^[a-z0-9]+(-[a-z0-9]+)*$
	PackageName string `json:"packageName"`

	//+kubebuilder:validation:MaxLength:=64
	//+kubebuilder:validation:Pattern=`^(\s*(=||!=|>|<|>=|=>|<=|=<|~|~>|\^)\s*(v?(0|[1-9]\d*|[x|X|\*])(\.(0|[1-9]\d*|x|X|\*]))?(\.(0|[1-9]\d*|x|X|\*))?(-([0-9A-Za-z\-]+(\.[0-9A-Za-z\-]+)*))?(\+([0-9A-Za-z\-]+(\.[0-9A-Za-z\-]+)*))?)\s*)((?:\s+|,\s*|\s*\|\|\s*)(=||!=|>|<|>=|=>|<=|=<|~|~>|\^)\s*(v?(0|[1-9]\d*|x|X|\*])(\.(0|[1-9]\d*|x|X|\*))?(\.(0|[1-9]\d*|x|X|\*]))?(-([0-9A-Za-z\-]+(\.[0-9A-Za-z\-]+)*))?(\+([0-9A-Za-z\-]+(\.[0-9A-Za-z\-]+)*))?)\s*)*$`
	//+kubebuilder:Optional
	// Version is an optional semver constraint on the package version. If not specified, the latest version available of the package will be installed.
	// If specified, the specific version of the package will be installed so long as it is available in any of the content sources available.
	// Examples: 1.2.3, 1.0.0-alpha, 1.0.0-rc.1
	//
	// For more information on semver, please see https://semver.org/
	Version string `json:"version,omitempty"`

	//+kubebuilder:validation:MaxLength:=48
	//+kubebuilder:validation:Pattern:=^[a-z0-9]+([\.-][a-z0-9]+)*$
	// Channel constraint definition
	Channel string `json:"channel,omitempty"`

	//+kubebuilder:validation:Enum:=Enforce;Ignore
	//+kubebuilder:default:=Enforce
	//+kubebuilder:Optional
	//
	// Defines the policy for how to handle upgrade constraints
	UpgradeConstraintPolicy UpgradeConstraintPolicy `json:"upgradeConstraintPolicy,omitempty"`

	//+kubebuilder:validation:Pattern:=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
	//+kubebuilder:validation:MaxLength:=63
	//
	// installNamespace is the namespace where the bundle should be installed. However, note that
	// the bundle may contain resources that are cluster-scoped or that are
	// installed in a different namespace. This namespace is expected to exist.
	InstallNamespace string `json:"installNamespace"`
}

ClusterExtensionSpec defines the desired state of ClusterExtension

func (*ClusterExtensionSpec) DeepCopy added in v0.9.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterExtensionSpec.

func (*ClusterExtensionSpec) DeepCopyInto added in v0.9.0

func (in *ClusterExtensionSpec) DeepCopyInto(out *ClusterExtensionSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClusterExtensionStatus added in v0.9.0

type ClusterExtensionStatus struct {
	// +optional
	InstalledBundle *BundleMetadata `json:"installedBundle,omitempty"`
	// +optional
	ResolvedBundle *BundleMetadata `json:"resolvedBundle,omitempty"`

	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}

ClusterExtensionStatus defines the observed state of ClusterExtension

func (*ClusterExtensionStatus) DeepCopy added in v0.9.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterExtensionStatus.

func (*ClusterExtensionStatus) DeepCopyInto added in v0.9.0

func (in *ClusterExtensionStatus) DeepCopyInto(out *ClusterExtensionStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Extension added in v0.10.0

type Extension struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ExtensionSpec   `json:"spec,omitempty"`
	Status ExtensionStatus `json:"status,omitempty"`
}

Extension is the Schema for the extensions API

func (*Extension) DeepCopy added in v0.10.0

func (in *Extension) DeepCopy() *Extension

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Extension.

func (*Extension) DeepCopyInto added in v0.10.0

func (in *Extension) DeepCopyInto(out *Extension)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Extension) DeepCopyObject added in v0.10.0

func (in *Extension) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ExtensionList added in v0.10.0

type ExtensionList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Extension `json:"items"`
}

ExtensionList contains a list of Extension

func (*ExtensionList) DeepCopy added in v0.10.0

func (in *ExtensionList) DeepCopy() *ExtensionList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtensionList.

func (*ExtensionList) DeepCopyInto added in v0.10.0

func (in *ExtensionList) DeepCopyInto(out *ExtensionList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ExtensionList) DeepCopyObject added in v0.10.0

func (in *ExtensionList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ExtensionSource added in v0.10.0

type ExtensionSource struct {
	//+kubebuilder:validation:Enum:=package
	//+kubebuilder:validation:Required
	// sourceType is the discriminator for the source type
	SourceType string `json:"sourceType"`

	// package defines a reference for a bundle in a catalog defined by a name and a version and/or channel
	Package *ExtensionSourcePackage `json:"package,omitempty"`
}

+kubebuilder:validation:XValidation:rule="self.sourceType=='package' && has(self.__package__)",message="sourceType must match populated union field"

ExtensionSource defines the source for this Extension, right now, only a package is supported.

func (*ExtensionSource) DeepCopy added in v0.10.0

func (in *ExtensionSource) DeepCopy() *ExtensionSource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtensionSource.

func (*ExtensionSource) DeepCopyInto added in v0.10.0

func (in *ExtensionSource) DeepCopyInto(out *ExtensionSource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExtensionSourcePackage added in v0.10.0

type ExtensionSourcePackage struct {
	//+kubebuilder:validation:MaxLength:=48
	//+kubebuilder:validation:Pattern:=^[a-z0-9]+(-[a-z0-9]+)*$
	// name specifies the name of the name of the package
	Name string `json:"name"`

	//+kubebuilder:validation:MaxLength:=64
	//+kubebuilder:validation:Pattern=`^(\s*(=||!=|>|<|>=|=>|<=|=<|~|~>|\^)\s*(v?(0|[1-9]\d*|[x|X|\*])(\.(0|[1-9]\d*|x|X|\*]))?(\.(0|[1-9]\d*|x|X|\*))?(-([0-9A-Za-z\-]+(\.[0-9A-Za-z\-]+)*))?(\+([0-9A-Za-z\-]+(\.[0-9A-Za-z\-]+)*))?)\s*)((?:\s+|,\s*|\s*\|\|\s*)(=||!=|>|<|>=|=>|<=|=<|~|~>|\^)\s*(v?(0|[1-9]\d*|x|X|\*])(\.(0|[1-9]\d*|x|X|\*))?(\.(0|[1-9]\d*|x|X|\*]))?(-([0-9A-Za-z\-]+(\.[0-9A-Za-z\-]+)*))?(\+([0-9A-Za-z\-]+(\.[0-9A-Za-z\-]+)*))?)\s*)*$`
	//+kubebuilder:Optional
	// Version is an optional semver constraint on the package version. If not specified, the latest version available of the package will be installed.
	// If specified, the specific version of the package will be installed so long as it is available in any of the content sources available.
	// Examples: 1.2.3, 1.0.0-alpha, 1.0.0-rc.1
	//
	// For more information on semver, please see https://semver.org/
	// version constraint definition
	Version string `json:"version,omitempty"`

	//+kubebuilder:validation:MaxLength:=48
	//+kubebuilder:validation:Pattern:=^[a-z0-9]+([\.-][a-z0-9]+)*$
	// channel constraint definition
	Channel string `json:"channel,omitempty"`

	//+kubebuilder:validation:Enum:=Enforce;Ignore
	//+kubebuilder:default:=Enforce
	//+kubebuilder:Optional
	//
	// upgradeConstraintPolicy Defines the policy for how to handle upgrade constraints
	UpgradeConstraintPolicy UpgradeConstraintPolicy `json:"upgradeConstraintPolicy,omitempty"`
}

func (*ExtensionSourcePackage) DeepCopy added in v0.10.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtensionSourcePackage.

func (*ExtensionSourcePackage) DeepCopyInto added in v0.10.0

func (in *ExtensionSourcePackage) DeepCopyInto(out *ExtensionSourcePackage)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExtensionSpec added in v0.10.0

type ExtensionSpec struct {
	//+kubebuilder:Optional
	//
	// paused controls the management state of the extension. If the extension is paused, it will be ignored by the extension controller.
	Paused bool `json:"paused,omitempty"`

	//+kubebuilder:validation:MaxLength:=253
	//+kubebuilder:validation:Pattern:=^[a-z0-9]+([\.-][a-z0-9]+)*$
	//
	// serviceAccountName is the name of a service account in the Extension's namespace that will be used to manage the installation and lifecycle of the extension.
	ServiceAccountName string `json:"serviceAccountName"`

	// source of Extension to be installed
	Source ExtensionSource `json:"source"`

	//+kubebuilder:Optional
	//
	// skipCRDUpgradeSafetyCheck specifies whether or not the CRD upgrade safety checks should be skipped when attempting to install the extension
	SkipCRDUpgradeSafetyCheck bool `json:"skipCRDUpgradeSafetyCheck,omitempty"`
}

ExtensionSpec defines the desired state of Extension

func (*ExtensionSpec) DeepCopy added in v0.10.0

func (in *ExtensionSpec) DeepCopy() *ExtensionSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtensionSpec.

func (*ExtensionSpec) DeepCopyInto added in v0.10.0

func (in *ExtensionSpec) DeepCopyInto(out *ExtensionSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExtensionStatus added in v0.10.0

type ExtensionStatus struct {
	// paused indicates the current reconciliation state of this extension
	Paused bool `json:"paused"`

	// +optional
	InstalledBundle *BundleMetadata `json:"installedBundle,omitempty"`
	// +optional
	ResolvedBundle *BundleMetadata `json:"resolvedBundle,omitempty"`

	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}

ExtensionStatus defines the observed state of Extension

func (*ExtensionStatus) DeepCopy added in v0.10.0

func (in *ExtensionStatus) DeepCopy() *ExtensionStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtensionStatus.

func (*ExtensionStatus) DeepCopyInto added in v0.10.0

func (in *ExtensionStatus) DeepCopyInto(out *ExtensionStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UpgradeConstraintPolicy added in v0.7.0

type UpgradeConstraintPolicy string
const (
	// The extension will only upgrade if the new version satisfies
	// the upgrade constraints set by the package author.
	UpgradeConstraintPolicyEnforce UpgradeConstraintPolicy = "Enforce"

	// Unsafe option which allows an extension to be
	// upgraded or downgraded to any available version of the package and
	// ignore the upgrade path designed by package authors.
	// This assumes that users independently verify the outcome of the changes.
	// Use with caution as this can lead to unknown and potentially
	// disastrous results such as data loss.
	UpgradeConstraintPolicyIgnore UpgradeConstraintPolicy = "Ignore"
)

Jump to

Keyboard shortcuts

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