v1beta1

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Jan 12, 2023 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package v1beta1 contains API Schema definitions for the koku-metrics-cfg v1beta1 API group +kubebuilder:object:generate=true +groupName=koku-metrics-cfg.openshift.io

Index

Constants

View Source
const (
	// DefaultAuthenticationType The default authencation type.
	DefaultAuthenticationType AuthenticationType = Token

	// DefaultAPIURL The default ingress path.
	DefaultAPIURL string = "https://cloud.redhat.com"

	// DefaultIngressPath The default ingress path.
	DefaultIngressPath string = "/api/ingress/v1/upload"

	// DefaultSourcesPath The default ingress path.
	DefaultSourcesPath string = "/api/sources/v1.0/"

	// DefaultPrometheusSvcAddress The default address to thanos-querier.
	DefaultPrometheusSvcAddress string = "https://thanos-querier.openshift-monitoring.svc:9091"

	// DefaultValidateCert The default cert validation setting
	DefaultValidateCert bool = CertIgnore

	//DefaultUploadToggle The default upload toggle
	DefaultUploadToggle bool = UploadOn

	//DefaultUploadCycle The default upload cycle
	DefaultUploadCycle int64 = UploadSchedule

	//DefaultSourceCheckCycle The default source check cycle
	DefaultSourceCheckCycle int64 = SourceCheckSchedule

	//DefaultMaxSize The default max size for report files
	DefaultMaxSize int64 = PackagingMaxSize
)
View Source
const (
	// CertIgnore allows certificate validation to be bypassed.
	CertIgnore bool = false

	// CertCheck allows certificate validation to occur.
	CertCheck bool = true

	//UploadOn sets the operator to upload to cloud.redhat.com.
	UploadOn bool = true

	//UploadOff sets the operator to not upload to cloud.redhat.com.
	UploadOff bool = false

	//UploadCycle sets the default cycle to be 360 minutes (6 hours).
	UploadSchedule int64 = 360

	//SourceCheckSchedule sets the default cycle to be 1440 minutes (24 hours).
	SourceCheckSchedule int64 = 1440

	//PackagingMaxSize sets the default max file size to be 100 MB
	PackagingMaxSize int64 = 100
)

CertValidationType describes how the certificate validation will be handled. Only one of the following certificate validation types may be specified. If none of the following types are specified, the default one is Token.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "koku-metrics-cfg.openshift.io", Version: "v1beta1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type AuthenticationSpec

type AuthenticationSpec struct {

	// AuthType is a field of KokuMetricsConfig to represent the authentication type to be used basic or token.
	// Valid values are:
	// - "basic" : Enables authentication using user and password from authentication secret.
	// - "token" (default): Uses cluster token for authentication.
	// +kubebuilder:default="token"
	AuthType AuthenticationType `json:"type"`

	// AuthenticationSecretName is a field of KokuMetricsConfig to represent the secret with the user and password used for uploads.
	// +optional
	AuthenticationSecretName string `json:"secret_name,omitempty"`
}

AuthenticationSpec defines the desired state of Authentication object in the KokuMetricsConfigSpec.

func (*AuthenticationSpec) DeepCopy

func (in *AuthenticationSpec) DeepCopy() *AuthenticationSpec

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

func (*AuthenticationSpec) DeepCopyInto

func (in *AuthenticationSpec) DeepCopyInto(out *AuthenticationSpec)

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

type AuthenticationStatus

