v1

package
v4.0.0-...-7bf9d6d Latest Latest
Warning

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

Go to latest
Published: Jul 24, 2026 License: Apache-2.0 Imports: 10 Imported by: 18

Documentation

Overview

Package v1 contains API Schema definitions for the ocs v1 API group +kubebuilder:object:generate=true +groupName=ocs.openshift.io

Index

Constants

View Source
const (
	// ConditionReconcileComplete communicates the status of the StorageCluster resource's
	// reconcile functionality. Basically, is the Reconcile function running to completion.
	ConditionReconcileComplete conditionsv1.ConditionType = "ReconcileComplete"

	// ConditionExternalClusterConnected condition type indicates
	// the successful connection to an external cluster
	ConditionExternalClusterConnected conditionsv1.ConditionType = "ExternalClusterConnected"

	// ConditionExternalClusterConnecting type indicates that rook is still trying for
	// an external connection
	ConditionExternalClusterConnecting conditionsv1.ConditionType = "ExternalClusterConnecting"

	// ConditionVersionMismatch type indicates that there is a mismatch in the storagecluster
	// and the operator version
	ConditionVersionMismatch conditionsv1.ConditionType = "VersionMismatch"
)
View Source
const (
	ReconcileFailed                 = "ReconcileFailed"
	ReconcileInit                   = "Init"
	ReconcileCompleted              = "ReconcileCompleted"
	ReconcileCompletedMessage       = "Reconcile completed successfully"
	ExternalClusterConnected        = "ExternalClusterConnected"
	ExternalClusterConnectedMessage = "Connected successfully to an external cluster"
)

List of constants to show different different reconciliation messages and statuses.

View Source
const (
	StorageClusterPeerStateInitializing StorageClusterPeerState = "Initializing"
	StorageClusterPeerStatePending      StorageClusterPeerState = "Pending"
	StorageClusterPeerStatePeered       StorageClusterPeerState = "Peered"
	StorageClusterPeerStateFailed       StorageClusterPeerState = "Failed"

	StorageClusterPeerFailureReasonClusterNotFound         StorageClusterPeerFailureReason = "CLUSTER_NOT_FOUND"
	StorageClusterPeerFailureReasonInvalidOnboardingTicket StorageClusterPeerFailureReason = "INVALID_ONBOARDING_TICKET"
	StorageClusterPeerFailureReasonConnectionFailed        StorageClusterPeerFailureReason = "CONNECTION_FAILED"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "ocs.openshift.io", Version: "v1"}

	// SchemeBuilder points to a list of functions added to Scheme.
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)

	// AddToScheme is a common registration function for mapping packaged scoped group & version keys to a scheme.
	AddToScheme = localSchemeBuilder.AddToScheme
)
View Source
var (
	// PhaseIgnored is used when a resource is ignored
	PhaseIgnored = "Ignored"
	// PhaseProgressing is used when SetProgressingCondition is called
	PhaseProgressing = "Progressing"
	// PhaseError is used when SetErrorCondition is called
	PhaseError = "Error"
	// PhaseReady is used when SetCompleteCondition is called
	PhaseReady = "Ready"
	// PhaseNotReady is used when waiting for system to be ready
	// after reconcile is successful
	PhaseNotReady = "Not Ready"
	// PhaseClusterExpanding is used when cluster is expanding capacity
	PhaseClusterExpanding = "Expanding Capacity"
	// PhaseDeleting is used when cluster is deleting
	PhaseDeleting = "Deleting"
	// PhaseConnecting is used when cluster is connecting to external cluster
	PhaseConnecting = "Connecting"
	// PhaseOnboarding is used when consumer is Onboarding
	PhaseOnboarding = "Onboarding"
)

These constants represent the overall Phase as used by .Status.Phase

Functions

This section is empty.

Types

type ArbiterSpec

type ArbiterSpec struct {
	Enable bool `json:"enable,omitempty"`
	// DisableMasterNodeToleration can be used to turn off the arbiter mon toleration for the master node taint.
	DisableMasterNodeToleration bool                          `json:"disableMasterNodeToleration,omitempty"`
	ArbiterMonPVCTemplate       *corev1.PersistentVolumeClaim `json:"arbiterMonPVCTemplate,omitempty"`
}

ArbiterSpec defines if arbiter should be enabled for the Ceph Cluster. It is optional and defaults to false. If set to true, ArbiterLocation must be set in the NodeTopologies.

func (*ArbiterSpec) DeepCopy

func (in *ArbiterSpec) DeepCopy() *ArbiterSpec

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

func (*ArbiterSpec) DeepCopyInto

func (in *ArbiterSpec) DeepCopyInto(out *ArbiterSpec)

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

type BackingStorageClass

type BackingStorageClass struct {
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Provisioner indicates the type of the provisioner.
	// +optional
	Provisioner string `json:"provisioner,omitempty"`

	// Parameters holds the parameters for the provisioner that should
	// create volumes of this storage class.
	// +optional
	Parameters map[string]string `json:"parameters,omitempty"`
}

BackingStorageClass defines the backing storageclass for StorageDeviceSet

func (*BackingStorageClass) DeepCopy

func (in *BackingStorageClass) DeepCopy() *BackingStorageClass

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

func (*BackingStorageClass) DeepCopyInto

func (in *BackingStorageClass) DeepCopyInto(out *BackingStorageClass)

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

type CSIDriverSpec

type CSIDriverSpec struct {
	// ReadAffinity defines the read affinity settings for CSI driver.
	// +kubebuilder:validation:Optional
	ReadAffinity *rookCephv1.ReadAffinitySpec `json:"readAffinity,omitempty"`
}

CSIDriverSpec defines the CSI driver settings for the StorageCluster.

func (*CSIDriverSpec) DeepCopy

func (in *CSIDriverSpec) DeepCopy() *CSIDriverSpec

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

func (*CSIDriverSpec) DeepCopyInto

func (in *CSIDriverSpec) DeepCopyInto(out *CSIDriverSpec)

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

type ComponentImageStatus

type ComponentImageStatus struct {
	DesiredImage string `json:"desiredImage,omitempty"`
	ActualImage  string `json:"actualImage,omitempty"`
}

ComponentImageStatus holds image status information for a specific component image

func (*ComponentImageStatus) DeepCopy

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

func (*ComponentImageStatus) DeepCopyInto

func (in *ComponentImageStatus) DeepCopyInto(out *ComponentImageStatus)

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

type EncryptionSpec

type EncryptionSpec struct {
	// deprecated from OCS 4.10 onwards, acting as a dummy,
	// UI will keep sending this flag for backward compatibility (OCP 4.10 + OCS 4.9)
	// +optional
	Enable bool `json:"enable,omitempty"`
	// +optional
	ClusterWide bool `json:"clusterWide,omitempty"`
	// +optional
	StorageClass bool `json:"storageClass,omitempty"`
	// StorageClassName specifies the name of the storage class created for ceph encrypted block pools
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
	StorageClassName     string                   `json:"storageClassName,omitempty"`
	KeyManagementService KeyManagementServiceSpec `json:"kms,omitempty"`
	// KeyRotation defines options for Key Rotation.
	// +optional
	KeyRotation KeyRotationSpec `json:"keyRotation,omitempty"`
}

EncryptionSpec defines if encryption should be enabled for the Storage Cluster It is optional and defaults to false.

func (*EncryptionSpec) DeepCopy

func (in *EncryptionSpec) DeepCopy() *EncryptionSpec

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

func (*EncryptionSpec) DeepCopyInto

func (in *EncryptionSpec) DeepCopyInto(out *EncryptionSpec)

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

type ExcludedAlert

