Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the v1alpha1 version of the manifests API group, containing file-based manifests for the packaging infrastructure. +kubebuilder:object:generate=true +groupName=manifests.package-operator.run
Index ¶
- Constants
- Variables
- type PackageEnvironment
- type PackageEnvironmentHyperShift
- type PackageEnvironmentHyperShiftHostedCluster
- type PackageEnvironmentKubernetes
- type PackageEnvironmentManagedOpenShift
- type PackageEnvironmentOpenShift
- type PackageEnvironmentProxy
- type PackageManifest
- type PackageManifestComponentsConfig
- type PackageManifestConstraint
- type PackageManifestDependency
- type PackageManifestDependencyImage
- type PackageManifestFilter
- type PackageManifestImage
- type PackageManifestLock
- type PackageManifestLockDependency
- type PackageManifestLockImage
- type PackageManifestLockSpec
- type PackageManifestNamedCondition
- type PackageManifestPath
- type PackageManifestPhase
- type PackageManifestPlatformVersionConstraint
- type PackageManifestRepository
- type PackageManifestScope
- type PackageManifestSpec
- type PackageManifestSpecConfig
- type PackageManifestTest
- type PackageManifestTestCaseTemplate
- type PackageManifestTestKubeconform
- type PackageManifestUniqueInScopeConstraint
- type PlatformName
- type Repository
- type RepositoryEntry
- type RepositoryEntryData
- type TemplateContext
- type TemplateContextObjectMeta
- type TemplateContextPackage
Constants ¶
const ( // PackagePhaseAnnotation annotation to assign objects to a phase. PackagePhaseAnnotation = "package-operator.run/phase" // PackageConditionMapAnnotation specifies object conditions to map back // into Package Operator APIs. // Example: Available => my-own-prefix/Available. PackageConditionMapAnnotation = "package-operator.run/condition-map" // PackageCELConditionAnnotation contains a CEL expression // evaluating to a boolean value which determines whether the object is created. PackageCELConditionAnnotation = "package-operator.run/condition" // PackageCollisionProtectionAnnotation prevents Package Operator from working // on objects already under management by a different operator. PackageCollisionProtectionAnnotation = "package-operator.run/collision-protection" )
const ( // PackageLabel contains the name of the Package from the PackageManifest. PackageLabel = "package-operator.run/package" // PackageSourceImageAnnotation references the package container image originating this object. PackageSourceImageAnnotation = "package-operator.run/package-source-image" // PackageConfigAnnotation contains the configuration for this object. PackageConfigAnnotation = "package-operator.run/package-config" // PackageInstanceLabel contains the name of the Package instance. PackageInstanceLabel = "package-operator.run/instance" )
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "manifests.package-operator.run", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder runtime.SchemeBuilder // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type PackageEnvironment ¶ added in v1.7.0
type PackageEnvironment struct { // Kubernetes environment information. This section is always set. Kubernetes PackageEnvironmentKubernetes `json:"kubernetes"` // OpenShift environment information. This section is only set when OpenShift is detected. OpenShift *PackageEnvironmentOpenShift `json:"openShift,omitempty"` // Proxy configuration. Only available on OpenShift when the cluster-wide Proxy is enabled. // https://docs.openshift.com/container-platform/latest/networking/enable-cluster-wide-proxy.html Proxy *PackageEnvironmentProxy `json:"proxy,omitempty"` // HyperShift specific information. Only available when installed alongside HyperShift. // https://github.com/openshift/hypershift HyperShift *PackageEnvironmentHyperShift `json:"hyperShift,omitempty"` }
PackageEnvironment information.
func (*PackageEnvironment) DeepCopy ¶ added in v1.7.0
func (in *PackageEnvironment) DeepCopy() *PackageEnvironment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageEnvironment.
func (*PackageEnvironment) DeepCopyInto ¶ added in v1.7.0
func (in *PackageEnvironment) DeepCopyInto(out *PackageEnvironment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageEnvironmentHyperShift ¶ added in v1.9.4
type PackageEnvironmentHyperShift struct { // Contains HyperShift HostedCluster specific information. // This information is only available when installed alongside HyperShift within a HostedCluster Namespace. // https://github.com/openshift/hypershift // +example={hostedClusterNamespace: clusters-banana, metadata: {name: banana, namespace: clusters}} HostedCluster *PackageEnvironmentHyperShiftHostedCluster `json:"hostedCluster"` }
PackageEnvironmentHyperShift contains HyperShift specific information. Only available when installed alongside HyperShift. https://github.com/openshift/hypershift
func (*PackageEnvironmentHyperShift) DeepCopy ¶ added in v1.9.4
func (in *PackageEnvironmentHyperShift) DeepCopy() *PackageEnvironmentHyperShift
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageEnvironmentHyperShift.
func (*PackageEnvironmentHyperShift) DeepCopyInto ¶ added in v1.9.4
func (in *PackageEnvironmentHyperShift) DeepCopyInto(out *PackageEnvironmentHyperShift)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageEnvironmentHyperShiftHostedCluster ¶ added in v1.9.4
type PackageEnvironmentHyperShiftHostedCluster struct { TemplateContextObjectMeta `json:"metadata"` // Namespace of HostedCluster components belonging to this HostedCluster object. HostedClusterNamespace string `json:"hostedClusterNamespace"` }
PackageEnvironmentHyperShiftHostedCluster contains HyperShift HostedCluster specific information. This information is only available when installed alongside HyperShift within a HostedCluster Namespace. https://github.com/openshift/hypershift
func (*PackageEnvironmentHyperShiftHostedCluster) DeepCopy ¶ added in v1.9.4
func (in *PackageEnvironmentHyperShiftHostedCluster) DeepCopy() *PackageEnvironmentHyperShiftHostedCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageEnvironmentHyperShiftHostedCluster.
func (*PackageEnvironmentHyperShiftHostedCluster) DeepCopyInto ¶ added in v1.9.4
func (in *PackageEnvironmentHyperShiftHostedCluster) DeepCopyInto(out *PackageEnvironmentHyperShiftHostedCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageEnvironmentKubernetes ¶ added in v1.7.0
type PackageEnvironmentKubernetes struct { // Kubernetes server version. // +example=v1.29.5 Version string `json:"version"` }
PackageEnvironmentKubernetes configures kubernetes environments.
func (*PackageEnvironmentKubernetes) DeepCopy ¶ added in v1.7.0
func (in *PackageEnvironmentKubernetes) DeepCopy() *PackageEnvironmentKubernetes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageEnvironmentKubernetes.
func (*PackageEnvironmentKubernetes) DeepCopyInto ¶ added in v1.7.0
func (in *PackageEnvironmentKubernetes) DeepCopyInto(out *PackageEnvironmentKubernetes)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageEnvironmentManagedOpenShift ¶ added in v1.12.0
type PackageEnvironmentManagedOpenShift struct { // Data key-value pairs describing details of the Managed OpenShift environment. // +example={test: test} Data map[string]string `json:"data"` }
PackageEnvironmentManagedOpenShift describes managed OpenShift environments.
func (*PackageEnvironmentManagedOpenShift) DeepCopy ¶ added in v1.12.0
func (in *PackageEnvironmentManagedOpenShift) DeepCopy() *PackageEnvironmentManagedOpenShift
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageEnvironmentManagedOpenShift.
func (*PackageEnvironmentManagedOpenShift) DeepCopyInto ¶ added in v1.12.0
func (in *PackageEnvironmentManagedOpenShift) DeepCopyInto(out *PackageEnvironmentManagedOpenShift)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageEnvironmentOpenShift ¶ added in v1.7.0
type PackageEnvironmentOpenShift struct { // OpenShift server version. // +example=v4.13.2 Version string `json:"version"` // ManagedOpenShift environment information. This section is only set when a managed OpenShift cluster is detected. // This includes Red Hat OpenShift Dedicated, Red Hat OpenShift Service on AWS (ROSA) and // Azure Red Hat OpenShift (ARO) and their Hosted Control Plane variants. Managed *PackageEnvironmentManagedOpenShift `json:"managed,omitempty"` }
PackageEnvironmentOpenShift configures openshift environments.
func (*PackageEnvironmentOpenShift) DeepCopy ¶ added in v1.7.0
func (in *PackageEnvironmentOpenShift) DeepCopy() *PackageEnvironmentOpenShift
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageEnvironmentOpenShift.
func (*PackageEnvironmentOpenShift) DeepCopyInto ¶ added in v1.7.0
func (in *PackageEnvironmentOpenShift) DeepCopyInto(out *PackageEnvironmentOpenShift)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageEnvironmentProxy ¶ added in v1.7.0
type PackageEnvironmentProxy struct { // HTTP_PROXY // +example=http://proxy_server_address:port HTTPProxy string `json:"httpProxy,omitempty"` // HTTPS_PROXY // +example=https://proxy_server_address:port HTTPSProxy string `json:"httpsProxy,omitempty"` // NO_PROXY // +example=".example.com,.local,localhost" NoProxy string `json:"noProxy,omitempty"` }
PackageEnvironmentProxy configures proxy environments. On OpenShift, this config is taken from the cluster Proxy object. https://docs.openshift.com/container-platform/4.13/networking/enable-cluster-wide-proxy.html
func (*PackageEnvironmentProxy) DeepCopy ¶ added in v1.7.0
func (in *PackageEnvironmentProxy) DeepCopy() *PackageEnvironmentProxy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageEnvironmentProxy.
func (*PackageEnvironmentProxy) DeepCopyInto ¶ added in v1.7.0
func (in *PackageEnvironmentProxy) DeepCopyInto(out *PackageEnvironmentProxy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageManifest ¶
type PackageManifest struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PackageManifestSpec `json:"spec,omitempty"` Test PackageManifestTest `json:"test,omitempty"` }
PackageManifest defines the manifest of a package. +kubebuilder:object:root=true
func (*PackageManifest) DeepCopy ¶
func (in *PackageManifest) DeepCopy() *PackageManifest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageManifest.
func (*PackageManifest) DeepCopyInto ¶
func (in *PackageManifest) DeepCopyInto(out *PackageManifest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PackageManifest) DeepCopyObject ¶
func (in *PackageManifest) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PackageManifestComponentsConfig ¶ added in v1.9.1
type PackageManifestComponentsConfig struct{}
PackageManifestComponentsConfig configures components of a package.
func (*PackageManifestComponentsConfig) DeepCopy ¶ added in v1.9.1
func (in *PackageManifestComponentsConfig) DeepCopy() *PackageManifestComponentsConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageManifestComponentsConfig.
func (*PackageManifestComponentsConfig) DeepCopyInto ¶ added in v1.9.1
func (in *PackageManifestComponentsConfig) DeepCopyInto(out *PackageManifestComponentsConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageManifestConstraint ¶ added in v1.14.0
type PackageManifestConstraint struct { // PackageManifestPlatformVersionConstraint enforces that the platform matches the given version range. // This constraint is ignored when running on a different platform. // e.g. a PlatformVersionConstraint OpenShift>=4.13.x is ignored when installed on a plain Kubernetes cluster. // Use the Platform constraint to enforce running on a specific platform. PlatformVersion *PackageManifestPlatformVersionConstraint `json:"platformVersion,omitempty"` // Valid platforms that support this package. // +example=[Kubernetes] Platform []PlatformName `json:"platform,omitempty"` // Constraints this package to be only installed once in the Cluster or once in the same Namespace. UniqueInScope *PackageManifestUniqueInScopeConstraint `json:"uniqueInScope,omitempty"` }
PackageManifestConstraint configures environment constraints to block package installation.
func (*PackageManifestConstraint) DeepCopy ¶ added in v1.14.0
func (in *PackageManifestConstraint) DeepCopy() *PackageManifestConstraint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageManifestConstraint.
func (*PackageManifestConstraint) DeepCopyInto ¶ added in v1.14.0
func (in *PackageManifestConstraint) DeepCopyInto(out *PackageManifestConstraint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageManifestDependency ¶ added in v1.14.0
type PackageManifestDependency struct { // Resolves the dependency as a image url and digest and commits it to the PackageManifestLock. Image *PackageManifestDependencyImage `json:"image,omitempty"` }
PackageManifestDependency uses a solver to find the latest version package image.
func (*PackageManifestDependency) DeepCopy ¶ added in v1.14.0
func (in *PackageManifestDependency) DeepCopy() *PackageManifestDependency
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageManifestDependency.
func (*PackageManifestDependency) DeepCopyInto ¶ added in v1.14.0
func (in *PackageManifestDependency) DeepCopyInto(out *PackageManifestDependency)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageManifestDependencyImage ¶ added in v1.14.0
type PackageManifestDependencyImage struct { // Name for the dependency. // +example=my-pkg Name string `json:"name"` // Package FQDN <package-name>.<repository name> // +example=my-pkg.my-repo Package string `json:"package"` // Semantic Versioning 2.0.0 version range. // +example=>=2.1 Range string `json:"range"` }
PackageManifestDependencyImage represents a dependency image found by the solver.
func (*PackageManifestDependencyImage) DeepCopy ¶ added in v1.14.0
func (in *PackageManifestDependencyImage) DeepCopy() *PackageManifestDependencyImage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageManifestDependencyImage.
func (*PackageManifestDependencyImage) DeepCopyInto ¶ added in v1.14.0
func (in *PackageManifestDependencyImage) DeepCopyInto(out *PackageManifestDependencyImage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageManifestFilter ¶ added in v1.12.0
type PackageManifestFilter struct { // Reusable CEL expressions. Can be used in 'package-operator.run/condition' annotations. // They are evaluated once per package. // +optional Conditions []PackageManifestNamedCondition `json:"conditions,omitempty"` // Adds CEL conditions to file system paths matching a glob pattern. // If a single condition matching a file system object's path evaluates to false, // the object is ignored. Paths []PackageManifestPath `json:"paths,omitempty"` }
PackageManifestFilter is used to conditionally render objects based on CEL expressions.
func (*PackageManifestFilter) DeepCopy ¶ added in v1.12.0
func (in *PackageManifestFilter) DeepCopy() *PackageManifestFilter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageManifestFilter.
func (*PackageManifestFilter) DeepCopyInto ¶ added in v1.12.0
func (in *PackageManifestFilter) DeepCopyInto(out *PackageManifestFilter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageManifestImage ¶ added in v1.3.0
type PackageManifestImage struct { // Image name to be use to reference it in the templates // +example=test-stub Name string `json:"name"` // Image identifier (REPOSITORY[:TAG]) // +example=quay.io/package-operator/test-stub:v1.11.0 Image string `json:"image"` }
PackageManifestImage specifies an image tag to be resolved.
func (*PackageManifestImage) DeepCopy ¶ added in v1.3.0
func (in *PackageManifestImage) DeepCopy() *PackageManifestImage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageManifestImage.
func (*PackageManifestImage) DeepCopyInto ¶ added in v1.3.0
func (in *PackageManifestImage) DeepCopyInto(out *PackageManifestImage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageManifestLock ¶ added in v1.3.0
type PackageManifestLock struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PackageManifestLockSpec `json:"spec,omitempty"` }
PackageManifestLock allows locking packages to specific versions. +kubebuilder:object:root=true
func (*PackageManifestLock) DeepCopy ¶ added in v1.3.0
func (in *PackageManifestLock) DeepCopy() *PackageManifestLock
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageManifestLock.
func (*PackageManifestLock) DeepCopyInto ¶ added in v1.3.0
func (in *PackageManifestLock) DeepCopyInto(out *PackageManifestLock)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PackageManifestLock) DeepCopyObject ¶ added in v1.3.0
func (in *PackageManifestLock) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PackageManifestLockDependency ¶ added in v1.14.0
type PackageManifestLockDependency struct { // Image name to be use to reference it in the templates // +example=my-pkg Name string `json:"name"` // Image identifier (REPOSITORY[:TAG]) // +example=quay.io/package-operator/remote-phase-package Image string `json:"image"` // Image digest // +example=sha256:00e48c32b3cdcf9e2c66467f2beb0ef33b43b54e2b56415db4ee431512c406ea Digest string `json:"digest"` // Version of the dependency that has been chosen. // +example=v1.12.3 Version string `json:"version"` }
PackageManifestLockDependency defines a dependency of this package.
func (*PackageManifestLockDependency) DeepCopy ¶ added in v1.14.0
func (in *PackageManifestLockDependency) DeepCopy() *PackageManifestLockDependency
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageManifestLockDependency.
func (*PackageManifestLockDependency) DeepCopyInto ¶ added in v1.14.0
func (in *PackageManifestLockDependency) DeepCopyInto(out *PackageManifestLockDependency)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageManifestLockImage ¶ added in v1.3.0
type PackageManifestLockImage struct { // Image name to be use to reference it in the templates // +example=my-pkg Name string `json:"name"` // Image identifier (REPOSITORY[:TAG]) // +example=quay.io/package-operator/remote-phase-package Image string `json:"image"` // Image digest // +example=sha256:00e48c32b3cdcf9e2c66467f2beb0ef33b43b54e2b56415db4ee431512c406ea Digest string `json:"digest"` }
PackageManifestLockImage contains information about a resolved image.
func (*PackageManifestLockImage) DeepCopy ¶ added in v1.3.0
func (in *PackageManifestLockImage) DeepCopy() *PackageManifestLockImage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageManifestLockImage.
func (*PackageManifestLockImage) DeepCopyInto ¶ added in v1.3.0
func (in *PackageManifestLockImage) DeepCopyInto(out *PackageManifestLockImage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageManifestLockSpec ¶ added in v1.3.0
type PackageManifestLockSpec struct { // List of resolved images Images []PackageManifestLockImage `json:"images"` // List of resolved dependency images. Dependencies []PackageManifestLockDependency `json:"dependencies,omitempty"` }
PackageManifestLockSpec defines a set of packages that are locked to a specific version.
func (*PackageManifestLockSpec) DeepCopy ¶ added in v1.3.0
func (in *PackageManifestLockSpec) DeepCopy() *PackageManifestLockSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageManifestLockSpec.
func (*PackageManifestLockSpec) DeepCopyInto ¶ added in v1.3.0
func (in *PackageManifestLockSpec) DeepCopyInto(out *PackageManifestLockSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageManifestNamedCondition ¶ added in v1.11.0
type PackageManifestNamedCondition struct { // A unique name. Must match the CEL identifier pattern: [_a-zA-Z][_a-zA-Z0-9]* // +example=isOpenShift Name string `json:"name"` // A CEL expression with a boolean output type. // Has access to the full template context. // +example=has(environment.openShift) Expression string `json:"expression"` }
PackageManifestNamedCondition is a reusable named CEL expression. It is injected as a variable into the CEL evaluation environment, and its value is set to the result of Expression ("true"/"false").
func (*PackageManifestNamedCondition) DeepCopy ¶ added in v1.11.0
func (in *PackageManifestNamedCondition) DeepCopy() *PackageManifestNamedCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageManifestNamedCondition.
func (*PackageManifestNamedCondition) DeepCopyInto ¶ added in v1.11.0
func (in *PackageManifestNamedCondition) DeepCopyInto(out *PackageManifestNamedCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageManifestPath ¶ added in v1.12.0
type PackageManifestPath struct { // A file system path glob pattern. // Syntax: https://pkg.go.dev/github.com/bmatcuk/doublestar@v1.3.4#Match // +example=openshift/v4.15/** Glob string `json:"glob"` // A CEL expression with a boolean output type. // Has access to the full template context and named conditions. // +example=cond.isOpenShift && environment.openShift.version.startsWith('4.15') Expression string `json:"expression"` }
PackageManifestPath is used to conditionally render package objects based on their path.
func (*PackageManifestPath) DeepCopy ¶ added in v1.12.0
func (in *PackageManifestPath) DeepCopy() *PackageManifestPath
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageManifestPath.
func (*PackageManifestPath) DeepCopyInto ¶ added in v1.12.0
func (in *PackageManifestPath) DeepCopyInto(out *PackageManifestPath)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageManifestPhase ¶
type PackageManifestPhase struct { // Name of the reconcile phase. Must be unique within a PackageManifest // +example=deploy Name string `json:"name"` // If non empty, phase reconciliation is delegated to another controller. // If set to the string "default" the built-in controller reconciling the object. // If set to any other string, an out-of-tree controller needs to be present to handle ObjectSetPhase objects. // +example=hosted-cluster Class string `json:"class,omitempty"` }
PackageManifestPhase defines a package phase.
func (*PackageManifestPhase) DeepCopy ¶
func (in *PackageManifestPhase) DeepCopy() *PackageManifestPhase
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageManifestPhase.
func (*PackageManifestPhase) DeepCopyInto ¶
func (in *PackageManifestPhase) DeepCopyInto(out *PackageManifestPhase)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageManifestPlatformVersionConstraint ¶ added in v1.14.0
type PackageManifestPlatformVersionConstraint struct { // Name of the platform this constraint should apply to. // +example=Kubernetes Name PlatformName `json:"name"` // Semantic Versioning 2.0.0 version range. // +example=>=1.20.x Range string `json:"range"` }
PackageManifestPlatformVersionConstraint enforces that the platform matches the given version range. This constraint is ignored when running on a different platform. e.g. a PlatformVersionConstraint OpenShift>=4.13.x is ignored when installed on a plain Kubernetes cluster. Use the Platform constraint to enforce running on a specific platform.
func (*PackageManifestPlatformVersionConstraint) DeepCopy ¶ added in v1.14.0
func (in *PackageManifestPlatformVersionConstraint) DeepCopy() *PackageManifestPlatformVersionConstraint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageManifestPlatformVersionConstraint.
func (*PackageManifestPlatformVersionConstraint) DeepCopyInto ¶ added in v1.14.0
func (in *PackageManifestPlatformVersionConstraint) DeepCopyInto(out *PackageManifestPlatformVersionConstraint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageManifestRepository ¶ added in v1.14.0
type PackageManifestRepository struct { // References a file in the filesystem to load. // +example=../myrepo.yaml File string `json:"file,omitempty"` // References an image in a container image registry. // +example=quay.io/package-operator/my-repo:latest Image string `json:"image,omitempty"` }
PackageManifestRepository contains information about one package repository which could be loaded either from a local file or from a container image.
func (*PackageManifestRepository) DeepCopy ¶ added in v1.14.0
func (in *PackageManifestRepository) DeepCopy() *PackageManifestRepository
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageManifestRepository.
func (*PackageManifestRepository) DeepCopyInto ¶ added in v1.14.0
func (in *PackageManifestRepository) DeepCopyInto(out *PackageManifestRepository)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageManifestScope ¶
type PackageManifestScope string
PackageManifestScope declares the available scopes to install this package in.
const ( // PackageManifestScopeCluster scope allows the package to be installed for the whole cluster. // The package needs to default installation namespaces and create them. PackageManifestScopeCluster PackageManifestScope = "Cluster" // PackageManifestScopeNamespaced scope allows the package to be installed for specific namespaces. PackageManifestScopeNamespaced PackageManifestScope = "Namespaced" )
type PackageManifestSpec ¶
type PackageManifestSpec struct { // Scopes declare the available installation scopes for the package. // Either Cluster, Namespaced, or both. // +example=['Cluster','Namespaced'] Scopes []PackageManifestScope `json:"scopes"` // Phases correspond to the references to the phases which are going to be the // part of the ObjectDeployment/ClusterObjectDeployment. Phases []PackageManifestPhase `json:"phases"` // Availability Probes check objects that are part of the package. // All probes need to succeed for a package to be considered Available. // Failing probes will prevent the reconciliation of objects in later phases. // +optional // +example=[] AvailabilityProbes []corev1alpha1.ObjectSetProbe `json:"availabilityProbes,omitempty"` // Configuration specification. Config PackageManifestSpecConfig `json:"config,omitempty"` // List of images to be resolved Images []PackageManifestImage `json:"images"` // Configuration for multi-component packages. If this field is not set it is assumed // that the containing package is a single-component package. // +optional // +example={} Components *PackageManifestComponentsConfig `json:"components,omitempty"` // Used to filter objects and files based on CEL expressions. // +optional Filters PackageManifestFilter `json:"filter,omitempty"` // Constraints limit what environments a package can be installed into. // e.g. can only be installed on OpenShift. // +optional Constraints []PackageManifestConstraint `json:"constraints,omitempty"` // Repository references that are used to validate constraints and resolve dependencies. Repositories []PackageManifestRepository `json:"repositories,omitempty"` // Dependency references to resolve and use within this package. Dependencies []PackageManifestDependency `json:"dependencies,omitempty"` }
PackageManifestSpec represents the spec of the packagemanifest containing the details about phases and availability probes.
func (*PackageManifestSpec) DeepCopy ¶
func (in *PackageManifestSpec) DeepCopy() *PackageManifestSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageManifestSpec.
func (*PackageManifestSpec) DeepCopyInto ¶
func (in *PackageManifestSpec) DeepCopyInto(out *PackageManifestSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageManifestSpecConfig ¶ added in v1.3.0
type PackageManifestSpecConfig struct { // OpenAPIV3Schema is the OpenAPI v3 schema to use for validation and pruning. // +example={type: object,properties: {testProp: {type: string}}} OpenAPIV3Schema *apiextensionsv1.JSONSchemaProps `json:"openAPIV3Schema,omitempty"` }
PackageManifestSpecConfig configutes a package manifest.
func (*PackageManifestSpecConfig) DeepCopy ¶ added in v1.3.0
func (in *PackageManifestSpecConfig) DeepCopy() *PackageManifestSpecConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageManifestSpecConfig.
func (*PackageManifestSpecConfig) DeepCopyInto ¶ added in v1.3.0
func (in *PackageManifestSpecConfig) DeepCopyInto(out *PackageManifestSpecConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageManifestTest ¶ added in v1.1.0
type PackageManifestTest struct { // Template testing configuration. Template []PackageManifestTestCaseTemplate `json:"template,omitempty"` Kubeconform *PackageManifestTestKubeconform `json:"kubeconform,omitempty"` }
PackageManifestTest configures test cases.
func (*PackageManifestTest) DeepCopy ¶ added in v1.1.0
func (in *PackageManifestTest) DeepCopy() *PackageManifestTest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageManifestTest.
func (*PackageManifestTest) DeepCopyInto ¶ added in v1.1.0
func (in *PackageManifestTest) DeepCopyInto(out *PackageManifestTest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageManifestTestCaseTemplate ¶ added in v1.1.0
type PackageManifestTestCaseTemplate struct { // Name describing the test case. Name string `json:"name"` // Template data to use in the test case. Context TemplateContext `json:"context,omitempty"` }
PackageManifestTestCaseTemplate template testing configuration.
func (*PackageManifestTestCaseTemplate) DeepCopy ¶ added in v1.1.0
func (in *PackageManifestTestCaseTemplate) DeepCopy() *PackageManifestTestCaseTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageManifestTestCaseTemplate.
func (*PackageManifestTestCaseTemplate) DeepCopyInto ¶ added in v1.1.0
func (in *PackageManifestTestCaseTemplate) DeepCopyInto(out *PackageManifestTestCaseTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageManifestTestKubeconform ¶ added in v1.9.2
type PackageManifestTestKubeconform struct { // Kubernetes version to use schemas from. // +example=v1.29.5 KubernetesVersion string `json:"kubernetesVersion"` //nolint:lll // OpenAPI schema locations for kubeconform // defaults to: // - https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/{{ .NormalizedKubernetesVersion }}-standalone{{ .StrictSuffix }}/{{ .ResourceKind }}{{ .KindSuffix }}.json // - https://raw.githubusercontent.com/datreeio/CRDs-catalog/main/{{.Group}}/{{.ResourceKind}}_{{.ResourceAPIVersion}}.json // +example=['https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/{{.NormalizedKubernetesVersion}}-standalone{{.StrictSuffix}}/{{.ResourceKind}}{{.KindSuffix}}.json'] SchemaLocations []string `json:"schemaLocations,omitempty"` }
PackageManifestTestKubeconform configures kubeconform testing.
func (*PackageManifestTestKubeconform) DeepCopy ¶ added in v1.9.2
func (in *PackageManifestTestKubeconform) DeepCopy() *PackageManifestTestKubeconform
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageManifestTestKubeconform.
func (*PackageManifestTestKubeconform) DeepCopyInto ¶ added in v1.9.2
func (in *PackageManifestTestKubeconform) DeepCopyInto(out *PackageManifestTestKubeconform)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PackageManifestUniqueInScopeConstraint ¶ added in v1.14.0
type PackageManifestUniqueInScopeConstraint struct{}
PackageManifestUniqueInScopeConstraint constraints this package to be only installed once in the Cluster or once in the same Namespace.
func (*PackageManifestUniqueInScopeConstraint) DeepCopy ¶ added in v1.14.0
func (in *PackageManifestUniqueInScopeConstraint) DeepCopy() *PackageManifestUniqueInScopeConstraint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PackageManifestUniqueInScopeConstraint.
func (*PackageManifestUniqueInScopeConstraint) DeepCopyInto ¶ added in v1.14.0
func (in *PackageManifestUniqueInScopeConstraint) DeepCopyInto(out *PackageManifestUniqueInScopeConstraint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PlatformName ¶ added in v1.14.0
type PlatformName string
PlatformName holds the name of a specific platform flavor name. e.g. Kubernetes, OpenShift.
const ( // Kubernetes platform. Kubernetes PlatformName = "Kubernetes" // OpenShift platform by Red Hat. OpenShift PlatformName = "OpenShift" )
type Repository ¶ added in v1.14.0
type Repository struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` }
Repository is the k8s resource that represents a package repository. +kubebuilder:object:root=true
func (*Repository) DeepCopy ¶ added in v1.14.0
func (in *Repository) DeepCopy() *Repository
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Repository.
func (*Repository) DeepCopyInto ¶ added in v1.14.0
func (in *Repository) DeepCopyInto(out *Repository)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Repository) DeepCopyObject ¶ added in v1.14.0
func (in *Repository) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RepositoryEntry ¶ added in v1.14.0
type RepositoryEntry struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Data RepositoryEntryData `json:"data"` }
RepositoryEntry contains metadata on one image belonging to the repository. +kubebuilder:object:root=true
func (*RepositoryEntry) DeepCopy ¶ added in v1.14.0
func (in *RepositoryEntry) DeepCopy() *RepositoryEntry
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryEntry.
func (*RepositoryEntry) DeepCopyInto ¶ added in v1.14.0
func (in *RepositoryEntry) DeepCopyInto(out *RepositoryEntry)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RepositoryEntry) DeepCopyObject ¶ added in v1.14.0
func (in *RepositoryEntry) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RepositoryEntryData ¶ added in v1.14.0
type RepositoryEntryData struct { // OCI host/repository and name. // e.g. quay.io/xxx/xxx Image string `json:"image"` // Image digest uniquely identifying this image. Digest string `json:"digest"` // Semver V2 versions that are assigned to the package. Versions []string `json:"versions"` // Constraints of the package. Constraints []PackageManifestConstraint `json:"constraints,omitempty"` // Name of the package. Name string `json:"name,omitempty"` }
RepositoryEntryData is the part of RepositoryEntry containing the actual data.
func (*RepositoryEntryData) DeepCopy ¶ added in v1.14.0
func (in *RepositoryEntryData) DeepCopy() *RepositoryEntryData
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepositoryEntryData.
func (*RepositoryEntryData) DeepCopyInto ¶ added in v1.14.0
func (in *RepositoryEntryData) DeepCopyInto(out *RepositoryEntryData)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TemplateContext ¶ added in v1.1.0
type TemplateContext struct { // Package object. // +example={image: quay.io/package-operator/test-stub-package:v1.11.0, metadata: {name: test}} Package TemplateContextPackage `json:"package"` // Configuration as presented via the (Cluster)Package API after admission. // +example={testProp: Hans} Config *runtime.RawExtension `json:"config,omitempty"` // Environment specific information. Environment PackageEnvironment `json:"environment"` }
TemplateContext is available within the package templating process.
func (*TemplateContext) DeepCopy ¶ added in v1.1.0
func (in *TemplateContext) DeepCopy() *TemplateContext
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateContext.
func (*TemplateContext) DeepCopyInto ¶ added in v1.1.0
func (in *TemplateContext) DeepCopyInto(out *TemplateContext)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TemplateContextObjectMeta ¶ added in v1.1.0
type TemplateContextObjectMeta struct { Name string `json:"name"` Namespace string `json:"namespace"` Labels map[string]string `json:"labels"` Annotations map[string]string `json:"annotations"` }
TemplateContextObjectMeta represents a simplified version of metav1.ObjectMeta for use in templates.
func (*TemplateContextObjectMeta) DeepCopy ¶ added in v1.1.0
func (in *TemplateContextObjectMeta) DeepCopy() *TemplateContextObjectMeta
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateContextObjectMeta.
func (*TemplateContextObjectMeta) DeepCopyInto ¶ added in v1.1.0
func (in *TemplateContextObjectMeta) DeepCopyInto(out *TemplateContextObjectMeta)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TemplateContextPackage ¶ added in v1.1.0
type TemplateContextPackage struct { TemplateContextObjectMeta `json:"metadata"` // Image as presented via the (Cluster)Package API after admission. Image string `json:"image"` }
TemplateContextPackage represents the (Cluster)Package object requesting this package content.
func (*TemplateContextPackage) DeepCopy ¶ added in v1.1.0
func (in *TemplateContextPackage) DeepCopy() *TemplateContextPackage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TemplateContextPackage.
func (*TemplateContextPackage) DeepCopyInto ¶ added in v1.1.0
func (in *TemplateContextPackage) DeepCopyInto(out *TemplateContextPackage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.