type AuthenticationStatus struct {

	// AuthType is a field of KokuMetricsConfig to represent the authentication type to be used basic or token.
	AuthType AuthenticationType `json:"type,omitempty"`

	// AuthenticationSecretName is a field of KokuMetricsConfig to represent the secret with the user and password used for uploads.
	AuthenticationSecretName string `json:"secret_name,omitempty"`

	// AuthenticationCredentialsFound is a field of KokuMetricsConfig to represent if used for uploads were found.
	AuthenticationCredentialsFound *bool `json:"credentials_found,omitempty"`

	// ValidBasicAuth is a field of KokuMetricsConfig to represent if the given basic auth credentials are valid.
	ValidBasicAuth *bool `json:"valid_basic_auth,omitempty"`

	// AuthErrorMessage is a field of KokuMetricsConfig to represent an `invalid credentials` error message.
	AuthErrorMessage string `json:"error,omitempty"`

	// LastVerificationTime is a field of KokuMetricsConfig to represent the last time credentials were verified.
	// +nullable
	LastVerificationTime *metav1.Time `json:"last_credential_verification_time,omitempty"`
}

AuthenticationStatus defines the desired state of Authentication object in the KokuMetricsConfigStatus.

func (*AuthenticationStatus) DeepCopy

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

func (*AuthenticationStatus) DeepCopyInto

func (in *AuthenticationStatus) DeepCopyInto(out *AuthenticationStatus)

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

type AuthenticationType

type AuthenticationType string

AuthenticationType describes how the upload will be handled. Only one of the following authentication types may be specified. If none of the following types are specified, the default one is Token. +kubebuilder:validation:Enum=token;basic

const (
	// Basic allows upload of data using basic authentication.
	Basic AuthenticationType = "basic"

	// Token allows upload of data using token authentication.
	Token AuthenticationType = "token"
)

type CloudDotRedHatSourceSpec

type CloudDotRedHatSourceSpec struct {

	// FOR DEVELOPMENT ONLY.
	// SourcesAPIPath is a field of KokuMetricsConfig to represent the path of the Sources API service.
	// The default is `/api/sources/v1.0/`.
	// +kubebuilder:default=`/api/sources/v1.0/`
	SourcesAPIPath string `json:"sources_path"`

	// SourceName is a field of KokuMetricsConfigSpec to represent the source name on cloud.redhat.com.
	// +optional
	SourceName string `json:"name,omitempty"`

	// CreateSource is a field of KokuMetricsConfigSpec to represent if the source should be created if not found.
	// +kubebuilder:default=false
	CreateSource *bool `json:"create_source"`

	// CheckCycle is a field of KokuMetricsConfig to represent the number of minutes between each source check schedule
	// The default is 1440 min (24 hours).
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default=1440
	CheckCycle *int64 `json:"check_cycle"`
}

CloudDotRedHatSourceSpec defines the desired state of CloudDotRedHatSource object in the KokuMetricsConfigSpec.

func (*CloudDotRedHatSourceSpec) DeepCopy

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

func (*CloudDotRedHatSourceSpec) DeepCopyInto

func (in *CloudDotRedHatSourceSpec) DeepCopyInto(out *CloudDotRedHatSourceSpec)

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

type CloudDotRedHatSourceStatus

type CloudDotRedHatSourceStatus struct {

	// SourcesAPIPath is a field of KokuMetricsConfig to represent the path of the Sources API service.
	// +optional
	SourcesAPIPath string `json:"sources_path,omitempty"`

	// SourceName is a field of KokuMetricsConfigStatus to represent the source name on cloud.redhat.com.
	// +optional
	SourceName string `json:"name,omitempty"`

	// SourceDefined is a field of KokuMetricsConfigStatus to represent if the source exists as defined on cloud.redhat.com.
	// +optional
	SourceDefined *bool `json:"source_defined,omitempty"`

	// CreateSource is a field of KokuMetricsConfigStatus to represent if the source should be created if not found.
	// A source will not be created if upload_toggle is `false`.
	// +optional
	CreateSource *bool `json:"create_source,omitempty"`

	// SourceError is a field of KokuMetricsConfigStatus to represent the error encountered creating the source.
	// +optional
	SourceError string `json:"error,omitempty"`

	// LastSourceCheckTime is a field of KokuMetricsConfig that shows the time that the last check was attempted.
	// +nullable
	LastSourceCheckTime metav1.Time `json:"last_check_time,omitempty"`

	// CheckCycle is a field of KokuMetricsConfig to represent the number of minutes between each source check schedule.
	// The default is 1440 min (24 hours).
	CheckCycle *int64 `json:"check_cycle,omitempty"`
}

