Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the addons v1alpha1 API group +kubebuilder:object:generate=true +groupName=addonsflow.redhat.openshift.io
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "addonsflow.redhat.openshift.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type AddonImageSet ¶ added in v0.3.0
type AddonImageSet struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec AddonImageSetSpec `json:"spec,omitempty"` Status AddonImageSetStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:subresource:status AddonImageSet is the Schema for the addonimagesets API
func (*AddonImageSet) DeepCopy ¶ added in v0.3.0
func (in *AddonImageSet) DeepCopy() *AddonImageSet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonImageSet.
func (*AddonImageSet) DeepCopyInto ¶ added in v0.3.0
func (in *AddonImageSet) DeepCopyInto(out *AddonImageSet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AddonImageSet) DeepCopyObject ¶ added in v0.3.0
func (in *AddonImageSet) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*AddonImageSet) ToJSON ¶ added in v0.10.0
func (a *AddonImageSet) ToJSON() ([]byte, error)
ToJSON - marshal ojbect as JSON
type AddonImageSetList ¶ added in v0.3.0
type AddonImageSetList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []AddonImageSet `json:"items"` }
+kubebuilder:object:root=true AddonImageSetList contains a list of AddonImageSet
func (*AddonImageSetList) DeepCopy ¶ added in v0.3.0
func (in *AddonImageSetList) DeepCopy() *AddonImageSetList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonImageSetList.
func (*AddonImageSetList) DeepCopyInto ¶ added in v0.3.0
func (in *AddonImageSetList) DeepCopyInto(out *AddonImageSetList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AddonImageSetList) DeepCopyObject ¶ added in v0.3.0
func (in *AddonImageSetList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AddonImageSetSpec ¶ added in v0.3.0
type AddonImageSetSpec struct { // +kubebuilder:validation:Required // The name of the imageset along with the version. Name string `json:"name" validate:"required"` // +kubebuilder:validation:Required // +kubebuilder:validation:Pattern=`^quay\.io/osd-addons/[a-z-]+` // The url for the index image IndexImage string `json:"indexImage" validate:"required"` // +kubebuilder:validation:Required // A list of image urls of related operators RelatedImages []string `json:"relatedImages" validate:"required"` // +optional // OCM representation of an add-on parameter AddOnParameters *[]ocmv1.AddOnParameter `json:"addOnParameters"` // +optional // OCM representation of an addon-requirement AddOnRequirements *[]ocmv1.AddOnRequirement `json:"addOnRequirements"` // +optional // OCM representation of an add-on sub operator. A sub operator is an // operator who's life cycle is controlled by the add-on umbrella operator. SubOperators *[]ocmv1.AddOnSubOperator `json:"subOperators"` // +optional // Configs to be passed to the subscription OLM object. SubscriptionConfig *mtsrev1.SubscriptionConfig `json:"subscriptionConfig"` }
AddonImageSetSpec defines the desired state of AddonImageSet
func (*AddonImageSetSpec) DeepCopy ¶ added in v0.3.0
func (in *AddonImageSetSpec) DeepCopy() *AddonImageSetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonImageSetSpec.
func (*AddonImageSetSpec) DeepCopyInto ¶ added in v0.3.0
func (in *AddonImageSetSpec) DeepCopyInto(out *AddonImageSetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AddonImageSetSpec) FromYAML ¶ added in v0.3.0
func (a *AddonImageSetSpec) FromYAML(data []byte) error
FromYAML - instantiates an AddonImageSetSpec struct from yaml data
func (*AddonImageSetSpec) GetSemver ¶ added in v0.6.0
func (a *AddonImageSetSpec) GetSemver() (string, error)
GetSemver - Returns the semver version matching "MAJOR.MINOR.PATCH".
type AddonImageSetStatus ¶ added in v0.3.0
type AddonImageSetStatus struct { }
AddonImageSetStatus defines the observed state of AddonImageSet
func (*AddonImageSetStatus) DeepCopy ¶ added in v0.3.0
func (in *AddonImageSetStatus) DeepCopy() *AddonImageSetStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonImageSetStatus.
func (*AddonImageSetStatus) DeepCopyInto ¶ added in v0.3.0
func (in *AddonImageSetStatus) DeepCopyInto(out *AddonImageSetStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AddonMetadata ¶
type AddonMetadata struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec AddonMetadataSpec `json:"spec,omitempty" validate:"required"` Status AddonMetadataStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:subresource:status AddonMetadata is the Schema for the AddonMetadata API
func (*AddonMetadata) DeepCopy ¶
func (in *AddonMetadata) DeepCopy() *AddonMetadata
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonMetadata.
func (*AddonMetadata) DeepCopyInto ¶
func (in *AddonMetadata) DeepCopyInto(out *AddonMetadata)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AddonMetadata) DeepCopyObject ¶
func (in *AddonMetadata) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*AddonMetadata) ToJSON ¶ added in v0.10.0
func (a *AddonMetadata) ToJSON() ([]byte, error)
ToJSON - marshal AddonMetadata to JSON
type AddonMetadataList ¶
type AddonMetadataList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []AddonMetadata `json:"items"` }
+kubebuilder:object:root=true AddonMetadataList contains a list of AddonMetadata
func (*AddonMetadataList) DeepCopy ¶
func (in *AddonMetadataList) DeepCopy() *AddonMetadataList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonMetadataList.
func (*AddonMetadataList) DeepCopyInto ¶
func (in *AddonMetadataList) DeepCopyInto(out *AddonMetadataList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AddonMetadataList) DeepCopyObject ¶
func (in *AddonMetadataList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AddonMetadataSpec ¶
type AddonMetadataSpec struct { // +kubebuilder:validation:Required // +kubebuilder:validation:Pattern=`^[A-Za-z0-9][A-Za-z0-9-]{0,30}[A-Za-z0-9]$` // Unique ID of the addon ID string `json:"id" validate:"required"` // +kubebuilder:validation:Required // +kubebuilder:validation:Pattern=`^[0-9A-Z\[\]][A-Za-z0-9-_ ()\[\]]+$` // Friendly name for the addon, displayed in the UI Name string `json:"name" validate:"required"` // +kubebuilder:validation:Required // Short description for the addon Description string `json:"description" validate:"required"` // +optional // +kubebuilder:validation:Pattern=`^http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+$` // Link to the addon documentation Link string `json:"link"` // +kubebuilder:validation:Required // Icon to be shown in UI. Should be around 200px and base64 encoded. Icon string `json:"icon" validate:"required"` // +kubebuilder:validation:Required // +kubebuilder:validation:Pattern=`^api\.openshift\.com/addon-[0-9a-z][0-9a-z-]{0,30}[0-9a-z]$` // Kubernetes label for the addon. Needs to match: 'api.openshift.com/<addon-id>'. Label string `json:"label" validate:"required"` // +kubebuilder:validation:Required // Set to true to allow installation of the addon. Enabled bool `json:"enabled" validate:"required"` // +kubebuilder:validation:Required // +kubebuilder:validation:Pattern=`^([A-Za-z -]+ <[0-9A-Za-z_.-]+@redhat\.com>,?)+$` // Team or individual responsible for this addon. Needs to match: 'some name <some-email@redhat.com>'. AddonOwner string `json:"addonOwner" validate:"required"` // +kubebuilder:validation:Required // +kubebuilder:validation:Pattern=`^quay\.io/osd-addons/[a-z-]+$` // Quay repository for the addon operator. Needs to match: 'quay.io/osd-addons/<my-addon-repo>'. QuayRepo string `json:"quayRepo" validate:"required"` // +kubebuilder:validation:Required // +kubebuilder:validation:Pattern=`^quay\.io/[0-9A-Za-z._-]+/[0-9A-Za-z._-]+(:[A-Za-z0-9._-]+)?$` // Quay repository for the testHarness image. Needs to match: 'quay.io/<my-repo>/<my-test-harness>:<my-tag>'. TestHarness string `json:"testHarness" validate:"required"` // +kubebuilder:validation:Required // +kubebuilder:validation:Enum={AllNamespaces,OwnNamespace} // OLM InstallMode for the addon operator. One of: AllNamespaces or OwnNamespace. InstallMode string `json:"installMode" validate:"required"` // +kubebuilder:validation:Required // +kubebuilder:validation:Pattern=`^[A-Za-z0-9][A-Za-z0-9-]{0,60}[A-Za-z0-9]$` // Namespace where the addon operator should be installed. TargetNamespace string `json:"targetNamespace" validate:"required"` // +kubebuilder:validation:Required // Namespaces managed by the addon-operator. Need to include the TargetNamespace. Namespaces []string `json:"namespaces" validate:"required"` // +kubebuilder:validation:Required // +kubebuilder:validation:Pattern=`^[A-Za-z0-9][A-Za-z0-9-_]{0,35}[A-Za-z0-9]$` // Refers to the SKU name for the addon. OcmQuotaName string `json:"ocmQuotaName" validate:"required"` // +kubebuilder:validation:Required // +kubebuilder:validation:Minimum=0 // OCM Quota cost for installing the addon. OcmQuotaCost int `json:"ocmQuotaCost" validate:"required"` // +kubebuilder:validation:Required // +kubebuilder:validation:Pattern=`^[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9]$` // Name of the addon operator. OperatorName string `json:"operatorName" validate:"required"` // +kubebuilder:validation:Required // +kubebuilder:validation:Enum={alpha,beta,stable,edge,rc} // OLM channel from which to install the addon-operator. One of: alpha, beta, stable, edge or rc. DefaultChannel string `json:"defaultChannel" validate:"required"` // +optional // Deprecated: List of channels where the addon operator is available. // Only needed for legacy addon builds. Channels *[]Channel `json:"channels"` // +kubebuilder:validation:Required // +kubebuilder:default:{} // Labels to be applied on all listed namespaces. NamespaceLabels map[string]string `json:"namespaceLabels" validate:"required"` // +kubebuilder:validation:Required // +kubebuilder:default:{} // Annotations to be applied on all listed namespaces. NamespaceAnnotations map[string]string `json:"namespaceAnnotations" validate:"required"` // +optional // +kubebuilder:validation:Pattern=`^quay\.io/osd-addons/[a-z-]+` IndexImage *string `json:"indexImage"` // +optional // OCM representation of an add-on parameter AddOnParameters *[]ocmv1.AddOnParameter `json:"addOnParameters"` // +optional // OCM representation of an addon-requirement AddOnRequirements *[]ocmv1.AddOnRequirement `json:"addOnRequirements"` // +optional // OCM representation of an add-on sub operator. A sub operator is an // operator who's life cycle is controlled by the add-on umbrella operator. SubOperators *[]ocmv1.AddOnSubOperator `json:"subOperators"` // +optional // A string which specifies the imageset to use. Can either be 'latest' or a version string // MAJOR.MINOR.PATCH ImageSetVersion *string `json:"addonImageSetVersion"` // +optional HasExternalResources *bool `json:"hasExternalResources"` // +optional AddonNotifications *[]mtsrev1.Notification `json:"addonNotifications"` // +optional ManualInstallPlanApproval *bool `json:"manualInstallPlanApproval"` // +optional PullSecret string `json:"pullSecret"` // +optional // Labels to be applied to all objects created in the SelectorSyncSet. CommonLabels *map[string]string `json:"commonLabels"` // +optional // Annotations to be applied to all objects created in the SelectorSyncSet. CommonAnnotations *map[string]string `json:"commonAnnotations"` // +optional // Configuration parameters to be injected in the ServiceMonitor used for federation. The target prometheus server found by matchLabels needs to serve service-ca signed TLS traffic (https://docs.openshift.com/container-platform/4.6/security/certificate_types_descriptions/service-ca-certificates.html), and it needs to be runing inside the monitoring.namespace, with the service name 'prometheus'. Monitoring *mtsrev1.Monitoring `json:"monitoring"` // +optional // Deprecated: Replaced by SubscriptionConfig. BundleParameters *mtsrev1.BundleParameters `json:"bundleParameters"` //nolint: staticcheck // ignoring self-deprecation SA1019 // +optional StartingCSV *string `json:"startingCSV"` // +optional PagerDuty *mtsrev1.PagerDuty `json:"pagerduty"` // +optional // Denotes the Deadmans Snitch Configuration which is supposed to be setup alongside the Addon. DeadmansSnitch *mtsrev1.DeadmansSnitch `json:"deadmanssnitch"` // +optional // Extra Resources to be applied to the Hive cluster. ExtraResources *[]string `json:"extraResources"` // +optional // Configs to be passed to the subscription OLM object. SubscriptionConfig *mtsrev1.SubscriptionConfig `json:"subscriptionConfig"` // +optional // +kubebuilder:validation:Pattern=`^[A-Za-z0-9][A-Za-z0-9-]{0,60}[A-Za-z0-9]$` // Name of the service account created by the addon operator to authenticate to the API. ServiceAccount *string `json:"serviceAccount"` // +optional // List of permissions in an IAM policy that are required by the addon operator. PolicyPermissions *[]string `json:"policyPermissions"` // +optional // Name of the secret under secrets which is supposed to be used for pulling Catalog Image under CatalogSource. PullSecretName string `json:"pullSecretName"` // +optional // List of secrets that are required by the addon. Secrets *[]mtsrev1.Secret `json:"secrets"` }
AddonMetadataSpec defines the desired state of AddonMetadata View markers: $ controller-gen -www crd TODO add missing fields from schema, only required fields from jsonschema are present
func (*AddonMetadataSpec) CombineWithImageSet ¶ added in v0.10.0
func (a *AddonMetadataSpec) CombineWithImageSet(imageSet *AddonImageSetSpec) (*AddonMetadataSpec, error)
CombineWithImageSet - Returns a new AddonMetadataSpec combined with the related imageSet fields. Using deep copy to avoid overriding the existing CR.
func (*AddonMetadataSpec) DeepCopy ¶
func (in *AddonMetadataSpec) DeepCopy() *AddonMetadataSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonMetadataSpec.
func (*AddonMetadataSpec) DeepCopyInto ¶
func (in *AddonMetadataSpec) DeepCopyInto(out *AddonMetadataSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AddonMetadataSpec) FromYAML ¶ added in v0.1.0
func (a *AddonMetadataSpec) FromYAML(data []byte) error
FromYAML - instantiates an AddonMetadataSpec struct from yaml data
type AddonMetadataStatus ¶
type AddonMetadataStatus struct { }
AddonMetadataStatus defines the observed state of AddonMetadata
func (*AddonMetadataStatus) DeepCopy ¶
func (in *AddonMetadataStatus) DeepCopy() *AddonMetadataStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonMetadataStatus.
func (*AddonMetadataStatus) DeepCopyInto ¶
func (in *AddonMetadataStatus) DeepCopyInto(out *AddonMetadataStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Channel ¶
Channel - list all channels for a given operator
func (*Channel) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Channel.
func (*Channel) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.