v1

package
v1.16.0 Latest Latest
Warning

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

Go to latest
Published: May 21, 2024 License: Apache-2.0 Imports: 29 Imported by: 7

Documentation

Overview

Package v1 contains API Schema definitions for the psmdb v1 API group +k8s:deepcopy-gen=package,register +groupName=psmdb.percona.com

Package v1 contains API Schema definitions for the psmdb v1 API group +k8s:deepcopy-gen=package,register +groupName=psmdb.percona.com

Index

Constants

View Source
const (
	AnnotationRestoreInProgress = "percona.com/restore-in-progress"
	// AnnotationUpdateMongosFirst is an annotation used to force next smart update to be applied to mongos before mongod.
	AnnotationUpdateMongosFirst = "percona.com/update-mongos-first"
)
View Source
const (
	MongodRESTencryptDir = "/etc/mongodb-encryption"
	EncryptionKeyName    = "encryption-key"
)
View Source
const (
	ConfigReplSetName = "cfg"
	WorkloadSA        = "default"
)

ConfigReplSetName is the only possible name for config replica set

View Source
const (
	PMMUserKey     = "PMM_SERVER_USER"
	PMMPasswordKey = "PMM_SERVER_PASSWORD"
	PMMAPIKey      = "PMM_SERVER_API_KEY"
)
View Source
const (
	EnvMongoDBDatabaseAdminUser      = "MONGODB_DATABASE_ADMIN_USER"
	EnvMongoDBDatabaseAdminPassword  = "MONGODB_DATABASE_ADMIN_PASSWORD"
	EnvMongoDBClusterAdminUser       = "MONGODB_CLUSTER_ADMIN_USER"
	EnvMongoDBClusterAdminPassword   = "MONGODB_CLUSTER_ADMIN_PASSWORD"
	EnvMongoDBUserAdminUser          = "MONGODB_USER_ADMIN_USER"
	EnvMongoDBUserAdminPassword      = "MONGODB_USER_ADMIN_PASSWORD"
	EnvMongoDBBackupUser             = "MONGODB_BACKUP_USER"
	EnvMongoDBBackupPassword         = "MONGODB_BACKUP_PASSWORD"
	EnvMongoDBClusterMonitorUser     = "MONGODB_CLUSTER_MONITOR_USER"
	EnvMongoDBClusterMonitorPassword = "MONGODB_CLUSTER_MONITOR_PASSWORD"
	EnvPMMServerUser                 = PMMUserKey
	EnvPMMServerPassword             = PMMPasswordKey
	EnvPMMServerAPIKey               = PMMAPIKey
)
View Source
const (
	FinalizerDeletePVC              = "delete-psmdb-pvc"
	FinalizerDeletePSMDBPodsInOrder = "delete-psmdb-pods-in-order"
)
View Source
const (
	AnnotationResyncPBM           = "percona.com/resync-pbm"
	AnnotationPVCResizeInProgress = "percona.com/pvc-resize-in-progress"
)
View Source
const AffinityOff = "none"
View Source
const DefaultDNSSuffix = "svc.cluster.local"

DefaultDNSSuffix is a default dns suffix for the cluster service

View Source
const DefaultVersionServiceEndpoint = "https://check.percona.com"
View Source
const MultiClusterDefaultDNSSuffix = "svc.clusterset.local"

MultiClusterDefaultDNSSuffix is a default dns suffix for multi-cluster service

View Source
const (
	SmartUpdateStatefulSetStrategyType appsv1.StatefulSetUpdateStrategyType = "SmartUpdate"
)

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "psmdb.percona.com", Version: "v1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
)
View Source
var (
	DefaultMongodPort int32 = 27017
)

Functions

func ArbiterLabels added in v1.14.0

func ArbiterLabels(cr *PerconaServerMongoDB) map[string]string

func ClusterLabels added in v1.14.0

func ClusterLabels(cr *PerconaServerMongoDB) map[string]string

func GetDefaultVersionServiceEndpoint added in v1.13.0

func GetDefaultVersionServiceEndpoint() string

func InternalUserSecretName added in v1.8.0

func InternalUserSecretName(cr *PerconaServerMongoDB) string

func MongodLabels added in v1.14.0

func MongodLabels(cr *PerconaServerMongoDB) map[string]string

func MongosLabels added in v1.14.0

func MongosLabels(cr *PerconaServerMongoDB) map[string]string

func OneOfUpgradeStrategy added in v1.8.0

func OneOfUpgradeStrategy(a string) bool

func SSLInternalSecretName added in v1.16.0

func SSLInternalSecretName(cr *PerconaServerMongoDB) string

func SSLSecretName added in v1.16.0

func SSLSecretName(cr *PerconaServerMongoDB) string

func UserSecretName added in v1.8.0

func UserSecretName(cr *PerconaServerMongoDB) string

Types

type AppState

type AppState string
const (
	AppStateNone     AppState = ""
	AppStateInit     AppState = "initializing"
	AppStateStopping AppState = "stopping"
	AppStatePaused   AppState = "paused"
	AppStateReady    AppState = "ready"
	AppStateError    AppState = "error"
)

type Arbiter

type Arbiter struct {
	MultiAZ `json:",inline"`

	Enabled bool  `json:"enabled"`
	Size    int32 `json:"size"`
}

func (*Arbiter) DeepCopy

func (in *Arbiter) DeepCopy() *Arbiter

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

func (*Arbiter) DeepCopyInto

func (in *Arbiter) DeepCopyInto(out *Arbiter)

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

func (*Arbiter) GetSize added in v1.14.0

func (a *Arbiter) GetSize() int32

type AuditLogDestination

type AuditLogDestination string
var AuditLogDestinationFile AuditLogDestination = "file"

type AuditLogFormat

type AuditLogFormat string
var (
	AuditLogFormatBSON AuditLogFormat = "BSON"
	AuditLogFormatJSON AuditLogFormat = "JSON"
)

type BackupConfig added in v1.16.0

type BackupConfig struct {
	BackupOptions  *BackupOptions  `json:"backupOptions,omitempty"`
	RestoreOptions *RestoreOptions `json:"restoreOptions,omitempty"`
}

func (*BackupConfig) DeepCopy added in v1.16.0

func (in *BackupConfig) DeepCopy() *BackupConfig

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

func (*BackupConfig) DeepCopyInto added in v1.16.0

func (in *BackupConfig) DeepCopyInto(out *BackupConfig)

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

type BackupOptions added in v1.16.0

type BackupOptions struct {
	OplogSpanMin float64            `json:"oplogSpanMin"`
	Priority     map[string]float64 `json:"priority,omitempty"`
	Timeouts     *BackupTimeouts    `json:"timeouts,omitempty"`
}

func (*BackupOptions) DeepCopy added in v1.16.0

func (in *BackupOptions) DeepCopy() *BackupOptions

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

func (*BackupOptions) DeepCopyInto added in v1.16.0

func (in *BackupOptions) DeepCopyInto(out *BackupOptions)

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

type BackupSpec

type BackupSpec struct {
	Enabled                  bool                         `json:"enabled"`
	Annotations              map[string]string            `json:"annotations,omitempty"`
	Labels                   map[string]string            `json:"labels,omitempty"`
	Storages                 map[string]BackupStorageSpec `json:"storages,omitempty"`
	Image                    string                       `json:"image"`
	Tasks                    []BackupTaskSpec             `json:"tasks,omitempty"`
	ServiceAccountName       string                       `json:"serviceAccountName,omitempty"`
	PodSecurityContext       *corev1.PodSecurityContext   `json:"podSecurityContext,omitempty"`
	ContainerSecurityContext *corev1.SecurityContext      `json:"containerSecurityContext,omitempty"`
	Resources                corev1.ResourceRequirements  `json:"resources,omitempty"`
	RuntimeClassName         *string                      `json:"runtimeClassName,omitempty"`
	PITR                     PITRSpec                     `json:"pitr,omitempty"`
	Configuration            BackupConfig                 `json:"configuration,omitempty"`
}

func (*BackupSpec) DeepCopy

