v1alpha1

package
v2.0.0-...-6ed2e0c Latest Latest
Warning

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

Go to latest
Published: Dec 13, 2024 License: Apache-2.0 Imports: 19 Imported by: 10

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the marketplace v1alpha1 API group +kubebuilder:object:root=true +groupName=marketplace.redhat.com

Package v1beta1 contains API Schema definitions for the marketplace.redhat.com v1beta1 API group +kubebuilder:object:generate=true +groupName=marketplace.redhat.com

Index

Constants

View Source
const (
	// ConditionInstalling means the tools are installing on your cluster.
	ConditionInstalling status.ConditionType = "Installing"
	// ConditionComplete means the tools are installed on your cluster.
	ConditionComplete status.ConditionType = "Complete"
	// ConditionError means the installation has failed.
	ConditionError status.ConditionType = "Error"
	// ConditionRegistered means the cluster registered.
	ConditionRegistered status.ConditionType = "Registered"
	// ConditionRegistered means the cluster registered.
	ConditionRegistrationError status.ConditionType = "RegistationError"

	// ConditionIsDisconnected means the rhm operator is running in a disconnected environment
	ConditionIsDisconnected status.ConditionType = "IsDisconnected"

	// ConditionSecretError means the redhat-marketplace-pull-secret or ibm-entitlement-key is missing in a connected env
	ConditionSecretError status.ConditionType = "SecretError"

	ConditionChildMigrationComplete status.ConditionType = "ChildRRS3MigrationComplete"

	// ConditionRHMAccountExists means the customer has a RHM/Software Central account
	ConditionRHMAccountExists status.ConditionType = "RHMAccountExists"

	// License not accepted
	ConditionNoLicense status.ConditionType = "NoLicense"

	// Reasons for install
	ReasonStartInstall          status.ConditionReason = "StartInstall"
	ReasonRazeeInstalled        status.ConditionReason = "RazeeInstalled"
	ReasonMeterBaseInstalled    status.ConditionReason = "MeterBaseInstalled"
	ReasonOperatorSourceInstall status.ConditionReason = "OperatorSourceInstalled"
	ReasonCatalogSourceInstall  status.ConditionReason = "CatalogSourceInstalled"
	ReasonCatalogSourceDelete   status.ConditionReason = "CatalogSourceDeleted"
	ReasonInstallFinished       status.ConditionReason = "FinishedInstall"
	ReasonRegistrationSuccess   status.ConditionReason = "ClusterRegistered"
	ReasonRegistrationFailure   status.ConditionReason = "ClusterNotRegistered"
	ReasonServiceUnavailable    status.ConditionReason = "ServiceUnavailable"
	ReasonInternetDisconnected  status.ConditionReason = "InternetNotAvailable"
	ReasonClientError           status.ConditionReason = "ClientError"
	ReasonRegistrationError     status.ConditionReason = "HttpError"
	ReasonOperatingNormally     status.ConditionReason = "OperatingNormally"
	ReasonNoError               status.ConditionReason = ReasonOperatingNormally
	ReasonNoSecret              status.ConditionReason = "NoSecret"
	ReasonRHMAccountExists      status.ConditionReason = "RHMAccountExists"
	ReasonRHMAccountNotExist    status.ConditionReason = "RHMAccountNotExist"

	// Enablement/Disablement of features conditions
	// ConditionDeploymentEnabled means the particular option is enabled
	ConditionDeploymentEnabled status.ConditionType = "DeploymentEnabled"
	// ConditionRegistrationEnabled means the particular option is enabled
	ConditionRegistrationEnabled status.ConditionType = "RegistrationEnabled"

	// License not accepted
	ReasonLicenseNotAccepted status.ConditionReason = "LicenseNotAccepted"
)

These are valid conditions of a job.

View Source
const (
	PrometheusTargetsHealth status.ConditionType = "Health"

	// Reasons for install
	ReasonMeterBaseStartInstall             status.ConditionReason = "StartMeterBaseInstall"
	ReasonMeterBasePrometheusInstall        status.ConditionReason = "StartMeterBasePrometheusInstall"
	ReasonMeterBasePrometheusServiceInstall status.ConditionReason = "StartMeterBasePrometheusServiceInstall"
	ReasonMeterBaseFinishInstall            status.ConditionReason = "FinishedMeterBaseInstall"

	// User Workload Monitoring
	// ConditionUserWorkloadMonitoringEnabled means UWM is actively used as the prometheus provider
	ConditionUserWorkloadMonitoringEnabled status.ConditionType = "UserWorkloadMonitoringEnabled"

	ReasonUserWorkloadMonitoringEnabled                        status.ConditionReason = "UserWorkloadMonitoringEnabled"
	ReasonUserWorkloadMonitoringSpecDisabled                   status.ConditionReason = "UserWorkloadMonitoringSpecDisabled"
	ReasonUserWorkloadMonitoringClusterDisabled                status.ConditionReason = "UserWorkloadMonitoringClusterDisabled"
	ReasonUserWorkloadMonitoringInsufficientStorage            status.ConditionReason = "UserWorkloadMonitoringInsufficientStorage"
	ReasonUserWorkloadMonitoringRetentionTime                  status.ConditionReason = "UserWorkloadMonitoringRetentionTime"
	ReasonUserWorkloadMonitoringParseUserWorkloadConfiguration status.ConditionReason = "UserWorkloadMonitoringParseUserWorkloadConfiguration"
	ReasonUserWorkloadMonitoringConfigNotFound                 status.ConditionReason = "UserWorkloadMonitoringConfigNotFound"
	ReasonUserWorkloadMonitoringTransitioning                  status.ConditionReason = "UserWorkloadMonitoringTransitioning"

	MessageUserWorkloadMonitoringEnabled         string = "" /* 146-byte string literal not displayed */
	MessageUserWorkloadMonitoringSpecDisabled    string = "UserWorkloadMonitoring is disabled in the Meterbase Spec"
	MessageUserWorkloadMonitoringClusterDisabled string = "UserWorkloadMonitoring is unavailable or disabled on the Cluster"
	MessageUserWorkloadMonitoringTransitioning   string = "Transitioning between UserWorkloadMonitoring and RHM prometheus provider"

	// Reasons for health
	ReasonMeterBasePrometheusTargetsHealthBad  status.ConditionReason = "HealthBad Targets in Status"
	ReasonMeterBasePrometheusTargetsHealthGood status.ConditionReason = "HealthGood"
)
View Source
const (
	ReportConditionTypeJobRunning          status.ConditionType   = "JobRunning"
	ReportConditionReasonJobSubmitted      status.ConditionReason = "Submitted"
	ReportConditionReasonJobNotStarted     status.ConditionReason = "NotStarted"
	ReportConditionReasonJobWaiting        status.ConditionReason = "Waiting"
	ReportConditionReasonJobFinished       status.ConditionReason = "Finished"
	ReportConditionReasonJobErrored        status.ConditionReason = "Errored"
	ReportConditionReasonJobIsDisconnected status.ConditionReason = "Disconn"
	ReportConditionReasonJobNoData         status.ConditionReason = "NoData"
	ReportConditionReasonJobSkipped        status.ConditionReason = "Skipped"
	ReportConditionReasonJobMaxRetries     status.ConditionReason = "MaxRetries"

	ReportConditionTypeStorageStatus status.ConditionType = "Stored"
	ReportConditionTypeUploadStatus  status.ConditionType = "Uploaded"

	ReportConditionReasonUploadStatusFinished   status.ConditionReason = "Finished"
	ReportConditionReasonUploadStatusNotStarted status.ConditionReason = "NotStarted"
	ReportConditionReasonUploadStatusErrored    status.ConditionReason = "Errored"
)
View Source
const (

	// Reasons for install
	ReasonRazeeStartInstall                    status.ConditionReason = "StartRazeeInstall"
	ReasonWatchKeeperNonNamespacedInstalled    status.ConditionReason = "FinishedWatchKeeperNonNamespaceInstall"
	ReasonWatchKeeperLimitPollInstalled        status.ConditionReason = "FinishedWatchKeeperLimitPollInstall"
	ReasonRazeeClusterMetaDataInstalled        status.ConditionReason = "FinishedRazeeClusterMetaDataInstall"
	ReasonWatchKeeperConfigInstalled           status.ConditionReason = "FinishedWatchKeeperConfigInstall"
	ReasonWatchKeeperSecretInstalled           status.ConditionReason = "FinishedWatchKeeperSecretInstall"
	ReasonCosReaderKeyInstalled                status.ConditionReason = "FinishedCosReaderKeyInstall"
	ReasonRazeeDeployJobStart                  status.ConditionReason = "StartRazeeDeployJob"
	ReasonRazeeDeployJobFinished               status.ConditionReason = "FinishedRazeeDeployJob"
	ReasonParentRRS3Installed                  status.ConditionReason = "FinishParentRRS3Install"
	ReasonChildRRS3Migrated                    status.ConditionReason = "ChildRRS3Migrated"
	ReasonRazeeInstallFinished                 status.ConditionReason = "FinishedRazeeInstall"
	ReasonWatchKeeperDeploymentStart           status.ConditionReason = "StartWatchKeeperDeploymentInstall"
	ReasonWatchKeeperDeploymentInstalled       status.ConditionReason = "FinishedWatchKeeperDeploymentInstall"
	ReasonRhmRemoteResourceDeploymentStart     status.ConditionReason = "StartRemoteResourceDeploymentInstall"
	ReasonRhmRemoteResourceDeploymentInstalled status.ConditionReason = "FinishedRemoteResourceDeploymentInstall"
	ReasonRhmRemoteResourceDeploymentEnabled   status.ConditionReason = "EnabledRemoteResourceDeploymentInstall"
	ReasonRhmRegistrationWatchkeeperEnabled    status.ConditionReason = "EnabledRegistrationWatchkeeperInstall"
)