CloudDotRedHatSourceStatus defines the observed state of CloudDotRedHatSource object in the KokuMetricsConfigStatus.

func (*CloudDotRedHatSourceStatus) DeepCopy

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

func (*CloudDotRedHatSourceStatus) DeepCopyInto

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

type EmbeddedObjectMetadata

type EmbeddedObjectMetadata struct {
	// Name must be unique within a namespace. Is required when creating resources, although
	// some resources may allow a client to request the generation of an appropriate name
	// automatically. Name is primarily intended for creation idempotence and configuration
	// definition.
	// Cannot be updated.
	// More info: http://kubernetes.io/docs/user-guide/identifiers#names
	// +optional
	Name string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"`

	// Map of string keys and values that can be used to organize and categorize
	// (scope and select) objects. May match selectors of replication controllers
	// and services.
	// More info: http://kubernetes.io/docs/user-guide/labels
	// +optional
	Labels map[string]string `json:"labels,omitempty" protobuf:"bytes,11,rep,name=labels"`

	// Annotations is an unstructured key value map stored with a resource that may be
	// set by external tools to store and retrieve arbitrary metadata. They are not
	// queryable and should be preserved when modifying objects.
	// More info: http://kubernetes.io/docs/user-guide/annotations
	// +optional
	Annotations map[string]string `json:"annotations,omitempty" protobuf:"bytes,12,rep,name=annotations"`
}

EmbeddedObjectMetadata contains a subset of the fields included in k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta Only fields which are relevant to embedded resources are included.

func (*EmbeddedObjectMetadata) DeepCopy

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

func (*EmbeddedObjectMetadata) DeepCopyInto

func (in *EmbeddedObjectMetadata) DeepCopyInto(out *EmbeddedObjectMetadata)

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

type EmbeddedPersistentVolumeClaim

type EmbeddedPersistentVolumeClaim struct {
	metav1.TypeMeta `json:",inline"`

	// EmbeddedMetadata contains metadata relevant to an EmbeddedResource.
	EmbeddedObjectMetadata `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`

	// Spec defines the desired characteristics of a volume requested by a pod author.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
	// +optional
	Spec corev1.PersistentVolumeClaimSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
}

EmbeddedPersistentVolumeClaim is an embedded version of k8s.io/api/core/v1.PersistentVolumeClaim. It contains TypeMeta and a reduced ObjectMeta.

func (*EmbeddedPersistentVolumeClaim) DeepCopy

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

func (*EmbeddedPersistentVolumeClaim) DeepCopyInto

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

type KokuMetricsConfig

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

	Spec   KokuMetricsConfigSpec   `json:"spec"`
	Status KokuMetricsConfigStatus `json:"status,omitempty"`
}

KokuMetricsConfig is the Schema for the kokumetricsconfig API

func (*KokuMetricsConfig) DeepCopy

func (in *KokuMetricsConfig) DeepCopy() *KokuMetricsConfig

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

func (*KokuMetricsConfig) DeepCopyInto

func (in *KokuMetricsConfig) DeepCopyInto(out *KokuMetricsConfig)

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

func (*KokuMetricsConfig) DeepCopyObject

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

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

type KokuMetricsConfigList

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

KokuMetricsConfigList contains a list of KokuMetricsConfig

func (*KokuMetricsConfigList) DeepCopy

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

func (*KokuMetricsConfigList) DeepCopyInto

func (in *KokuMetricsConfigList) DeepCopyInto(out *KokuMetricsConfigList)

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

func (*KokuMetricsConfigList) DeepCopyObject

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

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

type KokuMetricsConfigSpec