func (in *BackupSpec) DeepCopy() *BackupSpec

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

func (*BackupSpec) DeepCopyInto

func (in *BackupSpec) DeepCopyInto(out *BackupSpec)

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

func (BackupSpec) IsEnabledPITR added in v1.8.0

func (b BackupSpec) IsEnabledPITR() bool

type BackupState added in v1.4.0

type BackupState string
const (
	BackupStateNew       BackupState = ""
	BackupStateWaiting   BackupState = "waiting"
	BackupStateRequested BackupState = "requested"
	BackupStateRejected  BackupState = "rejected"
	BackupStateRunning   BackupState = "running"
	BackupStateError     BackupState = "error"
	BackupStateReady     BackupState = "ready"
)

type BackupStorageAzureSpec added in v1.11.0

type BackupStorageAzureSpec struct {
	Container         string `json:"container,omitempty"`
	Prefix            string `json:"prefix,omitempty"`
	CredentialsSecret string `json:"credentialsSecret"`
	EndpointURL       string `json:"endpointUrl,omitempty"`
}

func (*BackupStorageAzureSpec) DeepCopy added in v1.11.0

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

func (*BackupStorageAzureSpec) DeepCopyInto added in v1.11.0

func (in *BackupStorageAzureSpec) DeepCopyInto(out *BackupStorageAzureSpec)

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

type BackupStorageS3Spec

type BackupStorageS3Spec struct {
	Bucket                string                  `json:"bucket"`
	Prefix                string                  `json:"prefix,omitempty"`
	Region                string                  `json:"region,omitempty"`
	EndpointURL           string                  `json:"endpointUrl,omitempty"`
	CredentialsSecret     string                  `json:"credentialsSecret,omitempty"`
	UploadPartSize        int                     `json:"uploadPartSize,omitempty"`
	MaxUploadParts        int                     `json:"maxUploadParts,omitempty"`
	StorageClass          string                  `json:"storageClass,omitempty"`
	InsecureSkipTLSVerify bool                    `json:"insecureSkipTLSVerify,omitempty"`
	ForcePathStyle        *bool                   `json:"forcePathStyle,omitempty"`
	DebugLogLevels        string                  `json:"debugLogLevels,omitempty"`
	Retryer               *Retryer                `json:"retryer,omitempty"`
	ServerSideEncryption  S3ServiceSideEncryption `json:"serverSideEncryption,omitempty"`
}

func (*BackupStorageS3Spec) DeepCopy

func (in *BackupStorageS3Spec) DeepCopy() *BackupStorageS3Spec

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

func (*BackupStorageS3Spec) DeepCopyInto

func (in *BackupStorageS3Spec) DeepCopyInto(out *BackupStorageS3Spec)

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

type BackupStorageSpec

type BackupStorageSpec struct {
	Type  BackupStorageType      `json:"type"`
	S3    BackupStorageS3Spec    `json:"s3,omitempty"`
	Azure BackupStorageAzureSpec `json:"azure,omitempty"`
}

func (*BackupStorageSpec) DeepCopy

func (in *BackupStorageSpec) DeepCopy() *BackupStorageSpec

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

func (*BackupStorageSpec) DeepCopyInto

func (in *BackupStorageSpec) DeepCopyInto(out *BackupStorageSpec)

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

type BackupStorageType

type BackupStorageType string
const (
	BackupStorageFilesystem BackupStorageType = "filesystem"
	BackupStorageS3         BackupStorageType = "s3"
	BackupStorageAzure      BackupStorageType = "azure"
)

type BackupTaskSpec

type BackupTaskSpec struct {
	Name             string                   `json:"name"`
	Enabled          bool                     `json:"enabled"`
	Keep             int                      `json:"keep,omitempty"`
	Schedule         string                   `json:"schedule,omitempty"`
	StorageName      string                   `json:"storageName,omitempty"`
	CompressionType  compress.CompressionType `json:"compressionType,omitempty"`
	CompressionLevel *int                     `json:"compressionLevel,omitempty"`

	// +kubebuilder:validation:Enum={logical,physical}
	Type defs.BackupType `json:"type,omitempty"`
}

func (*BackupTaskSpec) DeepCopy

func (in *BackupTaskSpec) DeepCopy() *BackupTaskSpec

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

func (*BackupTaskSpec) DeepCopyInto

func (in *BackupTaskSpec) DeepCopyInto(out *BackupTaskSpec)

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

func (*BackupTaskSpec) JobName added in v1.13.0

func (task *BackupTaskSpec) JobName(cr *PerconaServerMongoDB) string

type BackupTimeouts added in v1.16.0

type BackupTimeouts struct {
	Starting *uint32 `json:"startingStatus,omitempty"`
}

func (*BackupTimeouts) DeepCopy added in v1.16.0

func (in *BackupTimeouts) DeepCopy() *BackupTimeouts

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

func (*BackupTimeouts) DeepCopyInto added in v1.16.0

func (in *BackupTimeouts) DeepCopyInto(out *BackupTimeouts)

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

type BalancerSpec added in v1.15.0

type BalancerSpec struct {
	Enabled *bool `json:"enabled,omitempty"`
}

func (*BalancerSpec) DeepCopy added in v1.15.0

func (in *BalancerSpec) DeepCopy() *BalancerSpec

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

func (*BalancerSpec) DeepCopyInto added in v1.15.0

func (in *BalancerSpec) DeepCopyInto(out *BalancerSpec)

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

type ClusterCondition

type ClusterCondition struct {
	Status             ConditionStatus `json:"status"`
	Type               AppState        `json:"type"`
	LastTransitionTime metav1.Time     `json:"lastTransitionTime,omitempty"`
	Reason             string          `json:"reason,omitempty"`
	Message            string          `json:"message,omitempty"`
}

func (*ClusterCondition) DeepCopy

func (in *ClusterCondition) DeepCopy() *ClusterCondition

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

func (*ClusterCondition) DeepCopyInto

func (in *ClusterCondition) DeepCopyInto(out *ClusterCondition)

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

type ClusterRole

type ClusterRole string
const (
	ClusterRoleShardSvr  ClusterRole = "shardsvr"
	ClusterRoleConfigSvr ClusterRole = "configsvr"
)

type ConditionStatus

type ConditionStatus string
const (
	ConditionTrue    ConditionStatus = "True"
	ConditionFalse   ConditionStatus = "False"
	ConditionUnknown ConditionStatus = "Unknown"
)

type DNSMode added in v1.14.0

type DNSMode string

DNS Mode string describes the mode used to generate fqdn/ip for communication between nodes +enum

const (
	// DNSModeServiceMesh means a FQDN (<pod>.<ns>.svc.cluster.local) will be generated,
	// assumming the FQDN is resolvable and available in all clusters
	DNSModeServiceMesh DNSMode = "ServiceMesh"

	// DNSModeInternal means the local FQDN (<pod>.<svc>.<ns>.svc.cluster.local) will be used
	DNSModeInternal DNSMode = "Internal"

	// DNSModeExternal means external IPs will be used in case of the services are exposed
	DNSModeExternal DNSMode = "External"
)

type Expose

type Expose struct {
	ExposeType               corev1.ServiceType `json:"exposeType,omitempty"`
	LoadBalancerSourceRanges []string           `json:"loadBalancerSourceRanges,omitempty"`
	ServiceAnnotations       map[string]string  `json:"serviceAnnotations,omitempty"`
	ServiceLabels            map[string]string  `json:"serviceLabels,omitempty"`
	NodePort                 int32              `json:"nodePort,omitempty"`
}

func (*Expose) DeepCopy

func (in *Expose) DeepCopy() *Expose

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

func (*Expose) DeepCopyInto

func (in *Expose) DeepCopyInto(out *Expose)

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

func (*Expose) SaveOldMeta added in v1.14.0

func (e *Expose) SaveOldMeta() bool

type ExposeTogglable added in v1.14.0

type ExposeTogglable struct {
	Enabled bool `json:"enabled"`

	Expose `json:",inline"`
}

func (*ExposeTogglable) DeepCopy added in v1.14.0

