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
- Variables
- func ConvertWorkloadTypeBeta(typeIn interface{}) (common.WorkloadType, error)
- func Resource(resource string) schema.GroupResource
- type CSVNamespacedName
- type ErrorDetails
- type ExternalPrometheus
- type MarketplaceConfig
- type MarketplaceConfigLicense
- type MarketplaceConfigList
- type MarketplaceConfigSpec
- type MarketplaceConfigStatus
- type MeterBase
- type MeterBaseList
- type MeterBaseSpec
- type MeterBaseStatus
- type MeterDefinition
- func (meterdef *MeterDefinition) BuildMeterDefinitionFromString(meterdefString, name, namespace, nameLabel, namespaceLabel string) error
- func (dst *MeterDefinition) ConvertFrom(srcRaw conversion.Hub) error
- func (src *MeterDefinition) ConvertTo(dstRaw conversion.Hub) error
- func (in *MeterDefinition) DeepCopy() *MeterDefinition
- func (in *MeterDefinition) DeepCopyInto(out *MeterDefinition)
- func (in *MeterDefinition) DeepCopyObject() runtime.Object
- func (meterdef *MeterDefinition) ToPrometheusLabels() []map[string]string
- type MeterDefinitionList
- type MeterDefinitionSpec
- type MeterDefinitionStatus
- type MeterLabelQuery
- type MeterReport
- type MeterReportList
- type MeterReportSpec
- type MeterReportStatus
- type MeterdefinitionCatalogServerStatus
- type PrometheusSpec
- type RazeeConfigurationValues
- type RazeeDeployment
- type RazeeDeploymentList
- type RazeeDeploymentSpec
- type RazeeDeploymentStatus
- type RazeeJobInstallStruct
- type StorageSpec
- type UploadDetailConditions
- func (u UploadDetailConditions) AllSuccesses() bool
- func (u *UploadDetailConditions) Append(conds UploadDetailConditions)
- func (in UploadDetailConditions) DeepCopy() UploadDetailConditions
- func (in UploadDetailConditions) DeepCopyInto(out *UploadDetailConditions)
- func (u UploadDetailConditions) Errors() (err error)
- func (u UploadDetailConditions) Get(target string) *UploadDetails
- func (u UploadDetailConditions) OneSuccessOf(targets []string) bool
- func (u *UploadDetailConditions) Set(cond UploadDetails)
- type UploadDetails
- type UploadStatus
- type Workload
- type WorkloadStatus
- type WorkloadType
- type WorkloadVertex
Constants ¶
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" 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.
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" )
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" )
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 ¶
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 )
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", } )
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, } )
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 ¶
func (in *MarketplaceConfigLicense) DeepCopy() *MarketplaceConfigLicense
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 ¶
func (in *MarketplaceConfigList) DeepCopy() *MarketplaceConfigList
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 ¶
func (in *MarketplaceConfigSpec) DeepCopy() *MarketplaceConfigSpec
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 ¶
func (in *MarketplaceConfigStatus) DeepCopy() *MarketplaceConfigStatus
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MeterBase.
func (*MeterBase) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MeterBase) DeepCopyObject ¶
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"` // +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 ¶
func (in *MeterDefinitionStatus) DeepCopy() *MeterDefinitionStatus
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 ¶
func (in *MeterdefinitionCatalogServerStatus) DeepCopy() *MeterdefinitionCatalogServerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MeterdefinitionCatalogServerStatus.
func (*MeterdefinitionCatalogServerStatus) DeepCopyInto ¶
func (in *MeterdefinitionCatalogServerStatus) DeepCopyInto(out *MeterdefinitionCatalogServerStatus)
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 ¶
func (in *RazeeConfigurationValues) DeepCopy() *RazeeConfigurationValues
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 ¶
func (in *RazeeDeploymentStatus) DeepCopy() *RazeeDeploymentStatus
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 ¶
func (in *RazeeJobInstallStruct) DeepCopy() *RazeeJobInstallStruct
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 (u *UploadDetailConditions) Append(conds UploadDetailConditions)
func (UploadDetailConditions) DeepCopy ¶
func (in UploadDetailConditions) DeepCopy() UploadDetailConditions
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 (u UploadDetailConditions) Get(target string) *UploadDetails
func (UploadDetailConditions) OneSuccessOf ¶
func (u UploadDetailConditions) OneSuccessOf(targets []string) bool
func (*UploadDetailConditions) Set ¶
func (u *UploadDetailConditions) Set(cond UploadDetails)
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Workload.
func (*Workload) DeepCopyInto ¶
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" )