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

v1alpha1

package
v0.13.0 Latest Latest
Warning

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

Go to latest
Published: Aug 16, 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"
	TypeUnpacked          = "Unpacked"

	ReasonErrorGettingClient = "ErrorGettingClient"
	ReasonBundleLoadFailed   = "BundleLoadFailed"

	ReasonInstallationFailed = "InstallationFailed"
	ReasonResolutionFailed   = "ResolutionFailed"

	ReasonSuccess       = "Success"
	ReasonDeprecated    = "Deprecated"
	ReasonUpgradeFailed = "UpgradeFailed"

	ReasonUnpackSuccess = "UnpackSuccess"
	ReasonUnpackFailed  = "UnpackFailed"

	ReasonErrorGettingReleaseState = "ErrorGettingReleaseState"
)

Variables

View Source
var (
	ClusterExtensionGVK  = SchemeBuilder.GroupVersion.WithKind("ClusterExtension")
	ClusterExtensionKind = ClusterExtensionGVK.Kind
)
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 CRDUpgradeSafetyPreflightConfig added in v0.11.0

type CRDUpgradeSafetyPreflightConfig struct {
	//+kubebuilder:Required
	// Disabled represents the state of the CRD upgrade safety preflight check being disabled/enabled.
	Disabled bool `json:"disabled,omitempty"`
}

CRDUpgradeSafetyPreflightConfig is the configuration for CRD upgrade safety preflight check.

func (*CRDUpgradeSafetyPreflightConfig) DeepCopy added in v0.11.0

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

func (*CRDUpgradeSafetyPreflightConfig) DeepCopyInto added in v0.11.0

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
	//+kubebuilder:validation:XValidation:rule="self == oldSelf",message="installNamespace is immutable"
	//
	// 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"`

	//+kubebuilder:Optional
	// Preflight defines the configuration of preflight checks.
	Preflight *PreflightConfig `json:"preflight,omitempty"`

	// ServiceAccount is used to install and manage resources.
	// The service account is expected to exist in the InstallNamespace.
	ServiceAccount ServiceAccountReference `json:"serviceAccount"`
}

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 {
	// InstalledBundle should only be modified when a new bundle is successfully installed. This ensures that if there
	//  is a previously successfully installed a bundle, and an upgrade fails, it is still communicated that there is
	//  still a bundle that is currently installed and owned by the ClusterExtension.
	// +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 PreflightConfig added in v0.11.0

type PreflightConfig struct {
	//+kubebuilder:Required
	// CRDUpgradeSafety holds necessary configuration for the CRD Upgrade Safety preflight checks.
	CRDUpgradeSafety *CRDUpgradeSafetyPreflightConfig `json:"crdUpgradeSafety,omitempty"`
}

PreflightConfig holds the configuration for the preflight checks.

func (*PreflightConfig) DeepCopy added in v0.11.0

func (in *PreflightConfig) DeepCopy() *PreflightConfig

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

func (*PreflightConfig) DeepCopyInto added in v0.11.0

func (in *PreflightConfig) DeepCopyInto(out *PreflightConfig)

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

type ServiceAccountReference added in v0.12.0

type ServiceAccountReference struct {
	// name is the metadata.name of the referenced serviceAccount object.
	//+kubebuilder:validation:MaxLength:=253
	//+kubebuilder:validation:Pattern:=^[a-z0-9]+([.|-][a-z0-9]+)*$
	//+kubebuilder:validation:XValidation:rule="self == oldSelf",message="name is immutable"
	Name string `json:"name"`
}

ServiceAccountReference references a serviceAccount.

func (*ServiceAccountReference) DeepCopy added in v0.12.0

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

func (*ServiceAccountReference) DeepCopyInto added in v0.12.0

func (in *ServiceAccountReference) DeepCopyInto(out *ServiceAccountReference)

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