type KokuMetricsConfigSpec struct {

	// ClusterID is a field of KokuMetricsConfig to represent the cluster UUID. Normally this value should not be
	// specified. Only set this value if the clusterID cannot be obtained from the ClusterVersion.
	// +optional
	ClusterID string `json:"clusterID,omitempty"`

	// ClusterVersion is a field of KokuMetricsConfig to represent the cluster version. Normally this value should not be
	// specified. Only set this value if the clusterVersion cannot be obtained from the ClusterVersion.
	// +optional
	ClusterVersion string `json:"clusterVersion,omitempty"`

	// FOR DEVELOPMENT ONLY.
	// APIURL is a field of KokuMetricsConfig to represent the url of the API endpoint for service interaction.
	// The default is `https://cloud.redhat.com`.
	// +kubebuilder:default=`https://cloud.redhat.com`
	APIURL string `json:"api_url,omitempty"`

	// Authentication is a field of KokuMetricsConfig to represent the authentication object.
	Authentication AuthenticationSpec `json:"authentication"`

	//Packaging is a field of KokuMetricsConfig to represent the packaging object.
	Packaging PackagingSpec `json:"packaging"`

	// Upload is a field of KokuMetricsConfig to represent the upload object.
	Upload UploadSpec `json:"upload"`

	// PrometheusConfig is a field of KokuMetricsConfig to represent the configuration of Prometheus connection.
	PrometheusConfig PrometheusSpec `json:"prometheus_config"`

	// Source is a field of KokuMetricsConfig to represent the desired source on cloud.redhat.com.
	Source CloudDotRedHatSourceSpec `json:"source"`

	// VolumeClaimTemplate is a field of KokuMetricsConfig to represent a PVC template.
	VolumeClaimTemplate *EmbeddedPersistentVolumeClaim `json:"volume_claim_template,omitempty"`
}

KokuMetricsConfigSpec defines the desired state of KokuMetricsConfig.

func (*KokuMetricsConfigSpec) DeepCopy

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

func (*KokuMetricsConfigSpec) DeepCopyInto

func (in *KokuMetricsConfigSpec) DeepCopyInto(out *KokuMetricsConfigSpec)

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

type KokuMetricsConfigStatus

type KokuMetricsConfigStatus struct {

	// ClusterID is a field of KokuMetricsConfig to represent the cluster UUID.
	ClusterID string `json:"clusterID,omitempty"`

	// ClusterVersion is a field of KokuMetricsConfig to represent the cluster version.
	ClusterVersion string `json:"clusterVersion,omitempty"`

	// APIURL is a field of KokuMetricsConfig to represent the url of the API endpoint for service interaction.
	// +optional
	APIURL string `json:"api_url,omitempty"`

	// Authentication is a field of KokuMetricsConfig to represent the authentication status.
	Authentication AuthenticationStatus `json:"authentication,omitempty"`

	// Packaging is a field of KokuMetricsConfig to represent the packaging status
	Packaging PackagingStatus `json:"packaging,omitempty"`

	// Upload is a field of KokuMetricsConfig to represent the upload object.
	Upload UploadStatus `json:"upload,omitempty"`

	// OperatorCommit is a field of KokuMetricsConfig that shows the commit hash of the operator.
	OperatorCommit string `json:"operator_commit,omitempty"`

	// Prometheus represents the status of premetheus queries.
	Prometheus PrometheusStatus `json:"prometheus,omitempty"`

	// Reports represents the status of report generation.
	Reports ReportsStatus `json:"reports,omitempty"`

	// Source is a field of KokuMetricsConfig to represent the observed state of the source on cloud.redhat.com.
	// +optional
	Source CloudDotRedHatSourceStatus `json:"source,omitempty"`

	// Storage is a field
	Storage StorageStatus `json:"storage,omitempty"`

	// PersistentVolumeClaim is a field of KokuMetricsConfig to represent a PVC.
	PersistentVolumeClaim *EmbeddedPersistentVolumeClaim `json:"persistent_volume_claim,omitempty"`
}