func (in *ExposeTogglable) DeepCopy() *ExposeTogglable

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

func (*ExposeTogglable) DeepCopyInto added in v1.14.0

func (in *ExposeTogglable) DeepCopyInto(out *ExposeTogglable)

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

type ExternalNode added in v1.10.0

type ExternalNode struct {
	Host     string `json:"host"`
	Port     int    `json:"port,omitempty"`
	Priority int    `json:"priority"`
	Votes    int    `json:"votes"`
}

func (*ExternalNode) DeepCopy added in v1.10.0

func (in *ExternalNode) DeepCopy() *ExternalNode

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

func (*ExternalNode) DeepCopyInto added in v1.10.0

func (in *ExternalNode) DeepCopyInto(out *ExternalNode)

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

func (*ExternalNode) HostPort added in v1.10.0

func (e *ExternalNode) HostPort() string

type HorizonsSpec added in v1.15.0

type HorizonsSpec map[string]map[string]string

func (HorizonsSpec) DeepCopy added in v1.15.0

func (in HorizonsSpec) DeepCopy() HorizonsSpec

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

func (HorizonsSpec) DeepCopyInto added in v1.15.0

func (in HorizonsSpec) DeepCopyInto(out *HorizonsSpec)

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

type LivenessProbeExtended added in v1.4.0

type LivenessProbeExtended struct {
	corev1.Probe        `json:",inline"`
	StartupDelaySeconds int `json:"startupDelaySeconds,omitempty"`
}

func (LivenessProbeExtended) CommandHas added in v1.4.0

func (l LivenessProbeExtended) CommandHas(flag string) bool

func (*LivenessProbeExtended) DeepCopy added in v1.4.0

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

func (*LivenessProbeExtended) DeepCopyInto added in v1.4.0

func (in *LivenessProbeExtended) DeepCopyInto(out *LivenessProbeExtended)

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

type MongoConfiguration added in v1.12.0

type MongoConfiguration string

func (MongoConfiguration) GetOptions added in v1.12.0

func (conf MongoConfiguration) GetOptions(name string) (map[interface{}]interface{}, error)

func (MongoConfiguration) GetTLSMode added in v1.16.0

func (conf MongoConfiguration) GetTLSMode() (string, error)

func (MongoConfiguration) IsEncryptionEnabled added in v1.12.0

func (conf MongoConfiguration) IsEncryptionEnabled() (*bool, error)

IsEncryptionEnabled returns nil if "enableEncryption" field is not specified or the pointer to the value of this field

func (MongoConfiguration) QuietEnabled added in v1.16.0

func (conf MongoConfiguration) QuietEnabled() bool

QuietEnabled returns whether mongo config has `quiet` set to true under `systemLog` section. If `quiet` or `systemLog` sections are not present, returns true.

func (*MongoConfiguration) SetDefaults added in v1.12.0

func (conf *MongoConfiguration) SetDefaults() error

func (MongoConfiguration) VaultEnabled added in v1.13.0

func (conf MongoConfiguration) VaultEnabled() bool

VaultEnabled returns whether mongo config has vault section under security

type MongodSpecInMemory

type MongodSpecInMemory struct {
	EngineConfig *MongodSpecInMemoryEngineConfig `json:"engineConfig,omitempty"`
}

func (*MongodSpecInMemory) DeepCopy

func (in *MongodSpecInMemory) DeepCopy() *MongodSpecInMemory

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

func (*MongodSpecInMemory) DeepCopyInto

func (in *MongodSpecInMemory) DeepCopyInto(out *MongodSpecInMemory)

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

type MongodSpecInMemoryEngineConfig

type MongodSpecInMemoryEngineConfig struct {
	InMemorySizeRatio numstr.NumberString `json:"inMemorySizeRatio,omitempty"`
}

func (*MongodSpecInMemoryEngineConfig) DeepCopy

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

func (*MongodSpecInMemoryEngineConfig) DeepCopyInto

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

type MongodSpecMMAPv1

type MongodSpecMMAPv1 struct {
	NsSize     int  `json:"nsSize,omitempty"`
	Smallfiles bool `json:"smallfiles,omitempty"`
}

func (*MongodSpecMMAPv1) DeepCopy

func (in *MongodSpecMMAPv1) DeepCopy() *MongodSpecMMAPv1

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

func (*MongodSpecMMAPv1) DeepCopyInto

func (in *MongodSpecMMAPv1) DeepCopyInto(out *MongodSpecMMAPv1)

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

type MongodSpecStorage

type MongodSpecStorage struct {
	Engine         StorageEngine         `json:"engine,omitempty"`
	DirectoryPerDB bool                  `json:"directoryPerDB,omitempty"`
	SyncPeriodSecs int                   `json:"syncPeriodSecs,omitempty"`
	InMemory       *MongodSpecInMemory   `json:"inMemory,omitempty"`
	MMAPv1         *MongodSpecMMAPv1     `json:"mmapv1,omitempty"`
	WiredTiger     *MongodSpecWiredTiger `json:"wiredTiger,omitempty"`
}

func (*MongodSpecStorage) DeepCopy

func (in *MongodSpecStorage) DeepCopy() *MongodSpecStorage

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

func (*MongodSpecStorage) DeepCopyInto

func (in *MongodSpecStorage) DeepCopyInto(out *MongodSpecStorage)

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

type MongodSpecWiredTiger

type MongodSpecWiredTiger struct {
	CollectionConfig *MongodSpecWiredTigerCollectionConfig `json:"collectionConfig,omitempty"`
	EngineConfig     *MongodSpecWiredTigerEngineConfig     `json:"engineConfig,omitempty"`
	IndexConfig      *MongodSpecWiredTigerIndexConfig      `json:"indexConfig,omitempty"`
}

func (*MongodSpecWiredTiger) DeepCopy

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

func (*MongodSpecWiredTiger) DeepCopyInto

func (in *MongodSpecWiredTiger) DeepCopyInto(out *MongodSpecWiredTiger)

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

type MongodSpecWiredTigerCollectionConfig

type MongodSpecWiredTigerCollectionConfig struct {
	BlockCompressor *WiredTigerCompressor `json:"blockCompressor,omitempty"`
}

func (*MongodSpecWiredTigerCollectionConfig) DeepCopy

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

func (*MongodSpecWiredTigerCollectionConfig) DeepCopyInto

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

type MongodSpecWiredTigerEngineConfig

type MongodSpecWiredTigerEngineConfig struct {
	CacheSizeRatio      numstr.NumberString   `json:"cacheSizeRatio,omitempty"`
	DirectoryForIndexes bool                  `json:"directoryForIndexes,omitempty"`
	JournalCompressor   *WiredTigerCompressor `json:"journalCompressor,omitempty"`
}

func (*MongodSpecWiredTigerEngineConfig) DeepCopy

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

func (*MongodSpecWiredTigerEngineConfig) DeepCopyInto

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

type MongodSpecWiredTigerIndexConfig

type MongodSpecWiredTigerIndexConfig struct {
	PrefixCompression bool `json:"prefixCompression,omitempty"`
}

func (*MongodSpecWiredTigerIndexConfig) DeepCopy

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

func (*MongodSpecWiredTigerIndexConfig) DeepCopyInto

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

type MongosExpose added in v1.9.0

type MongosExpose struct {
	ServicePerPod bool `json:"servicePerPod,omitempty"`

	Expose `json:",inline"`
}

func (*MongosExpose) DeepCopy added in v1.9.0

func (in *MongosExpose) DeepCopy() *MongosExpose

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

func (*MongosExpose) DeepCopyInto added in v1.9.0

func (in *MongosExpose) DeepCopyInto(out *MongosExpose)

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

type MongosSpec