These are valid conditions of RazeeDeployment

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "marketplace.redhat.com", 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

	SchemeGroupVersion = GroupVersion
)
View Source
var (
	MeterBasePrometheusTargetBadHealth = status.Condition{
		Type:    PrometheusTargetsHealth,
		Status:  corev1.ConditionFalse,
		Reason:  ReasonMeterBasePrometheusTargetsHealthBad,
		Message: "Prometheus activeTargets contains targets with HealthBad or HealthUnknown.",
	}
	MeterBasePrometheusTargetGoodHealth = status.Condition{
		Type:    PrometheusTargetsHealth,
		Status:  corev1.ConditionTrue,
		Reason:  ReasonMeterBasePrometheusTargetsHealthGood,
		Message: "Prometheus activeTargets contains targets with HealthGood.",
	}

	UserWorkloadMonitoringEnabled = status.Condition{
		Type:    ConditionUserWorkloadMonitoringEnabled,
		Status:  corev1.ConditionTrue,
		Reason:  ReasonUserWorkloadMonitoringEnabled,
		Message: MessageUserWorkloadMonitoringEnabled,
	}

	UserWorkloadMonitoringDisabledSpec = status.Condition{
		Type:    ConditionUserWorkloadMonitoringEnabled,
		Status:  corev1.ConditionFalse,
		Reason:  ReasonUserWorkloadMonitoringSpecDisabled,
		Message: MessageUserWorkloadMonitoringSpecDisabled,
	}

	UserWorkloadMonitoringDisabledOnCluster = status.Condition{
		Type:    ConditionUserWorkloadMonitoringEnabled,
		Status:  corev1.ConditionFalse,
		Reason:  ReasonUserWorkloadMonitoringClusterDisabled,
		Message: MessageUserWorkloadMonitoringClusterDisabled,
	}

	UserWorkloadMonitoringStorageConfigurationErr = status.Condition{
		Type:   ConditionUserWorkloadMonitoringEnabled,
		Status: corev1.ConditionFalse,
		Reason: ReasonUserWorkloadMonitoringInsufficientStorage,
	}

	UserWorkloadMonitoringRetentionTimeConfigurationErr = status.Condition{
		Type:   ConditionUserWorkloadMonitoringEnabled,
		Status: corev1.ConditionFalse,
		Reason: ReasonUserWorkloadMonitoringRetentionTime,
	}

	UserWorkloadMonitoringParseUserWorkloadConfigurationErr = status.Condition{
		Type:   ConditionUserWorkloadMonitoringEnabled,
		Status: corev1.ConditionFalse,
		Reason: ReasonUserWorkloadMonitoringParseUserWorkloadConfiguration,
	}

	UserWorkloadMonitoringConfigNotFound = status.Condition{
		Type:   ConditionUserWorkloadMonitoringEnabled,
		Status: corev1.ConditionFalse,
		Reason: ReasonUserWorkloadMonitoringConfigNotFound,
	}

	MeterBaseStartInstall = status.Condition{
		Type:    ConditionInstalling,
		Status:  corev1.ConditionTrue,
		Reason:  ReasonMeterBaseStartInstall,
		Message: "MeterBase install started",
	}

	MeterBaseFinishInstall = status.Condition{
		Type:    ConditionInstalling,
		Status:  corev1.ConditionFalse,
		Reason:  ReasonMeterBaseFinishInstall,
		Message: "MeterBase install complete",
	}
)
View Source
var (
	ReportConditionJobNotStarted = status.Condition{
		Type:    ReportConditionTypeJobRunning,
		Status:  corev1.ConditionFalse,
		Reason:  ReportConditionReasonJobNotStarted,
		Message: "Job has not been started",
	}
	ReportConditionJobSubmitted = status.Condition{
		Type:    ReportConditionTypeJobRunning,
		Status:  corev1.ConditionTrue,
		Reason:  ReportConditionReasonJobSubmitted,
		Message: "Job has been submitted",
	}
	ReportConditionJobWaiting = status.Condition{
		Type:    ReportConditionTypeJobRunning,
		Status:  corev1.ConditionFalse,
		Reason:  ReportConditionReasonJobWaiting,
		Message: "Report end time has not progressed.",
	}
	ReportConditionJobFinished = status.Condition{
		Type:    ReportConditionTypeJobRunning,
		Status:  corev1.ConditionFalse,
		Reason:  ReportConditionReasonJobFinished,
		Message: "Job has finished",
	}
	ReportConditionJobErrored = status.Condition{
		Type:    ReportConditionTypeJobRunning,
		Status:  corev1.ConditionFalse,
		Reason:  ReportConditionReasonJobErrored,
		Message: "Job has errored",
	}

	ReportConditionStorageStatusFinished = status.Condition{
		Type:   ReportConditionTypeStorageStatus,
		Status: corev1.ConditionTrue,
		Reason: ReportConditionReasonUploadStatusFinished,
	}
	ReportConditionStorageStatusUnknown = status.Condition{
		Type:   ReportConditionTypeStorageStatus,
		Status: corev1.ConditionUnknown,
		Reason: ReportConditionReasonUploadStatusNotStarted,
	}
	ReportConditionStorageStatusErrored = status.Condition{
		Type:   ReportConditionTypeStorageStatus,
		Status: corev1.ConditionFalse,
		Reason: ReportConditionReasonUploadStatusErrored,
	}
	ReportConditionJobIsDisconnected = status.Condition{
		Type:    ReportConditionTypeUploadStatus,
		Status:  corev1.ConditionFalse,
		Reason:  ReportConditionReasonJobIsDisconnected,
		Message: "Report is running in a disconnected environment",
	}
	ReportConditionJobHasNoData = status.Condition{
		Type:    ReportConditionTypeUploadStatus,
		Status:  corev1.ConditionFalse,
		Reason:  ReportConditionReasonJobNoData,
		Message: "Report has no data",
	}
	ReportConditionJobSkipped = status.Condition{
		Type:   ReportConditionTypeUploadStatus,
		Status: corev1.ConditionFalse,
		Reason: ReportConditionReasonJobSkipped,
	}
	ReportConditionFailedAttempts = status.Condition{
		Type:   ReportConditionTypeUploadStatus,
		Status: corev1.ConditionFalse,
		Reason: ReportConditionReasonJobMaxRetries,
	}
	ReportConditionUploadStatusFinished = status.Condition{
		Type:   ReportConditionTypeUploadStatus,
		Status: corev1.ConditionTrue,
		Reason: ReportConditionReasonUploadStatusFinished,
	}
	ReportConditionUploadStatusUnknown = status.Condition{
		Type:   ReportConditionTypeUploadStatus,
		Status: corev1.ConditionUnknown,
		Reason: ReportConditionReasonUploadStatusNotStarted,
	}
	ReportConditionUploadStatusErrored = status.Condition{
		Type:   ReportConditionTypeUploadStatus,
		Status: corev1.ConditionFalse,
		Reason: ReportConditionReasonUploadStatusErrored,
	}
)
View Source
var (
	ConditionWatchKeeperNonNamespacedInstalled = status.Condition{
		Type:    ConditionInstalling,
		Status:  corev1.ConditionTrue,
		Reason:  ReasonWatchKeeperNonNamespacedInstalled,
		Message: "watch-keeper-non-namespaced install finished",
	}

	ConditionWatchKeeperLimitPollInstalled = status.Condition{
		Type:    ConditionInstalling,
		Status:  corev1.ConditionTrue,
		Reason:  ReasonWatchKeeperLimitPollInstalled,
		Message: "watch-keeper-limit-poll install finished",
	}

	ConditionRazeeClusterMetaDataInstalled = status.Condition{
		Type:    ConditionInstalling,
		Status:  corev1.ConditionTrue,
		Reason:  ReasonRazeeClusterMetaDataInstalled,
		Message: "Razee cluster meta data install finished",
	}

	ConditionWatchKeeperConfigInstalled = status.Condition{
		Type:    ConditionInstalling,
		Status:  corev1.ConditionTrue,
		Reason:  ReasonWatchKeeperConfigInstalled,
		Message: "watch-keeper-config install finished",
	}

	ConditionWatchKeeperSecretInstalled = status.Condition{
		Type:    ConditionInstalling,
		Status:  corev1.ConditionTrue,
		Reason:  ReasonWatchKeeperSecretInstalled,
		Message: "watch-keeper-secret install finished",
	}

	ConditionCosReaderKeyInstalled = status.Condition{
		Type:    ConditionInstalling,
		Status:  corev1.ConditionTrue,
		Reason:  ReasonCosReaderKeyInstalled,
		Message: "Cos-reader-key install finished",
	}

	ConditionRazeeInstallFinished = status.Condition{
		Type:    ConditionInstalling,
		Status:  corev1.ConditionFalse,
		Reason:  ReasonRazeeInstallFinished,
		Message: "Razee install complete",
	}

	ConditionRazeeInstallComplete = status.Condition{
		Type:    ConditionComplete,
		Status:  corev1.ConditionTrue,
		Reason:  ReasonRazeeInstallFinished,
		Message: "Razee install complete",
	}

	ConditionRazeeNotEnabled = status.Condition{
		Type:    ConditionComplete,
		Status:  corev1.ConditionTrue,
		Reason:  ReasonRazeeInstallFinished,
		Message: "Razee not enabled",
	}

	ConditionRazeeNameMismatch = status.Condition{
		Type:    ConditionComplete,
		Status:  corev1.ConditionTrue,
		Reason:  ReasonRazeeInstallFinished,
		Message: "RazeeDeploy Resource name does not match expected",
	}

	ConditionRazeeStartInstall = status.Condition{
		Type:    ConditionInstalling,
		Status:  corev1.ConditionTrue,
		Reason:  ReasonRazeeStartInstall,
		Message: "Razee Install starting",
	}

	ConditionResourceDeploymentDisabled = status.Condition{
		Type:    ConditionDeploymentEnabled,
		Status:  corev1.ConditionFalse,
		Reason:  ReasonRhmRemoteResourceDeploymentEnabled,
		Message: "Deployment feature is disabled. RemoteResource deployment disabled. Operator deployment will be unavailable on marketplace.redhat.com",
	}

	ConditionRhmRegistrationWatchkeeperDisabled = status.Condition{
		Type:    ConditionRegistrationEnabled,
		Status:  corev1.ConditionFalse,
		Reason:  ReasonRhmRegistrationWatchkeeperEnabled,
		Message: "Registration feature is disabled. WatchKeeper disabled. Registration status will be unavailable on marketplace.redhat.com",
	}

	ConditionRhmRemoteResourceDeploymentEnabled = status.Condition{
		Type:    ConditionDeploymentEnabled,
		Status:  corev1.ConditionTrue,
		Reason:  ReasonRhmRemoteResourceDeploymentEnabled,
		Message: "RemoteResource deployment enabled",
	}

	ConditionRhmRegistrationWatchkeeperEnabled = status.Condition{
		Type:    ConditionRegistrationEnabled,
		Status:  corev1.ConditionTrue,
		Reason:  ReasonRhmRegistrationWatchkeeperEnabled,
		Message: "Registration deployment enabled",
	}

	ConditionParentRRInstalled = status.Condition{
		Type:    ConditionInstalling,
		Status:  corev1.ConditionTrue,
		Reason:  ReasonParentRRS3Installed,
		Message: "ParentRR install finished",
	}

	ConditionChildRRS3MigrationComplete = status.Condition{
		Type:    ConditionChildMigrationComplete,
		Status:  corev1.ConditionTrue,
		Reason:  ReasonChildRRS3Migrated,
		Message: "Child RRS3 Migration successful",
	}
)

