v1alpha1

package
v0.12.0 Latest Latest
Warning

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

Go to latest
Published: Jul 10, 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"
	ReasonInstallationStatusUnknown = "InstallationStatusUnknown"
	ReasonInstallationSucceeded     = "InstallationSucceeded"
	ReasonResolutionFailed          = "ResolutionFailed"

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

	ReasonUnpackPending = "UnpackPending"
	ReasonUnpackSuccess = "UnpackSuccess"
	ReasonUnpackFailed  = "UnpackFailed"

	ReasonErrorGettingReleaseState = "ErrorGettingReleaseState"
	ReasonCreateDynamicWatchFailed = "CreateDynamicWatchFailed"
)

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 {
	// +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