type MongosSpec struct {
	MultiAZ `json:",inline"`

	Port                     int32                      `json:"port,omitempty"`
	HostPort                 int32                      `json:"hostPort,omitempty"`
	SetParameter             *MongosSpecSetParameter    `json:"setParameter,omitempty"`
	Expose                   MongosExpose               `json:"expose,omitempty"`
	Size                     int32                      `json:"size,omitempty"`
	ReadinessProbe           *corev1.Probe              `json:"readinessProbe,omitempty"`
	LivenessProbe            *LivenessProbeExtended     `json:"livenessProbe,omitempty"`
	PodSecurityContext       *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"`
	ContainerSecurityContext *corev1.SecurityContext    `json:"containerSecurityContext,omitempty"`
	Configuration            MongoConfiguration         `json:"configuration,omitempty"`
	HostAliases              []corev1.HostAlias         `json:"hostAliases,omitempty"`
}

func (*MongosSpec) DeepCopy

func (in *MongosSpec) DeepCopy() *MongosSpec

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

func (*MongosSpec) DeepCopyInto

func (in *MongosSpec) DeepCopyInto(out *MongosSpec)

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

type MongosSpecSetParameter added in v1.6.0

type MongosSpecSetParameter struct {
	CursorTimeoutMillis int `json:"cursorTimeoutMillis,omitempty"`
}

func (*MongosSpecSetParameter) DeepCopy added in v1.7.0

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

func (*MongosSpecSetParameter) DeepCopyInto added in v1.7.0

func (in *MongosSpecSetParameter) DeepCopyInto(out *MongosSpecSetParameter)

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

type MongosStatus added in v1.6.0

type MongosStatus struct {
	Size    int      `json:"size"`
	Ready   int      `json:"ready"`
	Status  AppState `json:"status,omitempty"`
	Message string   `json:"message,omitempty"`
}

func (*MongosStatus) DeepCopy added in v1.7.0

func (in *MongosStatus) DeepCopy() *MongosStatus

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

func (*MongosStatus) DeepCopyInto added in v1.7.0

func (in *MongosStatus) DeepCopyInto(out *MongosStatus)

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

type MultiAZ

type MultiAZ struct {
	Affinity                      *PodAffinity                      `json:"affinity,omitempty"`
	TopologySpreadConstraints     []corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`
	NodeSelector                  map[string]string                 `json:"nodeSelector,omitempty"`
	Tolerations                   []corev1.Toleration               `json:"tolerations,omitempty"`
	PriorityClassName             string                            `json:"priorityClassName,omitempty"`
	ServiceAccountName            string                            `json:"serviceAccountName,omitempty"`
	Annotations                   map[string]string                 `json:"annotations,omitempty"`
	Labels                        map[string]string                 `json:"labels,omitempty"`
	PodDisruptionBudget           *PodDisruptionBudgetSpec          `json:"podDisruptionBudget,omitempty"`
	TerminationGracePeriodSeconds *int64                            `json:"terminationGracePeriodSeconds,omitempty"`
	RuntimeClassName              *string                           `json:"runtimeClassName,omitempty"`

	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	Sidecars       []corev1.Container             `json:"sidecars,omitempty"`
	SidecarVolumes []corev1.Volume                `json:"sidecarVolumes,omitempty"`
	SidecarPVCs    []corev1.PersistentVolumeClaim `json:"sidecarPVCs,omitempty"`
}

func (*MultiAZ) DeepCopy

func (in *MultiAZ) DeepCopy() *MultiAZ

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

func (*MultiAZ) DeepCopyInto

func (in *MultiAZ) DeepCopyInto(out *MultiAZ)

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

func (*MultiAZ) WithSidecarPVCs added in v1.11.0

func (m *MultiAZ) WithSidecarPVCs(log logr.Logger, pvcs []corev1.PersistentVolumeClaim) []corev1.PersistentVolumeClaim

func (*MultiAZ) WithSidecarVolumes added in v1.11.0

func (m *MultiAZ) WithSidecarVolumes(log logr.Logger, volumes []corev1.Volume) []corev1.Volume

func (*MultiAZ) WithSidecars added in v1.7.0

func (m *MultiAZ) WithSidecars(c corev1.Container) (withSidecars []corev1.Container, noSkips bool)

type MultiCluster added in v1.12.0

type MultiCluster struct {
	Enabled   bool   `json:"enabled"`
	DNSSuffix string `json:"DNSSuffix,omitempty"`
}

func (*MultiCluster) DeepCopy added in v1.12.0

func (in *MultiCluster) DeepCopy() *MultiCluster

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

func (*MultiCluster) DeepCopyInto added in v1.12.0

func (in *MultiCluster) DeepCopyInto(out *MultiCluster)

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

type NonVotingSpec added in v1.10.0

type NonVotingSpec struct {
	Enabled                  bool                       `json:"enabled"`
	Size                     int32                      `json:"size"`
	VolumeSpec               *VolumeSpec                `json:"volumeSpec,omitempty"`
	ReadinessProbe           *corev1.Probe              `json:"readinessProbe,omitempty"`
	LivenessProbe            *LivenessProbeExtended     `json:"livenessProbe,omitempty"`
	PodSecurityContext       *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"`
	ContainerSecurityContext *corev1.SecurityContext    `json:"containerSecurityContext,omitempty"`
	Configuration            MongoConfiguration         `json:"configuration,omitempty"`

	MultiAZ `json:",inline"`
}

func (*NonVotingSpec) DeepCopy added in v1.10.0

func (in *NonVotingSpec) DeepCopy() *NonVotingSpec

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

func (*NonVotingSpec) DeepCopyInto added in v1.10.0

func (in *NonVotingSpec) DeepCopyInto(out *NonVotingSpec)

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

func (*NonVotingSpec) GetSize added in v1.14.0

func (nv *NonVotingSpec) GetSize() int32

func (*NonVotingSpec) SetDefaults added in v1.10.0

func (nv *NonVotingSpec) SetDefaults(cr *PerconaServerMongoDB, rs *ReplsetSpec) error

type OperationProfilingMode

type OperationProfilingMode string
const (
	OperationProfilingModeAll    OperationProfilingMode = "all"
	OperationProfilingModeSlowOp OperationProfilingMode = "slowOp"
)

type PITRSpec added in v1.8.0

type PITRSpec struct {
	Enabled          bool                     `json:"enabled,omitempty"`
	OplogSpanMin     numstr.NumberString      `json:"oplogSpanMin,omitempty"`
	OplogOnly        bool                     `json:"oplogOnly,omitempty"`
	CompressionType  compress.CompressionType `json:"compressionType,omitempty"`
	CompressionLevel *int                     `json:"compressionLevel,omitempty"`
}

func (*PITRSpec) DeepCopy added in v1.8.0

func (in *PITRSpec) DeepCopy() *PITRSpec

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

func (*PITRSpec) DeepCopyInto added in v1.8.0

func (in *PITRSpec) DeepCopyInto(out *PITRSpec)

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

func (PITRSpec) Disabled added in v1.8.0

func (p PITRSpec) Disabled() PITRSpec

type PITRestoreDate added in v1.8.0

type PITRestoreDate struct {
	metav1.Time `json:",inline"`
}

+kubebuilder:validation:Type=string

func (*PITRestoreDate) DeepCopy added in v1.8.0

func (in *PITRestoreDate) DeepCopy() *PITRestoreDate

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

func (*PITRestoreDate) DeepCopyInto added in v1.8.0

func (in *PITRestoreDate) DeepCopyInto(out *PITRestoreDate)

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

func (*PITRestoreDate) MarshalJSON added in v1.15.0

func (t *PITRestoreDate) MarshalJSON() ([]byte, error)

func (PITRestoreDate) OpenAPISchemaFormat added in v1.12.0

func (PITRestoreDate) OpenAPISchemaFormat() string

func (PITRestoreDate) OpenAPISchemaType added in v1.12.0

func (PITRestoreDate) OpenAPISchemaType() []string

func (*PITRestoreDate) UnmarshalJSON added in v1.8.0

func (t *PITRestoreDate) UnmarshalJSON(b []byte) (err error)

type PITRestoreSpec added in v1.8.0

type PITRestoreSpec struct {
	Type PITRestoreType  `json:"type,omitempty"`
	Date *PITRestoreDate `json:"date,omitempty"`
}

