Documentation ¶
Overview ¶
Package v1alpha1 contains resources types for version v1alpha1 of the operators.coreos.com API group.
Index ¶
- Constants
- Variables
- func IsCopied(o metav1.Object) bool
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type APIResourceReference
- type APIServiceDefinitions
- type APIServiceDescription
- type ActionDescriptor
- type AppLink
- type Approval
- type BundleLookup
- func (in *BundleLookup) DeepCopy() *BundleLookup
- func (in *BundleLookup) DeepCopyInto(out *BundleLookup)
- func (b BundleLookup) GetCondition(conditionType BundleLookupConditionType) BundleLookupCondition
- func (b *BundleLookup) RemoveCondition(conditionType BundleLookupConditionType)
- func (b *BundleLookup) SetCondition(cond BundleLookupCondition) BundleLookupCondition
- type BundleLookupCondition
- type BundleLookupConditionType
- type CRDDescription
- type CatalogSource
- func (c *CatalogSource) Address() string
- func (in *CatalogSource) DeepCopy() *CatalogSource
- func (in *CatalogSource) DeepCopyInto(out *CatalogSource)
- func (in *CatalogSource) DeepCopyObject() runtime.Object
- func (c *CatalogSource) Poll() bool
- func (c *CatalogSource) SetError(reason ConditionReason, err error)
- func (c *CatalogSource) SetLastUpdateTime()
- func (c *CatalogSource) Update() bool
- type CatalogSourceList
- type CatalogSourceSpec
- type CatalogSourceStatus
- type CleanupSpec
- type CleanupStatus
- type ClusterServiceVersion
- func (in *ClusterServiceVersion) DeepCopy() *ClusterServiceVersion
- func (in *ClusterServiceVersion) DeepCopyInto(out *ClusterServiceVersion)
- func (in *ClusterServiceVersion) DeepCopyObject() runtime.Object
- func (csv ClusterServiceVersion) GetAllAPIServiceDescriptions() []APIServiceDescription
- func (csv ClusterServiceVersion) GetAllCRDDescriptions() []CRDDescription
- func (csv ClusterServiceVersion) GetOwnedAPIServiceDescriptions() []APIServiceDescription
- func (csv ClusterServiceVersion) GetRequiredAPIServiceDescriptions() []APIServiceDescription
- func (c *ClusterServiceVersion) HasCAResources() bool
- func (c *ClusterServiceVersion) IsCopied() bool
- func (c *ClusterServiceVersion) IsObsolete() bool
- func (c *ClusterServiceVersion) IsSafeToUpdateOperatorGroupAnnotations() bool
- func (c *ClusterServiceVersion) IsUncopiable() bool
- func (csv ClusterServiceVersion) OwnsAPIService(name string) bool
- func (csv ClusterServiceVersion) OwnsCRD(name string) bool
- func (c *ClusterServiceVersion) SetPhase(phase ClusterServiceVersionPhase, reason ConditionReason, message string, ...)
- func (c *ClusterServiceVersion) SetPhaseWithEvent(phase ClusterServiceVersionPhase, reason ConditionReason, message string, ...)
- func (c *ClusterServiceVersion) SetPhaseWithEventIfChanged(phase ClusterServiceVersionPhase, reason ConditionReason, message string, ...)
- func (c *ClusterServiceVersion) SetRequirementStatus(statuses []RequirementStatus)
- func (c *ClusterServiceVersion) TrimConditionsIfLimitExceeded()
- type ClusterServiceVersionCondition
- type ClusterServiceVersionList
- type ClusterServiceVersionPhase
- type ClusterServiceVersionSpec
- type ClusterServiceVersionStatus
- type ConditionReason
- type ConfigMapResourceReference
- type CustomResourceDefinitions
- type DependentStatus
- type ExtractContentConfig
- type GRPCConnectionState
- type GrpcPodConfig
- type Icon
- type InstallMode
- type InstallModeSet
- type InstallModeType
- type InstallPlan
- type InstallPlanCondition
- type InstallPlanConditionReason
- type InstallPlanConditionType
- type InstallPlanList
- type InstallPlanPhase
- type InstallPlanReference
- type InstallPlanSpec
- type InstallPlanStatus
- func (in *InstallPlanStatus) DeepCopy() *InstallPlanStatus
- func (in *InstallPlanStatus) DeepCopyInto(out *InstallPlanStatus)
- func (s InstallPlanStatus) GetCondition(conditionType InstallPlanConditionType) InstallPlanCondition
- func (s InstallPlanStatus) NeedsRequeue() bool
- func (s *InstallPlanStatus) SetCondition(cond InstallPlanCondition) InstallPlanCondition
- type Maintainer
- type NamedInstallStrategy
- type RegistryPoll
- type RegistryServiceStatus
- type RelatedImage
- type RequirementStatus
- type ResourceInstance
- type ResourceList
- type SecurityConfig
- type SourceType
- type SpecDescriptor
- type StatusDescriptor
- type StatusReason
- type Step
- type StepResource
- type StepStatus
- type StrategyDeploymentPermissions
- type StrategyDeploymentSpec
- type StrategyDetailsDeployment
- type Subscription
- type SubscriptionCatalogHealth
- type SubscriptionCondition
- type SubscriptionConditionType
- type SubscriptionConfig
- type SubscriptionList
- type SubscriptionSpec
- type SubscriptionState
- type SubscriptionStatus
- func (in *SubscriptionStatus) DeepCopy() *SubscriptionStatus
- func (in *SubscriptionStatus) DeepCopyInto(out *SubscriptionStatus)
- func (s SubscriptionStatus) GetCondition(conditionType SubscriptionConditionType) SubscriptionCondition
- func (s *SubscriptionStatus) RemoveConditions(remove ...SubscriptionConditionType)
- func (s *SubscriptionStatus) SetCondition(condition SubscriptionCondition)
- type UpdateStrategy
- type WebhookAdmissionType
- type WebhookDescription
- func (in *WebhookDescription) DeepCopy() *WebhookDescription
- func (in *WebhookDescription) DeepCopyInto(out *WebhookDescription)
- func (w *WebhookDescription) DomainName() string
- func (w *WebhookDescription) GetMutatingWebhook(namespace string, namespaceSelector *metav1.LabelSelector, caBundle []byte) admissionregistrationv1.MutatingWebhook
- func (w *WebhookDescription) GetValidatingWebhook(namespace string, namespaceSelector *metav1.LabelSelector, caBundle []byte) admissionregistrationv1.ValidatingWebhook
Constants ¶
const ( CatalogSourceCRDAPIVersion = GroupName + "/" + GroupVersion CatalogSourceKind = "CatalogSource" DefaultRegistryPollDuration = 15 * time.Minute )
const ( CopiedLabelKey = "olm.copiedFrom" // ConditionsLengthLimit is the maximum length of Status.Conditions of a // given ClusterServiceVersion object. The oldest condition(s) are removed // from the list as it grows over time to keep it at limit. ConditionsLengthLimit = 20 )
const ( ClusterServiceVersionAPIVersion = GroupName + "/" + GroupVersion ClusterServiceVersionKind = "ClusterServiceVersion" OperatorGroupNamespaceAnnotationKey = "olm.operatorNamespace" InstallStrategyNameDeployment = "deployment" SkipRangeAnnotationKey = "olm.skipRange" )
const ( InstallPlanKind = "InstallPlan" InstallPlanAPIVersion = GroupName + "/" + GroupVersion )
const ( // GroupName is the group name used in this package. GroupName = operators.GroupName // GroupVersion is the group version used in this package. GroupVersion = "v1alpha1" )
const ( SubscriptionKind = "Subscription" SubscriptionCRDAPIVersion = GroupName + "/" + GroupVersion )
const ( SubscriptionStateNone = "" SubscriptionStateFailed = "UpgradeFailed" SubscriptionStateUpgradeAvailable = "UpgradeAvailable" SubscriptionStateUpgradePending = "UpgradePending" SubscriptionStateAtLatest = "AtLatestKnown" )
const ( // NoCatalogSourcesFound is a reason string for Subscriptions with unhealthy CatalogSources due to none being available. NoCatalogSourcesFound = "NoCatalogSourcesFound" // AllCatalogSourcesHealthy is a reason string for Subscriptions that transitioned due to all CatalogSources being healthy. AllCatalogSourcesHealthy = "AllCatalogSourcesHealthy" // CatalogSourcesAdded is a reason string for Subscriptions that transitioned due to CatalogSources being added. CatalogSourcesAdded = "CatalogSourcesAdded" // CatalogSourcesUpdated is a reason string for Subscriptions that transitioned due to CatalogSource being updated. CatalogSourcesUpdated = "CatalogSourcesUpdated" // CatalogSourcesDeleted is a reason string for Subscriptions that transitioned due to CatalogSources being removed. CatalogSourcesDeleted = "CatalogSourcesDeleted" // UnhealthyCatalogSourceFound is a reason string for Subscriptions that transitioned because an unhealthy CatalogSource was found. UnhealthyCatalogSourceFound = "UnhealthyCatalogSourceFound" // ReferencedInstallPlanNotFound is a reason string for Subscriptions that transitioned due to a referenced InstallPlan not being found. ReferencedInstallPlanNotFound = "ReferencedInstallPlanNotFound" // InstallPlanNotYetReconciled is a reason string for Subscriptions that transitioned due to a referenced InstallPlan not being reconciled yet. InstallPlanNotYetReconciled = "InstallPlanNotYetReconciled" // InstallPlanFailed is a reason string for Subscriptions that transitioned due to a referenced InstallPlan failing without setting an explicit failure condition. InstallPlanFailed = "InstallPlanFailed" )
Variables ¶
var ( // SchemeBuilder initializes a scheme builder SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme is a global function that registers this API group & version to a scheme AddToScheme = SchemeBuilder.AddToScheme )
var ErrInvalidInstallPlan = errors.New("the InstallPlan contains invalid data")
ErrInvalidInstallPlan is the error returned by functions that operate on InstallPlans when the InstallPlan does not contain totally valid data.
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: GroupVersion}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type APIResourceReference ¶
type APIResourceReference struct { // Plural name of the referenced resource type (CustomResourceDefinition.Spec.Names[].Plural). Empty string if the referenced resource type is not a custom resource. Name string `json:"name"` // Kind of the referenced resource type. Kind string `json:"kind"` // API Version of the referenced resource type. Version string `json:"version"` }
APIResourceReference is a reference to a Kubernetes resource type that the referrer utilizes. +k8s:openapi-gen=true
func (*APIResourceReference) DeepCopy ¶
func (in *APIResourceReference) DeepCopy() *APIResourceReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIResourceReference.
func (*APIResourceReference) DeepCopyInto ¶
func (in *APIResourceReference) DeepCopyInto(out *APIResourceReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APIServiceDefinitions ¶
type APIServiceDefinitions struct { Owned []APIServiceDescription `json:"owned,omitempty"` Required []APIServiceDescription `json:"required,omitempty"` }
APIServiceDefinitions declares all of the extension apis managed or required by an operator being ran by ClusterServiceVersion. +k8s:openapi-gen=true
func (*APIServiceDefinitions) DeepCopy ¶
func (in *APIServiceDefinitions) DeepCopy() *APIServiceDefinitions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServiceDefinitions.
func (*APIServiceDefinitions) DeepCopyInto ¶
func (in *APIServiceDefinitions) DeepCopyInto(out *APIServiceDefinitions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APIServiceDescription ¶
type APIServiceDescription struct { Name string `json:"name"` Group string `json:"group"` Version string `json:"version"` Kind string `json:"kind"` DeploymentName string `json:"deploymentName,omitempty"` ContainerPort int32 `json:"containerPort,omitempty"` DisplayName string `json:"displayName,omitempty"` Description string `json:"description,omitempty"` Resources []APIResourceReference `json:"resources,omitempty"` StatusDescriptors []StatusDescriptor `json:"statusDescriptors,omitempty"` SpecDescriptors []SpecDescriptor `json:"specDescriptors,omitempty"` ActionDescriptor []ActionDescriptor `json:"actionDescriptors,omitempty"` }
APIServiceDescription provides details to OLM about apis provided via aggregation +k8s:openapi-gen=true
func (*APIServiceDescription) DeepCopy ¶
func (in *APIServiceDescription) DeepCopy() *APIServiceDescription
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServiceDescription.
func (*APIServiceDescription) DeepCopyInto ¶
func (in *APIServiceDescription) DeepCopyInto(out *APIServiceDescription)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (APIServiceDescription) GetName ¶
func (d APIServiceDescription) GetName() string
GetName returns the name of an APIService as derived from its group and version.
type ActionDescriptor ¶
type ActionDescriptor struct { Path string `json:"path"` DisplayName string `json:"displayName,omitempty"` Description string `json:"description,omitempty"` XDescriptors []string `json:"x-descriptors,omitempty"` Value json.RawMessage `json:"value,omitempty"` }
ActionDescriptor describes a declarative action that can be performed on a custom resource instance +k8s:openapi-gen=true
func (*ActionDescriptor) DeepCopy ¶
func (in *ActionDescriptor) DeepCopy() *ActionDescriptor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ActionDescriptor.
func (*ActionDescriptor) DeepCopyInto ¶
func (in *ActionDescriptor) DeepCopyInto(out *ActionDescriptor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppLink ¶
+k8s:openapi-gen=true
func (*AppLink) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppLink.
func (*AppLink) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Approval ¶
type Approval string
Approval is the user approval policy for an InstallPlan. It must be one of "Automatic" or "Manual".
type BundleLookup ¶
type BundleLookup struct { // Path refers to the location of a bundle to pull. // It's typically an image reference. Path string `json:"path"` // Identifier is the catalog-unique name of the operator (the name of the CSV for bundles that contain CSVs) Identifier string `json:"identifier"` // Replaces is the name of the bundle to replace with the one found at Path. Replaces string `json:"replaces"` // CatalogSourceRef is a reference to the CatalogSource the bundle path was resolved from. CatalogSourceRef *corev1.ObjectReference `json:"catalogSourceRef"` // Conditions represents the overall state of a BundleLookup. // +optional Conditions []BundleLookupCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` // The effective properties of the unpacked bundle. // +optional Properties string `json:"properties,omitempty"` }
BundleLookup is a request to pull and unpackage the content of a bundle to the cluster.
func (*BundleLookup) DeepCopy ¶
func (in *BundleLookup) DeepCopy() *BundleLookup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BundleLookup.
func (*BundleLookup) DeepCopyInto ¶
func (in *BundleLookup) DeepCopyInto(out *BundleLookup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (BundleLookup) GetCondition ¶
func (b BundleLookup) GetCondition(conditionType BundleLookupConditionType) BundleLookupCondition
GetCondition returns the BundleLookupCondition of the given type if it exists in the BundleLookup's Conditions. Returns a condition of the given type with a ConditionStatus of "Unknown" if not found.
func (*BundleLookup) RemoveCondition ¶
func (b *BundleLookup) RemoveCondition(conditionType BundleLookupConditionType)
RemoveCondition removes the BundleLookupCondition of the given type from the BundleLookup's Conditions if it exists.
func (*BundleLookup) SetCondition ¶
func (b *BundleLookup) SetCondition(cond BundleLookupCondition) BundleLookupCondition
SetCondition replaces the existing BundleLookupCondition of the same type, or adds it if it was not found.
type BundleLookupCondition ¶
type BundleLookupCondition struct { // Type of condition. Type BundleLookupConditionType `json:"type"` // Status of the condition, one of True, False, Unknown. Status corev1.ConditionStatus `json:"status"` // The reason for the condition's last transition. // +optional Reason string `json:"reason,omitempty"` // A human readable message indicating details about the transition. // +optional Message string `json:"message,omitempty"` // Last time the condition was probed. // +optional LastUpdateTime *metav1.Time `json:"lastUpdateTime,omitempty"` // Last time the condition transitioned from one status to another. // +optional LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty"` }
func (*BundleLookupCondition) DeepCopy ¶
func (in *BundleLookupCondition) DeepCopy() *BundleLookupCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BundleLookupCondition.
func (*BundleLookupCondition) DeepCopyInto ¶
func (in *BundleLookupCondition) DeepCopyInto(out *BundleLookupCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BundleLookupConditionType ¶
type BundleLookupConditionType string
BundleLookupConditionType is a category of the overall state of a BundleLookup.
const ( // BundleLookupPending describes BundleLookups that are not complete. BundleLookupPending BundleLookupConditionType = "BundleLookupPending" // BundleLookupFailed describes conditions types for when BundleLookups fail BundleLookupFailed BundleLookupConditionType = "BundleLookupFailed" )
type CRDDescription ¶
type CRDDescription struct { Name string `json:"name"` Version string `json:"version"` Kind string `json:"kind"` DisplayName string `json:"displayName,omitempty"` Description string `json:"description,omitempty"` Resources []APIResourceReference `json:"resources,omitempty"` StatusDescriptors []StatusDescriptor `json:"statusDescriptors,omitempty"` SpecDescriptors []SpecDescriptor `json:"specDescriptors,omitempty"` ActionDescriptor []ActionDescriptor `json:"actionDescriptors,omitempty"` }
CRDDescription provides details to OLM about the CRDs +k8s:openapi-gen=true
func (*CRDDescription) DeepCopy ¶
func (in *CRDDescription) DeepCopy() *CRDDescription
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CRDDescription.
func (*CRDDescription) DeepCopyInto ¶
func (in *CRDDescription) DeepCopyInto(out *CRDDescription)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CatalogSource ¶
type CatalogSource struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec CatalogSourceSpec `json:"spec"` // +optional Status CatalogSourceStatus `json:"status"` }
CatalogSource is a repository of CSVs, CRDs, and operator packages.
func (*CatalogSource) Address ¶
func (c *CatalogSource) Address() string
func (*CatalogSource) DeepCopy ¶
func (in *CatalogSource) DeepCopy() *CatalogSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CatalogSource.
func (*CatalogSource) DeepCopyInto ¶
func (in *CatalogSource) DeepCopyInto(out *CatalogSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CatalogSource) DeepCopyObject ¶
func (in *CatalogSource) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*CatalogSource) Poll ¶
func (c *CatalogSource) Poll() bool
Poll determines whether the polling feature is enabled on the particular catalog source
func (*CatalogSource) SetError ¶
func (c *CatalogSource) SetError(reason ConditionReason, err error)
func (*CatalogSource) SetLastUpdateTime ¶
func (c *CatalogSource) SetLastUpdateTime()
func (*CatalogSource) Update ¶
func (c *CatalogSource) Update() bool
Check if it is time to update based on polling setting
type CatalogSourceList ¶
type CatalogSourceList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CatalogSource `json:"items"` }
CatalogSourceList is a repository of CSVs, CRDs, and operator packages.
func (*CatalogSourceList) DeepCopy ¶
func (in *CatalogSourceList) DeepCopy() *CatalogSourceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CatalogSourceList.
func (*CatalogSourceList) DeepCopyInto ¶
func (in *CatalogSourceList) DeepCopyInto(out *CatalogSourceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CatalogSourceList) DeepCopyObject ¶
func (in *CatalogSourceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CatalogSourceSpec ¶
type CatalogSourceSpec struct { // SourceType is the type of source SourceType SourceType `json:"sourceType"` // Priority field assigns a weight to the catalog source to prioritize them so that it can be consumed by the dependency resolver. // Usage: // Higher weight indicates that this catalog source is preferred over lower weighted catalog sources during dependency resolution. // The range of the priority value can go from positive to negative in the range of int32. // The default value to a catalog source with unassigned priority would be 0. // The catalog source with the same priority values will be ranked lexicographically based on its name. // +optional Priority int `json:"priority,omitempty"` // ConfigMap is the name of the ConfigMap to be used to back a configmap-server registry. // Only used when SourceType = SourceTypeConfigmap or SourceTypeInternal. // +optional ConfigMap string `json:"configMap,omitempty"` // Address is a host that OLM can use to connect to a pre-existing registry. // Format: <registry-host or ip>:<port> // Only used when SourceType = SourceTypeGrpc. // Ignored when the Image field is set. // +optional Address string `json:"address,omitempty"` // Image is an operator-registry container image to instantiate a registry-server with. // Only used when SourceType = SourceTypeGrpc. // If present, the address field is ignored. // +optional Image string `json:"image,omitempty"` // GrpcPodConfig exposes different overrides for the pod spec of the CatalogSource Pod. // Only used when SourceType = SourceTypeGrpc and Image is set. // +optional GrpcPodConfig *GrpcPodConfig `json:"grpcPodConfig,omitempty"` // UpdateStrategy defines how updated catalog source images can be discovered // Consists of an interval that defines polling duration and an embedded strategy type // +optional UpdateStrategy *UpdateStrategy `json:"updateStrategy,omitempty"` // Secrets represent set of secrets that can be used to access the contents of the catalog. // It is best to keep this list small, since each will need to be tried for every catalog entry. // +optional Secrets []string `json:"secrets,omitempty"` // Metadata DisplayName string `json:"displayName,omitempty"` Description string `json:"description,omitempty"` Publisher string `json:"publisher,omitempty"` Icon Icon `json:"icon,omitempty"` }
func (*CatalogSourceSpec) DeepCopy ¶
func (in *CatalogSourceSpec) DeepCopy() *CatalogSourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CatalogSourceSpec.
func (*CatalogSourceSpec) DeepCopyInto ¶
func (in *CatalogSourceSpec) DeepCopyInto(out *CatalogSourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CatalogSourceStatus ¶
type CatalogSourceStatus struct { // A human readable message indicating details about why the CatalogSource is in this condition. // +optional Message string `json:"message,omitempty"` // Reason is the reason the CatalogSource was transitioned to its current state. // +optional Reason ConditionReason `json:"reason,omitempty"` // The last time the CatalogSource image registry has been polled to ensure the image is up-to-date LatestImageRegistryPoll *metav1.Time `json:"latestImageRegistryPoll,omitempty"` ConfigMapResource *ConfigMapResourceReference `json:"configMapReference,omitempty"` RegistryServiceStatus *RegistryServiceStatus `json:"registryService,omitempty"` GRPCConnectionState *GRPCConnectionState `json:"connectionState,omitempty"` // Represents the state of a CatalogSource. Note that Message and Reason represent the original // status information, which may be migrated to be conditions based in the future. Any new features // introduced will use conditions. // +optional // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"` }
func (*CatalogSourceStatus) DeepCopy ¶
func (in *CatalogSourceStatus) DeepCopy() *CatalogSourceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CatalogSourceStatus.
func (*CatalogSourceStatus) DeepCopyInto ¶
func (in *CatalogSourceStatus) DeepCopyInto(out *CatalogSourceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CleanupSpec ¶ added in v0.7.0
type CleanupSpec struct {
Enabled bool `json:"enabled"`
}
+k8s:openapi-gen=true
func (*CleanupSpec) DeepCopy ¶ added in v0.7.1
func (in *CleanupSpec) DeepCopy() *CleanupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CleanupSpec.
func (*CleanupSpec) DeepCopyInto ¶ added in v0.7.1
func (in *CleanupSpec) DeepCopyInto(out *CleanupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CleanupStatus ¶ added in v0.7.0
type CleanupStatus struct { // PendingDeletion is the list of custom resource objects that are pending deletion and blocked on finalizers. // This indicates the progress of cleanup that is blocking CSV deletion or operator uninstall. // +optional PendingDeletion []ResourceList `json:"pendingDeletion,omitempty"` }
CleanupStatus represents information about the status of cleanup while a CSV is pending deletion +k8s:openapi-gen=true
func (*CleanupStatus) DeepCopy ¶ added in v0.7.1
func (in *CleanupStatus) DeepCopy() *CleanupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CleanupStatus.
func (*CleanupStatus) DeepCopyInto ¶ added in v0.7.1
func (in *CleanupStatus) DeepCopyInto(out *CleanupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterServiceVersion ¶
type ClusterServiceVersion struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec ClusterServiceVersionSpec `json:"spec"` // +optional Status ClusterServiceVersionStatus `json:"status"` }
ClusterServiceVersion is a Custom Resource of type `ClusterServiceVersionSpec`.
func (*ClusterServiceVersion) DeepCopy ¶
func (in *ClusterServiceVersion) DeepCopy() *ClusterServiceVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterServiceVersion.
func (*ClusterServiceVersion) DeepCopyInto ¶
func (in *ClusterServiceVersion) DeepCopyInto(out *ClusterServiceVersion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterServiceVersion) DeepCopyObject ¶
func (in *ClusterServiceVersion) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (ClusterServiceVersion) GetAllAPIServiceDescriptions ¶
func (csv ClusterServiceVersion) GetAllAPIServiceDescriptions() []APIServiceDescription
GetAllAPIServiceDescriptions returns a deduplicated set of APIServiceDescriptions that is the union of the owned and required APIServiceDescriptions.
Descriptions with the same name prefer the value in Owned. Descriptions are returned in alphabetical order.
func (ClusterServiceVersion) GetAllCRDDescriptions ¶
func (csv ClusterServiceVersion) GetAllCRDDescriptions() []CRDDescription
GetAllCRDDescriptions returns a deduplicated set of CRDDescriptions that is the union of the owned and required CRDDescriptions.
Descriptions with the same name prefer the value in Owned. Descriptions are returned in alphabetical order.
func (ClusterServiceVersion) GetOwnedAPIServiceDescriptions ¶
func (csv ClusterServiceVersion) GetOwnedAPIServiceDescriptions() []APIServiceDescription
GetOwnedAPIServiceDescriptions returns a deduplicated set of owned APIServiceDescriptions
Descriptions are returned in alphabetical order.
func (ClusterServiceVersion) GetRequiredAPIServiceDescriptions ¶
func (csv ClusterServiceVersion) GetRequiredAPIServiceDescriptions() []APIServiceDescription
GetRequiredAPIServiceDescriptions returns a deduplicated set of required APIServiceDescriptions with the intersection of required and owned removed Equivalent to the set subtraction required - owned
Descriptions are returned in alphabetical order.
func (*ClusterServiceVersion) HasCAResources ¶
func (c *ClusterServiceVersion) HasCAResources() bool
HasCaResources returns true if the CSV has owned APIServices or Webhooks.
func (*ClusterServiceVersion) IsCopied ¶
func (c *ClusterServiceVersion) IsCopied() bool
IsCopied returns true if the CSV has been copied and false otherwise.
func (*ClusterServiceVersion) IsObsolete ¶
func (c *ClusterServiceVersion) IsObsolete() bool
IsObsolete returns if this CSV is being replaced or is marked for deletion
func (*ClusterServiceVersion) IsSafeToUpdateOperatorGroupAnnotations ¶
func (c *ClusterServiceVersion) IsSafeToUpdateOperatorGroupAnnotations() bool
func (*ClusterServiceVersion) IsUncopiable ¶
func (c *ClusterServiceVersion) IsUncopiable() bool
func (ClusterServiceVersion) OwnsAPIService ¶
func (csv ClusterServiceVersion) OwnsAPIService(name string) bool
OwnsAPIService determines whether the current CSV owns a particular APIService.
func (ClusterServiceVersion) OwnsCRD ¶
func (csv ClusterServiceVersion) OwnsCRD(name string) bool
OwnsCRD determines whether the current CSV owns a particular CRD.
func (*ClusterServiceVersion) SetPhase ¶
func (c *ClusterServiceVersion) SetPhase(phase ClusterServiceVersionPhase, reason ConditionReason, message string, now *metav1.Time)
SetPhase sets the current phase and adds a condition if necessary
func (*ClusterServiceVersion) SetPhaseWithEvent ¶
func (c *ClusterServiceVersion) SetPhaseWithEvent(phase ClusterServiceVersionPhase, reason ConditionReason, message string, now *metav1.Time, recorder record.EventRecorder)
SetPhaseWithEvent generates a Kubernetes event with details about the phase change and sets the current phase
func (*ClusterServiceVersion) SetPhaseWithEventIfChanged ¶
func (c *ClusterServiceVersion) SetPhaseWithEventIfChanged(phase ClusterServiceVersionPhase, reason ConditionReason, message string, now *metav1.Time, recorder record.EventRecorder)
SetPhaseWithEventIfChanged emits a Kubernetes event with details of a phase change and sets the current phase if phase, reason, or message would changed
func (*ClusterServiceVersion) SetRequirementStatus ¶
func (c *ClusterServiceVersion) SetRequirementStatus(statuses []RequirementStatus)
SetRequirementStatus adds the status of all requirements to the CSV status
func (*ClusterServiceVersion) TrimConditionsIfLimitExceeded ¶
func (c *ClusterServiceVersion) TrimConditionsIfLimitExceeded()
type ClusterServiceVersionCondition ¶
type ClusterServiceVersionCondition struct { // Condition of the ClusterServiceVersion Phase ClusterServiceVersionPhase `json:"phase,omitempty"` // A human readable message indicating details about why the ClusterServiceVersion is in this condition. // +optional Message string `json:"message,omitempty"` // A brief CamelCase message indicating details about why the ClusterServiceVersion is in this state. // e.g. 'RequirementsNotMet' // +optional Reason ConditionReason `json:"reason,omitempty"` // Last time we updated the status // +optional LastUpdateTime *metav1.Time `json:"lastUpdateTime,omitempty"` // Last time the status transitioned from one status to another. // +optional LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty"` }
Conditions appear in the status as a record of state transitions on the ClusterServiceVersion +k8s:openapi-gen=true
func (*ClusterServiceVersionCondition) DeepCopy ¶
func (in *ClusterServiceVersionCondition) DeepCopy() *ClusterServiceVersionCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterServiceVersionCondition.
func (*ClusterServiceVersionCondition) DeepCopyInto ¶
func (in *ClusterServiceVersionCondition) DeepCopyInto(out *ClusterServiceVersionCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterServiceVersionList ¶
type ClusterServiceVersionList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []ClusterServiceVersion `json:"items"` }
ClusterServiceVersionList represents a list of ClusterServiceVersions.
func (*ClusterServiceVersionList) DeepCopy ¶
func (in *ClusterServiceVersionList) DeepCopy() *ClusterServiceVersionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterServiceVersionList.
func (*ClusterServiceVersionList) DeepCopyInto ¶
func (in *ClusterServiceVersionList) DeepCopyInto(out *ClusterServiceVersionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterServiceVersionList) DeepCopyObject ¶
func (in *ClusterServiceVersionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ClusterServiceVersionPhase ¶
type ClusterServiceVersionPhase string
ClusterServiceVersionPhase is a label for the condition of a ClusterServiceVersion at the current time.
const ( CSVPhaseNone = "" // CSVPhasePending means the csv has been accepted by the system, but the install strategy has not been attempted. // This is likely because there are unmet requirements. CSVPhasePending ClusterServiceVersionPhase = "Pending" // CSVPhaseInstallReady means that the requirements are met but the install strategy has not been run. CSVPhaseInstallReady ClusterServiceVersionPhase = "InstallReady" // CSVPhaseInstalling means that the install strategy has been initiated but not completed. CSVPhaseInstalling ClusterServiceVersionPhase = "Installing" // CSVPhaseSucceeded means that the resources in the CSV were created successfully. CSVPhaseSucceeded ClusterServiceVersionPhase = "Succeeded" // CSVPhaseFailed means that the install strategy could not be successfully completed. CSVPhaseFailed ClusterServiceVersionPhase = "Failed" // CSVPhaseUnknown means that for some reason the state of the csv could not be obtained. CSVPhaseUnknown ClusterServiceVersionPhase = "Unknown" // CSVPhaseReplacing means that a newer CSV has been created and the csv's resources will be transitioned to a new owner. CSVPhaseReplacing ClusterServiceVersionPhase = "Replacing" // CSVPhaseDeleting means that a CSV has been replaced by a new one and will be checked for safety before being deleted CSVPhaseDeleting ClusterServiceVersionPhase = "Deleting" // CSVPhaseAny matches all other phases in CSV queries CSVPhaseAny ClusterServiceVersionPhase = "" )
These are the valid phases of ClusterServiceVersion
type ClusterServiceVersionSpec ¶
type ClusterServiceVersionSpec struct { InstallStrategy NamedInstallStrategy `json:"install"` Version version.OperatorVersion `json:"version,omitempty"` Maturity string `json:"maturity,omitempty"` CustomResourceDefinitions CustomResourceDefinitions `json:"customresourcedefinitions,omitempty"` APIServiceDefinitions APIServiceDefinitions `json:"apiservicedefinitions,omitempty"` WebhookDefinitions []WebhookDescription `json:"webhookdefinitions,omitempty"` NativeAPIs []metav1.GroupVersionKind `json:"nativeAPIs,omitempty"` MinKubeVersion string `json:"minKubeVersion,omitempty"` // The name of the operator in display format. DisplayName string `json:"displayName"` // Description of the operator. Can include the features, limitations or use-cases of the // operator. // +optional Description string `json:"description,omitempty"` // A list of keywords describing the operator. // +optional Keywords []string `json:"keywords,omitempty"` // A list of organizational entities maintaining the operator. // +optional Maintainers []Maintainer `json:"maintainers,omitempty"` // The publishing entity behind the operator. // +optional Provider AppLink `json:"provider,omitempty"` // A list of links related to the operator. // +optional Links []AppLink `json:"links,omitempty"` // The icon for this operator. // +optional Icon []Icon `json:"icon,omitempty"` // InstallModes specify supported installation types // +optional InstallModes []InstallMode `json:"installModes,omitempty"` // The name of a CSV this one replaces. Should match the `metadata.Name` field of the old CSV. // +optional Replaces string `json:"replaces,omitempty"` // Map of string keys and values that can be used to organize and categorize // (scope and select) objects. // +optional Labels map[string]string `json:"labels,omitempty" protobuf:"bytes,11,rep,name=labels"` // Annotations is an unstructured key value map stored with a resource that may be // set by external tools to store and retrieve arbitrary metadata. // +optional Annotations map[string]string `json:"annotations,omitempty" protobuf:"bytes,12,rep,name=annotations"` // Label selector for related resources. // +optional Selector *metav1.LabelSelector `json:"selector,omitempty" protobuf:"bytes,2,opt,name=selector"` // Cleanup specifies the cleanup behaviour when the CSV gets deleted // +optional Cleanup CleanupSpec `json:"cleanup,omitempty"` // The name(s) of one or more CSV(s) that should be skipped in the upgrade graph. // Should match the `metadata.Name` field of the CSV that should be skipped. // This field is only used during catalog creation and plays no part in cluster runtime. // +optional Skips []string `json:"skips,omitempty"` // List any related images, or other container images that your Operator might require to perform their functions. // This list should also include operand images as well. All image references should be specified by // digest (SHA) and not by tag. This field is only used during catalog creation and plays no part in cluster runtime. // +optional RelatedImages []RelatedImage `json:"relatedImages,omitempty"` }
ClusterServiceVersionSpec declarations tell OLM how to install an operator that can manage apps for a given version. +k8s:openapi-gen=true
func (*ClusterServiceVersionSpec) DeepCopy ¶
func (in *ClusterServiceVersionSpec) DeepCopy() *ClusterServiceVersionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterServiceVersionSpec.
func (*ClusterServiceVersionSpec) DeepCopyInto ¶
func (in *ClusterServiceVersionSpec) DeepCopyInto(out *ClusterServiceVersionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterServiceVersionStatus ¶
type ClusterServiceVersionStatus struct { // Current condition of the ClusterServiceVersion Phase ClusterServiceVersionPhase `json:"phase,omitempty"` // A human readable message indicating details about why the ClusterServiceVersion is in this condition. // +optional Message string `json:"message,omitempty"` // A brief CamelCase message indicating details about why the ClusterServiceVersion is in this state. // e.g. 'RequirementsNotMet' // +optional Reason ConditionReason `json:"reason,omitempty"` // Last time we updated the status // +optional LastUpdateTime *metav1.Time `json:"lastUpdateTime,omitempty"` // Last time the status transitioned from one status to another. // +optional LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty"` // List of conditions, a history of state transitions Conditions []ClusterServiceVersionCondition `json:"conditions,omitempty"` // The status of each requirement for this CSV RequirementStatus []RequirementStatus `json:"requirementStatus,omitempty"` // Last time the owned APIService certs were updated // +optional CertsLastUpdated *metav1.Time `json:"certsLastUpdated,omitempty"` // Time the owned APIService certs will rotate next // +optional CertsRotateAt *metav1.Time `json:"certsRotateAt,omitempty"` // CleanupStatus represents information about the status of cleanup while a CSV is pending deletion // +optional Cleanup CleanupStatus `json:"cleanup,omitempty"` }
ClusterServiceVersionStatus represents information about the status of a CSV. Status may trail the actual state of a system. +k8s:openapi-gen=true
func (*ClusterServiceVersionStatus) DeepCopy ¶
func (in *ClusterServiceVersionStatus) DeepCopy() *ClusterServiceVersionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterServiceVersionStatus.
func (*ClusterServiceVersionStatus) DeepCopyInto ¶
func (in *ClusterServiceVersionStatus) DeepCopyInto(out *ClusterServiceVersionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConditionReason ¶
type ConditionReason string
ConditionReason is a camelcased reason for the state transition
const ( // CatalogSourceSpecInvalidError denotes when fields on the spec of the CatalogSource are not valid. CatalogSourceSpecInvalidError ConditionReason = "SpecInvalidError" // CatalogSourceConfigMapError denotes when there is an issue extracting manifests from the specified ConfigMap. CatalogSourceConfigMapError ConditionReason = "ConfigMapError" // CatalogSourceRegistryServerError denotes when there is an issue querying the specified registry server. CatalogSourceRegistryServerError ConditionReason = "RegistryServerError" // CatalogSourceIntervalInvalidError denotes if the registry polling interval is invalid. CatalogSourceIntervalInvalidError ConditionReason = "InvalidIntervalError" )
const ( CSVReasonRequirementsUnknown ConditionReason = "RequirementsUnknown" CSVReasonRequirementsNotMet ConditionReason = "RequirementsNotMet" CSVReasonRequirementsMet ConditionReason = "AllRequirementsMet" CSVReasonOwnerConflict ConditionReason = "OwnerConflict" CSVReasonComponentFailed ConditionReason = "InstallComponentFailed" CSVReasonComponentFailedNoRetry ConditionReason = "InstallComponentFailedNoRetry" CSVReasonInvalidStrategy ConditionReason = "InvalidInstallStrategy" CSVReasonWaiting ConditionReason = "InstallWaiting" CSVReasonInstallSuccessful ConditionReason = "InstallSucceeded" CSVReasonInstallCheckFailed ConditionReason = "InstallCheckFailed" CSVReasonComponentUnhealthy ConditionReason = "ComponentUnhealthy" CSVReasonBeingReplaced ConditionReason = "BeingReplaced" CSVReasonReplaced ConditionReason = "Replaced" CSVReasonNeedsReinstall ConditionReason = "NeedsReinstall" CSVReasonNeedsCertRotation ConditionReason = "NeedsCertRotation" CSVReasonAPIServiceResourceIssue ConditionReason = "APIServiceResourceIssue" CSVReasonAPIServiceResourcesNeedReinstall ConditionReason = "APIServiceResourcesNeedReinstall" CSVReasonAPIServiceInstallFailed ConditionReason = "APIServiceInstallFailed" CSVReasonCopied ConditionReason = "Copied" CSVReasonInvalidInstallModes ConditionReason = "InvalidInstallModes" CSVReasonNoTargetNamespaces ConditionReason = "NoTargetNamespaces" CSVReasonUnsupportedOperatorGroup ConditionReason = "UnsupportedOperatorGroup" CSVReasonNoOperatorGroup ConditionReason = "NoOperatorGroup" CSVReasonTooManyOperatorGroups ConditionReason = "TooManyOperatorGroups" CSVReasonInterOperatorGroupOwnerConflict ConditionReason = "InterOperatorGroupOwnerConflict" CSVReasonCannotModifyStaticOperatorGroupProvidedAPIs ConditionReason = "CannotModifyStaticOperatorGroupProvidedAPIs" CSVReasonDetectedClusterChange ConditionReason = "DetectedClusterChange" CSVReasonInvalidWebhookDescription ConditionReason = "InvalidWebhookDescription" CSVReasonOperatorConditionNotUpgradeable ConditionReason = "OperatorConditionNotUpgradeable" CSVReasonWaitingForCleanupToComplete ConditionReason = "WaitingOnCleanup" )
const ( SubscriptionReasonInvalidCatalog ConditionReason = "InvalidCatalog" SubscriptionReasonUpgradeSucceeded ConditionReason = "UpgradeSucceeded" )
type ConfigMapResourceReference ¶
type ConfigMapResourceReference struct { Name string `json:"name"` Namespace string `json:"namespace"` UID types.UID `json:"uid,omitempty"` ResourceVersion string `json:"resourceVersion,omitempty"` LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"` }
func (*ConfigMapResourceReference) DeepCopy ¶
func (in *ConfigMapResourceReference) DeepCopy() *ConfigMapResourceReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigMapResourceReference.
func (*ConfigMapResourceReference) DeepCopyInto ¶
func (in *ConfigMapResourceReference) DeepCopyInto(out *ConfigMapResourceReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConfigMapResourceReference) IsAMatch ¶
func (r *ConfigMapResourceReference) IsAMatch(object *metav1.ObjectMeta) bool
type CustomResourceDefinitions ¶
type CustomResourceDefinitions struct { Owned []CRDDescription `json:"owned,omitempty"` Required []CRDDescription `json:"required,omitempty"` }
CustomResourceDefinitions declares all of the CRDs managed or required by an operator being ran by ClusterServiceVersion.
If the CRD is present in the Owned list, it is implicitly required. +k8s:openapi-gen=true
func (*CustomResourceDefinitions) DeepCopy ¶
func (in *CustomResourceDefinitions) DeepCopy() *CustomResourceDefinitions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinitions.
func (*CustomResourceDefinitions) DeepCopyInto ¶
func (in *CustomResourceDefinitions) DeepCopyInto(out *CustomResourceDefinitions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DependentStatus ¶
type DependentStatus struct { Group string `json:"group"` Version string `json:"version"` Kind string `json:"kind"` Status StatusReason `json:"status"` UUID string `json:"uuid,omitempty"` Message string `json:"message,omitempty"` }
DependentStatus is the status for a dependent requirement (to prevent infinite nesting) +k8s:openapi-gen=true
func (*DependentStatus) DeepCopy ¶
func (in *DependentStatus) DeepCopy() *DependentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DependentStatus.
func (*DependentStatus) DeepCopyInto ¶
func (in *DependentStatus) DeepCopyInto(out *DependentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExtractContentConfig ¶ added in v0.18.0
type ExtractContentConfig struct { // CacheDir is the directory storing the pre-calculated API cache. CacheDir string `json:"cacheDir"` // CatalogDir is the directory storing the file-based catalog contents. CatalogDir string `json:"catalogDir"` }
ExtractContentConfig configures context extraction from a file-based catalog index image.
func (*ExtractContentConfig) DeepCopy ¶ added in v0.18.0
func (in *ExtractContentConfig) DeepCopy() *ExtractContentConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExtractContentConfig.
func (*ExtractContentConfig) DeepCopyInto ¶ added in v0.18.0
func (in *ExtractContentConfig) DeepCopyInto(out *ExtractContentConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GRPCConnectionState ¶
type GRPCConnectionState struct { Address string `json:"address,omitempty"` LastObservedState string `json:"lastObservedState"` LastConnectTime metav1.Time `json:"lastConnect,omitempty"` }
func (*GRPCConnectionState) DeepCopy ¶
func (in *GRPCConnectionState) DeepCopy() *GRPCConnectionState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GRPCConnectionState.
func (*GRPCConnectionState) DeepCopyInto ¶
func (in *GRPCConnectionState) DeepCopyInto(out *GRPCConnectionState)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GrpcPodConfig ¶ added in v0.11.0
type GrpcPodConfig struct { // NodeSelector is a selector which must be true for the pod to fit on a node. // Selector which must match a node's labels for the pod to be scheduled on that node. // +optional NodeSelector map[string]string `json:"nodeSelector,omitempty"` // Tolerations are the catalog source's pod's tolerations. // +optional Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // Affinity is the catalog source's pod's affinity. // +optional Affinity *corev1.Affinity `json:"affinity,omitempty"` // If specified, indicates the pod's priority. // If not specified, the pod priority will be default or zero if there is no // default. // +optional PriorityClassName *string `json:"priorityClassName,omitempty"` // SecurityContextConfig can be one of `legacy` or `restricted`. The CatalogSource's pod is either injected with the // right pod.spec.securityContext and pod.spec.container[*].securityContext values to allow the pod to run in Pod // Security Admission (PSA) `restricted` mode, or doesn't set these values at all, in which case the pod can only be // run in PSA `baseline` or `privileged` namespaces. Currently if the SecurityContextConfig is unspecified, the default // value of `legacy` is used. Specifying a value other than `legacy` or `restricted` result in a validation error. // When using older catalog images, which could not be run in `restricted` mode, the SecurityContextConfig should be // set to `legacy`. // // In a future version will the default will be set to `restricted`, catalog maintainers should rebuild their catalogs // with a version of opm that supports running catalogSource pods in `restricted` mode to prepare for these changes. // // More information about PSA can be found here: https://kubernetes.io/docs/concepts/security/pod-security-admission/' // +optional // +kubebuilder:validation:Enum=legacy;restricted // +kubebuilder:default:=legacy SecurityContextConfig SecurityConfig `json:"securityContextConfig,omitempty"` // MemoryTarget configures the $GOMEMLIMIT value for the gRPC catalog Pod. This is a soft memory limit for the server, // which the runtime will attempt to meet but makes no guarantees that it will do so. If this value is set, the Pod // will have the following modifications made to the container running the server: // - the $GOMEMLIMIT environment variable will be set to this value in bytes // - the memory request will be set to this value // // This field should be set if it's desired to reduce the footprint of a catalog server as much as possible, or if // a catalog being served is very large and needs more than the default allocation. If your index image has a file- // system cache, determine a good approximation for this value by doubling the size of the package cache at // /tmp/cache/cache/packages.json in the index image. // // This field is best-effort; if unset, no default will be used and no Pod memory limit or $GOMEMLIMIT value will be set. // +optional MemoryTarget *resource.Quantity `json:"memoryTarget,omitempty"` // ExtractContent configures the gRPC catalog Pod to extract catalog metadata from the provided index image and // use a well-known version of the `opm` server to expose it. The catalog index image that this CatalogSource is // configured to use *must* be using the file-based catalogs in order to utilize this feature. // +optional ExtractContent *ExtractContentConfig `json:"extractContent,omitempty"` }
GrpcPodConfig contains configuration specified for a catalog source
func (*GrpcPodConfig) DeepCopy ¶ added in v0.11.0
func (in *GrpcPodConfig) DeepCopy() *GrpcPodConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GrpcPodConfig.
func (*GrpcPodConfig) DeepCopyInto ¶ added in v0.11.0
func (in *GrpcPodConfig) DeepCopyInto(out *GrpcPodConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Icon ¶
+k8s:openapi-gen=true
func (*Icon) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Icon.
func (*Icon) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstallMode ¶
type InstallMode struct { Type InstallModeType `json:"type"` Supported bool `json:"supported"` }
InstallMode associates an InstallModeType with a flag representing if the CSV supports it +k8s:openapi-gen=true
func (*InstallMode) DeepCopy ¶
func (in *InstallMode) DeepCopy() *InstallMode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstallMode.
func (*InstallMode) DeepCopyInto ¶
func (in *InstallMode) DeepCopyInto(out *InstallMode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstallModeSet ¶
type InstallModeSet map[InstallModeType]bool
InstallModeSet is a mapping of unique InstallModeTypes to whether they are supported.
func NewInstallModeSet ¶
func NewInstallModeSet(modes []InstallMode) (InstallModeSet, error)
NewInstallModeSet returns an InstallModeSet instantiated from the given list of InstallModes. If the given list is not a set, an error is returned.
func (InstallModeSet) DeepCopy ¶
func (in InstallModeSet) DeepCopy() InstallModeSet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstallModeSet.
func (InstallModeSet) DeepCopyInto ¶
func (in InstallModeSet) DeepCopyInto(out *InstallModeSet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstallModeType ¶
type InstallModeType string
InstallModeType is a supported type of install mode for CSV installation
const ( // InstallModeTypeOwnNamespace indicates that the operator can be a member of an `OperatorGroup` that selects its own namespace. InstallModeTypeOwnNamespace InstallModeType = "OwnNamespace" // InstallModeTypeSingleNamespace indicates that the operator can be a member of an `OperatorGroup` that selects one namespace. InstallModeTypeSingleNamespace InstallModeType = "SingleNamespace" // InstallModeTypeMultiNamespace indicates that the operator can be a member of an `OperatorGroup` that selects more than one namespace. InstallModeTypeMultiNamespace InstallModeType = "MultiNamespace" // InstallModeTypeAllNamespaces indicates that the operator can be a member of an `OperatorGroup` that selects all namespaces (target namespace set is the empty string ""). InstallModeTypeAllNamespaces InstallModeType = "AllNamespaces" )
type InstallPlan ¶
type InstallPlan struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec InstallPlanSpec `json:"spec"` // +optional Status InstallPlanStatus `json:"status"` }
InstallPlan defines the installation of a set of operators.
func (*InstallPlan) DeepCopy ¶
func (in *InstallPlan) DeepCopy() *InstallPlan
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstallPlan.
func (*InstallPlan) DeepCopyInto ¶
func (in *InstallPlan) DeepCopyInto(out *InstallPlan)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*InstallPlan) DeepCopyObject ¶
func (in *InstallPlan) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*InstallPlan) EnsureCatalogSource ¶
func (p *InstallPlan) EnsureCatalogSource(sourceName string)
EnsureCatalogSource ensures that a CatalogSource is present in the Status block of an InstallPlan.
type InstallPlanCondition ¶
type InstallPlanCondition struct { Type InstallPlanConditionType `json:"type,omitempty"` Status corev1.ConditionStatus `json:"status,omitempty"` // True, False, or Unknown LastUpdateTime *metav1.Time `json:"lastUpdateTime,omitempty"` LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty"` Reason InstallPlanConditionReason `json:"reason,omitempty"` Message string `json:"message,omitempty"` }
InstallPlanCondition represents the overall status of the execution of an InstallPlan.
func ConditionFailed ¶
func ConditionFailed(cond InstallPlanConditionType, reason InstallPlanConditionReason, message string, now *metav1.Time) InstallPlanCondition
func ConditionMet ¶
func ConditionMet(cond InstallPlanConditionType, now *metav1.Time) InstallPlanCondition
func (*InstallPlanCondition) DeepCopy ¶
func (in *InstallPlanCondition) DeepCopy() *InstallPlanCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstallPlanCondition.
func (*InstallPlanCondition) DeepCopyInto ¶
func (in *InstallPlanCondition) DeepCopyInto(out *InstallPlanCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstallPlanConditionReason ¶
type InstallPlanConditionReason string
ConditionReason is a camelcased reason for the state transition.
const ( InstallPlanReasonPlanUnknown InstallPlanConditionReason = "PlanUnknown" InstallPlanReasonInstallCheckFailed InstallPlanConditionReason = "InstallCheckFailed" InstallPlanReasonDependencyConflict InstallPlanConditionReason = "DependenciesConflict" InstallPlanReasonComponentFailed InstallPlanConditionReason = "InstallComponentFailed" )
type InstallPlanConditionType ¶
type InstallPlanConditionType string
InstallPlanConditionType describes the state of an InstallPlan at a certain point as a whole.
const ( InstallPlanResolved InstallPlanConditionType = "Resolved" InstallPlanInstalled InstallPlanConditionType = "Installed" )
type InstallPlanList ¶
type InstallPlanList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []InstallPlan `json:"items"` }
InstallPlanList is a list of InstallPlan resources.
func (*InstallPlanList) DeepCopy ¶
func (in *InstallPlanList) DeepCopy() *InstallPlanList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstallPlanList.
func (*InstallPlanList) DeepCopyInto ¶
func (in *InstallPlanList) DeepCopyInto(out *InstallPlanList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*InstallPlanList) DeepCopyObject ¶
func (in *InstallPlanList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type InstallPlanPhase ¶
type InstallPlanPhase string
InstallPlanPhase is the current status of a InstallPlan as a whole.
const ( InstallPlanPhaseNone InstallPlanPhase = "" InstallPlanPhasePlanning InstallPlanPhase = "Planning" InstallPlanPhaseRequiresApproval InstallPlanPhase = "RequiresApproval" InstallPlanPhaseInstalling InstallPlanPhase = "Installing" InstallPlanPhaseComplete InstallPlanPhase = "Complete" InstallPlanPhaseFailed InstallPlanPhase = "Failed" )
type InstallPlanReference ¶
type InstallPlanReference struct { APIVersion string `json:"apiVersion"` Kind string `json:"kind"` Name string `json:"name"` UID types.UID `json:"uuid"` }
func NewInstallPlanReference ¶
func NewInstallPlanReference(ref *corev1.ObjectReference) *InstallPlanReference
NewInstallPlanReference returns an InstallPlanReference for the given ObjectReference.
func (*InstallPlanReference) DeepCopy ¶
func (in *InstallPlanReference) DeepCopy() *InstallPlanReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstallPlanReference.
func (*InstallPlanReference) DeepCopyInto ¶
func (in *InstallPlanReference) DeepCopyInto(out *InstallPlanReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstallPlanSpec ¶
type InstallPlanSpec struct { CatalogSource string `json:"source,omitempty"` CatalogSourceNamespace string `json:"sourceNamespace,omitempty"` ClusterServiceVersionNames []string `json:"clusterServiceVersionNames"` Approval Approval `json:"approval"` Approved bool `json:"approved"` Generation int `json:"generation,omitempty"` }
InstallPlanSpec defines a set of Application resources to be installed
func (*InstallPlanSpec) DeepCopy ¶
func (in *InstallPlanSpec) DeepCopy() *InstallPlanSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstallPlanSpec.
func (*InstallPlanSpec) DeepCopyInto ¶
func (in *InstallPlanSpec) DeepCopyInto(out *InstallPlanSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstallPlanStatus ¶
type InstallPlanStatus struct { Phase InstallPlanPhase `json:"phase"` Conditions []InstallPlanCondition `json:"conditions,omitempty"` CatalogSources []string `json:"catalogSources"` Plan []*Step `json:"plan,omitempty"` // BundleLookups is the set of in-progress requests to pull and unpackage bundle content to the cluster. // +optional BundleLookups []BundleLookup `json:"bundleLookups,omitempty"` // AttenuatedServiceAccountRef references the service account that is used // to do scoped operator install. AttenuatedServiceAccountRef *corev1.ObjectReference `json:"attenuatedServiceAccountRef,omitempty"` // StartTime is the time when the controller began applying // the resources listed in the plan to the cluster. // +optional StartTime *metav1.Time `json:"startTime,omitempty"` // Message is a human-readable message containing detailed // information that may be important to understanding why the // plan has its current status. // +optional Message string `json:"message,omitempty"` }
InstallPlanStatus represents the information about the status of steps required to complete installation.
Status may trail the actual state of a system.
func (*InstallPlanStatus) DeepCopy ¶
func (in *InstallPlanStatus) DeepCopy() *InstallPlanStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstallPlanStatus.
func (*InstallPlanStatus) DeepCopyInto ¶
func (in *InstallPlanStatus) DeepCopyInto(out *InstallPlanStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (InstallPlanStatus) GetCondition ¶
func (s InstallPlanStatus) GetCondition(conditionType InstallPlanConditionType) InstallPlanCondition
GetCondition returns the InstallPlanCondition of the given type if it exists in the InstallPlanStatus' Conditions. Returns a condition of the given type with a ConditionStatus of "Unknown" if not found.
func (InstallPlanStatus) NeedsRequeue ¶
func (s InstallPlanStatus) NeedsRequeue() bool
func (*InstallPlanStatus) SetCondition ¶
func (s *InstallPlanStatus) SetCondition(cond InstallPlanCondition) InstallPlanCondition
SetCondition adds or updates a condition, using `Type` as merge key.
type Maintainer ¶
type Maintainer struct { Name string `json:"name,omitempty"` Email string `json:"email,omitempty"` }
+k8s:openapi-gen=true
func (*Maintainer) DeepCopy ¶
func (in *Maintainer) DeepCopy() *Maintainer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Maintainer.
func (*Maintainer) DeepCopyInto ¶
func (in *Maintainer) DeepCopyInto(out *Maintainer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NamedInstallStrategy ¶
type NamedInstallStrategy struct { StrategyName string `json:"strategy"` StrategySpec StrategyDetailsDeployment `json:"spec,omitempty"` }
NamedInstallStrategy represents the block of an ClusterServiceVersion resource where the install strategy is specified. +k8s:openapi-gen=true
func (*NamedInstallStrategy) DeepCopy ¶
func (in *NamedInstallStrategy) DeepCopy() *NamedInstallStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamedInstallStrategy.
func (*NamedInstallStrategy) DeepCopyInto ¶
func (in *NamedInstallStrategy) DeepCopyInto(out *NamedInstallStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RegistryPoll ¶
type RegistryPoll struct { // Interval is used to determine the time interval between checks of the latest catalog source version. // The catalog operator polls to see if a new version of the catalog source is available. // If available, the latest image is pulled and gRPC traffic is directed to the latest catalog source. RawInterval string `json:"interval,omitempty"` Interval *metav1.Duration `json:"-"` ParsingError string `json:"-"` }
func (*RegistryPoll) DeepCopy ¶
func (in *RegistryPoll) DeepCopy() *RegistryPoll
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryPoll.
func (*RegistryPoll) DeepCopyInto ¶
func (in *RegistryPoll) DeepCopyInto(out *RegistryPoll)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RegistryServiceStatus ¶
type RegistryServiceStatus struct { Protocol string `json:"protocol,omitempty"` ServiceName string `json:"serviceName,omitempty"` ServiceNamespace string `json:"serviceNamespace,omitempty"` Port string `json:"port,omitempty"` CreatedAt metav1.Time `json:"createdAt,omitempty"` }
func (*RegistryServiceStatus) Address ¶
func (s *RegistryServiceStatus) Address() string
func (*RegistryServiceStatus) DeepCopy ¶
func (in *RegistryServiceStatus) DeepCopy() *RegistryServiceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryServiceStatus.
func (*RegistryServiceStatus) DeepCopyInto ¶
func (in *RegistryServiceStatus) DeepCopyInto(out *RegistryServiceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RelatedImage ¶ added in v0.7.1
+k8s:openapi-gen=true
func (*RelatedImage) DeepCopy ¶ added in v0.7.1
func (in *RelatedImage) DeepCopy() *RelatedImage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RelatedImage.
func (*RelatedImage) DeepCopyInto ¶ added in v0.7.1
func (in *RelatedImage) DeepCopyInto(out *RelatedImage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RequirementStatus ¶
type RequirementStatus struct { Group string `json:"group"` Version string `json:"version"` Kind string `json:"kind"` Name string `json:"name"` Status StatusReason `json:"status"` Message string `json:"message"` UUID string `json:"uuid,omitempty"` Dependents []DependentStatus `json:"dependents,omitempty"` }
+k8s:openapi-gen=true
func (*RequirementStatus) DeepCopy ¶
func (in *RequirementStatus) DeepCopy() *RequirementStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequirementStatus.
func (*RequirementStatus) DeepCopyInto ¶
func (in *RequirementStatus) DeepCopyInto(out *RequirementStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceInstance ¶ added in v0.7.0
type ResourceInstance struct { Name string `json:"name"` // Namespace can be empty for cluster-scoped resources Namespace string `json:"namespace,omitempty"` }
+k8s:openapi-gen=true
func (*ResourceInstance) DeepCopy ¶ added in v0.7.1
func (in *ResourceInstance) DeepCopy() *ResourceInstance
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceInstance.
func (*ResourceInstance) DeepCopyInto ¶ added in v0.7.1
func (in *ResourceInstance) DeepCopyInto(out *ResourceInstance)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceList ¶ added in v0.7.0
type ResourceList struct { Group string `json:"group"` Kind string `json:"kind"` Instances []ResourceInstance `json:"instances"` }
ResourceList represents a list of resources which are of the same Group/Kind +k8s:openapi-gen=true
func (*ResourceList) DeepCopy ¶ added in v0.7.1
func (in *ResourceList) DeepCopy() *ResourceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceList.
func (*ResourceList) DeepCopyInto ¶ added in v0.7.1
func (in *ResourceList) DeepCopyInto(out *ResourceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecurityConfig ¶ added in v0.17.1
type SecurityConfig string
const ( Legacy SecurityConfig = "legacy" Restricted SecurityConfig = "restricted" )
type SourceType ¶
type SourceType string
SourceType indicates the type of backing store for a CatalogSource
const ( // SourceTypeInternal (deprecated) specifies a CatalogSource of type SourceTypeConfigmap SourceTypeInternal SourceType = "internal" // SourceTypeConfigmap specifies a CatalogSource that generates a configmap-server registry SourceTypeConfigmap SourceType = "configmap" // SourceTypeGrpc specifies a CatalogSource that can use an operator registry image to generate a // registry-server or connect to a pre-existing registry at an address. SourceTypeGrpc SourceType = "grpc" )
type SpecDescriptor ¶
type SpecDescriptor struct { Path string `json:"path"` DisplayName string `json:"displayName,omitempty"` Description string `json:"description,omitempty"` XDescriptors []string `json:"x-descriptors,omitempty"` Value json.RawMessage `json:"value,omitempty"` }
SpecDescriptor describes a field in a spec block of a CRD so that OLM can consume it +k8s:openapi-gen=true
func (*SpecDescriptor) DeepCopy ¶
func (in *SpecDescriptor) DeepCopy() *SpecDescriptor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpecDescriptor.
func (*SpecDescriptor) DeepCopyInto ¶
func (in *SpecDescriptor) DeepCopyInto(out *SpecDescriptor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StatusDescriptor ¶
type StatusDescriptor struct { Path string `json:"path"` DisplayName string `json:"displayName,omitempty"` Description string `json:"description,omitempty"` XDescriptors []string `json:"x-descriptors,omitempty"` Value json.RawMessage `json:"value,omitempty"` }
StatusDescriptor describes a field in a status block of a CRD so that OLM can consume it +k8s:openapi-gen=true
func (*StatusDescriptor) DeepCopy ¶
func (in *StatusDescriptor) DeepCopy() *StatusDescriptor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusDescriptor.
func (*StatusDescriptor) DeepCopyInto ¶
func (in *StatusDescriptor) DeepCopyInto(out *StatusDescriptor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StatusReason ¶
type StatusReason string
StatusReason is a camelcased reason for the status of a RequirementStatus or DependentStatus
const ( RequirementStatusReasonPresent StatusReason = "Present" RequirementStatusReasonNotPresent StatusReason = "NotPresent" RequirementStatusReasonPresentNotSatisfied StatusReason = "PresentNotSatisfied" // The CRD is present but the Established condition is False (not available) RequirementStatusReasonNotAvailable StatusReason = "PresentNotAvailable" DependentStatusReasonSatisfied StatusReason = "Satisfied" DependentStatusReasonNotSatisfied StatusReason = "NotSatisfied" )
type Step ¶
type Step struct { Resolving string `json:"resolving"` Resource StepResource `json:"resource"` Optional bool `json:"optional,omitempty"` Status StepStatus `json:"status"` }
Step represents the status of an individual step in an InstallPlan.
func OrderSteps ¶
func (*Step) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Step.
func (*Step) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StepResource ¶
type StepResource struct { CatalogSource string `json:"sourceName"` CatalogSourceNamespace string `json:"sourceNamespace"` Group string `json:"group"` Version string `json:"version"` Kind string `json:"kind"` Name string `json:"name"` Manifest string `json:"manifest,omitempty"` }
StepResource represents the status of a resource to be tracked by an InstallPlan.
func (*StepResource) DeepCopy ¶
func (in *StepResource) DeepCopy() *StepResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepResource.
func (*StepResource) DeepCopyInto ¶
func (in *StepResource) DeepCopyInto(out *StepResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (StepResource) String ¶
func (r StepResource) String() string
type StepStatus ¶
type StepStatus string
StepStatus is the current status of a particular resource an in InstallPlan
const ( StepStatusUnknown StepStatus = "Unknown" StepStatusNotPresent StepStatus = "NotPresent" StepStatusPresent StepStatus = "Present" StepStatusCreated StepStatus = "Created" StepStatusNotCreated StepStatus = "NotCreated" StepStatusWaitingForAPI StepStatus = "WaitingForApi" StepStatusUnsupportedResource StepStatus = "UnsupportedResource" )
type StrategyDeploymentPermissions ¶
type StrategyDeploymentPermissions struct { ServiceAccountName string `json:"serviceAccountName"` Rules []rbac.PolicyRule `json:"rules"` }
StrategyDeploymentPermissions describe the rbac rules and service account needed by the install strategy +k8s:openapi-gen=true
func (*StrategyDeploymentPermissions) DeepCopy ¶
func (in *StrategyDeploymentPermissions) DeepCopy() *StrategyDeploymentPermissions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StrategyDeploymentPermissions.
func (*StrategyDeploymentPermissions) DeepCopyInto ¶
func (in *StrategyDeploymentPermissions) DeepCopyInto(out *StrategyDeploymentPermissions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StrategyDeploymentSpec ¶
type StrategyDeploymentSpec struct { Name string `json:"name"` Spec appsv1.DeploymentSpec `json:"spec"` Label labels.Set `json:"label,omitempty"` }
StrategyDeploymentSpec contains the name, spec and labels for the deployment ALM should create +k8s:openapi-gen=true
func (*StrategyDeploymentSpec) DeepCopy ¶
func (in *StrategyDeploymentSpec) DeepCopy() *StrategyDeploymentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StrategyDeploymentSpec.
func (*StrategyDeploymentSpec) DeepCopyInto ¶
func (in *StrategyDeploymentSpec) DeepCopyInto(out *StrategyDeploymentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StrategyDetailsDeployment ¶
type StrategyDetailsDeployment struct { DeploymentSpecs []StrategyDeploymentSpec `json:"deployments"` Permissions []StrategyDeploymentPermissions `json:"permissions,omitempty"` ClusterPermissions []StrategyDeploymentPermissions `json:"clusterPermissions,omitempty"` }
StrategyDetailsDeployment represents the parsed details of a Deployment InstallStrategy. +k8s:openapi-gen=true
func (*StrategyDetailsDeployment) DeepCopy ¶
func (in *StrategyDetailsDeployment) DeepCopy() *StrategyDetailsDeployment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StrategyDetailsDeployment.
func (*StrategyDetailsDeployment) DeepCopyInto ¶
func (in *StrategyDetailsDeployment) DeepCopyInto(out *StrategyDetailsDeployment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StrategyDetailsDeployment) GetStrategyName ¶
func (d *StrategyDetailsDeployment) GetStrategyName() string
type Subscription ¶
type Subscription struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec *SubscriptionSpec `json:"spec"` // +optional Status SubscriptionStatus `json:"status"` }
Subscription keeps operators up to date by tracking changes to Catalogs.
func (*Subscription) DeepCopy ¶
func (in *Subscription) DeepCopy() *Subscription
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Subscription.
func (*Subscription) DeepCopyInto ¶
func (in *Subscription) DeepCopyInto(out *Subscription)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Subscription) DeepCopyObject ¶
func (in *Subscription) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Subscription) GetInstallPlanApproval ¶
func (s *Subscription) GetInstallPlanApproval() Approval
GetInstallPlanApproval gets the configured install plan approval or the default
type SubscriptionCatalogHealth ¶
type SubscriptionCatalogHealth struct { // CatalogSourceRef is a reference to a CatalogSource. CatalogSourceRef *corev1.ObjectReference `json:"catalogSourceRef"` // LastUpdated represents the last time that the CatalogSourceHealth changed LastUpdated *metav1.Time `json:"lastUpdated"` // Healthy is true if the CatalogSource is healthy; false otherwise. Healthy bool `json:"healthy"` }
SubscriptionCatalogHealth describes the health of a CatalogSource the Subscription knows about.
func (*SubscriptionCatalogHealth) DeepCopy ¶
func (in *SubscriptionCatalogHealth) DeepCopy() *SubscriptionCatalogHealth
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionCatalogHealth.
func (*SubscriptionCatalogHealth) DeepCopyInto ¶
func (in *SubscriptionCatalogHealth) DeepCopyInto(out *SubscriptionCatalogHealth)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (SubscriptionCatalogHealth) Equals ¶
func (s SubscriptionCatalogHealth) Equals(health SubscriptionCatalogHealth) bool
Equals returns true if a SubscriptionCatalogHealth equals the one given, false otherwise. Equality is based SOLEY on health and UID.
type SubscriptionCondition ¶
type SubscriptionCondition struct { // Type is the type of Subscription condition. Type SubscriptionConditionType `json:"type" description:"type of Subscription condition"` // Status is the status of the condition, one of True, False, Unknown. Status corev1.ConditionStatus `json:"status" description:"status of the condition, one of True, False, Unknown"` // Reason is a one-word CamelCase reason for the condition's last transition. // +optional Reason string `json:"reason,omitempty" description:"one-word CamelCase reason for the condition's last transition"` // Message is a human-readable message indicating details about last transition. // +optional Message string `json:"message,omitempty" description:"human-readable message indicating details about last transition"` // LastHeartbeatTime is the last time we got an update on a given condition // +optional LastHeartbeatTime *metav1.Time `json:"lastHeartbeatTime,omitempty" description:"last time we got an update on a given condition"` // LastTransitionTime is the last time the condition transit from one status to another // +optional LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty" description:"last time the condition transit from one status to another" hash:"ignore"` }
SubscriptionCondition represents the latest available observations of a Subscription's state.
func (*SubscriptionCondition) DeepCopy ¶
func (in *SubscriptionCondition) DeepCopy() *SubscriptionCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionCondition.
func (*SubscriptionCondition) DeepCopyInto ¶
func (in *SubscriptionCondition) DeepCopyInto(out *SubscriptionCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (SubscriptionCondition) Equals ¶
func (s SubscriptionCondition) Equals(condition SubscriptionCondition) bool
Equals returns true if a SubscriptionCondition equals the one given, false otherwise. Equality is determined by the equality of the type, status, reason, and message fields ONLY.
type SubscriptionConditionType ¶
type SubscriptionConditionType string
SubscriptionConditionType indicates an explicit state condition about a Subscription in "abnormal-true" polarity form (see https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties).
const ( // SubscriptionCatalogSourcesUnhealthy indicates that some or all of the CatalogSources to be used in resolution are unhealthy. SubscriptionCatalogSourcesUnhealthy SubscriptionConditionType = "CatalogSourcesUnhealthy" // SubscriptionInstallPlanMissing indicates that a Subscription's InstallPlan is missing. SubscriptionInstallPlanMissing SubscriptionConditionType = "InstallPlanMissing" // SubscriptionInstallPlanPending indicates that a Subscription's InstallPlan is pending installation. SubscriptionInstallPlanPending SubscriptionConditionType = "InstallPlanPending" // SubscriptionInstallPlanFailed indicates that the installation of a Subscription's InstallPlan has failed. SubscriptionInstallPlanFailed SubscriptionConditionType = "InstallPlanFailed" // SubscriptionResolutionFailed indicates that the dependency resolution in the namespace in which the subscription is created has failed SubscriptionResolutionFailed SubscriptionConditionType = "ResolutionFailed" // SubscriptionBundleUnpacking indicates that the unpack job is currently running SubscriptionBundleUnpacking SubscriptionConditionType = "BundleUnpacking" // SubscriptionBundleUnpackFailed indicates that the unpack job failed SubscriptionBundleUnpackFailed SubscriptionConditionType = "BundleUnpackFailed" )
type SubscriptionConfig ¶
type SubscriptionConfig struct { // Selector is the label selector for pods to be configured. // Existing ReplicaSets whose pods are // selected by this will be the ones affected by this deployment. // It must match the pod template's labels. Selector *metav1.LabelSelector `json:"selector,omitempty"` // NodeSelector is a selector which must be true for the pod to fit on a node. // Selector which must match a node's labels for the pod to be scheduled on that node. // More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ // +optional NodeSelector map[string]string `json:"nodeSelector,omitempty"` // Tolerations are the pod's tolerations. // +optional Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // Resources represents compute resources required by this container. // Immutable. // More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ // +optional Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // EnvFrom is a list of sources to populate environment variables in the container. // The keys defined within a source must be a C_IDENTIFIER. All invalid keys // will be reported as an event when the container is starting. When a key exists in multiple // sources, the value associated with the last source will take precedence. // Values defined by an Env with a duplicate key will take precedence. // Immutable. // +optional EnvFrom []corev1.EnvFromSource `json:"envFrom,omitempty"` // Env is a list of environment variables to set in the container. // Cannot be updated. // +patchMergeKey=name // +patchStrategy=merge // +optional Env []corev1.EnvVar `json:"env,omitempty" patchMergeKey:"name" patchStrategy:"merge"` // List of Volumes to set in the podSpec. // +optional Volumes []corev1.Volume `json:"volumes,omitempty"` // List of VolumeMounts to set in the container. // +optional VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"` // If specified, overrides the pod's scheduling constraints. // nil sub-attributes will *not* override the original values in the pod.spec for those sub-attributes. // Use empty object ({}) to erase original sub-attribute values. // +optional Affinity *corev1.Affinity `json:"affinity,omitempty" protobuf:"bytes,18,opt,name=affinity"` }
SubscriptionConfig contains configuration specified for a subscription.
func (*SubscriptionConfig) DeepCopy ¶
func (in *SubscriptionConfig) DeepCopy() *SubscriptionConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionConfig.
func (*SubscriptionConfig) DeepCopyInto ¶
func (in *SubscriptionConfig) DeepCopyInto(out *SubscriptionConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SubscriptionList ¶
type SubscriptionList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []Subscription `json:"items"` }
SubscriptionList is a list of Subscription resources.
func (*SubscriptionList) DeepCopy ¶
func (in *SubscriptionList) DeepCopy() *SubscriptionList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionList.
func (*SubscriptionList) DeepCopyInto ¶
func (in *SubscriptionList) DeepCopyInto(out *SubscriptionList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SubscriptionList) DeepCopyObject ¶
func (in *SubscriptionList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SubscriptionSpec ¶
type SubscriptionSpec struct { CatalogSource string `json:"source"` CatalogSourceNamespace string `json:"sourceNamespace"` Package string `json:"name"` Channel string `json:"channel,omitempty"` StartingCSV string `json:"startingCSV,omitempty"` InstallPlanApproval Approval `json:"installPlanApproval,omitempty"` Config *SubscriptionConfig `json:"config,omitempty"` }
SubscriptionSpec defines an Application that can be installed
func (*SubscriptionSpec) DeepCopy ¶
func (in *SubscriptionSpec) DeepCopy() *SubscriptionSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionSpec.
func (*SubscriptionSpec) DeepCopyInto ¶
func (in *SubscriptionSpec) DeepCopyInto(out *SubscriptionSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SubscriptionState ¶
type SubscriptionState string
SubscriptionState tracks when updates are available, installing, or service is up to date
type SubscriptionStatus ¶
type SubscriptionStatus struct { // CurrentCSV is the CSV the Subscription is progressing to. // +optional CurrentCSV string `json:"currentCSV,omitempty"` // InstalledCSV is the CSV currently installed by the Subscription. // +optional InstalledCSV string `json:"installedCSV,omitempty"` // Install is a reference to the latest InstallPlan generated for the Subscription. // DEPRECATED: InstallPlanRef // +optional Install *InstallPlanReference `json:"installplan,omitempty"` // State represents the current state of the Subscription // +optional State SubscriptionState `json:"state,omitempty"` // Reason is the reason the Subscription was transitioned to its current state. // +optional Reason ConditionReason `json:"reason,omitempty"` // InstallPlanGeneration is the current generation of the installplan // +optional InstallPlanGeneration int `json:"installPlanGeneration,omitempty"` // InstallPlanRef is a reference to the latest InstallPlan that contains the Subscription's current CSV. // +optional InstallPlanRef *corev1.ObjectReference `json:"installPlanRef,omitempty"` // CatalogHealth contains the Subscription's view of its relevant CatalogSources' status. // It is used to determine SubscriptionStatusConditions related to CatalogSources. // +optional CatalogHealth []SubscriptionCatalogHealth `json:"catalogHealth,omitempty"` // Conditions is a list of the latest available observations about a Subscription's current state. // +optional Conditions []SubscriptionCondition `json:"conditions,omitempty" hash:"set"` // LastUpdated represents the last time that the Subscription status was updated. LastUpdated metav1.Time `json:"lastUpdated"` }
func (*SubscriptionStatus) DeepCopy ¶
func (in *SubscriptionStatus) DeepCopy() *SubscriptionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionStatus.
func (*SubscriptionStatus) DeepCopyInto ¶
func (in *SubscriptionStatus) DeepCopyInto(out *SubscriptionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (SubscriptionStatus) GetCondition ¶
func (s SubscriptionStatus) GetCondition(conditionType SubscriptionConditionType) SubscriptionCondition
GetCondition returns the SubscriptionCondition of the given type if it exists in the SubscriptionStatus' Conditions. Returns a condition of the given type with a ConditionStatus of "Unknown" if not found.
func (*SubscriptionStatus) RemoveConditions ¶
func (s *SubscriptionStatus) RemoveConditions(remove ...SubscriptionConditionType)
RemoveConditions removes any conditions of the given types from the SubscriptionStatus' Conditions.
func (*SubscriptionStatus) SetCondition ¶
func (s *SubscriptionStatus) SetCondition(condition SubscriptionCondition)
SetCondition sets the given SubscriptionCondition in the SubscriptionStatus' Conditions.
type UpdateStrategy ¶
type UpdateStrategy struct {
*RegistryPoll `json:"registryPoll,omitempty"`
}
UpdateStrategy holds all the different types of catalog source update strategies Currently only registry polling strategy is implemented
func (*UpdateStrategy) DeepCopy ¶
func (in *UpdateStrategy) DeepCopy() *UpdateStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpdateStrategy.
func (*UpdateStrategy) DeepCopyInto ¶
func (in *UpdateStrategy) DeepCopyInto(out *UpdateStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*UpdateStrategy) UnmarshalJSON ¶ added in v0.14.0
func (u *UpdateStrategy) UnmarshalJSON(data []byte) (err error)
UnmarshalJSON implements the encoding/json.Unmarshaler interface.
type WebhookAdmissionType ¶
type WebhookAdmissionType string
WebhookAdmissionType is the type of admission webhooks supported by OLM
const ( // ValidatingAdmissionWebhook is for validating admission webhooks ValidatingAdmissionWebhook WebhookAdmissionType = "ValidatingAdmissionWebhook" // MutatingAdmissionWebhook is for mutating admission webhooks MutatingAdmissionWebhook WebhookAdmissionType = "MutatingAdmissionWebhook" // ConversionWebhook is for conversion webhooks ConversionWebhook WebhookAdmissionType = "ConversionWebhook" )
type WebhookDescription ¶
type WebhookDescription struct { GenerateName string `json:"generateName"` // +kubebuilder:validation:Enum=ValidatingAdmissionWebhook;MutatingAdmissionWebhook;ConversionWebhook Type WebhookAdmissionType `json:"type"` DeploymentName string `json:"deploymentName,omitempty"` // +kubebuilder:validation:Maximum=65535 // +kubebuilder:validation:Minimum=1 // +kubebuilder:default=443 ContainerPort int32 `json:"containerPort,omitempty"` TargetPort *intstr.IntOrString `json:"targetPort,omitempty"` Rules []admissionregistrationv1.RuleWithOperations `json:"rules,omitempty"` FailurePolicy *admissionregistrationv1.FailurePolicyType `json:"failurePolicy,omitempty"` MatchPolicy *admissionregistrationv1.MatchPolicyType `json:"matchPolicy,omitempty"` ObjectSelector *metav1.LabelSelector `json:"objectSelector,omitempty"` SideEffects *admissionregistrationv1.SideEffectClass `json:"sideEffects"` TimeoutSeconds *int32 `json:"timeoutSeconds,omitempty"` AdmissionReviewVersions []string `json:"admissionReviewVersions"` ReinvocationPolicy *admissionregistrationv1.ReinvocationPolicyType `json:"reinvocationPolicy,omitempty"` WebhookPath *string `json:"webhookPath,omitempty"` ConversionCRDs []string `json:"conversionCRDs,omitempty"` }
WebhookDescription provides details to OLM about required webhooks +k8s:openapi-gen=true
func (*WebhookDescription) DeepCopy ¶
func (in *WebhookDescription) DeepCopy() *WebhookDescription
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookDescription.
func (*WebhookDescription) DeepCopyInto ¶
func (in *WebhookDescription) DeepCopyInto(out *WebhookDescription)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WebhookDescription) DomainName ¶
func (w *WebhookDescription) DomainName() string
DomainName returns the result of replacing all periods in the given Webhook name with hyphens
func (*WebhookDescription) GetMutatingWebhook ¶
func (w *WebhookDescription) GetMutatingWebhook(namespace string, namespaceSelector *metav1.LabelSelector, caBundle []byte) admissionregistrationv1.MutatingWebhook
GetMutatingWebhook returns a MutatingWebhook generated from the WebhookDescription
func (*WebhookDescription) GetValidatingWebhook ¶
func (w *WebhookDescription) GetValidatingWebhook(namespace string, namespaceSelector *metav1.LabelSelector, caBundle []byte) admissionregistrationv1.ValidatingWebhook
GetValidatingWebhook returns a ValidatingWebhook generated from the WebhookDescription