Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the olm v1alpha1 API group +kubebuilder:object:generate=true +groupName=olm.operatorframework.io
Index ¶
Constants ¶
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" )
const ( // TypeProgressing indicates whether operator-controller is // reconciling, installing, updating or deleting an extension. TypeProgressing = "Progressing" ReasonProgressing = "Progressing" ReasonFailedToReachDesiredIntent = "FailedToReachDesiredIntent" ReasonReachedDesiredIntent = "ReachedDesiredIntent" )
const (
SourceTypePackage = "package"
)
Variables ¶
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
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
func (in *ClusterExtensionList) DeepCopy() *ClusterExtensionList
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
func (in *ClusterExtensionSpec) DeepCopy() *ClusterExtensionSpec
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
func (in *ClusterExtensionStatus) DeepCopy() *ClusterExtensionStatus
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Extension.
func (*Extension) DeepCopyInto ¶ added in v0.10.0
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
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
func (in *ExtensionSourcePackage) DeepCopy() *ExtensionSourcePackage
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" )