func (*PITRestoreSpec) DeepCopy added in v1.8.0

func (in *PITRestoreSpec) DeepCopy() *PITRestoreSpec

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

func (*PITRestoreSpec) DeepCopyInto added in v1.8.0

func (in *PITRestoreSpec) DeepCopyInto(out *PITRestoreSpec)

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

type PITRestoreType added in v1.8.0

type PITRestoreType string
var (
	PITRestoreTypeDate   PITRestoreType = "date"
	PITRestoreTypeLatest PITRestoreType = "latest"
)

type PMMSpec

type PMMSpec struct {
	Enabled      bool   `json:"enabled,omitempty"`
	ServerHost   string `json:"serverHost,omitempty"`
	Image        string `json:"image"`
	MongodParams string `json:"mongodParams,omitempty"`
	MongosParams string `json:"mongosParams,omitempty"`

	Resources corev1.ResourceRequirements `json:"resources,omitempty"`
}

func (*PMMSpec) DeepCopy

func (in *PMMSpec) DeepCopy() *PMMSpec

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

func (*PMMSpec) DeepCopyInto

func (in *PMMSpec) DeepCopyInto(out *PMMSpec)

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

func (*PMMSpec) HasSecret added in v1.14.0

func (pmm *PMMSpec) HasSecret(secret *corev1.Secret) bool

func (*PMMSpec) ShouldUseAPIKeyAuth added in v1.13.0

func (spec *PMMSpec) ShouldUseAPIKeyAuth(secret *corev1.Secret) bool

type PVCSpec added in v1.14.0

type PVCSpec struct {
	Annotations map[string]string `json:"annotations,omitempty"`
	Labels      map[string]string `json:"labels,omitempty"`

	*corev1.PersistentVolumeClaimSpec `json:",inline"`
}

func (*PVCSpec) DeepCopy added in v1.14.0

func (in *PVCSpec) DeepCopy() *PVCSpec

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

func (*PVCSpec) DeepCopyInto added in v1.14.0

func (in *PVCSpec) DeepCopyInto(out *PVCSpec)

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

type PerconaServerMongoDB

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

	Spec   PerconaServerMongoDBSpec   `json:"spec,omitempty"`
	Status PerconaServerMongoDBStatus `json:"status,omitempty"`
}

PerconaServerMongoDB is the Schema for the perconaservermongodbs API +k8s:openapi-gen=true +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName="psmdb" +kubebuilder:printcolumn:name="ENDPOINT",type="string",JSONPath=".status.host" +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.state" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp"

func (*PerconaServerMongoDB) CanBackup added in v1.9.0

func (cr *PerconaServerMongoDB) CanBackup(ctx context.Context) error

func (*PerconaServerMongoDB) CheckNSetDefaults

func (cr *PerconaServerMongoDB) CheckNSetDefaults(platform version.Platform, log logr.Logger) error

CheckNSetDefaults sets default options, overwrites wrong settings and checks if other options' values valid

func (*PerconaServerMongoDB) CompareMongoDBVersion added in v1.15.0

func (cr *PerconaServerMongoDB) CompareMongoDBVersion(version string) (int, error)

func (*PerconaServerMongoDB) CompareVersion added in v1.5.0

func (cr *PerconaServerMongoDB) CompareVersion(version string) int

func (*PerconaServerMongoDB) DeepCopy

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

func (*PerconaServerMongoDB) DeepCopyInto

func (in *PerconaServerMongoDB) DeepCopyInto(out *PerconaServerMongoDB)

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

func (*PerconaServerMongoDB) DeepCopyObject

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

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

func (*PerconaServerMongoDB) GetExternalNodes added in v1.10.0

func (cr *PerconaServerMongoDB) GetExternalNodes() []*ExternalNode

GetExternalNodes returns all external nodes for all replsets

func (*PerconaServerMongoDB) GetOrderedFinalizers added in v1.14.0

func (cr *PerconaServerMongoDB) GetOrderedFinalizers() []string

func (*PerconaServerMongoDB) MCSEnabled added in v1.12.0

func (cr *PerconaServerMongoDB) MCSEnabled() bool

func (*PerconaServerMongoDB) MongosNamespacedName added in v1.7.0

func (cr *PerconaServerMongoDB) MongosNamespacedName() types.NamespacedName

func (*PerconaServerMongoDB) OwnerRef

func (cr *PerconaServerMongoDB) OwnerRef(scheme *runtime.Scheme) (metav1.OwnerReference, error)

OwnerRef returns OwnerReference to object

func (*PerconaServerMongoDB) PVCResizeInProgress added in v1.16.0

func (cr *PerconaServerMongoDB) PVCResizeInProgress() bool

func (*PerconaServerMongoDB) StatefulsetNamespacedName added in v1.8.0

func (cr *PerconaServerMongoDB) StatefulsetNamespacedName(rsName string) types.NamespacedName

func (*PerconaServerMongoDB) TLSEnabled added in v1.16.0

func (cr *PerconaServerMongoDB) TLSEnabled() bool

func (*PerconaServerMongoDB) UnsafeTLSDisabled added in v1.16.0

func (cr *PerconaServerMongoDB) UnsafeTLSDisabled() bool

func (*PerconaServerMongoDB) Version added in v1.5.0

func (cr *PerconaServerMongoDB) Version() *v.Version

type PerconaServerMongoDBBackup

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

	Spec   PerconaServerMongoDBBackupSpec   `json:"spec,omitempty"`
	Status PerconaServerMongoDBBackupStatus `json:"status,omitempty"`
}

PerconaServerMongoDBBackup is the Schema for the perconaservermongodbbackups API +k8s:openapi-gen=true +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName="psmdb-backup" +kubebuilder:printcolumn:name="Cluster",type=string,JSONPath=".spec.clusterName",description="Cluster name" +kubebuilder:printcolumn:name="Storage",type=string,JSONPath=".spec.storageName",description="Storage name" +kubebuilder:printcolumn:name="Destination",type=string,JSONPath=".status.destination",description="Backup destination" +kubebuilder:printcolumn:name="Type",type=string,JSONPath=".status.type",description="Backup type" +kubebuilder:printcolumn:name="Status",type=string,JSONPath=".status.state",description="Job status" +kubebuilder:printcolumn:name="Completed",type=date,JSONPath=".status.completed",description="Completed time" +kubebuilder:printcolumn:name="Age",type=date,JSONPath=".metadata.creationTimestamp",description="Created time"

func (*PerconaServerMongoDBBackup) CheckFields

func (p *PerconaServerMongoDBBackup) CheckFields() error

func (*PerconaServerMongoDBBackup) DeepCopy

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

func (*PerconaServerMongoDBBackup) DeepCopyInto

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

func (*PerconaServerMongoDBBackup) DeepCopyObject

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

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

type PerconaServerMongoDBBackupList

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

PerconaServerMongoDBBackupList contains a list of PerconaServerMongoDBBackup

func (*PerconaServerMongoDBBackupList) DeepCopy

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

func (*PerconaServerMongoDBBackupList) DeepCopyInto

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

func (*PerconaServerMongoDBBackupList) DeepCopyObject

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

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

type PerconaServerMongoDBBackupSpec

type PerconaServerMongoDBBackupSpec struct {
	PSMDBCluster     string                   `json:"psmdbCluster,omitempty"` // TODO: Remove after v1.15
	ClusterName      string                   `json:"clusterName,omitempty"`
	StorageName      string                   `json:"storageName,omitempty"`
	Compression      compress.CompressionType `json:"compressionType,omitempty"`
	CompressionLevel *int                     `json:"compressionLevel,omitempty"`

	// +kubebuilder:validation:Enum={logical,physical}
	Type defs.BackupType `json:"type,omitempty"`
}

PerconaServerMongoDBBackupSpec defines the desired state of PerconaServerMongoDBBackup

func (*PerconaServerMongoDBBackupSpec) DeepCopy

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

func (*PerconaServerMongoDBBackupSpec) DeepCopyInto

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

func (*PerconaServerMongoDBBackupSpec) GetClusterName added in v1.12.0

