Help us shape the future of Go! Take the 2026 Go Developer Survey

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: 0

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