type ExcludedAlert struct {
	// AlertName is the name of the alert to exclude
	AlertName string `json:"alertName"`
	// ExcludedAt is the timestamp when the alert was excluded
	ExcludedAt metav1.Time `json:"excludedAt"`
	// Severity is the severity of the alert to exclude. Valid
	// values are "critical", "warning", and "info".
	Severity string `json:"severity,omitempty"`
}

ExcludedAlert represents an alert that has been excluded

func (*ExcludedAlert) DeepCopy

func (in *ExcludedAlert) DeepCopy() *ExcludedAlert

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

func (*ExcludedAlert) DeepCopyInto

func (in *ExcludedAlert) DeepCopyInto(out *ExcludedAlert)

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

type ExternalPGSpec

type ExternalPGSpec struct {
	// PGSecret stores the secret name which contains connection string of the Postgres server
	// +optional
	PGSecretName string `json:"pgSecretName,omitempty"`
	// AllowSelfSignedCerts will allow the Postgres server to use self signed certificates to authenticate
	// +optional
	AllowSelfSignedCerts bool `json:"allowSelfSignedCerts,omitempty"`
	// EnableTLS will allow the postgres server to connect via TLS/SSL
	// +optional
	EnableTLS bool `json:"enableTls,omitempty"`
	// TLSSecret stores the secret name which contains the client side certificates if enabled
	// +optional
	TLSSecretName string `json:"tlsSecretName,omitempty"`
}

func (*ExternalPGSpec) DeepCopy

func (in *ExternalPGSpec) DeepCopy() *ExternalPGSpec

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

func (*ExternalPGSpec) DeepCopyInto

func (in *ExternalPGSpec) DeepCopyInto(out *ExternalPGSpec)

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

type ExternalStorageClusterSpec

type ExternalStorageClusterSpec struct {
	// +optional
	Enable bool `json:"enable,omitempty"`
}

ExternalStorageClusterSpec defines the spec of the external Storage Cluster to be connected to the local cluster

func (*ExternalStorageClusterSpec) DeepCopy

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

func (*ExternalStorageClusterSpec) DeepCopyInto

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

type ExternalStorageKind

type ExternalStorageKind string

ExternalStorageKind specifies a kind of the external storage

const (
	// KindOCS specifies a "ocs" kind of the external storage
	KindOCS ExternalStorageKind = "ocs"

	// KindRHCS specifies a "rhcs" kind of the external storage
	KindRHCS ExternalStorageKind = "rhcs"
)

type ImagesStatus

type ImagesStatus struct {
	Ceph       *ComponentImageStatus `json:"ceph,omitempty"`
	NooBaaCore *ComponentImageStatus `json:"noobaaCore,omitempty"`
	NooBaaDB   *ComponentImageStatus `json:"noobaaDB,omitempty"`
}

ImagesStatus maps every component image name it's reconciliation status information

func (*ImagesStatus) DeepCopy

func (in *ImagesStatus) DeepCopy() *ImagesStatus

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

func (*ImagesStatus) DeepCopyInto

func (in *ImagesStatus) DeepCopyInto(out *ImagesStatus)

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

type KMSServerConnectionStatus

type KMSServerConnectionStatus struct {
	KMSServerAddress         string `json:"kmsServerAddress,omitempty"`
	KMSServerConnectionError string `json:"kmsServerConnectionError,omitempty"`
}

KMSServerConnectionStatus defines the observed connection state to the KMS server.

func (*KMSServerConnectionStatus) DeepCopy

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

func (*KMSServerConnectionStatus) DeepCopyInto

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

type KeyManagementServiceSpec

type KeyManagementServiceSpec struct {
	// +optional
	Enable bool `json:"enable,omitempty"`
}

KeyManagementServiceSpec provides a way to enable KMS

func (*KeyManagementServiceSpec) DeepCopy

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

func (*KeyManagementServiceSpec) DeepCopyInto

func (in *KeyManagementServiceSpec) DeepCopyInto(out *KeyManagementServiceSpec)

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

type KeyRotationSpec

type KeyRotationSpec struct {
	// Enable represents whether the key rotation is enabled.
	// +optional
	Enable *bool `json:"enable,omitempty"`
	// Schedule represents the cron schedule for key rotation.
	// +optional
	// +kubebuilder:default="@weekly"
	Schedule string `json:"schedule,omitempty"`
}

KeyRotationSpec represents the settings for Key Rotation.

func (*KeyRotationSpec) DeepCopy

func (in *KeyRotationSpec) DeepCopy() *KeyRotationSpec

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

func (*KeyRotationSpec) DeepCopyInto

func (in *KeyRotationSpec) DeepCopyInto(out *KeyRotationSpec)

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

type LastExpansionStatus

type LastExpansionStatus struct {
	// StartTime is the time stamp of the last run start of the storage scaling
	// +optional
	StartTime metav1.Time `json:"startTime,omitempty"`
	// CompletionTime is the time stamp of the last run completion of the storage scaling
	// +optional
	CompletionTime metav1.Time `json:"completionTime,omitempty"`
	// The start OSD size is the original size of the OSDs before the expansion in progress is completed.
	// After the expansion is completed, this would be updated to the expected OSD size.
	// Used for vertical scaling of OSDs.
	// +optional
	StartOsdSize resource.Quantity `json:"startOsdSize,omitempty"`
	// The ExpectedOsdSize is the size that the auto-expansion has decided to set.
	// This will be set on the storageCLuster CR as the desired size of the OSDs.
	// Used for vertical scaling of OSDs.
	// +optional
	ExpectedOsdSize resource.Quantity `json:"expectedOsdSize,omitempty"`
	// The start OSD count is the original count of the OSDs before the expansion in progress is completed.
	// After the expansion is completed, this would be updated to the expected OSD count.
	// Used for horizontal scaling of OSDs.
	// +optional
	StartOsdCount uint16 `json:"startOsdCount,omitempty"`
	// The Expected OSD count is the count that the auto-expansion has decided to set.
	// This will be set on the storageCluster CR as the desired count of the OSDs.
	// Used for horizontal scaling of OSDs.
	// +optional
	ExpectedOsdCount uint16 `json:"expectedOsdCount,omitempty"`
	// StartStorageCapacity is the original storage capacity of the storage cluster before the expansion in progress is completed.
	StartStorageCapacity resource.Quantity `json:"startStorageCapacity,omitempty"`
	// ExpectedStorageCapacity is the expected storage capacity of the storage cluster after the expansion in progress is completed.
	ExpectedStorageCapacity resource.Quantity `json:"expectedStorageCapacity,omitempty"`
}

func (*LastExpansionStatus) DeepCopy

func (in *LastExpansionStatus) DeepCopy() *LastExpansionStatus

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

func (*LastExpansionStatus) DeepCopyInto

func (in *LastExpansionStatus) DeepCopyInto(out *LastExpansionStatus)

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

type ManageCephBlockPools

type ManageCephBlockPools struct {
	ReconcileStrategy string `json:"reconcileStrategy,omitempty"`
	// if set to true, the storageClass created for cephBlockPools will be annotated as the default for the whole cluster
	DefaultStorageClass bool `json:"defaultStorageClass,omitempty"`
	// StorageClassName specifies the name of the storage class created for ceph block pools
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
	StorageClassName string `json:"storageClassName,omitempty"`
	// VirtualizationStorageClassName specifies the name of the storage class created for ceph block pools
	// for virtualization environment
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
	VirtualizationStorageClassName string `json:"virtualizationStorageClassName,omitempty"`
	// if set to true, the virtualization storageClass will be annotated as the default for kubevirt workloads
	DefaultVirtualizationStorageClass bool `json:"defaultVirtualizationStorageClass,omitempty"`
	// PoolSpec specifies the pool specification for the default cephBlockPool
	PoolSpec *rookCephv1.PoolSpec `json:"poolSpec,omitempty"`
	// ErasureCodedMetadataPool specifies the  metadata pool for erasure coded pools if the pool is erasure coded
	// it has to be unique pool name and the operator will create the pool with replica 3.
	// This is required as rbd needs a separate metadata pool when using erasure coding for data pool.
	// +kubebuilder:validation:XValidation:message="erasureCodedMetadataPool is immutable once set",rule="oldSelf == ” || self == oldSelf"
	// +optional
	ErasureCodedMetadataPool string `json:"erasureCodedMetadataPool,omitempty"`
}