func (p *PerconaServerMongoDBBackupSpec) GetClusterName() string

GetClusterName returns ClusterName if it's not empty. Otherwise, it will return PSMDBCluster. TODO: Remove after v1.15

type PerconaServerMongoDBBackupStatus

type PerconaServerMongoDBBackupStatus struct {
	Type           defs.BackupType         `json:"type,omitempty"`
	State          BackupState             `json:"state,omitempty"`
	StartAt        *metav1.Time            `json:"start,omitempty"`
	CompletedAt    *metav1.Time            `json:"completed,omitempty"`
	LastTransition *metav1.Time            `json:"lastTransition,omitempty"`
	Destination    string                  `json:"destination,omitempty"`
	StorageName    string                  `json:"storageName,omitempty"`
	S3             *BackupStorageS3Spec    `json:"s3,omitempty"`
	Azure          *BackupStorageAzureSpec `json:"azure,omitempty"`
	ReplsetNames   []string                `json:"replsetNames,omitempty"`
	PBMname        string                  `json:"pbmName,omitempty"`

	// Deprecated: Use PBMPods instead
	PBMPod               string            `json:"pbmPod,omitempty"`
	PBMPods              map[string]string `json:"pbmPods,omitempty"`
	Error                string            `json:"error,omitempty"`
	LatestRestorableTime *metav1.Time      `json:"latestRestorableTime,omitempty"`
}

PerconaServerMongoDBBackupStatus defines the observed state of PerconaServerMongoDBBackup

func (*PerconaServerMongoDBBackupStatus) DeepCopy

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

func (*PerconaServerMongoDBBackupStatus) DeepCopyInto

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

type PerconaServerMongoDBList

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

PerconaServerMongoDBList contains a list of PerconaServerMongoDB

func (*PerconaServerMongoDBList) DeepCopy

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

func (*PerconaServerMongoDBList) DeepCopyInto

func (in *PerconaServerMongoDBList) DeepCopyInto(out *PerconaServerMongoDBList)

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

func (*PerconaServerMongoDBList) DeepCopyObject

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

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

type PerconaServerMongoDBRestore

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

	Spec   PerconaServerMongoDBRestoreSpec   `json:"spec,omitempty"`
	Status PerconaServerMongoDBRestoreStatus `json:"status,omitempty"`
}

PerconaServerMongoDBRestore is the Schema for the perconaservermongodbrestores API +k8s:openapi-gen=true +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName="psmdb-restore" +kubebuilder:printcolumn:name="Cluster",type=string,JSONPath=".spec.clusterName",description="Cluster name" +kubebuilder:printcolumn:name="Status",type=string,JSONPath=".status.state",description="Job status" +kubebuilder:printcolumn:name="Age",type=date,JSONPath=".metadata.creationTimestamp",description="Created time"

func (*PerconaServerMongoDBRestore) CheckFields

func (r *PerconaServerMongoDBRestore) CheckFields() error

func (*PerconaServerMongoDBRestore) DeepCopy

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

func (*PerconaServerMongoDBRestore) DeepCopyInto

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

func (*PerconaServerMongoDBRestore) DeepCopyObject

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

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

type PerconaServerMongoDBRestoreList

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

PerconaServerMongoDBRestoreList contains a list of PerconaServerMongoDBRestore

func (*PerconaServerMongoDBRestoreList) DeepCopy

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

func (*PerconaServerMongoDBRestoreList) DeepCopyInto

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

func (*PerconaServerMongoDBRestoreList) DeepCopyObject

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

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

type PerconaServerMongoDBRestoreSpec

type PerconaServerMongoDBRestoreSpec struct {
	ClusterName  string                            `json:"clusterName,omitempty"`
	Replset      string                            `json:"replset,omitempty"`
	BackupName   string                            `json:"backupName,omitempty"`
	BackupSource *PerconaServerMongoDBBackupStatus `json:"backupSource,omitempty"`
	StorageName  string                            `json:"storageName,omitempty"`
	PITR         *PITRestoreSpec                   `json:"pitr,omitempty"`
}

PerconaServerMongoDBRestoreSpec defines the desired state of PerconaServerMongoDBRestore

func (*PerconaServerMongoDBRestoreSpec) DeepCopy

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

func (*PerconaServerMongoDBRestoreSpec) DeepCopyInto

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

type PerconaServerMongoDBRestoreStatus

type PerconaServerMongoDBRestoreStatus struct {
	State          RestoreState `json:"state,omitempty"`
	PBMname        string       `json:"pbmName,omitempty"`
	PITRTarget     string       `json:"pitrTarget,omitempty"`
	Error          string       `json:"error,omitempty"`
	CompletedAt    *metav1.Time `json:"completed,omitempty"`
	LastTransition *metav1.Time `json:"lastTransition,omitempty"`
}

PerconaServerMongoDBRestoreStatus defines the observed state of PerconaServerMongoDBRestore

func (*PerconaServerMongoDBRestoreStatus) DeepCopy

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

func (*PerconaServerMongoDBRestoreStatus) DeepCopyInto

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

type PerconaServerMongoDBSpec

type PerconaServerMongoDBSpec struct {
	Pause                        bool                                 `json:"pause,omitempty"`
	Unmanaged                    bool                                 `json:"unmanaged,omitempty"`
	CRVersion                    string                               `json:"crVersion,omitempty"`
	Platform                     *version.Platform                    `json:"platform,omitempty"`
	Image                        string                               `json:"image"`
	ImagePullSecrets             []corev1.LocalObjectReference        `json:"imagePullSecrets,omitempty"`
	UnsafeConf                   bool                                 `json:"allowUnsafeConfigurations,omitempty"`
	Unsafe                       UnsafeFlags                          `json:"unsafeFlags,omitempty"`
	IgnoreLabels                 []string                             `json:"ignoreLabels,omitempty"`
	IgnoreAnnotations            []string                             `json:"ignoreAnnotations,omitempty"`
	Replsets                     []*ReplsetSpec                       `json:"replsets,omitempty"`
	Secrets                      *SecretsSpec                         `json:"secrets,omitempty"`
	Backup                       BackupSpec                           `json:"backup,omitempty"`
	ImagePullPolicy              corev1.PullPolicy                    `json:"imagePullPolicy,omitempty"`
	PMM                          PMMSpec                              `json:"pmm,omitempty"`
	UpdateStrategy               appsv1.StatefulSetUpdateStrategyType `json:"updateStrategy,omitempty"`
	UpgradeOptions               UpgradeOptions                       `json:"upgradeOptions,omitempty"`
	SchedulerName                string                               `json:"schedulerName,omitempty"`
	ClusterServiceDNSSuffix      string                               `json:"clusterServiceDNSSuffix,omitempty"`
	ClusterServiceDNSMode        DNSMode                              `json:"clusterServiceDNSMode,omitempty"`
	Sharding                     Sharding                             `json:"sharding,omitempty"`
	InitImage                    string                               `json:"initImage,omitempty"`
	InitContainerSecurityContext *corev1.SecurityContext              `json:"initContainerSecurityContext,omitempty"`
	MultiCluster                 MultiCluster                         `json:"multiCluster,omitempty"`
	TLS                          *TLSSpec                             `json:"tls,omitempty"`
}

PerconaServerMongoDBSpec defines the desired state of PerconaServerMongoDB

func (*PerconaServerMongoDBSpec) DeepCopy

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

func (*PerconaServerMongoDBSpec) DeepCopyInto

func (in *PerconaServerMongoDBSpec) DeepCopyInto(out *PerconaServerMongoDBSpec)

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

func (*PerconaServerMongoDBSpec) Replset added in v1.14.0

func (spec *PerconaServerMongoDBSpec) Replset(name string) *ReplsetSpec

type PerconaServerMongoDBStatus