Functions

func ConvertWorkloadTypeBeta

func ConvertWorkloadTypeBeta(typeIn interface{}) (common.WorkloadType, error)

func Resource

func Resource(resource string) schema.GroupResource

Types

type CSVNamespacedName

type CSVNamespacedName common.NamespacedNameReference

func (*CSVNamespacedName) DeepCopy

func (in *CSVNamespacedName) DeepCopy() *CSVNamespacedName

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

func (*CSVNamespacedName) DeepCopyInto

func (in *CSVNamespacedName) DeepCopyInto(out *CSVNamespacedName)

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

type ErrorDetails

type ErrorDetails struct {
	// Reason the error occurred
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	Reason string `json:"reason"`
	// Details of the error
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	Details map[string]string `json:"details,omitempty"`
}

ErrorDetails provides details about errors that happen in the job

func (*ErrorDetails) DeepCopy

func (in *ErrorDetails) DeepCopy() *ErrorDetails

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

func (*ErrorDetails) DeepCopyInto

func (in *ErrorDetails) DeepCopyInto(out *ErrorDetails)

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

func (ErrorDetails) FromError

func (e ErrorDetails) FromError(err error) ErrorDetails

type ExternalPrometheus

type ExternalPrometheus struct {
}

func (*ExternalPrometheus) DeepCopy

func (in *ExternalPrometheus) DeepCopy() *ExternalPrometheus

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

func (*ExternalPrometheus) DeepCopyInto

func (in *ExternalPrometheus) DeepCopyInto(out *ExternalPrometheus)

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

type MarketplaceConfig

type MarketplaceConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   MarketplaceConfigSpec   `json:"spec,omitempty"`
	Status MarketplaceConfigStatus `json:"status,omitempty"`
}

MarketplaceConfig is configuration manager for our Red Hat Marketplace controllers By installing this product you accept the license terms https://ibm.biz/BdfaAY. +kubebuilder:object:root=true