ManageCephBlockPools defines how to reconcile CephBlockPools

func (*ManageCephBlockPools) DeepCopy

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

func (*ManageCephBlockPools) DeepCopyInto

func (in *ManageCephBlockPools) DeepCopyInto(out *ManageCephBlockPools)

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

type ManageCephCluster

type ManageCephCluster struct {
	ReconcileStrategy string `json:"reconcileStrategy,omitempty"`
	// +kubebuilder:validation:Enum=1;2
	MgrCount int `json:"mgrCount,omitempty"`
	// +kubebuilder:validation:Enum=3;5
	MonCount int `json:"monCount,omitempty"`
	// WaitTimeoutForHealthyOSDInMinutes defines the time the operator would wait before an OSD can be stopped for upgrade or restart.
	// If `continueUpgradeAfterChecksEvenIfNotHealthy` is `false` and the timeout exceeds and OSD is not ok to stop, then the operator
	// would skip upgrade for the current OSD and proceed with the next one.
	// If `continueUpgradeAfterChecksEvenIfNotHealthy` is `true`, then operator would continue with the upgrade of an OSD even if its
	// not ok to stop after the timeout.
	// This timeout won't be applied if `skipUpgradeChecks` is `true`.
	// The default wait timeout is 10 minutes.
	WaitTimeoutForHealthyOSDInMinutes time.Duration `json:"waitTimeoutForHealthyOSDInMinutes,omitempty"`
	// Whether or not upgrade should continue even if a check fails
	// This means Ceph's status could be degraded and we don't recommend upgrading but you might decide otherwise
	// Use at your OWN risk
	SkipUpgradeChecks bool `json:"skipUpgradeChecks,omitempty"`
	// Whether or not continue if PGs are not clean during an upgrade
	ContinueUpgradeAfterChecksEvenIfNotHealthy *bool `json:"continueUpgradeAfterChecksEvenIfNotHealthy,omitempty"`
	// Whether or not requires PGs are clean before an OSD upgrade. If set to `true` OSD upgrade process won't start until PGs are healthy.
	// This configuration will be ignored if `skipUpgradeChecks` is `true`.
	UpgradeOSDRequiresHealthyPGs bool `json:"upgradeOSDRequiresHealthyPGs,omitempty"`
	// A duration in minutes that determines how long an entire failureDomain like `region/zone/host` will be held in `noout` (in addition to the
	// default DOWN/OUT interval) when it is draining. This is only relevant when  `managePodBudgets` is `true` in cephCluster CR.
	// The default value is `30` minutes.
	OsdMaintenanceTimeout time.Duration `json:"osdMaintenanceTimeout,omitempty"`
	// NearFullRatio is the ratio at which the cluster is considered nearly full and will raise a ceph health warning. Default is 0.75.
	// +kubebuilder:validation:Minimum=0.0
	// +kubebuilder:validation:Maximum=1.0
	// +nullable
	NearFullRatio *float64 `json:"nearFullRatio,omitempty"`
	// BackfillFullRatio is the ratio at which the cluster is too full for backfill. Backfill will be disabled if above this threshold. Default is 0.80.
	// +kubebuilder:validation:Minimum=0.0
	// +kubebuilder:validation:Maximum=1.0
	// +nullable
	BackfillFullRatio *float64 `json:"backfillFullRatio,omitempty"`
	// FullRatio is the ratio at which the cluster is considered full and ceph will stop accepting writes. Default is 0.85.
	// +kubebuilder:validation:Minimum=0.0
	// +kubebuilder:validation:Maximum=1.0
	// +nullable
	FullRatio *float64 `json:"fullRatio,omitempty"`

	// Whether to allow updating the device class after the OSD is initially provisioned
	AllowDeviceClassUpdate bool `json:"allowDeviceClassUpdate,omitempty"`

	// CephClusterHealthCheckSpec represent the healthcheck for Ceph daemons
	HealthCheck *rookCephv1.CephClusterHealthCheckSpec `json:"healthCheck,omitempty"`

	// Ceph Config options
	CephConfig map[string]map[string]string `json:"cephConfig,omitempty"`

	// CleanupPolicy defines the cleanup policy for the Rook Ceph cluster.
	// +optional
	CleanupPolicy *rookCephv1.CleanupPolicySpec `json:"cleanupPolicy,omitempty"`
}

ManageCephCluster defines how to reconcile the Ceph cluster definition

func (*ManageCephCluster) DeepCopy

func (in *ManageCephCluster) DeepCopy() *ManageCephCluster

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

func (*ManageCephCluster) DeepCopyInto

func (in *ManageCephCluster) DeepCopyInto(out *ManageCephCluster)

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

type ManageCephConfig

type ManageCephConfig struct {
	ReconcileStrategy string `json:"reconcileStrategy,omitempty"`
}

ManageCephConfig defines how to reconcile the Ceph configuration

func (*ManageCephConfig) DeepCopy

func (in *ManageCephConfig) DeepCopy() *ManageCephConfig

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

func (*ManageCephConfig) DeepCopyInto

func (in *ManageCephConfig) DeepCopyInto(out *ManageCephConfig)

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

type ManageCephDashboard

type ManageCephDashboard struct {
	Enable bool `json:"enable,omitempty"`
	// serve the dashboard using SSL
	SSL bool `json:"ssl,omitempty"`
}

ManageCephDashboard defines how to reconcile Ceph dashboard

func (*ManageCephDashboard) DeepCopy

func (in *ManageCephDashboard) DeepCopy() *ManageCephDashboard

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

func (*ManageCephDashboard) DeepCopyInto

func (in *ManageCephDashboard) DeepCopyInto(out *ManageCephDashboard)

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

type ManageCephFilesystems

type ManageCephFilesystems struct {
	ReconcileStrategy     string `json:"reconcileStrategy,omitempty"`
	ActiveMetadataServers int    `json:"activeMetadataServers,omitempty"`
	// StorageClassName specifies the name of the storage class created for cephfs
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
	StorageClassName string `json:"storageClassName,omitempty"`
	// MetadataPoolSpec specifies the pool specification for the default cephFS metadata pool
	MetadataPoolSpec *rookCephv1.PoolSpec `json:"metadataPoolSpec,omitempty"`
	// DataPoolSpec specifies the pool specification for the default cephfs data pool
	DataPoolSpec *rookCephv1.PoolSpec `json:"dataPoolSpec,omitempty"`
	// AdditionalDataPools specifies list of additional named cephfs data pools
	AdditionalDataPools []rookCephv1.NamedPoolSpec `json:"additionalDataPools,omitempty"`
	// DefaultStorageClassDataPoolName specifies the name of the data pool which will be used in the storage class if multiple data pools are defined
	// It is used to distinguish between the ec and replicated data pools when both are defined in the same filesystem
	// if not specified, the operator will use the replicated pool as the default data pool for the storage class
	// can't be changed after creation, if not specified, the operator will use the first data pool in the list of additional data pools as the default data pool for the storage class
	// +kubebuilder:validation:XValidation:message="defaultStorageClassDataPoolName is immutable",rule="self == oldSelf"
	// +optional
	DefaultStorageClassDataPoolName string `json:"defaultStorageClassDataPoolName,omitempty"`
}