type PerconaServerMongoDBStatus struct {
	State              AppState                 `json:"state,omitempty"`
	MongoVersion       string                   `json:"mongoVersion,omitempty"`
	MongoImage         string                   `json:"mongoImage,omitempty"`
	Message            string                   `json:"message,omitempty"`
	Conditions         []ClusterCondition       `json:"conditions,omitempty"`
	Replsets           map[string]ReplsetStatus `json:"replsets,omitempty"`
	Mongos             *MongosStatus            `json:"mongos,omitempty"`
	ObservedGeneration int64                    `json:"observedGeneration,omitempty"`
	BackupStatus       AppState                 `json:"backup,omitempty"`
	BackupVersion      string                   `json:"backupVersion,omitempty"`
	PMMStatus          AppState                 `json:"pmmStatus,omitempty"`
	PMMVersion         string                   `json:"pmmVersion,omitempty"`
	Host               string                   `json:"host,omitempty"`
	Size               int32                    `json:"size"`
	Ready              int32                    `json:"ready"`
}

PerconaServerMongoDBStatus defines the observed state of PerconaServerMongoDB

func (*PerconaServerMongoDBStatus) AddCondition added in v1.9.0

func (s *PerconaServerMongoDBStatus) AddCondition(c ClusterCondition)

func (*PerconaServerMongoDBStatus) DeepCopy

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

func (*PerconaServerMongoDBStatus) DeepCopyInto

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

type PodAffinity

type PodAffinity struct {
	TopologyKey *string          `json:"antiAffinityTopologyKey,omitempty"`
	Advanced    *corev1.Affinity `json:"advanced,omitempty"`
}

func (*PodAffinity) DeepCopy

func (in *PodAffinity) DeepCopy() *PodAffinity

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

func (*PodAffinity) DeepCopyInto

func (in *PodAffinity) DeepCopyInto(out *PodAffinity)

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

type PodDisruptionBudgetSpec

type PodDisruptionBudgetSpec struct {
	MinAvailable   *intstr.IntOrString `json:"minAvailable,omitempty"`
	MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty"`
}

func (*PodDisruptionBudgetSpec) DeepCopy

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

func (*PodDisruptionBudgetSpec) DeepCopyInto

func (in *PodDisruptionBudgetSpec) DeepCopyInto(out *PodDisruptionBudgetSpec)

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

type ReplsetMemberStatus

type ReplsetMemberStatus struct {
	Name    string `json:"name,omitempty"`
	Version string `json:"version,omitempty"`
}

func (*ReplsetMemberStatus) DeepCopy

func (in *ReplsetMemberStatus) DeepCopy() *ReplsetMemberStatus

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

func (*ReplsetMemberStatus) DeepCopyInto

func (in *ReplsetMemberStatus) DeepCopyInto(out *ReplsetMemberStatus)

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

type ReplsetSpec

type ReplsetSpec struct {
	MultiAZ `json:",inline"`

	Name                     string                     `json:"name,omitempty"`
	Size                     int32                      `json:"size"`
	ClusterRole              ClusterRole                `json:"clusterRole,omitempty"`
	Arbiter                  Arbiter                    `json:"arbiter,omitempty"`
	Expose                   ExposeTogglable            `json:"expose,omitempty"`
	VolumeSpec               *VolumeSpec                `json:"volumeSpec,omitempty"`
	ReadinessProbe           *corev1.Probe              `json:"readinessProbe,omitempty"`
	LivenessProbe            *LivenessProbeExtended     `json:"livenessProbe,omitempty"`
	PodSecurityContext       *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"`
	ContainerSecurityContext *corev1.SecurityContext    `json:"containerSecurityContext,omitempty"`
	Storage                  *MongodSpecStorage         `json:"storage,omitempty"`
	Configuration            MongoConfiguration         `json:"configuration,omitempty"`
	ExternalNodes            []*ExternalNode            `json:"externalNodes,omitempty"`
	NonVoting                NonVotingSpec              `json:"nonvoting,omitempty"`
	HostAliases              []corev1.HostAlias         `json:"hostAliases,omitempty"`
	Horizons                 HorizonsSpec               `json:"splitHorizons,omitempty"`
}

func (*ReplsetSpec) ArbiterLabels added in v1.16.0

func (r *ReplsetSpec) ArbiterLabels(cr *PerconaServerMongoDB) map[string]string

func (ReplsetSpec) CustomReplsetName added in v1.15.0

func (r ReplsetSpec) CustomReplsetName() (string, error)

func (*ReplsetSpec) DeepCopy

func (in *ReplsetSpec) DeepCopy() *ReplsetSpec

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

func (*ReplsetSpec) DeepCopyInto

func (in *ReplsetSpec) DeepCopyInto(out *ReplsetSpec)

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

func (*ReplsetSpec) MongodLabels added in v1.16.0

func (r *ReplsetSpec) MongodLabels(cr *PerconaServerMongoDB) map[string]string

func (*ReplsetSpec) NonVotingLabels added in v1.16.0

func (r *ReplsetSpec) NonVotingLabels(cr *PerconaServerMongoDB) map[string]string

func (*ReplsetSpec) PodFQDN added in v1.12.0

func (r *ReplsetSpec) PodFQDN(cr *PerconaServerMongoDB, podName string) string

func (*ReplsetSpec) PodFQDNWithPort added in v1.12.0

func (r *ReplsetSpec) PodFQDNWithPort(cr *PerconaServerMongoDB, podName string) string

func (*ReplsetSpec) PodName added in v1.15.0

func (r *ReplsetSpec) PodName(cr *PerconaServerMongoDB, idx int) string

func (*ReplsetSpec) ServiceName added in v1.12.0

func (r *ReplsetSpec) ServiceName(cr *PerconaServerMongoDB) string

func (*ReplsetSpec) SetDefaults added in v1.12.0

func (rs *ReplsetSpec) SetDefaults(platform version.Platform, cr *PerconaServerMongoDB, log logr.Logger) error

SetDefaults set default options for the replset

type ReplsetStatus

type ReplsetStatus struct {
	Members     []*ReplsetMemberStatus `json:"members,omitempty"`
	ClusterRole ClusterRole            `json:"clusterRole,omitempty"`

	Initialized  bool     `json:"initialized,omitempty"`
	AddedAsShard *bool    `json:"added_as_shard,omitempty"`
	Size         int32    `json:"size"`
	Ready        int32    `json:"ready"`
	Status       AppState `json:"status,omitempty"`
	Message      string   `json:"message,omitempty"`
}

func (*ReplsetStatus) DeepCopy

func (in *ReplsetStatus) DeepCopy() *ReplsetStatus

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

func (*ReplsetStatus) DeepCopyInto

func (in *ReplsetStatus) DeepCopyInto(out *ReplsetStatus)

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

type RestoreOptions added in v1.16.0

type RestoreOptions struct {
	BatchSize           int               `json:"batchSize,omitempty"`
	NumInsertionWorkers int               `json:"numInsertionWorkers,omitempty"`
	NumDownloadWorkers  int               `json:"numDownloadWorkers,omitempty"`
	MaxDownloadBufferMb int               `json:"maxDownloadBufferMb,omitempty"`
	DownloadChunkMb     int               `json:"downloadChunkMb,omitempty"`
	MongodLocation      string            `json:"mongodLocation,omitempty"`
	MongodLocationMap   map[string]string `json:"mongodLocationMap,omitempty"`
}

func (*RestoreOptions) DeepCopy added in v1.16.0

func (in *RestoreOptions) DeepCopy() *RestoreOptions

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

func (*RestoreOptions) DeepCopyInto added in v1.16.0

func (in *RestoreOptions) DeepCopyInto(out *RestoreOptions)

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

type RestoreState added in v1.4.0

type RestoreState string

RestoreState is for restore status states

const (
	RestoreStateNew       RestoreState = ""
	RestoreStateWaiting   RestoreState = "waiting"
	RestoreStateRequested RestoreState = "requested"
	RestoreStateRejected  RestoreState = "rejected"
	RestoreStateRunning   RestoreState = "running"
	RestoreStateError     RestoreState = "error"
	RestoreStateReady     RestoreState = "ready"
)

type Retryer added in v1.16.0