+k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:path=marketplaceconfigs,scope=Namespaced +kubebuilder:printcolumn:name="INSTALLING",type=string,JSONPath=`.status.conditions[?(@.type == "Installing")].status` +kubebuilder:printcolumn:name="STEP",type=string,JSONPath=`.status.conditions[?(@.type == "Installing")].reason` +kubebuilder:printcolumn:name="REGISTERED",type=string,JSONPath=`.status.conditions[?(@.type == "Registered")].status` +kubebuilder:printcolumn:name="REGISTERED_MSG",type=string,JSONPath=`.status.conditions[?(@.type == "Registered")].message` +operator-sdk:gen-csv:customresourcedefinitions.displayName="Marketplace" +operator-sdk:gen-csv:customresourcedefinitions.resources=`RazeeDeployment,v1alpha1,"redhat-marketplace-operator"` +operator-sdk:gen-csv:customresourcedefinitions.resources=`OperatorSource,v1,"redhat-marketplace-operator"` +operator-sdk:gen-csv:customresourcedefinitions.resources=`MeterBase,v1alpha1,"redhat-marketplace-operator"`

func (*MarketplaceConfig) DeepCopy

func (in *MarketplaceConfig) DeepCopy() *MarketplaceConfig

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

func (*MarketplaceConfig) DeepCopyInto

func (in *MarketplaceConfig) DeepCopyInto(out *MarketplaceConfig)

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

func (*MarketplaceConfig) DeepCopyObject

func (in *MarketplaceConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MarketplaceConfigLicense

type MarketplaceConfigLicense struct {

	// By installing this product you accept the license terms https://ibm.biz/BdfaAY
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Accept Licence"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:checkbox"
	Accept *bool `json:"accept,omitempty"`
}

MarketplaceConfigLicense defines license acceptance +k8s:openapi-gen=true

func (*MarketplaceConfigLicense) DeepCopy

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

func (*MarketplaceConfigLicense) DeepCopyInto

func (in *MarketplaceConfigLicense) DeepCopyInto(out *MarketplaceConfigLicense)

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

type MarketplaceConfigList

type MarketplaceConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []MarketplaceConfig `json:"items"`
}

MarketplaceConfigList contains a list of MarketplaceConfig

func (*MarketplaceConfigList) DeepCopy

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

func (*MarketplaceConfigList) DeepCopyInto

func (in *MarketplaceConfigList) DeepCopyInto(out *MarketplaceConfigList)

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

func (*MarketplaceConfigList) DeepCopyObject

func (in *MarketplaceConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MarketplaceConfigSpec

type MarketplaceConfigSpec struct {
	// RhmAccountID is the Red Hat Marketplace Account identifier
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Marketplace Accound ID"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="text"
	RhmAccountID string `json:"rhmAccountID,omitempty"`

	// ClusterUUID is the Red Hat Marketplace cluster identifier
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="hidden"
	ClusterUUID string `json:"clusterUUID,omitempty"`

	// ClusterName is the name that will be assigned to your cluster in the Red Hat Marketplace UI.
	// If you have set the name in the UI first, this name will be ignored.
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Marketplace Cluster Name"
	ClusterName string `json:"clusterName,omitempty"`

	// DeploySecretName is the secret name that contains the deployment information
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Marketplace Secret Name"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="Secret"
	DeploySecretName *string `json:"deploySecretName,omitempty"`

	// EnableMetering enables the Marketplace Metering components
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="hidden"
	EnableMetering *bool `json:"enableMetering,omitempty"`

	// IsDisconnected represents the installation of operator in disconnected mode
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Install in Disconnected mode"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch"
	IsDisconnected *bool `json:"isDisconnected,omitempty"`

	// InstallIBMCatalogSource is the flag that indicates if the IBM Catalog Source is installed
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Install IBM Catalog Source?"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch"
	InstallIBMCatalogSource *bool `json:"installIBMCatalogSource,omitempty"`

	// The features that can be enabled or disabled
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Disabled Features"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="hidden"
	Features *common.Features `json:"features,omitempty"`

	// NamespaceLabelSelector is a LabelSelector that overrides the default LabelSelector used to build the OperatorGroup Namespace list
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Namespace LabelSelector"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="hidden"
	NamespaceLabelSelector *metav1.LabelSelector `json:"namespaceLabelSelector,omitempty"`

	// License information is required
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="License"
	License MarketplaceConfigLicense `json:"license,omitempty"`
}

MarketplaceConfigSpec defines the desired state of MarketplaceConfig +k8s:openapi-gen=true

func (*MarketplaceConfigSpec) DeepCopy

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

func (*MarketplaceConfigSpec) DeepCopyInto

func (in *MarketplaceConfigSpec) DeepCopyInto(out *MarketplaceConfigSpec)

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

type MarketplaceConfigStatus

type MarketplaceConfigStatus struct {
	// Conditions represent the latest available observations of an object's stateonfig
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:io.kubernetes.conditions"
	// +optional
	Conditions status.Conditions `json:"conditions,omitempty"`

	// RazeeSubConditions represent the latest available observations of the razee object's state
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	RazeeSubConditions status.Conditions `json:"razeeSubConditions,omitempty"`

	// MeterBaseSubConditions represent the latest available observations of the meterbase object's state
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	MeterBaseSubConditions status.Conditions `json:"meterBaseSubConditions,omitempty"`
}

MarketplaceConfigStatus defines the observed state of MarketplaceConfig +k8s:openapi-gen=true

func (*MarketplaceConfigStatus) DeepCopy

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

func (*MarketplaceConfigStatus) DeepCopyInto

func (in *MarketplaceConfigStatus) DeepCopyInto(out *MarketplaceConfigStatus)

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

type MeterBase

type MeterBase struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   MeterBaseSpec   `json:"spec,omitempty"`
	Status MeterBaseStatus `json:"status,omitempty"`
}

MeterBase is the resource that sets up Metering for Red Hat Marketplace. This is an internal resource not meant to be modified directly. +kubebuilder:object:root=true +kubebuilder:printcolumn:name="INSTALLING",type=string,JSONPath=`.status.conditions[?(@.type == "Installing")].status` +kubebuilder:printcolumn:name="STEP",type=string,JSONPath=`.status.conditions[?(@.type == "Installing")].reason` +kubebuilder:printcolumn:name="AvailableReplicas",type=integer,JSONPath=`.status.availableReplicas` +kubebuilder:printcolumn:name="Replicas",type=integer,JSONPath=`.status.replicas` +kubebuilder:printcolumn:name="UpdatedReplicas",type=integer,JSONPath=`.status.updatedReplicas` +kubebuilder:printcolumn:name="UnavailableReplicas",type=integer,JSONPath=`.status.unavailableReplicas` +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:path=meterbases,scope=Namespaced +operator-sdk:gen-csv:customresourcedefinitions.displayName="Metering" +operator-sdk:gen-csv:customresourcedefinitions.resources=`ServiceMonitor,v1,"redhat-marketplace-operator"` +operator-sdk:gen-csv:customresourcedefinitions.resources=`Prometheus,v1,"redhat-marketplace-operator"`

func (*MeterBase) DeepCopy

func (in *MeterBase) DeepCopy() *MeterBase

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

func (*MeterBase) DeepCopyInto

func (in *MeterBase) DeepCopyInto(out *MeterBase)

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

func (*MeterBase) DeepCopyObject

func (in *MeterBase) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MeterBaseList

type MeterBaseList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []MeterBase `json:"items"`
}

MeterBaseList contains a list of MeterBase

func (*MeterBaseList) DeepCopy

func (in *MeterBaseList) DeepCopy() *MeterBaseList

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

func (*MeterBaseList) DeepCopyInto

func (in *MeterBaseList) DeepCopyInto(out *MeterBaseList)

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

func (*MeterBaseList) DeepCopyObject