ManageCephFilesystems defines how to reconcile CephFilesystems

func (*ManageCephFilesystems) DeepCopy

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

func (*ManageCephFilesystems) DeepCopyInto

func (in *ManageCephFilesystems) DeepCopyInto(out *ManageCephFilesystems)

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

type ManageCephNonResilientPools

type ManageCephNonResilientPools struct {
	Enable bool `json:"enable,omitempty"`
	// Count is the number of devices in this set
	// +kubebuilder:validation:Minimum=1
	Count int `json:"count,omitempty"`
	// ResourceRequirements (requests/limits) for the devices
	Resources *corev1.ResourceRequirements `json:"resources,omitempty"`
	// VolumeClaimTemplates is a PVC template for the underlying storage devices
	VolumeClaimTemplate *corev1.PersistentVolumeClaim `json:"volumeClaimTemplate,omitempty"`
	// StorageClassName specifies the name of the storage class created for ceph non-resilient pools
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
	StorageClassName string `json:"storageClassName,omitempty"`
	// Parameters is a list of properties to enable on the non-resilient cephBlockPools
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	// +nullable
	Parameters map[string]string `json:"parameters,omitempty"`
}

ManageCephNonResilientPools defines how to reconcile ceph non-resilient pools

func (*ManageCephNonResilientPools) DeepCopy

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

func (*ManageCephNonResilientPools) DeepCopyInto

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

type ManageCephObjectStoreUsers

type ManageCephObjectStoreUsers struct {
	ReconcileStrategy string `json:"reconcileStrategy,omitempty"`
}

ManageCephObjectStoreUsers defines how to reconcile CephObjectStoreUsers

func (*ManageCephObjectStoreUsers) DeepCopy

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

func (*ManageCephObjectStoreUsers) DeepCopyInto

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

type ManageCephObjectStores

type ManageCephObjectStores struct {
	ReconcileStrategy string `json:"reconcileStrategy,omitempty"`
	GatewayInstances  int    `json:"gatewayInstances,omitempty"`
	DisableRoute      bool   `json:"disableRoute,omitempty"`
	// DisableHttp, if true, will prevent creation of insecure ceph RGW http route. It will also delete any
	// existing insecure ceph RGW http route.
	DisableHttp       bool  `json:"disableHttp,omitempty"`
	HostNetwork       *bool `json:"hostNetwork,omitempty"`
	GatewayPort       int   `json:"gatewayPort,omitempty"`
	GatewaySecurePort int   `json:"gatewaySecurePort,omitempty"`
	// Enables STS authentication for RGW
	// +kubebuilder:default=true
	EnableSTS bool `json:"enableSTS,omitempty"`
	// StorageClassName specifies the name of the storage class created for ceph obc's
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
	StorageClassName string `json:"storageClassName,omitempty"`
	// MetadataPoolSpec specifies the pool specification for the default cephObjectStore metadata pool
	MetadataPoolSpec *rookCephv1.PoolSpec `json:"metadataPoolSpec,omitempty"`
	// DataPoolSpec specifies the pool specification for the default cephObjectStore data pool
	DataPoolSpec *rookCephv1.PoolSpec `json:"dataPoolSpec,omitempty"`
}

ManageCephObjectStores defines how to reconcile CephObjectStores

func (*ManageCephObjectStores) DeepCopy

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

func (*ManageCephObjectStores) DeepCopyInto

func (in *ManageCephObjectStores) DeepCopyInto(out *ManageCephObjectStores)

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

type ManageCephRBDMirror

type ManageCephRBDMirror struct {
	ReconcileStrategy string `json:"reconcileStrategy,omitempty"`
	// +kubebuilder:validation:Minimum=1
	DaemonCount int `json:"daemonCount,omitempty"`
}

ManageCephRBDMirror defines how to reconcile Ceph RBDMirror

func (*ManageCephRBDMirror) DeepCopy

func (in *ManageCephRBDMirror) DeepCopy() *ManageCephRBDMirror

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

func (*ManageCephRBDMirror) DeepCopyInto

func (in *ManageCephRBDMirror) DeepCopyInto(out *ManageCephRBDMirror)

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

type ManageCephToolbox

type ManageCephToolbox struct {
	ReconcileStrategy string `json:"reconcileStrategy,omitempty"`
}

ManageCephToolbox defines how to reconcile Ceph toolbox

func (*ManageCephToolbox) DeepCopy

func (in *ManageCephToolbox) DeepCopy() *ManageCephToolbox

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

func (*ManageCephToolbox) DeepCopyInto

func (in *ManageCephToolbox) DeepCopyInto(out *ManageCephToolbox)

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

type ManagedResourcesSpec

type ManagedResourcesSpec struct {
	CephCluster           ManageCephCluster           `json:"cephCluster,omitempty"`
	CephDashboard         ManageCephDashboard         `json:"cephDashboard,omitempty"`
	CephBlockPools        ManageCephBlockPools        `json:"cephBlockPools,omitempty"`
	CephNonResilientPools ManageCephNonResilientPools `json:"cephNonResilientPools,omitempty"`
	CephFilesystems       ManageCephFilesystems       `json:"cephFilesystems,omitempty"`
	CephObjectStores      ManageCephObjectStores      `json:"cephObjectStores,omitempty"`
	CephObjectStoreUsers  ManageCephObjectStoreUsers  `json:"cephObjectStoreUsers,omitempty"`
	CephToolbox           ManageCephToolbox           `json:"cephToolbox,omitempty"`
	CephRBDMirror         ManageCephRBDMirror         `json:"cephRBDMirror,omitempty"`
}

ManagedResourcesSpec defines how to reconcile auxiliary resources

func (*ManagedResourcesSpec) DeepCopy

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

func (*ManagedResourcesSpec) DeepCopyInto

func (in *ManagedResourcesSpec) DeepCopyInto(out *ManagedResourcesSpec)

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

type MirroringSpec

type MirroringSpec struct {
	// If true, data mirroring is enabled for the StorageCluster.
	// This configuration will only be applied to resources (such as CephBlockPool)
	// managed by the operator.
	// It is optional and defaults to false.
	// +optional
	Enabled bool `json:"enabled,omitempty"`

	// PeerSecretNames represents the Kubernetes Secret names of rbd-mirror peers tokens
	// +optional
	PeerSecretNames []string `json:"peerSecretNames,omitempty"`
}

func (*MirroringSpec) DeepCopy

func (in *MirroringSpec) DeepCopy() *MirroringSpec

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

func (*MirroringSpec) DeepCopyInto

func (in *MirroringSpec) DeepCopyInto(out *MirroringSpec)

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

type MonitoringSpec

type MonitoringSpec struct {
	ReconcileStrategy string `json:"reconcileStrategy,omitempty"`
	// Labels to add to monitoring resources created by operator.
	// These labels are used as LabelSelector for Prometheus
	Labels map[string]string `json:"labels,omitempty"`
	// DisableBlackboxExporter disables deployment of Blackbox Exporter for network health checks
	// +optional
	DisableBlackboxExporter bool `json:"disableBlackboxExporter,omitempty"`
	// ExcludedAlerts lists alerts to exclude from ODF health score calculation.
	// Alerts still fire in Prometheus but are excluded from health score.
	// +optional
	ExcludedAlerts []ExcludedAlert `json:"excludedAlerts,omitempty"`
}

MonitoringSpec controls the configuration of resources for exposing OCS metrics

func (*MonitoringSpec) DeepCopy

func (in *MonitoringSpec) DeepCopy() *MonitoringSpec

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

func (*MonitoringSpec) DeepCopyInto

func (in *MonitoringSpec) DeepCopyInto(out *MonitoringSpec)

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

type MultiCloudGatewaySpec