type Retryer struct {
	NumMaxRetries int             `json:"numMaxRetries,omitempty"`
	MinRetryDelay metav1.Duration `json:"minRetryDelay,omitempty"`
	MaxRetryDelay metav1.Duration `json:"maxRetryDelay,omitempty"`
}

func (*Retryer) DeepCopy added in v1.16.0

func (in *Retryer) DeepCopy() *Retryer

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

func (*Retryer) DeepCopyInto added in v1.16.0

func (in *Retryer) DeepCopyInto(out *Retryer)

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

type S3ServiceSideEncryption added in v1.15.0

type S3ServiceSideEncryption struct {
	// Used to specify the SSE algorithm used when keys are managed by the server
	SSEAlgorithm string `json:"sseAlgorithm,omitempty"`
	KMSKeyID     string `json:"kmsKeyID,omitempty"`

	// Used to specify SSE-C style encryption. For Amazon S3 SSECustomerAlgorithm must be 'AES256'
	// see https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html
	SSECustomerAlgorithm string `json:"sseCustomerAlgorithm,omitempty"`

	// If SSECustomerAlgorithm is set, this must be a base64 encoded key compatible with the algorithm
	// specified in the SseCustomerAlgorithm field.
	SSECustomerKey string `json:"sseCustomerKey,omitempty"`
}

func (*S3ServiceSideEncryption) DeepCopy added in v1.15.0

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

func (*S3ServiceSideEncryption) DeepCopyInto added in v1.15.0

func (in *S3ServiceSideEncryption) DeepCopyInto(out *S3ServiceSideEncryption)

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

type SecretsSpec

type SecretsSpec struct {
	Users         string `json:"users,omitempty"`
	SSL           string `json:"ssl,omitempty"`
	SSLInternal   string `json:"sslInternal,omitempty"`
	EncryptionKey string `json:"encryptionKey,omitempty"`
	Vault         string `json:"vault,omitempty"`
	SSE           string `json:"sse,omitempty"`
	LDAPSecret    string `json:"ldapSecret,omitempty"`
}

func (*SecretsSpec) DeepCopy

func (in *SecretsSpec) DeepCopy() *SecretsSpec

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

func (*SecretsSpec) DeepCopyInto

func (in *SecretsSpec) DeepCopyInto(out *SecretsSpec)

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

type ServerVersion

type ServerVersion struct {
	Platform version.Platform
	Info     k8sversion.Info
}

ServerVersion represents info about k8s / openshift server version

func (*ServerVersion) DeepCopy

func (in *ServerVersion) DeepCopy() *ServerVersion

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

func (*ServerVersion) DeepCopyInto

func (in *ServerVersion) DeepCopyInto(out *ServerVersion)

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

type Sharding added in v1.6.0

type Sharding struct {
	Enabled          bool         `json:"enabled"`
	ConfigsvrReplSet *ReplsetSpec `json:"configsvrReplSet,omitempty"`
	Mongos           *MongosSpec  `json:"mongos,omitempty"`
	Balancer         BalancerSpec `json:"balancer,omitempty"`
}

func (*Sharding) DeepCopy added in v1.7.0

func (in *Sharding) DeepCopy() *Sharding

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

func (*Sharding) DeepCopyInto added in v1.7.0

func (in *Sharding) DeepCopyInto(out *Sharding)

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

type StorageEngine

type StorageEngine string
var (
	StorageEngineWiredTiger StorageEngine = "wiredTiger"
	StorageEngineInMemory   StorageEngine = "inMemory"
	StorageEngineMMAPv1     StorageEngine = "mmapv1"
)

type TLSMode added in v1.16.0

type TLSMode string
const (
	TLSModeDisabled TLSMode = "disabled"
	TLSModeAllow    TLSMode = "allowTLS"
	TLSModePrefer   TLSMode = "preferTLS"
	TLSModeRequire  TLSMode = "requireTLS"
)

type TLSSpec added in v1.12.0

type TLSSpec struct {
	Mode                     TLSMode                 `json:"mode,omitempty"`
	AllowInvalidCertificates *bool                   `json:"allowInvalidCertificates,omitempty"`
	CertValidityDuration     metav1.Duration         `json:"certValidityDuration,omitempty"`
	IssuerConf               *cmmeta.ObjectReference `json:"issuerConf,omitempty"`
}

func (*TLSSpec) DeepCopy added in v1.12.0

func (in *TLSSpec) DeepCopy() *TLSSpec

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

func (*TLSSpec) DeepCopyInto added in v1.12.0

func (in *TLSSpec) DeepCopyInto(out *TLSSpec)

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

type UnsafeFlags added in v1.16.0

type UnsafeFlags struct {
	TLS                    bool `json:"tls,omitempty"`
	ReplsetSize            bool `json:"replsetSize,omitempty"`
	MongosSize             bool `json:"mongosSize,omitempty"`
	TerminationGracePeriod bool `json:"terminationGracePeriod,omitempty"`
	BackupIfUnhealthy      bool `json:"backupIfUnhealthy,omitempty"`
}

func (*UnsafeFlags) DeepCopy added in v1.16.0

func (in *UnsafeFlags) DeepCopy() *UnsafeFlags

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

func (*UnsafeFlags) DeepCopyInto added in v1.16.0

func (in *UnsafeFlags) DeepCopyInto(out *UnsafeFlags)

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

type UpgradeOptions added in v1.5.0

type UpgradeOptions struct {
	VersionServiceEndpoint string          `json:"versionServiceEndpoint,omitempty"`
	Apply                  UpgradeStrategy `json:"apply,omitempty"`
	Schedule               string          `json:"schedule,omitempty"`
	SetFCV                 bool            `json:"setFCV,omitempty"`
}

func (*UpgradeOptions) DeepCopy added in v1.6.0

func (in *UpgradeOptions) DeepCopy() *UpgradeOptions

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

func (*UpgradeOptions) DeepCopyInto added in v1.6.0

func (in *UpgradeOptions) DeepCopyInto(out *UpgradeOptions)

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

type UpgradeStrategy added in v1.5.0

type UpgradeStrategy string
const (
	UpgradeStrategyDisabled    UpgradeStrategy = "disabled"
	UpgradeStrategyNever       UpgradeStrategy = "never"
	UpgradeStrategyRecommended UpgradeStrategy = "recommended"
	UpgradeStrategyLatest      UpgradeStrategy = "latest"
)

func (UpgradeStrategy) Lower added in v1.5.0

func (us UpgradeStrategy) Lower() UpgradeStrategy

type UserRole added in v1.15.0

type UserRole string
const (
	RoleDatabaseAdmin  UserRole = "databaseAdmin"
	RoleClusterAdmin   UserRole = "clusterAdmin"
	RoleUserAdmin      UserRole = "userAdmin"
	RoleClusterMonitor UserRole = "clusterMonitor"
	RoleBackup         UserRole = "backup"
)

type VolumeSpec

type VolumeSpec struct {
	// EmptyDir represents a temporary directory that shares a pod's lifetime.
	EmptyDir *corev1.EmptyDirVolumeSource `json:"emptyDir,omitempty"`

	// HostPath represents a pre-existing file or directory on the host machine
	// that is directly exposed to the container.
	HostPath *corev1.HostPathVolumeSource `json:"hostPath,omitempty"`

	// PersistentVolumeClaim represents a reference to a PersistentVolumeClaim.
	// It has the highest level of precedence, followed by HostPath and
	// EmptyDir. And represents the PVC specification.
	PersistentVolumeClaim PVCSpec `json:"persistentVolumeClaim,omitempty"`
}

func (*VolumeSpec) DeepCopy

func (in *VolumeSpec) DeepCopy() *VolumeSpec

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

func (*VolumeSpec) DeepCopyInto

func (in *VolumeSpec) DeepCopyInto(out *VolumeSpec)

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

type WiredTigerCompressor

type WiredTigerCompressor string
var (
	WiredTigerCompressorNone   WiredTigerCompressor = "none"
	WiredTigerCompressorSnappy WiredTigerCompressor = "snappy"
	WiredTigerCompressorZlib   WiredTigerCompressor = "zlib"
)

Jump to

Keyboard shortcuts

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