KokuMetricsConfigStatus defines the observed state of KokuMetricsConfig.

func (*KokuMetricsConfigStatus) DeepCopy

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

func (*KokuMetricsConfigStatus) DeepCopyInto

func (in *KokuMetricsConfigStatus) DeepCopyInto(out *KokuMetricsConfigStatus)

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

type PackagingSpec

type PackagingSpec struct {

	// MaxSize is a field of KokuMetricsConfig to represent the max file size in megabytes that will be compressed for upload to Ingress.
	// The default is 100.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=100
	// +kubebuilder:default=100
	MaxSize int64 `json:"max_size_MB"`

	// MaxReports is a field of KokuMetricsConfig to represent the maximum number of reports to store.
	// The default is 30 reports which corresponds to approximately 7 days worth of data given the other default values.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:default=30
	MaxReports int64 `json:"max_reports_to_store"`
}

PackagingSpec defines the desired state of the Packaging object in the KokuMetricsConfigSpec.

func (*PackagingSpec) DeepCopy

func (in *PackagingSpec) DeepCopy() *PackagingSpec

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

func (*PackagingSpec) DeepCopyInto

func (in *PackagingSpec) DeepCopyInto(out *PackagingSpec)

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

type PackagingStatus

type PackagingStatus struct {

	// LastSuccessfulPackagingTime is a field of KokuMetricsConfig that shows the time of the last successful file packaging.
	// +nullable
	LastSuccessfulPackagingTime metav1.Time `json:"last_successful_packaging_time,omitempty"`

	// MaxReports is a field of KokuMetricsConfig to represent the maximum number of reports to store.
	MaxReports *int64 `json:"max_reports_to_store,omitempty"`

	// MaxSize is a field of KokuMetricsConfig to represent the max file size in megabytes that will be compressed for upload to Ingress.
	MaxSize *int64 `json:"max_size_MB,omitempty"`

	// PackagedFiles is a field of KokuMetricsConfig to represent the list of file packages in storage.
	PackagedFiles []string `json:"packaged_files,omitempty"`

	// PackagingError is a field of KokuMetricsConfig to represent the error encountered packaging the reports.
	PackagingError string `json:"error,omitempty"`

	// ReportCount is a field of KokuMetricsConfig to represent the number of reports in storage.
	ReportCount *int64 `json:"number_reports_stored,omitempty"`
}

PackagingStatus defines the observed state of the Packing object in the KokuMetricsConfigStatus.

func (*PackagingStatus) DeepCopy

func (in *PackagingStatus) DeepCopy() *PackagingStatus

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

func (*PackagingStatus) DeepCopyInto

func (in *PackagingStatus) DeepCopyInto(out *PackagingStatus)

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

type PrometheusSpec

type PrometheusSpec struct {

	// ContextTimeout is a field of KokuMetricsConfig to represent how long a query to prometheus should run in seconds before timing out.
	// The default is 120 seconds.
	// +kubebuilder:validation:Minimum=10
	// +kubebuilder:validation:Maximum=180
	// +kubebuilder:default=120
	ContextTimeout *int64 `json:"context_timeout,omitempty"`

	// FOR DEVELOPMENT ONLY.
	// SvcAddress is a field of KokuMetricsConfig to represent the thanos-querier address.
	// The default is `https://thanos-querier.openshift-monitoring.svc:9091`.
	// +kubebuilder:default=`https://thanos-querier.openshift-monitoring.svc:9091`
	SvcAddress string `json:"service_address"`

	// FOR DEVELOPMENT ONLY.
	// SkipTLSVerification is a field of KokuMetricsConfig to represent if the thanos-querier endpoint must be certificate validated.
	// The default is false.
	// +kubebuilder:default=false
	SkipTLSVerification *bool `json:"skip_tls_verification"`
}

PrometheusSpec defines the desired state of PrometheusConfig object in the KokuMetricsConfigSpec.

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 PrometheusStatus