type MultiCloudGatewaySpec struct {
	// ReconcileStrategy specifies whether to reconcile NooBaa CRs. Valid
	// values are "manage", "standalone", "ignore" (same as "standalone"),
	// and "" (same as "manage").
	ReconcileStrategy string `json:"reconcileStrategy,omitempty"`

	// DbStorageClassName specifies the default storage class
	// for nooba-db pods
	// +optional
	DbStorageClassName string `json:"dbStorageClassName,omitempty"`

	// DBBackup (optional) configure automatic scheduled backups of noobaa database volume.
	// +optional
	DbBackup *nbv1.DBBackupSpec `json:"dbBackup,omitempty"`

	// DBRecovery (optional) configure database recovery from snapshot
	// +optional
	DbRecovery *nbv1.DBRecoverySpec `json:"dbRecovery,omitempty"`

	// Endpoints (optional) sets configuration info for the noobaa endpoint
	// deployment.
	// +optional
	Endpoints *nbv1.EndpointsSpec `json:"endpoints,omitempty"`

	// Autoscaler (optional) sets configuration for NooBaa endpoint autoscaling.
	// +optional
	Autoscaler *nbv1.AutoscalerSpec `json:"autoscaler,omitempty"`

	// DisableLoadBalancerService (optional) sets the service type to ClusterIP instead of LoadBalancer
	// +nullable
	// +optional
	DisableLoadBalancerService bool `json:"disableLoadBalancerService,omitempty"`

	// DisableRoutes (optional) disables the reconciliation of openshift route resources in the cluster
	// +nullable
	// +optional
	DisableRoutes bool `json:"disableRoutes,omitempty"`

	// Allows Noobaa to connect to an external Postgres server
	// +optional
	ExternalPgConfig *ExternalPGSpec `json:"externalPgConfig,omitempty"`

	// DenyHTTP (optional) if given will deny access to the NooBaa S3 service using HTTP (only HTTPS)
	// +optional
	DenyHTTP bool `json:"denyHTTP,omitempty"`

	// PerformanceProfile (optional) selects a bundle of resource and count
	// settings for the NooBaa core, db and endpoint components.
	// When unset, defaults to "default".
	// Explicit per-component resources in StorageClusterSpec.Resources take precedence over the profile.
	// +optional
	// +kubebuilder:validation:Enum=default;mixed-workload;small-objects
	PerformanceProfile nbv1.PerformanceProfileType `json:"performanceProfile,omitempty"`
}

MultiCloudGatewaySpec defines specific multi-cloud gateway configuration options

func (*MultiCloudGatewaySpec) DeepCopy

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

func (*MultiCloudGatewaySpec) DeepCopyInto

func (in *MultiCloudGatewaySpec) DeepCopyInto(out *MultiCloudGatewaySpec)

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

type NFSSpec

type NFSSpec struct {
	// Enable specifies whether to enable NFS.
	// +optional
	Enable bool `json:"enable,omitempty"`
	// ExternalEndpoint specifies the externally resolvable IP or the DNS name to use
	// for NFS Ganesha server in NFS StorageClass. If specified, internal client will
	// also use this same address.
	// +optional
	ExternalEndpoint string `json:"externalEndpoint,omitempty"`
	// StorageClassName specifies the name of the storage class created for NFS
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
	StorageClassName string `json:"storageClassName,omitempty"`
	// LogLevel set logging level
	// Log levels: NIV_NULL | NIV_FATAL | NIV_MAJ | NIV_CRIT | NIV_WARN | NIV_EVENT | NIV_INFO | NIV_DEBUG | NIV_MID_DEBUG | NIV_FULL_DEBUG | NB_LOG_LEVEL
	// +optional
	LogLevel          string `json:"logLevel,omitempty"`
	ReconcileStrategy string `json:"reconcileStrategy,omitempty"`
}

NFSSpec defines specific nfs configuration options

func (*NFSSpec) DeepCopy

func (in *NFSSpec) DeepCopy() *NFSSpec

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

func (*NFSSpec) DeepCopyInto

func (in *NFSSpec) DeepCopyInto(out *NFSSpec)

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

type NodeTopologyMap

type NodeTopologyMap struct {
	// Labels is a map of topology label keys
	// (e.g. "topology.kubernetes.io/zone") to a set of values for those
	// keys.
	// +optional
	// +nullable
	Labels map[string]TopologyLabelValues `json:"labels,omitempty"`

	// ArbiterLocation is the chosen location in the failure domain for placing the arbiter resources.
	// When the failure domain is not provided as an input, ocs-operator determines the failure domain.
	ArbiterLocation string `json:"arbiterLocation,omitempty"`
}

NodeTopologyMap represents the list of all values of all topology labels across all nodes in the StorageCluster

func NewNodeTopologyMap

func NewNodeTopologyMap() *NodeTopologyMap

NewNodeTopologyMap returns an initialized NodeTopologyMap

func (*NodeTopologyMap) Add

func (m *NodeTopologyMap) Add(topologyKey string, value string)

Add adds a new value to the NodeTopologyMap under the specified key USe it with Contains() to not allow duplicate values

func (*NodeTopologyMap) Contains

func (m *NodeTopologyMap) Contains(topologyKey string, value string) bool

Contains checks whether the NodeTopologyMap contains a specific value for the specified key

func (*NodeTopologyMap) ContainsKey

func (m *NodeTopologyMap) ContainsKey(topologyKey string) bool

ContainsKey checks whether the NodeTopologyMap contains any value for the specified key

func (*NodeTopologyMap) DeepCopy

func (in *NodeTopologyMap) DeepCopy() *NodeTopologyMap

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

func (*NodeTopologyMap) DeepCopyInto

func (in *NodeTopologyMap) DeepCopyInto(out *NodeTopologyMap)

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

func (*NodeTopologyMap) GetKeyValues

func (m *NodeTopologyMap) GetKeyValues(topologyKey string) (string, []string)

GetKeyValues returns a node label matching the supported topologyKey and all values for that label across all storage nodes.

type OCSInitialization

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

	Spec   OCSInitializationSpec   `json:"spec,omitempty"`
	Status OCSInitializationStatus `json:"status,omitempty"`
}

OCSInitialization represents the initial data to be created when the operator is installed.

func (*OCSInitialization) DeepCopy

func (in *OCSInitialization) DeepCopy() *OCSInitialization

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

func (*OCSInitialization) DeepCopyInto

func (in *OCSInitialization) DeepCopyInto(out *OCSInitialization)

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

func (*OCSInitialization) DeepCopyObject

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

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

type OCSInitializationList

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

OCSInitializationList contains a list of OCSInitialization

func (*OCSInitializationList) DeepCopy

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

func (*OCSInitializationList) DeepCopyInto

func (in *OCSInitializationList) DeepCopyInto(out *OCSInitializationList)

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

func (*OCSInitializationList) DeepCopyObject

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

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

type OCSInitializationSpec

type OCSInitializationSpec struct{}

OCSInitializationSpec defines the desired state of OCSInitialization

func (*OCSInitializationSpec) DeepCopy

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

func (*OCSInitializationSpec) DeepCopyInto

func (in *OCSInitializationSpec) DeepCopyInto(out *OCSInitializationSpec)

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

type OCSInitializationStatus

type OCSInitializationStatus struct {
	// Phase describes the Phase of OCSInitialization
	// This is used by OLM UI to provide status information
	// to the user
	Phase string `json:"phase,omitempty"`

	// Conditions describes the state of the OCSInitialization resource.
	// +optional
	Conditions []conditionsv1.Condition `json:"conditions,omitempty"`

	// RelatedObjects is a list of objects created and maintained by this
	// operator. Object references will be added to this list after they have
	// been created AND found in the cluster.
	// +optional
	RelatedObjects []corev1.ObjectReference `json:"relatedObjects,omitempty"`
	ErrorMessage   string                   `json:"errorMessage,omitempty"`
	SCCsCreated    bool                     `json:"sCCsCreated,omitempty"`
}