func (in *MeterBaseList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MeterBaseSpec

type MeterBaseSpec struct {
	// Enabled is the flag that controls if the controller does work. Setting
	// enabled to "true" will install metering components. False will suspend controller
	// operations for metering components.
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	Enabled bool `json:"enabled"`

	// Prometheus deployment configuration.
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	Prometheus *PrometheusSpec `json:"prometheus,omitempty"`

	// [DEPRECATED] MeterdefinitionCatalogServerConfig holds configuration for the Meterdefinition Catalog Server.
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	MeterdefinitionCatalogServerConfig *common.MeterDefinitionCatalogServerConfig `json:"meterdefinitionCatalogServerConfig,omitempty"`

	// AdditionalConfigs are set by meter definitions and meterbase to what is available on the
	// system.
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	AdditionalScrapeConfigs *corev1.SecretKeySelector `json:"additionalScrapeConfigs,omitempty"`

	// DataServiceEnabled is the flag that controls if the DataService will be created.
	// Setting enabled to "true" will install DataService components.
	// False will delete the DataServicecomponents.
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	DataServiceEnabled *bool `json:"dataServiceEnabled,omitempty"`

	// UserWorkloadMonitoringEnabled controls whether to attempt to use
	// Openshift user-defined workload monitoring as the Prometheus provider
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	UserWorkloadMonitoringEnabled *bool `json:"userWorkloadMonitoringEnabled,omitempty"`
}

MeterBaseSpec defines the desired state of MeterBase +k8s:openapi-gen=true

func (*MeterBaseSpec) DeepCopy

func (in *MeterBaseSpec) DeepCopy() *MeterBaseSpec

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

func (*MeterBaseSpec) DeepCopyInto

func (in *MeterBaseSpec) DeepCopyInto(out *MeterBaseSpec)

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

func (*MeterBaseSpec) IsDataServiceEnabled

func (m *MeterBaseSpec) IsDataServiceEnabled() bool

type MeterBaseStatus

type MeterBaseStatus struct {
	// MeterBaseConditions represent the latest available observations of an object's stateonfig
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	Conditions status.Conditions `json:"conditions,omitempty"`
	// PrometheusStatus is the most recent observed status of the Prometheus cluster. Read-only. Not
	// included when requesting from the apiserver, only from the Prometheus
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	PrometheusStatus *monitoringv1.PrometheusStatus `json:"prometheusStatus,omitempty"`

	// [DEPRECATED] MeterdefinitionCatalogServerStatus is the most recent observed status of the Meterdefinition Catalog Server. Read-only. Not
	// included when requesting from the apiserver, only from the Prometheus
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	MeterdefinitionCatalogServerStatus *MeterdefinitionCatalogServerStatus `json:"meterdefinitionCatalogServerStatus,omitempty"`

	// Total number of non-terminated pods targeted by this Prometheus deployment
	// (their labels match the selector).
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`
	// Total number of non-terminated pods targeted by this Prometheus deployment
	// that have the desired version spec.
	// +optional
	UpdatedReplicas *int32 `json:"updatedReplicas,omitempty"`
	// Total number of available pods (ready for at least minReadySeconds)
	// targeted by this Prometheus deployment.
	// +optional
	AvailableReplicas *int32 `json:"availableReplicas,omitempty"`
	// Total number of unavailable pods targeted by this Prometheus deployment.
	// +optional
	UnavailableReplicas *int32 `json:"unavailableReplicas,omitempty"`
	// Targets is a list of prometheus activeTargets
	// +optional
	Targets []common.Target `json:"targets,omitempty"`
}

MeterBaseStatus defines the observed state of MeterBase. +k8s:openapi-gen=true

func (*MeterBaseStatus) DeepCopy

func (in *MeterBaseStatus) DeepCopy() *MeterBaseStatus

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

func (*MeterBaseStatus) DeepCopyInto

func (in *MeterBaseStatus) DeepCopyInto(out *MeterBaseStatus)

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

type MeterDefinition

type MeterDefinition struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   MeterDefinitionSpec   `json:"spec,omitempty"`
	Status MeterDefinitionStatus `json:"status,omitempty"`
}

MeterDefinition defines the meter workloads used to enable pay for use billing. +kubebuilder:object:root=true

+k8s:openapi-gen=true +kubebuilder:unservedversion +kubebuilder:subresource:status +kubebuilder:resource:path=meterdefinitions,scope=Namespaced +operator-sdk:gen-csv:customresourcedefinitions.displayName="Meter Definitions" +genclient

func (*MeterDefinition) BuildMeterDefinitionFromString

func (meterdef *MeterDefinition) BuildMeterDefinitionFromString(meterdefString, name, namespace, nameLabel, namespaceLabel string) error

func (*MeterDefinition) ConvertFrom

func (dst *MeterDefinition) ConvertFrom(srcRaw conversion.Hub) error

ConvertFrom converts from the Hub version (v1beta1) to this version.

func (*MeterDefinition) ConvertTo

func (src *MeterDefinition) ConvertTo(dstRaw conversion.Hub) error

ConvertTo converts this MeterDefinition to the Hub version (v1beta1).

func (*MeterDefinition) DeepCopy

func (in *MeterDefinition) DeepCopy() *MeterDefinition

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

func (*MeterDefinition) DeepCopyInto

func (in *MeterDefinition) DeepCopyInto(out *MeterDefinition)

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

func (*MeterDefinition) DeepCopyObject

func (in *MeterDefinition) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*MeterDefinition) ToPrometheusLabels

func (meterdef *MeterDefinition) ToPrometheusLabels() []map[string]string

type MeterDefinitionList

type MeterDefinitionList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []MeterDefinition `json:"items"`
}

MeterDefinitionList contains a list of MeterDefinition

func (*MeterDefinitionList) DeepCopy

func (in *MeterDefinitionList) DeepCopy() *MeterDefinitionList

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

func (*MeterDefinitionList) DeepCopyInto

func (in *MeterDefinitionList) DeepCopyInto(out *MeterDefinitionList)

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

func (*MeterDefinitionList) DeepCopyObject

func (in *MeterDefinitionList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MeterDefinitionSpec

type MeterDefinitionSpec struct {
	// Group defines the operator group of the meter
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text"
	Group string `json:"meterGroup"`

	// Kind defines the primary CRD kind of the meter
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text"
	Kind string `json:"meterKind"`

	// InstalledBy is a reference to the CSV that install the meter
	// definition. This is used to determine an operator group.
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:hidden"
	// +optional
	InstalledBy *common.NamespacedNameReference `json:"installedBy,omitempty"`

	// WorkloadVertexType is the top most object of a workload. It allows
	// you to identify the upper bounds of your workloads.
	// +kubebuilder:validation:Enum=Namespace;OperatorGroup
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:select:Namespace,urn:alm:descriptor:com.tectonic.ui:select:OperatorGroup"
	WorkloadVertexType WorkloadVertex `json:"workloadVertexType,omitempty"`

	// VertexFilters are used when Namespace is selected. Can be omitted
	// if you select OperatorGroup
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:fieldDependency:workloadVertexType:Namespace"
	// +optional
	VertexLabelSelector *metav1.LabelSelector `json:"workloadVertexLabelSelectors,omitempty"`

	// Workloads identify the workloads to meter.
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +kubebuilder:validation:MinItems=1
	Workloads []Workload `json:"workloads,omitempty"`

	// Version defines the primary CRD version of the meter. This field is no longer used.
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:hidden"
	// +optional
	Version *string `json:"meterVersion,omitempty"`

	// ServiceMeterLabels name of the meterics you want to track. Use workloads instead.
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:hidden"
	// +optional
	ServiceMeterLabels []string `json:"serviceMeterLabels,omitempty"`

	// PodMeterLabels name of the prometheus metrics you want to track. User workloads instead.
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:hidden"
	// +optional
	PodMeterLabels []string `json:"podMeterLabels,omitempty"`
}

MeterDefinitionSpec defines the desired metering spec +k8s:openapi-gen=true

func (*MeterDefinitionSpec) DeepCopy

func (in *MeterDefinitionSpec) DeepCopy() *MeterDefinitionSpec

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

func (*MeterDefinitionSpec) DeepCopyInto

func (in *MeterDefinitionSpec) DeepCopyInto(out *MeterDefinitionSpec)

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

type MeterDefinitionStatus

type MeterDefinitionStatus struct {

	// Conditions represent the latest available observations of an object's state
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors.x-descriptors="urn:alm:descriptor:io.kubernetes.conditions"
	// +optional
	Conditions status.Conditions `json:"conditions,omitempty"`

	// WorkloadResources is the list of resources discovered by
	// this meter definition
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	WorkloadResources []common.WorkloadResource `json:"workloadResource,omitempty"`

	// Results is a list of Results that get returned from a query to prometheus
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	Results []common.Result `json:"results,omitempty"`
}

MeterDefinitionStatus defines the observed state of MeterDefinition +k8s:openapi-gen=true +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true

func (*MeterDefinitionStatus) DeepCopy

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

func (*MeterDefinitionStatus) DeepCopyInto

func (in *MeterDefinitionStatus) DeepCopyInto(out *MeterDefinitionStatus)

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

type MeterLabelQuery

type MeterLabelQuery struct {
	// Label is the name of the meter
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text"
	Label string `json:"label"`

	// Query to use for the label
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	Query string `json:"query,omitempty"`

	// Aggregation to use with the query
	// +kubebuilder:validation:Enum:=sum;min;max;avg;group
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:select:sum,urn:alm:descriptor:com.tectonic.ui:select:min,urn:alm:descriptor:com.tectonic.ui:select:max,urn:alm:descriptor:com.tectonic.ui:select:avg"
	Aggregation string `json:"aggregation,omitempty"`
}

MeterLabelQuery helps define a meter label to build and search for

func (*MeterLabelQuery) DeepCopy

func (in *MeterLabelQuery) DeepCopy() *MeterLabelQuery

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

func (*MeterLabelQuery) DeepCopyInto

func (in *MeterLabelQuery) DeepCopyInto(out *MeterLabelQuery)

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

type MeterReport

type MeterReport struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   MeterReportSpec   `json:"spec,omitempty"`
	Status MeterReportStatus `json:"status,omitempty"`
}

MeterReport is the Schema for the meterreports API +kubebuilder:subresource:status +kubebuilder:resource:path=marketplaceconfigs,scope=Namespaced +kubebuilder:printcolumn:name="METRICS",type=string,JSONPath=`.status.metricUploadCount` +kubebuilder:printcolumn:name="STORED",type=string,JSONPath=`.status.conditions[?(@.type == "Stored")].status` +kubebuilder:printcolumn:name="STORED_REASON",type=string,JSONPath=`.status.conditions[?(@.type == "Stored")].reason` +kubebuilder:printcolumn:name="UPLOADED",type=string,JSONPath=`.status.conditions[?(@.type == "Uploaded")].status` +kubebuilder:printcolumn:name="UPLOADED_REASON",type=string,JSONPath=`.status.conditions[?(@.type == "Uploaded")].reason` +operator-sdk:gen-csv:customresourcedefinitions.displayName="Reports" +kubebuilder:resource:path=meterreports,scope=Namespaced

func (*MeterReport) DeepCopy

func (in *MeterReport) DeepCopy() *MeterReport

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

func (*MeterReport) DeepCopyInto

func (in *MeterReport) DeepCopyInto(out *MeterReport)

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

func (*MeterReport) DeepCopyObject

func (in *MeterReport) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MeterReportList

type MeterReportList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []MeterReport `json:"items"`
}

MeterReportList contains a list of MeterReport

func (*MeterReportList) DeepCopy

func (in *MeterReportList) DeepCopy() *MeterReportList

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

func (*MeterReportList) DeepCopyInto

func (in *MeterReportList) DeepCopyInto(out *MeterReportList)

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

func (*MeterReportList) DeepCopyObject

func (in *MeterReportList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type MeterReportSpec

type MeterReportSpec struct {
	// ReportUUID is the generated ID for the report.
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	ReportUUID string `json:"reportUUID,omitempty"`

	// StartTime of the job
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	StartTime metav1.Time `json:"startTime"`

	// EndTime of the job
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	EndTime metav1.Time `json:"endTime"`

	// LabelSelectors are used to filter to the correct workload.
	// DEPRECATED
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	LabelSelector metav1.LabelSelector `json:"labelSelector,omitempty"`

	// PrometheusService is the definition for the service labels.
	// DEPRECATED
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +optional
	PrometheusService *common.ServiceReference `json:"prometheusService,omitempty"`

	// MeterDefinitions is the list of meterDefinitions included in the report
	// DEPRECATED
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +optional
	MeterDefinitions []MeterDefinition `json:"meterDefinitions,omitempty"`

	// MeterDefinitionReferences are used as the first meter definition source. Prometheus data is used to supplement.
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +listType:=map
	// +listMapKey:=name
	// +listMapKey:=namespace
	// +optional
	MeterDefinitionReferences []v1beta1.MeterDefinitionReference `json:"meterDefinitionReferences,omitempty"`

	// ExtraArgs is a set of arguments to pass to the job
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="hidden"
	// +optional
	ExtraArgs []string `json:"extraJobArgs,omitempty"`
}

MeterReportSpec defines the desired state of MeterReport +k8s:openapi-gen=true

func (*MeterReportSpec) DeepCopy

func (in *MeterReportSpec) DeepCopy() *MeterReportSpec

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

func (*MeterReportSpec) DeepCopyInto

func (in *MeterReportSpec) DeepCopyInto(out *MeterReportSpec)

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

type MeterReportStatus

type MeterReportStatus struct {
	// Conditions represent the latest available observations of an object's stateonfig
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors.x-descriptors="urn:alm:descriptor:io.kubernetes.conditions"
	Conditions status.Conditions `json:"conditions,omitempty"`

	// A list of pointers to currently running jobs.
	// DEPRECATED
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	AssociatedJob *common.JobReference `json:"jobReference,omitempty"`

	// UploadStatus displays the last status for upload targets.
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +optional
	UploadStatus UploadDetailConditions `json:"uploadStatus,omitempty"`

	// WorkloadCount is the number of workloads reported on
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	WorkloadCount *int `json:"workloadCount,omitempty"`

	// MetricUploadCount is the number of metrics in the report
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	MetricUploadCount *int `json:"metricUploadCount,omitempty"`

	// UploadAttempts track the number of times a file has failed due to
	// unrecoverable errors
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	RetryUpload int `json:"uploadAttempts,omitempty"`

	// UploadID is the ID associated with the upload
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	UploadID *types.UID `json:"uploadUID,omitempty"`

	// DataServiceStatus is the status of the report stored in data service
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	DataServiceStatus *UploadDetails `json:"dataServiceStatus,omitempty"`

	// Errors shows if there were any errors from queries
	// for the report.
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	Errors []ErrorDetails `json:"errors,omitempty"`

	// Warnings from the job
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	Warnings []ErrorDetails `json:"warnings,omitempty"`
}

MeterReportStatus defines the observed state of MeterReport

func (*MeterReportStatus) DeepCopy

func (in *MeterReportStatus) DeepCopy() *MeterReportStatus

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

func (*MeterReportStatus) DeepCopyInto

func (in *MeterReportStatus) DeepCopyInto(out *MeterReportStatus)

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

func (*MeterReportStatus) IsStored

func (stat *MeterReportStatus) IsStored() bool

func (*MeterReportStatus) IsUploaded

func (stat *MeterReportStatus) IsUploaded() bool

type MeterdefinitionCatalogServerStatus

type MeterdefinitionCatalogServerStatus struct {
	// MeterdefinitionCatalogServerConditions represent the latest available observations of an object's stateonfig
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	Conditions status.Conditions `json:"conditions,omitempty"`
}

[DEPRECATED] MeterdefinitionCatalogServerStatus defines the observed state of the MeterdefinitionCatalogServer. +k8s:openapi-gen=true

func (*MeterdefinitionCatalogServerStatus) DeepCopy

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

func (*MeterdefinitionCatalogServerStatus) DeepCopyInto

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

type PrometheusSpec

type PrometheusSpec struct {
	// Resource requirements for the deployment. Default is not defined.
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	corev1.ResourceRequirements `json:"resources,omitempty"`

	// Selector for the pods in the Prometheus deployment
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	NodeSelector map[string]string `json:"selector,omitempty"`

	// Storage for the deployment.
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	Storage StorageSpec `json:"storage"`

	// Replicas defines the number of desired replicas for the prometheus deployment. Used primarily when running metering on CRC
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:hidden"
	// +optional
	Replicas *int32 `json:"replicas,omitempty"`
}

PrometheusSpec contains configuration regarding prometheus deployment used for metering.

func (*PrometheusSpec) DeepCopy

func (in *PrometheusSpec) DeepCopy() *PrometheusSpec

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

func (*PrometheusSpec) DeepCopyInto

func (in *PrometheusSpec) DeepCopyInto(out *PrometheusSpec)

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

type RazeeConfigurationValues

type RazeeConfigurationValues struct {
	// Api key used to access the bucket IBM COS
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	IbmCosReaderKey *corev1.SecretKeySelector `json:"ibmCosReaderKey,omitempty"`
	// BucketName is the name of the bucket in Cloud Object Storage and correlates to your accountID
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	BucketName string `json:"bucketName,omitempty"`
	// Base url for the instance of IBM COS
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	IbmCosURL string `json:"ibmCosUrl,omitempty"`
	// Key used to identify a particular razee instance
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	RazeeDashOrgKey *corev1.SecretKeySelector `json:"razeeDashOrgKey,omitempty"`
	// The file name of the child RemoteResourecS3
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	ChildRSS3FIleName string `json:"childRRS3FileName,omitempty"`
	// Url used by the razee install to post data
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	RazeeDashUrl string `json:"razeeDashUrl,omitempty"`
	// FileSourceURL DEPRECATED: The url of the filesource arg that gets passed into the razeedeploy-job
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	FileSourceURL *string `json:"fileSourceUrl,omitempty"`
}

EDIT THIS FILE! THIS IS SCAFFOLDING FOR YOU TO OWN! NOTE: json tags are required. Any new fields you add must have json tags for the fields to be serialized. Configuration values used by Razee to communicate with the Red Hat Marketplace backend

func (*RazeeConfigurationValues) DeepCopy

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

func (*RazeeConfigurationValues) DeepCopyInto

func (in *RazeeConfigurationValues) DeepCopyInto(out *RazeeConfigurationValues)

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

type RazeeDeployment

type RazeeDeployment struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   RazeeDeploymentSpec   `json:"spec,omitempty"`
	Status RazeeDeploymentStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true RazeeDeployment is the resources that deploys Razee for the Red Hat Marketplace. This is an internal resource not meant to be modified directly. +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:path=razeedeployments,scope=Namespaced +kubebuilder:printcolumn:name="INSTALLING",type=string,JSONPath=`.status.installConditions[?(@.type == "Installing")].status` +kubebuilder:printcolumn:name="STEP",type=string,JSONPath=`.status.installConditions[?(@.type == "Installing")].reason` +kubebuilder:printcolumn:name="APPS",type=integer,JSONPath=`.status.nodesFromRazeeDeploymentsCount` +operator-sdk:gen-csv:customresourcedefinitions.displayName="(Internal) Razee Deployment" +operator-sdk:gen-csv:customresourcedefinitions.resources=`Deployment,v1,"redhat-marketplace-operator"` +operator-sdk:gen-csv:customresourcedefinitions.resources=`ConfigMap,v1,"redhat-marketplace-operator"` +operator-sdk:gen-csv:customresourcedefinitions.resources=`Secret,v1,"redhat-marketplace-operator"`

func (*RazeeDeployment) DeepCopy

func (in *RazeeDeployment) DeepCopy() *RazeeDeployment

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

func (*RazeeDeployment) DeepCopyInto

func (in *RazeeDeployment) DeepCopyInto(out *RazeeDeployment)

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

func (*RazeeDeployment) DeepCopyObject

func (in *RazeeDeployment) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RazeeDeploymentList

type RazeeDeploymentList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []RazeeDeployment `json:"items"`
}

RazeeDeploymentList contains a list of RazeeDeployment

func (*RazeeDeploymentList) DeepCopy

func (in *RazeeDeploymentList) DeepCopy() *RazeeDeploymentList

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

func (*RazeeDeploymentList) DeepCopyInto

func (in *RazeeDeploymentList) DeepCopyInto(out *RazeeDeploymentList)

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

func (*RazeeDeploymentList) DeepCopyObject

func (in *RazeeDeploymentList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RazeeDeploymentSpec

type RazeeDeploymentSpec struct {

	// Enabled is the flag that controls if the controller does work. Setting
	// enabled to true will create a Razee namespace and deploy it's components. Set to false to bypass Razee installation
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	Enabled bool `json:"enabled"`

	// ClusterUUID is the cluster identifier, used for installing razee.
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	ClusterUUID string `json:"clusterUUID"`

	// DeploySecretName is the name of our secret where Razee
	// variables are stored.
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	DeploySecretName *string `json:"deploySecretName,omitempty"`

	// TargetNamespace is configurable target of the razee namespace
	// This is to support legancy installs. Please do not edit.
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	TargetNamespace *string `json:"targetNamespace,omitempty"`

	// Configuration values provided from redhat marketplace
	// These are used internally by the Operator
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	DeployConfig *RazeeConfigurationValues `json:"deployConfig,omitempty"`

	// Location of your IBM Cloud Object Storage resources
	// Used internally by the Operator
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	ChildUrl *string `json:"childUrl,omitempty"`
	// Flag used by the RazeeDeployment Controller to decide whether to run legacy uninstall job
	// Used internally by the Operator
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	LegacyUninstallHasRun *bool `json:"legacyUninstallHasRun,omitempty"`

	// InstallIBMCatalogSource is the flag that indicates if the IBM Catalog Source is installed
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Install IBM Catalog Source?"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:booleanSwitch"
	InstallIBMCatalogSource *bool `json:"installIBMCatalogSource,omitempty"`

	// The features that can be enabled or disabled
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Features"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="hidden"
	Features *common.Features `json:"features,omitempty"`

	// The ClusterDisplayName is a unique name of for a cluster specified by the admin during registration
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.displayName="Features"
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="hidden"
	ClusterDisplayName string `json:"clusterDisplayName,omitempty"`
}

RazeeDeploymentSpec defines the desired state of RazeeDeployment +k8s:openapi-gen=true

func (*RazeeDeploymentSpec) DeepCopy

func (in *RazeeDeploymentSpec) DeepCopy() *RazeeDeploymentSpec

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

func (*RazeeDeploymentSpec) DeepCopyInto

func (in *RazeeDeploymentSpec) DeepCopyInto(out *RazeeDeploymentSpec)

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

type RazeeDeploymentStatus

type RazeeDeploymentStatus struct {
	// RazeeConditions represent the latest available observations of an object's stateonfig
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	Conditions status.Conditions `json:"installConditions,omitempty"`
	// JobConditions DEPRECATED: represent the latest available observations of an object's stateonfig
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	JobConditions *batch.JobCondition `json:"conditions,omitempty"`
	// JobState DEPRECATED: is the status of the Razee Install Job
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	JobState *batch.JobStatus `json:"jobState,omitempty"`
	// MissingValuesFromSecret validates the secret provided has all the correct fields
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	MissingDeploySecretValues []string `json:"missingValuesFromSecret,omitempty"`
	// RazeePrerequestesCreated is the list of configmaps and secrets required to be installed
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	RazeePrerequisitesCreated []string `json:"razeePrerequisitesCreated,omitempty"`
	// LocalSecretVarsPopulated DEPRECATED: informs if the correct local variables are correct set.
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	LocalSecretVarsPopulated *bool `json:"localSecretVarsPopulated,omitempty"`
	// RedHatMarketplaceSecretFound DEPRECATED: is the status of finding the secret in the cluster
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	RedHatMarketplaceSecretFound *bool `json:"redHatMarketplaceSecretFound,omitempty"`
	// RazeeJobInstall contains information regarding the install job so it can be removed
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	RazeeJobInstall *RazeeJobInstallStruct `json:"razee_job_install,omitempty"`
	// NodesFromRazeeDeployments contains the pods names created by the rhm-watch-keeper and rhm-remote-resources3-controller deployments
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	NodesFromRazeeDeployments []string `json:"nodesFromRazeeDeployments,omitempty"`
	// NodesFromRazeeDeploymentsCount contains the pods names created by the rhm-watch-keeper and rhm-remote-resources3-controller deployments
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	NodesFromRazeeDeploymentsCount int `json:"nodesFromRazeeDeploymentsCount,omitempty"`
}

RazeeDeploymentStatus defines the observed state of RazeeDeployment +k8s:openapi-gen=true

func (*RazeeDeploymentStatus) DeepCopy

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

func (*RazeeDeploymentStatus) DeepCopyInto

func (in *RazeeDeploymentStatus) DeepCopyInto(out *RazeeDeploymentStatus)

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

type RazeeJobInstallStruct

type RazeeJobInstallStruct struct {
	// RazeeNamespace is the namespace targeted for the Razee install
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	RazeeNamespace string `json:"razee_namespace"`
	// RazeeInstallURL is the url used to install the Razee resources
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	RazeeInstallURL string `json:"razee_install_url"`
}

func (*RazeeJobInstallStruct) DeepCopy

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

func (*RazeeJobInstallStruct) DeepCopyInto

func (in *RazeeJobInstallStruct) DeepCopyInto(out *RazeeJobInstallStruct)

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

type StorageSpec

type StorageSpec struct {
	// Storage class for the prometheus stateful set. Default is "" i.e. default.
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +optional
	Class *string `json:"class,omitempty"`

	// Storage size for the prometheus deployment. Default is 40Gi.
	// +kubebuilder:validation:Type=string
	// +kubebuilder:validation:Format=quantity
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	Size resource.Quantity `json:"size,omitempty"`

	// EmptyDir is a temporary storage type that gets created on the prometheus pod. When this is defined metering will run on CRC.
	// +kubebuilder:validation:Type=object
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.statusDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:hidden"
	// +optional
	EmptyDir *corev1.EmptyDirVolumeSource `json:"emptyDir,omitempty"`
}

StorageSpec contains configuration for pvc claims.

func (*StorageSpec) DeepCopy

func (in *StorageSpec) DeepCopy() *StorageSpec

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

func (*StorageSpec) DeepCopyInto

func (in *StorageSpec) DeepCopyInto(out *StorageSpec)

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

type UploadDetailConditions

type UploadDetailConditions []*UploadDetails

func (UploadDetailConditions) AllSuccesses

func (u UploadDetailConditions) AllSuccesses() bool

func (*UploadDetailConditions) Append

func (UploadDetailConditions) DeepCopy

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

func (UploadDetailConditions) DeepCopyInto

func (in UploadDetailConditions) DeepCopyInto(out *UploadDetailConditions)

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

func (UploadDetailConditions) Errors

func (u UploadDetailConditions) Errors() (err error)

func (UploadDetailConditions) Get

func (UploadDetailConditions) OneSuccessOf

func (u UploadDetailConditions) OneSuccessOf(targets []string) bool

func (*UploadDetailConditions) Set

type UploadDetails

type UploadDetails struct {
	// Target is the upload target
	Target string `json:"target"`
	// ID is the upload id
	ID string `json:"id,omitempty"`
	// Status is the current status
	Status UploadStatus `json:"status"`
	// Error is present if an error occurred on upload
	Error string `json:"error,omitempty"`
}

UploadDetails provides details about uploads for the meterreport

func (*UploadDetails) DeepCopy

func (in *UploadDetails) DeepCopy() *UploadDetails

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

func (*UploadDetails) DeepCopyInto

func (in *UploadDetails) DeepCopyInto(out *UploadDetails)

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

func (UploadDetails) Err

func (u UploadDetails) Err() error

func (UploadDetails) Success

func (u UploadDetails) Success() bool

type UploadStatus

type UploadStatus string
const (
	UploadStatusSuccess UploadStatus = "success"
	UploadStatusFailure UploadStatus = "failure"
)

func (UploadStatus) MarshalJSON

func (a UploadStatus) MarshalJSON() ([]byte, error)

func (UploadStatus) String

func (a UploadStatus) String() string

func (*UploadStatus) UnmarshalJSON

func (a *UploadStatus) UnmarshalJSON(b []byte) error

type Workload

type Workload struct {
	// Name of the workload, must be unique in a meter definition.
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text"
	Name string `json:"name"`

	// WorkloadType identifies the type of workload to look for. This can be
	// pod or service right now.
	// +kubebuilder:validation:Enum=Pod;Service;PersistentVolumeClaim
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:select:Pod,urn:alm:descriptor:com.tectonic.ui:select:Service,urn:alm:descriptor:com.tectonic.ui:select:PersistentVolumeClaim"
	WorkloadType WorkloadType `json:"type"`

	// OwnerCRD is the name of the GVK to look for as the owner of all the
	// meterable assets. If omitted, the labels and annotations are used instead.
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors.x-descriptors="urn:alm:descriptor:com.tectonic.ui:text"
	OwnerCRD *common.GroupVersionKind `json:"ownerCRD,omitempty"`

	// LabelSelector are used to filter to the correct workload.
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"`

	// AnnotationSelector are used to filter to the correct workload.
	// +optional
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	AnnotationSelector *metav1.LabelSelector `json:"annotationSelector,omitempty"`

	// MetricLabels are the labels to collect
	// +required
	// +kubebuilder:validation:MinItems=1
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	// +operator-sdk:gen-csv:customresourcedefinitions.specDescriptors=true
	MetricLabels []MeterLabelQuery `json:"metricLabels,omitempty"`
}

Workload helps identify what to target for metering.

func (*Workload) DeepCopy

func (in *Workload) DeepCopy() *Workload

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

func (*Workload) DeepCopyInto

func (in *Workload) DeepCopyInto(out *Workload)

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

type WorkloadStatus

type WorkloadStatus struct {
	// Name of the workload, must be unique in a meter definition.
	Name string `json:"name"`

	CurrentMetricValue string `json:"currentValue"`

	LastReadTime metav1.Time `json:"startTime"`
}

WorkloadStatus provides quick status to check if workloads are working correctly

func (*WorkloadStatus) DeepCopy

func (in *WorkloadStatus) DeepCopy() *WorkloadStatus

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

func (*WorkloadStatus) DeepCopyInto

func (in *WorkloadStatus) DeepCopyInto(out *WorkloadStatus)

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

type WorkloadType

type WorkloadType string
const (
	WorkloadTypePod            WorkloadType = "Pod"
	WorkloadTypeService        WorkloadType = "Service"
	WorkloadTypeServiceMonitor WorkloadType = "ServiceMonitor"
	WorkloadTypePVC            WorkloadType = "PersistentVolumeClaim"
)

func ConvertWorkloadTypeAlpha

func ConvertWorkloadTypeAlpha(typeIn interface{}) (WorkloadType, error)

type WorkloadVertex

type WorkloadVertex string
const (
	WorkloadVertexOperatorGroup WorkloadVertex = "OperatorGroup"
	WorkloadVertexNamespace                    = "Namespace"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL