v1

package
v1.15.0 Latest Latest
Warning

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

Go to latest
Published: Oct 9, 2023 License: Apache-2.0 Imports: 26 Imported by: 5

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 (
	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 AffinityOff = "none"
View Source
const AnnotationRestoreInProgress = "percona.com/restore-in-progress"
View Source
const AnnotationResyncPBM = "percona.com/resync-pbm"
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 UserSecretName added in v1.8.0

func UserSecretName(cr *PerconaServerMongoDB) string

Types

type AppState

type AppState string
const (
	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 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"`
}

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"`
}

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"`
	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 pbm.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 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"`
}

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) 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) 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() 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) StatefulsetNamespacedName added in v1.8.0

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

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 pbm.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           pbm.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"`
	PBMPod         string                  `json:"pbmPod,omitempty"`
	Error          string                  `json:"error,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"`
	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) 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) 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 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 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"`
}

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 TLSSpec added in v1.12.0

type TLSSpec struct {
	CertValidityDuration metav1.Duration `json:"certValidityDuration,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 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