OCSInitializationStatus defines the observed state of OCSInitialization

func (*OCSInitializationStatus) DeepCopy

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

func (*OCSInitializationStatus) DeepCopyInto

func (in *OCSInitializationStatus) DeepCopyInto(out *OCSInitializationStatus)

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

type OverprovisionControlSpec

type OverprovisionControlSpec struct {
	StorageClassName string                               `json:"storageClassName,omitempty"`
	QuotaName        string                               `json:"quotaName,omitempty"`
	Capacity         resource.Quantity                    `json:"capacity,omitempty"`
	Selector         quotav1.ClusterResourceQuotaSelector `json:"selector,omitempty"`
}

OverprovisionControlSpec defines the allowed overprovisioning PVC consumption from the underlying cluster. This may be an absolute value or as a percentage of the overall effective capacity. One, and only one of those two (Capacity and Percentage) may be defined.

func (*OverprovisionControlSpec) DeepCopy

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

func (*OverprovisionControlSpec) DeepCopyInto

func (in *OverprovisionControlSpec) DeepCopyInto(out *OverprovisionControlSpec)

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

type PeerInfo

type PeerInfo struct {
	StorageClusterUid string `json:"storageClusterUid,omitempty"`
}

func (*PeerInfo) DeepCopy

func (in *PeerInfo) DeepCopy() *PeerInfo

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

func (*PeerInfo) DeepCopyInto

func (in *PeerInfo) DeepCopyInto(out *PeerInfo)

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

type StorageAutoScaler

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

	Spec   StorageAutoScalerSpec   `json:"spec,omitempty"`
	Status StorageAutoScalerStatus `json:"status,omitempty"`
}

StorageAutoScaler represents the automatic storage scaling for storage cluster.

func (*StorageAutoScaler) DeepCopy

func (in *StorageAutoScaler) DeepCopy() *StorageAutoScaler

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

func (*StorageAutoScaler) DeepCopyInto

func (in *StorageAutoScaler) DeepCopyInto(out *StorageAutoScaler)

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

func (*StorageAutoScaler) DeepCopyObject

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

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

type StorageAutoScalerList

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

StorageAutoScalerList contains a list of StorageAutoScaler

func (*StorageAutoScalerList) DeepCopy

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

func (*StorageAutoScalerList) DeepCopyInto

func (in *StorageAutoScalerList) DeepCopyInto(out *StorageAutoScalerList)

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

func (*StorageAutoScalerList) DeepCopyObject

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

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

type StorageAutoScalerPhase

type StorageAutoScalerPhase string
const (
	StorageAutoScalerPhaseInvalid    StorageAutoScalerPhase = "Invalid"
	StorageAutoScalerPhaseNotStarted StorageAutoScalerPhase = "NotStarted"
	StorageAutoScalerPhaseInProgress StorageAutoScalerPhase = "InProgress"
	StorageAutoScalerPhaseSucceeded  StorageAutoScalerPhase = "Succeeded"
	StorageAutoScalerPhaseFailed     StorageAutoScalerPhase = "Failed"
)

type StorageAutoScalerSpec

type StorageAutoScalerSpec struct {
	// StorageCluster is the name of the storage cluster for which the storage scaling is to be done.
	// +kubebuilder:validation:Required
	StorageCluster corev1.LocalObjectReference `json:"storageCluster,omitempty"`
	// DeviceClass is the name of the device class for which the storage scaling is to be done.
	// +kubebuilder:validation:Optional
	// +kubebuilder:default="ssd"
	DeviceClass string `json:"deviceClass,omitempty"`
	// StorageCapacityLimit is the total aggregate capacity limit for the storage scaling for the specific deviceClass and storagecluster.
	// +kubebuilder:validation:Required
	StorageCapacityLimit resource.Quantity `json:"storageCapacityLimit,omitempty"`
	// MaxOsdSize is the maximum size that Osd disk can be expanded to.
	// +kubebuilder:validation:Optional
	// +kubebuilder:default="8Ti"
	MaxOsdSize resource.Quantity `json:"maxOsdSize,omitempty"`
	// StorageScalingThresholdPercent is the threshold percentage of the storage capacity that triggers the auto-scaling of the OSDs.
	// Should be less than the OsdNearFullThresholdPercentage.
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=70
	StorageScalingThresholdPercent int `json:"storageScalingThresholdPercent,omitempty"`
	// TimeoutSeconds is the time in seconds after which the storage auto-scaler will alert the user that the scaling operation has been failed.
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=1800
	TimeoutSeconds int `json:"timeoutSeconds,omitempty"`
}

StorageAutoScalerSpec defines the desired state of StorageAutoScaler

func (*StorageAutoScalerSpec) DeepCopy

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

func (*StorageAutoScalerSpec) DeepCopyInto

func (in *StorageAutoScalerSpec) DeepCopyInto(out *StorageAutoScalerSpec)

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

type StorageAutoScalerStatus

type StorageAutoScalerStatus struct {
	// Phase describes the Phase of StorageAutoScaler
	// +optional
	Phase StorageAutoScalerPhase `json:"phase,omitempty"`
	// Error is the error message in case the storage scaling operation has failed.
	// +optional
	// +nullable
	Error *TimestampedError `json:"error,omitempty"`
	// +optional
	// +nullable
	LastExpansion *LastExpansionStatus `json:"lastExpansion,omitempty"`
	// StorageCapacityLimitReached is the flag that indicates if the storage capacity limit has been reached.
	// +optional
	// +nullable
	StorageCapacityLimitReached *bool `json:"storageCapacityLimitReached,omitempty"`
}

StorageAutoScalerStatus defines the observed state of StorageAutoScaler

func (*StorageAutoScalerStatus) DeepCopy

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

func (*StorageAutoScalerStatus) DeepCopyInto

func (in *StorageAutoScalerStatus) DeepCopyInto(out *StorageAutoScalerStatus)

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

type StorageCluster

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

	Spec   StorageClusterSpec   `json:"spec,omitempty"`
	Status StorageClusterStatus `json:"status,omitempty"`
}

StorageCluster represents a cluster including Ceph Cluster, NooBaa and all the storage and compute resources required.

func (*StorageCluster) DeepCopy

func (in *StorageCluster) DeepCopy() *StorageCluster

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

func (*StorageCluster) DeepCopyInto

func (in *StorageCluster) DeepCopyInto(out *StorageCluster)

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

func (*StorageCluster) DeepCopyObject

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

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

type StorageClusterList

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

StorageClusterList contains a list of StorageCluster

func (*StorageClusterList) DeepCopy

func (in *StorageClusterList) DeepCopy() *StorageClusterList

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

func (*StorageClusterList) DeepCopyInto

func (in *StorageClusterList) DeepCopyInto(out *StorageClusterList)

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

func (*StorageClusterList) DeepCopyObject

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

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

type StorageClusterPeer

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

	// +kubebuilder:validation:Required
	Spec   StorageClusterPeerSpec   `json:"spec,omitempty"`
	Status StorageClusterPeerStatus `json:"status,omitempty"`
}

StorageClusterPeer is the Schema for the storageclusterpeers API

func (*StorageClusterPeer) DeepCopy

func (in *StorageClusterPeer) DeepCopy() *StorageClusterPeer

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

func (*StorageClusterPeer) DeepCopyInto

func (in *StorageClusterPeer) DeepCopyInto(out *StorageClusterPeer)

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

func (*StorageClusterPeer) DeepCopyObject

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

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

type StorageClusterPeerFailureReason

type StorageClusterPeerFailureReason string

type StorageClusterPeerList

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

StorageClusterPeerList contains a list of StorageClusterPeer

func (*StorageClusterPeerList) DeepCopy

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

func (*StorageClusterPeerList) DeepCopyInto

func (in *StorageClusterPeerList) DeepCopyInto(out *StorageClusterPeerList)

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

func (*StorageClusterPeerList) DeepCopyObject

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

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

type StorageClusterPeerSpec

type StorageClusterPeerSpec struct {

	// ApiEndpoint is the URI of the ODF api server
	ApiEndpoint string `json:"apiEndpoint"`

	// OnboardingToken holds an identity information required by the local ODF cluster to onboard.
	OnboardingToken string `json:"onboardingToken"`
}

StorageClusterPeerSpec defines the desired state of StorageClusterPeer

func (*StorageClusterPeerSpec) DeepCopy

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

func (*StorageClusterPeerSpec) DeepCopyInto

func (in *StorageClusterPeerSpec) DeepCopyInto(out *StorageClusterPeerSpec)

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

type StorageClusterPeerState

type StorageClusterPeerState string

type StorageClusterPeerStatus

type StorageClusterPeerStatus struct {
	State         StorageClusterPeerState         `json:"state,omitempty"`
	FailureReason StorageClusterPeerFailureReason `json:"failureReason,omitempty"`
	PeerInfo      *PeerInfo                       `json:"peerInfo"`
}

StorageClusterPeerStatus defines the observed state of StorageClusterPeer

func (*StorageClusterPeerStatus) DeepCopy

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

func (*StorageClusterPeerStatus) DeepCopyInto

func (in *StorageClusterPeerStatus) DeepCopyInto(out *StorageClusterPeerStatus)

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

type StorageClusterSpec

type StorageClusterSpec struct {
	// LabelSelector is used to specify custom labels of nodes to run OCS on
	LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"`
	// ExternalStorage is optional and defaults to false. When set to true, OCS will
	// connect to an external OCS Storage Cluster instead of provisioning one locally.
	ExternalStorage ExternalStorageClusterSpec `json:"externalStorage,omitempty"`
	// HostNetwork defaults to false.
	// Deprecated: This field is deprecated and will be removed in a future release.
	// Use spec.network.hostNetwork instead.
	HostNetwork bool `json:"hostNetwork,omitempty"`
	// Placement is optional and used to specify placements of OCS components(except csi) explicitly
	// The specified placement here will be selectively merged with the default placement for the components
	// For example, if only tolerations are specified, the default node affinity or TSC etc will be applied if applicable
	Placement rookCephv1.PlacementSpec `json:"placement,omitempty"`
	// Resources is optional and used to specify resource requirements for the OCS components(except csi) explicitly
	// The specified resource requirements will be selectively merged according to the type, with the defaults for the components
	// For example, if requests/limits only for CPU are specified, default limits & requests for memory would be applied to the component
	Resources map[string]corev1.ResourceRequirements `json:"resources,omitempty"`
	// Resource Profile can be used to choose from a set of predefined resource profiles for the ceph daemons.
	// We have 3 profiles
	// lean: suitable for clusters with limited resources,
	// balanced: suitable for most use cases,
	// performance: suitable for clusters with high amount of resources.
	// +kubebuilder:validation:Enum=lean;Lean;balanced;Balanced;performance;Performance
	ResourceProfile    string                        `json:"resourceProfile,omitempty"`
	Encryption         EncryptionSpec                `json:"encryption,omitempty"`
	StorageDeviceSets  []StorageDeviceSet            `json:"storageDeviceSets,omitempty"`
	MonPVCTemplate     *corev1.PersistentVolumeClaim `json:"monPVCTemplate,omitempty"`
	MonDataDirHostPath string                        `json:"monDataDirHostPath,omitempty"`
	MultiCloudGateway  *MultiCloudGatewaySpec        `json:"multiCloudGateway,omitempty"`
	NFS                *NFSSpec                      `json:"nfs,omitempty"`
	CSI                *CSIDriverSpec                `json:"csi,omitempty"`
	// Monitoring controls the configuration of resources for exposing OCS metrics
	Monitoring *MonitoringSpec `json:"monitoring,omitempty"`
	// Network represents cluster network settings
	Network *rookCephv1.NetworkSpec `json:"network,omitempty"`
	// ManagedResources specifies how to deal with auxiliary resources reconciled
	// with the StorageCluster
	ManagedResources ManagedResourcesSpec `json:"managedResources,omitempty"`
	// If enabled, sets the failureDomain to host, allowing devices to be
	// distributed evenly across all nodes, regardless of distribution in zones
	// or racks.
	FlexibleScaling bool `json:"flexibleScaling,omitempty"`
	// NodeTopologies specifies the nodes available for the storage cluster,
	// preferred failure domain and location for the arbiter resources. This is
	// optional for non-arbiter clusters. For arbiter clusters, the
	// arbiterLocation is required; failure domain and the node labels are
	// optional. When the failure domain and the node labels are missing, the
	// ocs-operator makes a best effort to determine them automatically.
	NodeTopologies *NodeTopologyMap `json:"nodeTopologies,omitempty"`
	// ArbiterSpec specifies the storage cluster options related to arbiter.
	// If Arbiter is enabled, ArbiterLocation in the NodeTopologies must be specified.
	Arbiter ArbiterSpec `json:"arbiter,omitempty"`
	// Mirroring specifies data mirroring configuration for the storage cluster.
	// This configuration will only be applied to resources managed by the operator.
	Mirroring *MirroringSpec `json:"mirroring,omitempty"`
	// OverprovisionControl specifies the allowed hard-limit PVs overprovisioning relative to
	// the effective usable storage capacity.
	OverprovisionControl []OverprovisionControlSpec `json:"overprovisionControl,omitempty"`

	// ProviderAPIServerServiceType Indicates the ServiceType for OCS Provider API Server Service.
	// The default ServiceType is derived from hostNetwork field.
	// +kubebuilder:validation:Enum=ClusterIP;NodePort;LoadBalancer
	ProviderAPIServerServiceType corev1.ServiceType `json:"providerAPIServerServiceType,omitempty"`

	// EnableCephTools toggles on whether or not the ceph tools pod
	// should be deployed.
	// Defaults to false
	// +optional
	EnableCephTools bool `json:"enableCephTools,omitempty"`

	// Logging represents loggings settings
	// +optional
	// +nullable
	LogCollector *rookCephv1.LogCollectorSpec `json:"logCollector,omitempty"`

	// BackingStorageClasses is a list of storage classes that will be
	// provisioned by the storagecluster controller to be used in
	// storageDeviceSets section of the CR.
	BackingStorageClasses []BackingStorageClass `json:"backingStorageClasses,omitempty"`
}

StorageClusterSpec defines the desired state of StorageCluster

func (*StorageClusterSpec) DeepCopy

func (in *StorageClusterSpec) DeepCopy() *StorageClusterSpec

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

func (*StorageClusterSpec) DeepCopyInto

func (in *StorageClusterSpec) DeepCopyInto(out *StorageClusterSpec)

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

type StorageClusterStatus