type PrometheusStatus struct {

	// PrometheusConfigured is a field of KokuMetricsConfigStatus to represent if the operator is configured to connect to prometheus.
	PrometheusConfigured bool `json:"prometheus_configured"`

	// ConfigError is a field of KokuMetricsConfigStatus to represent errors during prometheus configuration.
	ConfigError string `json:"configuration_error,omitempty"`

	// PrometheusConnected is a field of KokuMetricsConfigStatus to represent if prometheus can be queried.
	PrometheusConnected bool `json:"prometheus_connected"`

	//ContextTimeout is a field of KokuMetricsConfigState to represent how long a query to prometheus should run in seconds before timing out.
	ContextTimeout *int64 `json:"context_timeout,omitempty"`

	// ConnectionError is a field of KokuMetricsConfigStatus to represent errors during prometheus test query.
	ConnectionError string `json:"prometheus_connection_error,omitempty"`

	// LastQueryStartTime is a field of KokuMetricsConfigStatus to represent the last time queries were started.
	// +nullable
	LastQueryStartTime metav1.Time `json:"last_query_start_time,omitempty"`

	// LastQuerySuccessTime is a field of KokuMetricsConfigStatus to represent the last time queries were successful.
	// +nullable
	LastQuerySuccessTime metav1.Time `json:"last_query_success_time,omitempty"`

	// SvcAddress is the internal thanos-querier address.
	SvcAddress string `json:"service_address,omitempty"`

	// SkipTLSVerification is a field of KokuMetricsConfigStatus to represent if the thanos-querier endpoint must be certificate validated.
	SkipTLSVerification *bool `json:"skip_tls_verification,omitempty"`
}

PrometheusStatus defines the status for querying prometheus.

func (*PrometheusStatus) DeepCopy

func (in *PrometheusStatus) DeepCopy() *PrometheusStatus

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

func (*PrometheusStatus) DeepCopyInto

func (in *PrometheusStatus) DeepCopyInto(out *PrometheusStatus)

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

type ReportsStatus

type ReportsStatus struct {

	// ReportMonth is a field of KokuMetricsConfigStatus to represent the month for which reports are being generated.
	ReportMonth string `json:"report_month,omitempty"`

	// LastHourQueried is a field of KokuMetricsConfigStatus to represent the time range for which metrics were last queried.
	LastHourQueried string `json:"last_hour_queried,omitempty"`

	// DataCollected is a field of KokuMetricsConfigStatus to represent whether or not data was collected for the last query.
	DataCollected bool `json:"data_collected,omitempty"`

	// DataCollectionMessage is a field of KokuMetricsConfigStatus to represent a message associated with the data_collected status.
	DataCollectionMessage string `json:"data_collection_message,omitempty"`
}

ReportsStatus defines the status for generating reports.

func (*ReportsStatus) DeepCopy

func (in *ReportsStatus) DeepCopy() *ReportsStatus

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

func (*ReportsStatus) DeepCopyInto

func (in *ReportsStatus) DeepCopyInto(out *ReportsStatus)

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

type StorageStatus

type StorageStatus struct {

	// VolumeType is the string representation of the volume type.
	VolumeType string `json:"volume_type,omitempty"`

	// VolumeMounted is a bool to indicate if storage volume was mounted.
	VolumeMounted bool `json:"volume_mounted,omitempty"`
}

StorageStatus defines the status for storage.

func (*StorageStatus) DeepCopy

func (in *StorageStatus) DeepCopy() *StorageStatus

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

func (*StorageStatus) DeepCopyInto

func (in *StorageStatus) DeepCopyInto(out *StorageStatus)

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

type UploadSpec