type StorageClusterStatus struct {
	// Version specifies the version of StorageCluster
	Version string `json:"version,omitempty"`

	// Phase describes the Phase of StorageCluster
	// This is used by OLM UI to provide status information
	// to the user
	Phase string `json:"phase,omitempty"`

	// Conditions describes the state of the StorageCluster resource.
	// +optional
	Conditions []conditionsv1.Condition `json:"conditions,omitempty"`

	// RelatedObjects is a list of objects created and maintained by this
	// operator. Object references will be added to this list after they have
	// been created AND found in the cluster.
	// +optional
	RelatedObjects []corev1.ObjectReference `json:"relatedObjects,omitempty"`

	// NodeTopologies is a list of topology labels on all nodes matching
	// the StorageCluster's placement selector.
	// +optional
	NodeTopologies *NodeTopologyMap `json:"nodeTopologies,omitempty"`

	// FailureDomain is the base CRUSH element Ceph will use to distribute
	// its data replicas for the default CephBlockPool
	// +optional
	FailureDomain string `json:"failureDomain,omitempty"`

	// FailureDomainKey is the specific key used to find the locations available
	// under a failure domain. For example topology.kubernetes.io/zone
	// +optional
	FailureDomainKey string `json:"failureDomainKey,omitempty"`

	// FailureDomainValues is the list of locations available for a failure
	// domain under the failure domain key.
	// +optional
	FailureDomainValues []string `json:"failureDomainValues,omitempty"`

	// LastAppliedResourceProfile is the resource profile that was last applied successfully & is currently in use.
	LastAppliedResourceProfile string `json:"lastAppliedResourceProfile,omitempty"`

	// StorageProviderEndpoint holds endpoint info on Provider cluster which is required
	// for consumer to establish connection with the storage providing cluster.
	StorageProviderEndpoint string `json:"storageProviderEndpoint,omitempty"`

	// ExternalSecretHash holds the checksum value of external secret data.
	ExternalSecretHash string `json:"externalSecretHash,omitempty"`

	// Images holds the image reconcile status for all images reconciled by the operator
	Images ImagesStatus `json:"images,omitempty"`

	// DefaultCephDeviceClass holds the default ceph device class to be used for the pools
	DefaultCephDeviceClass string `json:"defaultCephDeviceClass,omitempty"`

	// KMSServerConnection holds the connection state to the KMS server.
	KMSServerConnection KMSServerConnectionStatus `json:"kmsServerConnection,omitempty"`

	// CurrentMonCount holds the value of ceph mons configured in ceph cluster.
	CurrentMonCount int `json:"currentMonCount,omitempty"`
}

StorageClusterStatus defines the observed state of StorageCluster

func (*StorageClusterStatus) DeepCopy

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

func (*StorageClusterStatus) DeepCopyInto

func (in *StorageClusterStatus) DeepCopyInto(out *StorageClusterStatus)

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

type StorageDeviceSet

type StorageDeviceSet struct {
	Name string `json:"name"`
	// Count is the number of devices in each StorageClassDeviceSet
	// +kubebuilder:validation:Minimum=1
	Count int `json:"count"`

	// Replica is the number of StorageClassDeviceSets for this
	// StorageDeviceSet
	// +kubebuilder:validation:Minimum=1
	// +optional
	Replica int `json:"replica,omitempty"`

	// DeviceType is the value of device type in
	// this StorageDeviceSet. It can have one of the
	// three values (SSD, HDD, NVMe)
	// +kubebuilder:validation:Enum=SSD;ssd;HDD;hdd;NVMe;NVME;nvme
	// +optional
	DeviceType string `json:"deviceType,omitempty"`

	// DeviceClass is an optional, fine-grained property of DeviceType.
	// If non empty, it defines the 'crushDeviceClass' value as used by ceph's
	// CRUSH map. If empty, then operator will set 'crushDeviceClass' to SSD and
	// 'TuneFastDeviceClass' to true
	// +optional
	DeviceClass string `json:"deviceClass,omitempty"`

	// InitialWeight is an optional explicit OSD weight value in TiB units.
	// If non empty, it defines the 'CrushInitialWeight' value which is
	// assigned to ceph OSD upon init
	// +kubebuilder:validation:Pattern=`^([0-9]*[.])?[0-9]+(Ti[B])$`
	// +optional
	InitialWeight string `json:"initialWeight,omitempty"`

	// PrimaryAffinity is an optional OSD primary-affinity value within the
	// range [0,1). This value influence the way Ceph's CRUSH selection of
	// primary OSDs. Lower value reduce performance bottlenecks (especially
	// on read operations). If not set, default value is 1.
	// https://docs.ceph.com/en/latest/rados/operations/crush-map/#primary-affinity
	// +kubebuilder:validation:Pattern=`^0.[0-9]+$`
	// +optional
	PrimaryAffinity string `json:"primaryAffinity,omitempty"`

	// Portable says whether the OSDs in this device set can move between
	// nodes. This is ignored if Placement is not set
	// +optional
	Portable bool `json:"portable,omitempty"`

	Resources           corev1.ResourceRequirements   `json:"resources,omitempty"`
	PreparePlacement    rookCephv1.Placement          `json:"preparePlacement,omitempty"`
	Placement           rookCephv1.Placement          `json:"placement,omitempty"`
	Config              StorageDeviceSetConfig        `json:"config,omitempty"`
	DataPVCTemplate     corev1.PersistentVolumeClaim  `json:"dataPVCTemplate"`
	MetadataPVCTemplate *corev1.PersistentVolumeClaim `json:"metadataPVCTemplate,omitempty"`
	WalPVCTemplate      *corev1.PersistentVolumeClaim `json:"walPVCTemplate,omitempty"`

	// Whether to encrypt the deviceSet or not
	// +optional
	Encrypted *bool `json:"encrypted,omitempty"`
}

StorageDeviceSet defines a set of storage devices. It configures the StorageClassDeviceSets field in Rook-Ceph.

func (*StorageDeviceSet) DeepCopy

func (in *StorageDeviceSet) DeepCopy() *StorageDeviceSet

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

func (*StorageDeviceSet) DeepCopyInto

func (in *StorageDeviceSet) DeepCopyInto(out *StorageDeviceSet)

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

type StorageDeviceSetConfig

type StorageDeviceSetConfig struct {
	// TuneSlowDeviceClass tunes the OSD when running on a slow Device Class
	// +optional
	TuneSlowDeviceClass bool `json:"tuneSlowDeviceClass,omitempty"`

	// TuneFastDeviceClass tunes the OSD when running on a fast Device Class
	// +optional
	TuneFastDeviceClass bool `json:"tuneFastDeviceClass,omitempty"`
}

StorageDeviceSetConfig defines Ceph OSD specific config options for the StorageDeviceSet

func (*StorageDeviceSetConfig) DeepCopy

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

func (*StorageDeviceSetConfig) DeepCopyInto

func (in *StorageDeviceSetConfig) DeepCopyInto(out *StorageDeviceSetConfig)

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

func (*StorageDeviceSetConfig) ToMap

func (c *StorageDeviceSetConfig) ToMap() map[string]string

ToMap converts a StorageDeviceSetConfig object to a map[string]string that can be set in a Rook StorageClassDeviceSet object This functions just returns `nil` right now as the StorageDeviceSetConfig struct itself is empty. It will be updated to perform actual conversion and return a proper map when the StorageDeviceSetConfig struct is updated. TODO: Do actual conversion to map when StorageDeviceSetConfig has defined members

type TimestampedError

type TimestampedError struct {
	// Message is the error message in case the storage scaling operation has failed.
	Message string `json:"message,omitempty"`
	// Timestamp is the time stamp when the error occurred.
	Timestamp metav1.Time `json:"timestamp,omitempty"`
}

TimestampedError is the error message with the time stamp.

func (*TimestampedError) DeepCopy

func (in *TimestampedError) DeepCopy() *TimestampedError

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

func (*TimestampedError) DeepCopyInto

func (in *TimestampedError) DeepCopyInto(out *TimestampedError)

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

type TopologyLabelValues

type TopologyLabelValues []string

TopologyLabelValues is a list of values for a topology label

func (TopologyLabelValues) DeepCopy

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

func (TopologyLabelValues) DeepCopyInto

func (in TopologyLabelValues) DeepCopyInto(out *TopologyLabelValues)

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