type UploadSpec struct {

	// FOR DEVELOPMENT ONLY.
	// IngressAPIPath is a field of KokuMetricsConfig to represent the path of the Ingress API service.
	// The default is `/api/ingress/v1/upload`.
	// +kubebuilder:default=`/api/ingress/v1/upload`
	IngressAPIPath string `json:"ingress_path"`

	// UploadWait is a field of KokuMetricsConfig to represent the time to wait before sending an upload.
	// +optional
	// +kubebuilder:validation:Minimum=0
	UploadWait *int64 `json:"upload_wait,omitempty"`

	// UploadCycle is a field of KokuMetricsConfig to represent the number of minutes between each upload schedule.
	// The default is 360 min (6 hours).
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:default=360
	UploadCycle *int64 `json:"upload_cycle"`

	// UploadToggle is a field of KokuMetricsConfig to represent if the operator is installed in a restricted-network.
	// If `false`, the operator will not upload to cloud.redhat.com or check/create sources.
	// The default is true.
	// +kubebuilder:default=true
	UploadToggle *bool `json:"upload_toggle"`

	// ValidateCert is a field of KokuMetricsConfig to represent if the Ingress endpoint must be certificate validated.
	// +kubebuilder:default=true
	ValidateCert *bool `json:"validate_cert"`
}

UploadSpec defines the desired state of Authentication object in the KokuMetricsConfigSpec.

func (*UploadSpec) DeepCopy

func (in *UploadSpec) DeepCopy() *UploadSpec

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

func (*UploadSpec) DeepCopyInto

func (in *UploadSpec) DeepCopyInto(out *UploadSpec)

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

type UploadStatus

type UploadStatus struct {

	// IngressAPIPath is a field of KokuMetricsConfig to represent the path of the Ingress API service.
	// +optional
	IngressAPIPath string `json:"ingress_path,omitempty"`

	// UploadToggle is a field of KokuMetricsConfig to represent if the operator should upload to cloud.redhat.com.
	// The default is true
	UploadToggle *bool `json:"upload,omitempty"`

	// UploadWait is a field of KokuMetricsConfig to represent the time to wait before sending an upload.
	UploadWait *int64 `json:"upload_wait,omitempty"`

	// UploadCycle is a field of KokuMetricsConfig to represent the number of minutes between each upload schedule.
	// The default is 360 min (6 hours).
	UploadCycle *int64 `json:"upload_cycle,omitempty"`

	// UploadError is a field of KokuMetricsConfigStatus to represent the error encountered uploading reports.
	// +optional
	UploadError string `json:"error,omitempty"`

	// LastUploadStatus is a field of KokuMetricsConfig that shows the http status of the last upload.
	LastUploadStatus string `json:"last_upload_status,omitempty"`

	// LastPayloadName is a field of KokuMetricsConfig that shows the name of the last payload file.
	LastPayloadName string `json:"last_payload_name,omitempty"`

	// LastPayloadManifest is a field of KokuMetricsConfig that shows the manifestID of the last payload.
	LastPayloadManifestID string `json:"last_payload_manifest_id,omitempty"`

	// LastPayloadRequestID is a field of KokuMetricsConfig that shows the insights request id of the last payload.
	LastPayloadRequestID string `json:"last_payload_request_id,omitempty"`

	// LastPayloadFiles is a field of KokuMetricsConfig to represent the list of files in the last payload that was sent.
	LastPayloadFiles []string `json:"last_payload_files,omitempty"`

	// LastSuccessfulUploadTime is a field of KokuMetricsConfig that shows the time of the last successful upload.
	// +nullable
	LastSuccessfulUploadTime metav1.Time `json:"last_successful_upload_time,omitempty"`

	// ValidateCert is a field of KokuMetricsConfig to represent if the Ingress endpoint must be certificate validated.
	ValidateCert *bool `json:"validate_cert,omitempty"`
}

UploadStatus defines the observed state of Upload object in the KokuMetricsConfigStatus.

func (*UploadStatus) DeepCopy

func (in *UploadStatus) DeepCopy() *UploadStatus

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

func (*UploadStatus) DeepCopyInto

func (in *UploadStatus) DeepCopyInto(out *UploadStatus)

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

Jump to

Keyboard shortcuts

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