Documentation ¶
Overview ¶
Package v1beta1 contains API Schema definitions for the apps v1beta1 API group +kubebuilder:object:generate=true +groupName=apps.foundationdb.org
Index ¶
- Variables
- type BackupGenerationStatus
- type ClusterGenerationStatus
- type ClusterHealth
- type ConnectionString
- type ContainerOverrides
- type DataCenter
- type DatabaseConfiguration
- func (in *DatabaseConfiguration) DeepCopy() *DatabaseConfiguration
- func (in *DatabaseConfiguration) DeepCopyInto(out *DatabaseConfiguration)
- func (configuration *DatabaseConfiguration) FillInDefaultVersionFlags(liveConfiguration DatabaseConfiguration)deprecated
- func (configuration DatabaseConfiguration) FillInDefaultsFromStatus() DatabaseConfigurationdeprecated
- func (configuration DatabaseConfiguration) GetConfigurationString() (string, error)
- func (configuration DatabaseConfiguration) GetNextConfigurationChange(finalConfiguration DatabaseConfiguration) DatabaseConfiguration
- func (configuration DatabaseConfiguration) NormalizeConfiguration() DatabaseConfiguration
- type FdbVersion
- func (in *FdbVersion) DeepCopy() *FdbVersion
- func (in *FdbVersion) DeepCopyInto(out *FdbVersion)
- func (version FdbVersion) HasInstanceIDInSidecarSubstitutions() bool
- func (version FdbVersion) HasMaxProtocolClientsInStatus() bool
- func (version FdbVersion) HasNonBlockingExcludes() bool
- func (version FdbVersion) HasRatekeeperRole() bool
- func (version FdbVersion) HasSidecarCrashOnEmpty() bool
- func (version FdbVersion) IsAtLeast(other FdbVersion) bool
- func (version FdbVersion) IsProtocolCompatible(other FdbVersion) bool
- func (version FdbVersion) PrefersCommandLineArgumentsInSidecar() bool
- func (version FdbVersion) String() string
- func (version FdbVersion) SupportsUsingBinariesFromMainContainer() bool
- type FoundationDBBackup
- func (backup *FoundationDBBackup) BackupName() string
- func (backup *FoundationDBBackup) BackupURL() string
- func (backup *FoundationDBBackup) Bucket() string
- func (backup *FoundationDBBackup) CheckReconciliation() (bool, error)
- func (in *FoundationDBBackup) DeepCopy() *FoundationDBBackup
- func (in *FoundationDBBackup) DeepCopyInto(out *FoundationDBBackup)
- func (in *FoundationDBBackup) DeepCopyObject() runtime.Object
- func (backup *FoundationDBBackup) GetDesiredAgentCount() int
- func (backup *FoundationDBBackup) ShouldBePaused() bool
- func (backup *FoundationDBBackup) ShouldRun() bool
- func (backup *FoundationDBBackup) SnapshotPeriodSeconds() int
- type FoundationDBBackupList
- type FoundationDBBackupSpec
- type FoundationDBBackupStatus
- type FoundationDBBackupStatusBackupDetails
- type FoundationDBCluster
- func (cluster *FoundationDBCluster) CheckReconciliation() (bool, error)
- func (cluster *FoundationDBCluster) ClearMissingVersionFlags(configuration *DatabaseConfiguration)
- func (in *FoundationDBCluster) DeepCopy() *FoundationDBCluster
- func (in *FoundationDBCluster) DeepCopyInto(out *FoundationDBCluster)
- func (in *FoundationDBCluster) DeepCopyObject() runtime.Object
- func (cluster *FoundationDBCluster) DesiredCoordinatorCount() int
- func (cluster *FoundationDBCluster) DesiredDatabaseConfiguration() DatabaseConfiguration
- func (cluster *FoundationDBCluster) DesiredFaultTolerance() int
- func (cluster *FoundationDBCluster) GetFullAddress(ipAddress string) string
- func (cluster *FoundationDBCluster) GetFullAddressList(ipAddress string, primaryOnly bool) string
- func (cluster *FoundationDBCluster) GetFullSidecarVersion(useRunningVersion bool) string
- func (cluster *FoundationDBCluster) GetLockID() string
- func (cluster *FoundationDBCluster) GetLockPrefix() string
- func (cluster *FoundationDBCluster) GetProcessCountsWithDefaults() (ProcessCounts, error)
- func (cluster *FoundationDBCluster) GetProcessSettings(processClass string) ProcessSettings
- func (cluster *FoundationDBCluster) GetRoleCountsWithDefaults() RoleCounts
- func (cluster *FoundationDBCluster) InstanceIsBeingRemoved(instanceID string) bool
- func (cluster *FoundationDBCluster) IsBeingUpgraded() bool
- func (cluster *FoundationDBCluster) MinimumFaultDomains() int
- func (cluster *FoundationDBCluster) ShouldUseLocks() bool
- type FoundationDBClusterAutomationOptions
- type FoundationDBClusterFaultDomain
- type FoundationDBClusterList
- type FoundationDBClusterSpec
- type FoundationDBClusterStatus
- type FoundationDBLiveBackupStatus
- type FoundationDBLiveBackupStatusState
- type FoundationDBRestore
- type FoundationDBRestoreList
- type FoundationDBRestoreSpec
- type FoundationDBRestoreStatus
- type FoundationDBStatus
- type FoundationDBStatusBackupInfo
- type FoundationDBStatusBackupTag
- type FoundationDBStatusClientDBStatus
- type FoundationDBStatusClusterClientInfo
- type FoundationDBStatusClusterInfo
- type FoundationDBStatusConnectedClient
- type FoundationDBStatusCoordinator
- type FoundationDBStatusCoordinatorInfo
- type FoundationDBStatusDataStatistics
- type FoundationDBStatusLayerInfo
- type FoundationDBStatusLocalClientInfo
- type FoundationDBStatusMovingData
- type FoundationDBStatusProcessInfo
- type FoundationDBStatusSupportedVersion
- type LockOptions
- type PendingRemovalState
- type ProcessAddress
- type ProcessCounts
- func (counts ProcessCounts) CountsAreSatisfied(currentCounts ProcessCounts) bool
- func (in *ProcessCounts) DeepCopy() *ProcessCounts
- func (in *ProcessCounts) DeepCopyInto(out *ProcessCounts)
- func (counts *ProcessCounts) IncreaseCount(name string, amount int)
- func (counts ProcessCounts) Map() map[string]int
- type ProcessSettings
- type Region
- type RequiredAddressSet
- type RoleCounts
- type ServiceConfig
- type VersionFlags
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "apps.foundationdb.org", Version: "v1beta1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
var ProcessClasses = fieldNames(ProcessCounts{})
ProcessClasses provides a consistent ordered list of the supported process classes.
Functions ¶
This section is empty.
Types ¶
type BackupGenerationStatus ¶ added in v0.7.0
type BackupGenerationStatus struct { // Reconciled provides the last generation that was fully reconciled. Reconciled int64 `json:"reconciled,omitempty"` // NeedsBackupAgentUpdate provides the last generation that could not // complete reconciliation because the backup agent deployment needs to be // updated. NeedsBackupAgentUpdate int64 `json:"needsBackupAgentUpdate,omitempty"` // NeedsBackupStart provides the last generation that could not complete // reconciliation because we need to start a backup. NeedsBackupStart int64 `json:"needsBackupStart,omitempty"` // NeedsBackupStart provides the last generation that could not complete // reconciliation because we need to stop a backup. NeedsBackupStop int64 `json:"needsBackupStop,omitempty"` // NeedsBackupPauseToggle provides the last generation that needs to have // a backup paused or resumed. NeedsBackupPauseToggle int64 `json:"needsBackupPauseToggle,omitempty"` // NeedsBackupReconfiguration provides the last generation that could not // complete reconciliation because we need to modify backup parameters. NeedsBackupReconfiguration int64 `json:"needsBackupModification,omitempty"` }
BackupGenerationStatus stores information on which generations have reached different stages in reconciliation for the backup.
func (*BackupGenerationStatus) DeepCopy ¶ added in v0.7.0
func (in *BackupGenerationStatus) DeepCopy() *BackupGenerationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackupGenerationStatus.
func (*BackupGenerationStatus) DeepCopyInto ¶ added in v0.7.0
func (in *BackupGenerationStatus) DeepCopyInto(out *BackupGenerationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterGenerationStatus ¶ added in v0.7.0
type ClusterGenerationStatus struct { // Reconciled provides the last generation that was fully reconciled. Reconciled int64 `json:"reconciled,omitempty"` // NeedsConfigurationChange provides the last generation that is pending // a change to configuration. NeedsConfigurationChange int64 `json:"needsConfigurationChange,omitempty"` // NeedsCoordinatorChange provides the last generation that is pending // a change to its coordinators. NeedsCoordinatorChange int64 `json:"needsCoordinatorChange,omitempty"` // NeedsBounce provides the last generation that is pending a bounce of // fdbserver. NeedsBounce int64 `json:"needsBounce,omitempty"` // NeedsPodDeletion provides the last generation that is pending pods being // deleted and recreated. NeedsPodDeletion int64 `json:"needsPodDeletion,omitempty"` // NeedsShrink provides the last generation that is pending pods being // excluded and removed. NeedsShrink int64 `json:"needsShrink,omitempty"` // NeedsGrow provides the last generation that is pending pods being // added. NeedsGrow int64 `json:"needsGrow,omitempty"` // NeedsMonitorConfUpdate provides the last generation that needs an update // through the fdbmonitor conf. NeedsMonitorConfUpdate int64 `json:"needsMonitorConfUpdate,omitempty"` // complete reconciliation due to the database being unavailable. DatabaseUnavailable int64 `json:"missingDatabaseStatus,omitempty"` // HasExtraListeners provides the last generation that could not // complete reconciliation because it has more listeners than it is supposed // to. HasExtraListeners int64 `json:"hasExtraListeners,omitempty"` // NeedsServiceUpdate provides the last generation that needs an update // to the service config. NeedsServiceUpdate int64 `json:"needsServiceUpdate,omitempty"` // NeedsBackupAgentUpdate provides the last generation that could not // complete reconciliation because the backup agent deployment needs to be // updated. // Deprecated: This needs to get moved into FoundationDBBackup NeedsBackupAgentUpdate int64 `json:"needsBackupAgentUpdate,omitempty"` // HasPendingRemoval provides the last generation that has pods that have // been excluded but are pending being removed. // // A cluster in this state is considered reconciled, but we track this in // the status to allow users of the operator to track when the removal // is fully complete. HasPendingRemoval int64 `json:"hasPendingRemoval,omitempty"` // HasFailingPods provides the last generation that has pods that are // failing to start. HasFailingPods int64 `json:"hasFailingPods,omitempty"` }
ClusterGenerationStatus stores information on which generations have reached different stages in reconciliation for the cluster.
func (*ClusterGenerationStatus) DeepCopy ¶ added in v0.7.0
func (in *ClusterGenerationStatus) DeepCopy() *ClusterGenerationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterGenerationStatus.
func (*ClusterGenerationStatus) DeepCopyInto ¶ added in v0.7.0
func (in *ClusterGenerationStatus) DeepCopyInto(out *ClusterGenerationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterHealth ¶
type ClusterHealth struct { // Available reports whether the database is accepting reads and writes. Available bool `json:"available,omitempty"` // Healthy reports whether the database is in a fully healthy state. Healthy bool `json:"healthy,omitempty"` // FullReplication reports whether all data are fully replicated according // to the current replication policy. FullReplication bool `json:"fullReplication,omitempty"` // DataMovementPriority reports the priority of the highest-priority data // movement in the cluster. DataMovementPriority int `json:"dataMovementPriority,omitempty"` }
ClusterHealth represents different views into health in the cluster status.
func (*ClusterHealth) DeepCopy ¶
func (in *ClusterHealth) DeepCopy() *ClusterHealth
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterHealth.
func (*ClusterHealth) DeepCopyInto ¶
func (in *ClusterHealth) DeepCopyInto(out *ClusterHealth)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConnectionString ¶
type ConnectionString struct { // DatabaseName provides an identifier for the database which persists // across coordinator changes. DatabaseName string // GenerationID provides a unique ID for the current generation of // coordinators. GenerationID string // Coordinators provides the addresses of the current coordinators. Coordinators []string }
ConnectionString models the contents of a cluster file in a structured way
func ParseConnectionString ¶
func ParseConnectionString(str string) (ConnectionString, error)
ParseConnectionString parses a connection string from its string representation
func (*ConnectionString) DeepCopy ¶
func (in *ConnectionString) DeepCopy() *ConnectionString
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionString.
func (*ConnectionString) DeepCopyInto ¶
func (in *ConnectionString) DeepCopyInto(out *ConnectionString)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConnectionString) GenerateNewGenerationID ¶
func (str *ConnectionString) GenerateNewGenerationID() error
GenerateNewGenerationID builds a new generation ID
func (*ConnectionString) HasCoordinators ¶
func (str *ConnectionString) HasCoordinators(coordinators []string) bool
HasCoordinators checks whether this connection string matches a set of coordinators.
func (*ConnectionString) String ¶
func (str *ConnectionString) String() string
String formats a connection string as a string
type ContainerOverrides ¶
type ContainerOverrides struct { // EnableTLS controls whether we should be listening on a TLS connection. EnableTLS bool `json:"enableTls,omitempty"` // PeerVerificationRules provides the rules for what client certificates // the process should accept. PeerVerificationRules string `json:"peerVerificationRules,omitempty"` // Env provides environment variables. // // Deprecated: Use the PodTemplate field instead. Env []corev1.EnvVar `json:"env,omitempty"` // VolumeMounts provides volume mounts. // // Deprecated: Use the PodTemplate field instead. VolumeMounts []corev1.VolumeMount `json:"volumeMounts,omitempty"` // ImageName provides the name of the image to use for the container, // without the version tag. // // Deprecated: Use the PodTemplate field instead. ImageName string `json:"imageName,omitempty"` // SecurityContext provides the container's security context. // // Deprecated: Use the PodTemplate field instead. SecurityContext *corev1.SecurityContext `json:"securityContext,omitempty"` }
ContainerOverrides provides options for customizing a container created by the operator.
func (*ContainerOverrides) DeepCopy ¶
func (in *ContainerOverrides) DeepCopy() *ContainerOverrides
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerOverrides.
func (*ContainerOverrides) DeepCopyInto ¶
func (in *ContainerOverrides) DeepCopyInto(out *ContainerOverrides)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataCenter ¶
type DataCenter struct { // The ID of the data center. This must match the dcid locality field. ID string `json:"id,omitempty"` // The priority of this data center when we have to choose a location. // Higher priorities are preferred over lower priorities. Priority int `json:"priority,omitempty"` // Satellite indicates whether the data center is serving as a satellite for // the region. A value of 1 indicates that it is a satellite, and a value of // 0 indicates that it is not a satellite. Satellite int `json:"satellite,omitempty"` }
DataCenter represents a data center in the region configuration
func (*DataCenter) DeepCopy ¶
func (in *DataCenter) DeepCopy() *DataCenter
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataCenter.
func (*DataCenter) DeepCopyInto ¶
func (in *DataCenter) DeepCopyInto(out *DataCenter)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatabaseConfiguration ¶
type DatabaseConfiguration struct { // RedundancyMode defines the core replication factor for the database. RedundancyMode string `json:"redundancy_mode,omitempty"` // StorageEngine defines the storage engine the database uses. StorageEngine string `json:"storage_engine,omitempty"` // UsableRegions defines how many regions the database should store data in. UsableRegions int `json:"usable_regions,omitempty"` // Regions defines the regions that the database can replicate in. Regions []Region `json:"regions,omitempty"` // RoleCounts defines how many processes the database should recruit for // each role. RoleCounts `json:""` // VersionFlags defines internal flags for testing new features in the // database. VersionFlags `json:""` }
DatabaseConfiguration represents the configuration of the database
func (*DatabaseConfiguration) DeepCopy ¶
func (in *DatabaseConfiguration) DeepCopy() *DatabaseConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseConfiguration.
func (*DatabaseConfiguration) DeepCopyInto ¶
func (in *DatabaseConfiguration) DeepCopyInto(out *DatabaseConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DatabaseConfiguration) FillInDefaultVersionFlags
deprecated
added in
v0.9.0
func (configuration *DatabaseConfiguration) FillInDefaultVersionFlags(liveConfiguration DatabaseConfiguration)
FillInDefaultVersionFlags adds in missing version flags so they match the running configuration.
Deprecated: Use ClearMissingVersionFlags instead on the live configuration instead.
func (DatabaseConfiguration) FillInDefaultsFromStatus
deprecated
func (configuration DatabaseConfiguration) FillInDefaultsFromStatus() DatabaseConfiguration
FillInDefaultsFromStatus adds in missing fields from the database configuration in the database status to make sure they match the fields that will appear in the cluster spec.
Deprecated: Use NormalizeConfiguration instead.
func (DatabaseConfiguration) GetConfigurationString ¶
func (configuration DatabaseConfiguration) GetConfigurationString() (string, error)
GetConfigurationString gets the CLI command for configuring a database.
func (DatabaseConfiguration) GetNextConfigurationChange ¶
func (configuration DatabaseConfiguration) GetNextConfigurationChange(finalConfiguration DatabaseConfiguration) DatabaseConfiguration
GetNextConfigurationChange produces the next marginal change that should be made to transform this configuration into another configuration.
If there are multiple changes between the two configurations that can not be made simultaneously, this will produce a subset of the changes that move in the correct direction. Applying this method repeatedly will eventually converge on the final configuration.
func (DatabaseConfiguration) NormalizeConfiguration ¶
func (configuration DatabaseConfiguration) NormalizeConfiguration() DatabaseConfiguration
NormalizeConfiguration ensures a standardized format and defaults when comparing database configuration in the cluster spec with database configuration in the cluster status.
This will fill in defaults of -1 for some fields that have a default of 0, and will ensure that the region configuration is ordered consistently.
type FdbVersion ¶
type FdbVersion struct { // Major is the major version Major int // Minor is the minor version Minor int // Patch is the patch version Patch int }
FdbVersion represents a version of FoundationDB.
This provides convenience methods for checking features available in different versions.
func ParseFdbVersion ¶
func ParseFdbVersion(version string) (FdbVersion, error)
ParseFdbVersion parses a version from its string representation.
func (*FdbVersion) DeepCopy ¶
func (in *FdbVersion) DeepCopy() *FdbVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FdbVersion.
func (*FdbVersion) DeepCopyInto ¶
func (in *FdbVersion) DeepCopyInto(out *FdbVersion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (FdbVersion) HasInstanceIDInSidecarSubstitutions ¶ added in v0.5.0
func (version FdbVersion) HasInstanceIDInSidecarSubstitutions() bool
HasInstanceIDInSidecarSubstitutions determines if a version has FDB_INSTANCE_ID supported natively in the variable substitutions in the sidecar.
func (FdbVersion) HasMaxProtocolClientsInStatus ¶ added in v0.5.0
func (version FdbVersion) HasMaxProtocolClientsInStatus() bool
HasMaxProtocolClientsInStatus determines if a version has the max_protocol_clients field in the cluster status.
func (FdbVersion) HasNonBlockingExcludes ¶ added in v0.17.0
func (version FdbVersion) HasNonBlockingExcludes() bool
HasNonBlockingExcludes determines if a version has support for non-blocking exclude commands.
This is currently set to false across the board, pending investigation into potential bugs with non-blocking excludes.
func (FdbVersion) HasRatekeeperRole ¶
func (version FdbVersion) HasRatekeeperRole() bool
HasRatekeeperRole determines if a version has a dedicated role for ratekeeper.
func (FdbVersion) HasSidecarCrashOnEmpty ¶ added in v0.9.0
func (version FdbVersion) HasSidecarCrashOnEmpty() bool
HasSidecarCrashOnEmpty determines if a version has the flag to have the sidecar crash on a file being empty.
func (FdbVersion) IsAtLeast ¶
func (version FdbVersion) IsAtLeast(other FdbVersion) bool
IsAtLeast determines if a version is greater than or equal to another version.
func (FdbVersion) IsProtocolCompatible ¶ added in v0.13.0
func (version FdbVersion) IsProtocolCompatible(other FdbVersion) bool
IsProtocolCompatible determines whether two versions of FDB are protocol compatible.
func (FdbVersion) PrefersCommandLineArgumentsInSidecar ¶
func (version FdbVersion) PrefersCommandLineArgumentsInSidecar() bool
PrefersCommandLineArgumentsInSidecar determines if a version has support for configuring the sidecar exclusively through command-line arguments.
func (FdbVersion) String ¶
func (version FdbVersion) String() string
String gets the string representation of an FDB version.
func (FdbVersion) SupportsUsingBinariesFromMainContainer ¶
func (version FdbVersion) SupportsUsingBinariesFromMainContainer() bool
SupportsUsingBinariesFromMainContainer determines if a version has support for having the sidecar dynamically switch between using binaries from the main container and binaries provided by the sidecar.
type FoundationDBBackup ¶ added in v0.7.0
type FoundationDBBackup struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec FoundationDBBackupSpec `json:"spec,omitempty"` Status FoundationDBBackupStatus `json:"status,omitempty"` }
FoundationDBBackup is the Schema for the FoundationDB Backup API
func (*FoundationDBBackup) BackupName ¶ added in v0.8.0
func (backup *FoundationDBBackup) BackupName() string
BackupName gets the name of the backup in the destination. This will fill in a default value if the bucket name in the spec is empty.
func (*FoundationDBBackup) BackupURL ¶ added in v0.8.0
func (backup *FoundationDBBackup) BackupURL() string
BackupURL gets the destination url of the backup.
func (*FoundationDBBackup) Bucket ¶ added in v0.8.0
func (backup *FoundationDBBackup) Bucket() string
Bucket gets the bucket this backup will use. This will fill in a default value if the bucket in the spec is empty.
func (*FoundationDBBackup) CheckReconciliation ¶ added in v0.7.0
func (backup *FoundationDBBackup) CheckReconciliation() (bool, error)
CheckReconciliation compares the spec and the status to determine if reconciliation is complete.
func (*FoundationDBBackup) DeepCopy ¶ added in v0.7.0
func (in *FoundationDBBackup) DeepCopy() *FoundationDBBackup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBBackup.
func (*FoundationDBBackup) DeepCopyInto ¶ added in v0.7.0
func (in *FoundationDBBackup) DeepCopyInto(out *FoundationDBBackup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FoundationDBBackup) DeepCopyObject ¶ added in v0.7.0
func (in *FoundationDBBackup) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*FoundationDBBackup) GetDesiredAgentCount ¶ added in v0.7.0
func (backup *FoundationDBBackup) GetDesiredAgentCount() int
GetDesiredAgentCount determines how many backup agents we should run for a cluster.
func (*FoundationDBBackup) ShouldBePaused ¶ added in v0.9.0
func (backup *FoundationDBBackup) ShouldBePaused() bool
ShouldBePaused determines whether the backups should be paused.
func (*FoundationDBBackup) ShouldRun ¶ added in v0.8.0
func (backup *FoundationDBBackup) ShouldRun() bool
ShouldRun determines whether a backup should be running.
func (*FoundationDBBackup) SnapshotPeriodSeconds ¶ added in v0.10.0
func (backup *FoundationDBBackup) SnapshotPeriodSeconds() int
SnapshotPeriodSeconds gets the period between snapshots for a backup.
type FoundationDBBackupList ¶ added in v0.7.0
type FoundationDBBackupList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []FoundationDBBackup `json:"items"` }
FoundationDBBackupList contains a list of FoundationDBBackup
func (*FoundationDBBackupList) DeepCopy ¶ added in v0.7.0
func (in *FoundationDBBackupList) DeepCopy() *FoundationDBBackupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBBackupList.
func (*FoundationDBBackupList) DeepCopyInto ¶ added in v0.7.0
func (in *FoundationDBBackupList) DeepCopyInto(out *FoundationDBBackupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FoundationDBBackupList) DeepCopyObject ¶ added in v0.7.0
func (in *FoundationDBBackupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FoundationDBBackupSpec ¶ added in v0.7.0
type FoundationDBBackupSpec struct { // The version of FoundationDB that the backup agents should run. Version string `json:"version"` // The cluster this backup is for. ClusterName string `json:"clusterName"` // +kubebuilder:validation:Enum=Running;Stopped;Paused // The desired state of the backup. // The default is Running. BackupState string `json:"backupState,omitempty"` // The name for the backup. // The default is to use the name from the backup metadata. BackupName string `json:"backupName,omitempty"` // The account name to use with the backup destination. AccountName string `json:"accountName"` // The backup bucket to write to. // The default is to use "fdb-backups". Bucket string `json:"bucket,omitempty"` // AgentCount defines the number of backup agents to run. // The default is run 2 agents. AgentCount *int `json:"agentCount,omitempty"` // The time window between new snapshots. // This is measured in seconds. The default is 864,000, or 10 days. SnapshotPeriodSeconds *int `json:"snapshotPeriodSeconds,omitempty"` // BackupDeploymentMetadata allows customizing labels and annotations on the // deployment for the backup agents. BackupDeploymentMetadata *metav1.ObjectMeta `json:"backupDeploymentMetadata,omitempty"` // PodTemplateSpec allows customizing the pod template for the backup // agents. PodTemplateSpec *corev1.PodTemplateSpec `json:"podTemplateSpec,omitempty"` }
FoundationDBBackupSpec describes the desired state of the backup for a cluster.
func (*FoundationDBBackupSpec) DeepCopy ¶ added in v0.7.0
func (in *FoundationDBBackupSpec) DeepCopy() *FoundationDBBackupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBBackupSpec.
func (*FoundationDBBackupSpec) DeepCopyInto ¶ added in v0.7.0
func (in *FoundationDBBackupSpec) DeepCopyInto(out *FoundationDBBackupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FoundationDBBackupStatus ¶ added in v0.7.0
type FoundationDBBackupStatus struct { // AgentCount provides the number of agents that are up-to-date, ready, // and not terminated. AgentCount int `json:"agentCount,omitempty"` // DeploymentConfigured indicates whether the deployment is correctly // configured. DeploymentConfigured bool `json:"deploymentConfigured,omitempty"` // BackupDetails provides information about the state of the backup in the // cluster. BackupDetails *FoundationDBBackupStatusBackupDetails `json:"backupDetails,omitempty"` // Generations provides information about the latest generation to be // reconciled, or to reach other stages in reconciliation. Generations BackupGenerationStatus `json:"generations,omitempty"` }
FoundationDBBackupStatus describes the current status of the backup for a cluster.
func (*FoundationDBBackupStatus) DeepCopy ¶ added in v0.7.0
func (in *FoundationDBBackupStatus) DeepCopy() *FoundationDBBackupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBBackupStatus.
func (*FoundationDBBackupStatus) DeepCopyInto ¶ added in v0.7.0
func (in *FoundationDBBackupStatus) DeepCopyInto(out *FoundationDBBackupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FoundationDBBackupStatusBackupDetails ¶ added in v0.8.0
type FoundationDBBackupStatusBackupDetails struct { URL string `json:"url,omitempty"` Running bool `json:"running,omitempty"` Paused bool `json:"paused,omitempty"` SnapshotPeriodSeconds int `json:"snapshotTime,omitempty"` }
FoundationDBBackupStatusBackupDetails provides information about the state of the backup in the cluster.
func (*FoundationDBBackupStatusBackupDetails) DeepCopy ¶ added in v0.8.0
func (in *FoundationDBBackupStatusBackupDetails) DeepCopy() *FoundationDBBackupStatusBackupDetails
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBBackupStatusBackupDetails.
func (*FoundationDBBackupStatusBackupDetails) DeepCopyInto ¶ added in v0.8.0
func (in *FoundationDBBackupStatusBackupDetails) DeepCopyInto(out *FoundationDBBackupStatusBackupDetails)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FoundationDBCluster ¶
type FoundationDBCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec FoundationDBClusterSpec `json:"spec,omitempty"` Status FoundationDBClusterStatus `json:"status,omitempty"` }
FoundationDBCluster is the Schema for the foundationdbclusters API
func (*FoundationDBCluster) CheckReconciliation ¶ added in v0.5.0
func (cluster *FoundationDBCluster) CheckReconciliation() (bool, error)
CheckReconciliation compares the spec and the status to determine if reconciliation is complete.
func (*FoundationDBCluster) ClearMissingVersionFlags ¶ added in v0.16.0
func (cluster *FoundationDBCluster) ClearMissingVersionFlags(configuration *DatabaseConfiguration)
ClearMissingVersionFlags clears any version flags in the given configuration that are not set in the configuration in the cluster spec.
This allows us to compare the spec to the live configuration while ignoring version flags that are unset in the spec.
func (*FoundationDBCluster) DeepCopy ¶
func (in *FoundationDBCluster) DeepCopy() *FoundationDBCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBCluster.
func (*FoundationDBCluster) DeepCopyInto ¶
func (in *FoundationDBCluster) DeepCopyInto(out *FoundationDBCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FoundationDBCluster) DeepCopyObject ¶
func (in *FoundationDBCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*FoundationDBCluster) DesiredCoordinatorCount ¶
func (cluster *FoundationDBCluster) DesiredCoordinatorCount() int
DesiredCoordinatorCount returns the number of coordinators to recruit for a cluster.
func (*FoundationDBCluster) DesiredDatabaseConfiguration ¶
func (cluster *FoundationDBCluster) DesiredDatabaseConfiguration() DatabaseConfiguration
DesiredDatabaseConfiguration builds the database configuration for the cluster based on its spec.
func (*FoundationDBCluster) DesiredFaultTolerance ¶
func (cluster *FoundationDBCluster) DesiredFaultTolerance() int
DesiredFaultTolerance returns the number of replicas we should be able to lose when the cluster is at full replication health.
func (*FoundationDBCluster) GetFullAddress ¶
func (cluster *FoundationDBCluster) GetFullAddress(ipAddress string) string
GetFullAddress gets the full public address we should use for a process. This will include the IP address, the port, and any additional flags.
func (*FoundationDBCluster) GetFullAddressList ¶
func (cluster *FoundationDBCluster) GetFullAddressList(ipAddress string, primaryOnly bool) string
GetFullAddressList gets the full list of public addresses we should use for a process.
This will include the IP address, the port, and any additional flags.
If a process needs multiple addresses, this will include all of them, separated by commas. If you pass false for primaryOnly, this will return only the primary address.
func (*FoundationDBCluster) GetFullSidecarVersion ¶
func (cluster *FoundationDBCluster) GetFullSidecarVersion(useRunningVersion bool) string
GetFullSidecarVersion gets the version of the image for the sidecar, including the main FoundationDB version and the sidecar version suffix.
func (*FoundationDBCluster) GetLockID ¶ added in v0.13.0
func (cluster *FoundationDBCluster) GetLockID() string
GetLockID gets the identifier for this instance of the operator when taking locks.
func (*FoundationDBCluster) GetLockPrefix ¶ added in v0.13.0
func (cluster *FoundationDBCluster) GetLockPrefix() string
GetLockPrefix gets the prefix for the keys where we store locking information.
func (*FoundationDBCluster) GetProcessCountsWithDefaults ¶
func (cluster *FoundationDBCluster) GetProcessCountsWithDefaults() (ProcessCounts, error)
GetProcessCountsWithDefaults gets the process counts from the cluster spec and fills in default values for any counts that are 0.
func (*FoundationDBCluster) GetProcessSettings ¶ added in v0.12.0
func (cluster *FoundationDBCluster) GetProcessSettings(processClass string) ProcessSettings
GetProcessSettings gets settings for a process.
func (*FoundationDBCluster) GetRoleCountsWithDefaults ¶
func (cluster *FoundationDBCluster) GetRoleCountsWithDefaults() RoleCounts
GetRoleCountsWithDefaults gets the role counts from the cluster spec and fills in default values for any role counts that are 0.
The default Storage value will be 2F + 1, where F is the cluster's fault tolerance.
The default Logs value will be 3.
The default Proxies value will be 3.
The default Resolvers value will be 1.
The default RemoteLogs value will be equal to the Logs value when the UsableRegions is greater than 1. It will be equal to -1 when the UsableRegions is less than or equal to 1.
The default LogRouters value will be equal to 3 times the Logs value when the UsableRegions is greater than 1. It will be equal to -1 when the UsableRegions is less than or equal to 1.
func (*FoundationDBCluster) InstanceIsBeingRemoved ¶ added in v0.5.0
func (cluster *FoundationDBCluster) InstanceIsBeingRemoved(instanceID string) bool
InstanceIsBeingRemoved determines if an instance is pending removal.
func (*FoundationDBCluster) IsBeingUpgraded ¶
func (cluster *FoundationDBCluster) IsBeingUpgraded() bool
IsBeingUpgraded determines whether the cluster has a pending upgrade.
func (*FoundationDBCluster) MinimumFaultDomains ¶
func (cluster *FoundationDBCluster) MinimumFaultDomains() int
MinimumFaultDomains returns the number of fault domains the cluster needs to function.
func (*FoundationDBCluster) ShouldUseLocks ¶ added in v0.13.0
func (cluster *FoundationDBCluster) ShouldUseLocks() bool
ShouldUseLocks determine whether we should use locks to coordinator global operations.
type FoundationDBClusterAutomationOptions ¶
type FoundationDBClusterAutomationOptions struct { // ConfigureDatabase defines whether the operator is allowed to reconfigure // the database. ConfigureDatabase *bool `json:"configureDatabase,omitempty"` // KillProcesses defines whether the operator is allowed to bounce fdbserver // processes. KillProcesses *bool `json:"killProcesses,omitempty"` // DeletePods defines whether the operator is allowed to delete pods in // order to recreate them. DeletePods *bool `json:"deletePods,omitempty"` }
FoundationDBClusterAutomationOptions provides flags for enabling or disabling operations that can be performed on a cluster.
func (*FoundationDBClusterAutomationOptions) DeepCopy ¶
func (in *FoundationDBClusterAutomationOptions) DeepCopy() *FoundationDBClusterAutomationOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBClusterAutomationOptions.
func (*FoundationDBClusterAutomationOptions) DeepCopyInto ¶
func (in *FoundationDBClusterAutomationOptions) DeepCopyInto(out *FoundationDBClusterAutomationOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FoundationDBClusterFaultDomain ¶
type FoundationDBClusterFaultDomain struct { // Key provides a topology key for the fault domain to replicate across. Key string `json:"key,omitempty"` // Value provides a harcoded value to use for the zoneid for the pods. Value string `json:"value,omitempty"` // ValueFrom provides a field selector to use as the source of the fault // domain. ValueFrom string `json:"valueFrom,omitempty"` // ZoneCount provides the number of fault domains in the data center where // these processes are running. This is only used in the // `kubernetes-cluster` fault domain strategy. ZoneCount int `json:"zoneCount,omitempty"` // ZoneIndex provides the index of this Kubernetes cluster in the list of // KCs in the data center. This is only used in the `kubernetes-cluster` // fault domain strategy. ZoneIndex int `json:"zoneIndex,omitempty"` }
FoundationDBClusterFaultDomain describes the fault domain that a cluster is replicated across.
func (*FoundationDBClusterFaultDomain) DeepCopy ¶
func (in *FoundationDBClusterFaultDomain) DeepCopy() *FoundationDBClusterFaultDomain
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBClusterFaultDomain.
func (*FoundationDBClusterFaultDomain) DeepCopyInto ¶
func (in *FoundationDBClusterFaultDomain) DeepCopyInto(out *FoundationDBClusterFaultDomain)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FoundationDBClusterList ¶
type FoundationDBClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []FoundationDBCluster `json:"items"` }
FoundationDBClusterList contains a list of FoundationDBCluster
func (*FoundationDBClusterList) DeepCopy ¶
func (in *FoundationDBClusterList) DeepCopy() *FoundationDBClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBClusterList.
func (*FoundationDBClusterList) DeepCopyInto ¶
func (in *FoundationDBClusterList) DeepCopyInto(out *FoundationDBClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FoundationDBClusterList) DeepCopyObject ¶
func (in *FoundationDBClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FoundationDBClusterSpec ¶
type FoundationDBClusterSpec struct { // Version defines the version of FoundationDB the cluster should run. Version string `json:"version"` // SidecarVersions defines the build version of the sidecar to run. This // maps an FDB version to the corresponding sidecar build version. SidecarVersions map[string]int `json:"sidecarVersions,omitempty"` // DatabaseConfiguration defines the database configuration. DatabaseConfiguration `json:"databaseConfiguration,omitempty"` // Processes defines process-level settings. Processes map[string]ProcessSettings `json:"processes,omitempty"` // ProcessCounts defines the number of processes to configure for each // process class. You can generally omit this, to allow the operator to // infer the process counts based on the database configuration. ProcessCounts `json:"processCounts,omitempty"` // SeedConnectionString provides a connection string for the initial // reconciliation. // // After the initial reconciliation, this will not be used. SeedConnectionString string `json:"seedConnectionString,omitempty"` // FaultDomain defines the rules for what fault domain to replicate across. FaultDomain FoundationDBClusterFaultDomain `json:"faultDomain,omitempty"` // InstancesToRemove defines the instances that we should remove from the // cluster. This list contains the instance IDs. InstancesToRemove []string `json:"instancesToRemove,omitempty"` // InstancesToRemoveWithoutExclusion defines the instances that we should // remove from the cluster without excluding them. This list contains the // instance IDs. // // This should be used for cases where a pod does not have an IP address and // you want to remove it and destroy its volume without confirming the data // is fully replicated. InstancesToRemoveWithoutExclusion []string `json:"instancesToRemoveWithoutExclusion,omitempty"` // ConfigMap allows customizing the config map the operator creates. ConfigMap *corev1.ConfigMap `json:"configMap,omitempty"` // MainContainer defines customization for the foundationdb container. MainContainer ContainerOverrides `json:"mainContainer,omitempty"` // SidecarContainer defines customization for the // foundationdb-kubernetes-sidecar container. SidecarContainer ContainerOverrides `json:"sidecarContainer,omitempty"` // TrustedCAs defines a list of root CAs the cluster should trust, in PEM // format. TrustedCAs []string `json:"trustedCAs,omitempty"` // SidecarVariables defines Ccustom variables that the sidecar should make // available for substitution in the monitor conf file. SidecarVariables []string `json:"sidecarVariables,omitempty"` // LogGroup defines the log group to use for the trace logs for the cluster. LogGroup string `json:"logGroup,omitempty"` // DataCenter defines the data center where these processes are running. DataCenter string `json:"dataCenter,omitempty"` // DataHall defines the data hall where these processes are running. DataHall string `json:"dataHall,omitempty"` // AutomationOptions defines customization for enabling or disabling certain // operations in the operator. AutomationOptions FoundationDBClusterAutomationOptions `json:"automationOptions,omitempty"` // InstanceIDPrefix defines a prefix to append to the instance IDs in the // locality fields. InstanceIDPrefix string `json:"instanceIDPrefix,omitempty"` // UpdatePodsByReplacement determines whether we should update pod config // by replacing the pods rather than deleting them. UpdatePodsByReplacement bool `json:"updatePodsByReplacement,omitempty"` // LockOptions allows customizing how we manage locks for global operations. LockOptions LockOptions `json:"lockOptions,omitempty"` // Services defines the configuration for services that sit in front of our // pods. Services ServiceConfig `json:"services,omitempty"` // IgnoreUpgradabilityChecks determines whether we should skip the check for // client compatibility when performing an upgrade. IgnoreUpgradabilityChecks bool `json:"ignoreUpgradabilityChecks,omitempty"` // SidecarVersion defines the build version of the sidecar to use. // // Deprecated: Use SidecarVersions instead. SidecarVersion int `json:"sidecarVersion,omitempty"` // PodLabels defines custom labels to apply to the FDB pods. // // Deprecated: Use the PodTemplate field instead. PodLabels map[string]string `json:"podLabels,omitempty"` // Resources defines the resource requirements for the foundationdb // containers. // // Deprecated: Use the PodTemplate field instead. Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // InitContainers defines custom init containers for the FDB pods. // // Deprecated: Use the PodTemplate field instead. InitContainers []corev1.Container `json:"initContainers,omitempty"` // Containers defines custom containers for the FDB pods. // // Deprecated: Use the PodTemplate field instead. Containers []corev1.Container `json:"containers,omitempty"` // Volumes defines custom volumes for the FDB pods. // // Deprecated: Use the PodTemplate field instead. Volumes []corev1.Volume `json:"volumes,omitempty"` // PodSecurityContext defines the security context to apply to the FDB pods. // // Deprecated: Use the PodTemplate field instead. PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"` // AutomountServiceAccountToken defines whether we should automount the // service account tokens in the FDB pods. // // Deprecated: Use the PodTemplate field instead. AutomountServiceAccountToken *bool `json:"automountServiceAccountToken,omitempty"` // NextInstanceID defines the ID to use when creating the next instance. // // Deprecated: This is no longer used. NextInstanceID int `json:"nextInstanceID,omitempty"` // StorageClass defines the storage class for the volumes in the cluster. // // Deprecated: Use the VolumeClaim field instead. StorageClass *string `json:"storageClass,omitempty"` // VolumeSize defines the size of the volume to use for stateful processes. // // Deprecated: Use the VolumeClaim field instead. VolumeSize string `json:"volumeSize,omitempty"` // RunningVersion defines the version of FoundationDB that the cluster is // currently running. // // Deprecated: Consult the running version in the status instead. RunningVersion string `json:"runningVersion,omitempty"` // ConnectionString defines the contents of the cluster file. // // Deprecated: You can use SeedConnectionString for bootstrapping, and // you can use the ConnectionString in the status to get the latest // connection string. ConnectionString string `json:"connectionString,omitempty"` // Configured defines whether we have configured the database yet. // Deprecated: This field has been moved to the status. Configured bool `json:"configured,omitempty"` // PodTemplate allows customizing the FoundationDB pods. // Deprecated: use the Processes field instead. PodTemplate *corev1.PodTemplateSpec `json:"podTemplate,omitempty"` // VolumeClaim allows customizing the persistent volume claim for the // FoundationDB pods. // Deprecated: use the Processes field instead. VolumeClaim *corev1.PersistentVolumeClaim `json:"volumeClaim,omitempty"` // CustomParameters defines additional parameters to pass to the fdbserver // processes. // Deprecated: use the Processes field instead. CustomParameters []string `json:"customParameters,omitempty"` // PendingRemovals defines the processes that are pending removal. // This maps the name of a pod to its IP address. If a value is left blank, // the controller will provide the pod's current IP. // // Deprecated: To indicate that a process should be removed, use the // InstancesToRemove field. To get information about pending removals, // use the PendingRemovals field in the status. PendingRemovals map[string]string `json:"pendingRemovals,omitempty"` }
FoundationDBClusterSpec defines the desired state of a cluster.
func (*FoundationDBClusterSpec) DeepCopy ¶
func (in *FoundationDBClusterSpec) DeepCopy() *FoundationDBClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBClusterSpec.
func (*FoundationDBClusterSpec) DeepCopyInto ¶
func (in *FoundationDBClusterSpec) DeepCopyInto(out *FoundationDBClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FoundationDBClusterStatus ¶
type FoundationDBClusterStatus struct { // ProcessCounts defines the number of processes that are currently running // in the cluster. ProcessCounts `json:"processCounts,omitempty"` // IncorrectProcesses provides the processes that do not have the correct // configuration. // // This will map the instance ID to the timestamp when we observed the // incorrect configuration. IncorrectProcesses map[string]int64 `json:"incorrectProcesses,omitempty"` // IncorrectPods provides the pods that do not have the correct // spec. // // This will contain the name of the pod. IncorrectPods []string `json:"incorrectPods,omitempty"` // FailingPods provides the pods that are not starting correctly. // // This will contain the name of the pod. FailingPods []string `json:"failingPods,omitempty"` // MissingProcesses provides the processes that are not reporting to the // cluster. // This will map the names of the pod to the timestamp when we observed // that the process was missing. MissingProcesses map[string]int64 `json:"missingProcesses,omitempty"` // DatabaseConfiguration provides the running configuration of the database. DatabaseConfiguration DatabaseConfiguration `json:"databaseConfiguration,omitempty"` // Generations provides information about the latest generation to be // reconciled, or to reach other stages at which reconciliation can halt. Generations ClusterGenerationStatus `json:"generations,omitempty"` // Health provides information about the health of the database. Health ClusterHealth `json:"health,omitempty"` // RequiredAddresses define that addresses that we need to enable for the // processes in the cluster. RequiredAddresses RequiredAddressSet `json:"requiredAddresses,omitempty"` // HasIncorrectConfigMap indicates whether the latest config map is out // of date with the cluster spec. HasIncorrectConfigMap bool `json:"hasIncorrectConfigMap,omitempty"` // HasIncorrectServiceConfig indicates whether the cluster has service // config that is out of date with the cluster spec. HasIncorrectServiceConfig bool `json:"hasIncorrectServiceConfig,omitempty"` // NeedsNewCoordinators indicates whether the cluster needs to recruit // new coordinators to fulfill its fault tolerance requirements. NeedsNewCoordinators bool `json:"needsNewCoordinators,omitempty"` // RunningVersion defines the version of FoundationDB that the cluster is // currently running. RunningVersion string `json:"runningVersion,omitempty"` // ConnectionString defines the contents of the cluster file. ConnectionString string `json:"connectionString,omitempty"` // Configured defines whether we have configured the database yet. Configured bool `json:"configured,omitempty"` // PendingRemovals defines the processes that are pending removal. // This maps the instance ID to its removal state. PendingRemovals map[string]PendingRemovalState `json:"pendingRemovals,omitempty"` // NeedsSidecarConfInConfigMap determines whether we need to include the // sidecar conf in the config map even when the latest version should not // require it. NeedsSidecarConfInConfigMap bool `json:"needsSidecarConfInConfigMap,omitempty"` }
FoundationDBClusterStatus defines the observed state of FoundationDBCluster
func (*FoundationDBClusterStatus) DeepCopy ¶
func (in *FoundationDBClusterStatus) DeepCopy() *FoundationDBClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBClusterStatus.
func (*FoundationDBClusterStatus) DeepCopyInto ¶
func (in *FoundationDBClusterStatus) DeepCopyInto(out *FoundationDBClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FoundationDBLiveBackupStatus ¶ added in v0.10.0
type FoundationDBLiveBackupStatus struct { // DestinationURL provides the URL that the backup is being written to. DestinationURL string `json:"DestinationURL,omitempty"` // SnapshotIntervalSeconds provides the interval of the snapshots. SnapshotIntervalSeconds int `json:"SnapshotIntervalSeconds,omitempty"` // Status provides the current state of the backup. Status FoundationDBLiveBackupStatusState `json:"Status,omitempty"` // BackupAgentsPaused describes whether the backup agents are paused. BackupAgentsPaused bool `json:"BackupAgentsPaused,omitempty"` }
FoundationDBLiveBackupStatus describes the live status of the backup for a cluster, as provided by the backup status command.
func (*FoundationDBLiveBackupStatus) DeepCopy ¶ added in v0.10.0
func (in *FoundationDBLiveBackupStatus) DeepCopy() *FoundationDBLiveBackupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBLiveBackupStatus.
func (*FoundationDBLiveBackupStatus) DeepCopyInto ¶ added in v0.10.0
func (in *FoundationDBLiveBackupStatus) DeepCopyInto(out *FoundationDBLiveBackupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FoundationDBLiveBackupStatusState ¶ added in v0.10.0
type FoundationDBLiveBackupStatusState struct { // Running determines whether the backup is currently running. Running bool `json:"Running,omitempty"` }
FoundationDBLiveBackupStatusState provides the state of a backup in the backup status.
func (*FoundationDBLiveBackupStatusState) DeepCopy ¶ added in v0.10.0
func (in *FoundationDBLiveBackupStatusState) DeepCopy() *FoundationDBLiveBackupStatusState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBLiveBackupStatusState.
func (*FoundationDBLiveBackupStatusState) DeepCopyInto ¶ added in v0.10.0
func (in *FoundationDBLiveBackupStatusState) DeepCopyInto(out *FoundationDBLiveBackupStatusState)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FoundationDBRestore ¶ added in v0.11.0
type FoundationDBRestore struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec FoundationDBRestoreSpec `json:"spec,omitempty"` Status FoundationDBRestoreStatus `json:"status,omitempty"` }
FoundationDBRestore is the Schema for the FoundationDB Restore API
func (*FoundationDBRestore) DeepCopy ¶ added in v0.11.0
func (in *FoundationDBRestore) DeepCopy() *FoundationDBRestore
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBRestore.
func (*FoundationDBRestore) DeepCopyInto ¶ added in v0.11.0
func (in *FoundationDBRestore) DeepCopyInto(out *FoundationDBRestore)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FoundationDBRestore) DeepCopyObject ¶ added in v0.11.0
func (in *FoundationDBRestore) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FoundationDBRestoreList ¶ added in v0.11.0
type FoundationDBRestoreList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []FoundationDBRestore `json:"items"` }
FoundationDBRestoreList contains a list of FoundationDBRestore objects.
func (*FoundationDBRestoreList) DeepCopy ¶ added in v0.11.0
func (in *FoundationDBRestoreList) DeepCopy() *FoundationDBRestoreList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBRestoreList.
func (*FoundationDBRestoreList) DeepCopyInto ¶ added in v0.11.0
func (in *FoundationDBRestoreList) DeepCopyInto(out *FoundationDBRestoreList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*FoundationDBRestoreList) DeepCopyObject ¶ added in v0.11.0
func (in *FoundationDBRestoreList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type FoundationDBRestoreSpec ¶ added in v0.11.0
type FoundationDBRestoreSpec struct { // DestinationClusterName provides the name of the cluster that the data is // being restored into. DestinationClusterName string `json:"destinationClusterName"` // BackupURL provides the URL for the backup. BackupURL string `json:"backupURL"` }
FoundationDBRestoreSpec describes the desired state of the backup for a cluster.
func (*FoundationDBRestoreSpec) DeepCopy ¶ added in v0.11.0
func (in *FoundationDBRestoreSpec) DeepCopy() *FoundationDBRestoreSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBRestoreSpec.
func (*FoundationDBRestoreSpec) DeepCopyInto ¶ added in v0.11.0
func (in *FoundationDBRestoreSpec) DeepCopyInto(out *FoundationDBRestoreSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FoundationDBRestoreStatus ¶ added in v0.11.0
type FoundationDBRestoreStatus struct { // Running describes whether the restore is currently running. Running bool `json:"running,omitempty"` }
FoundationDBRestoreStatus describes the current status of the restore for a cluster.
func (*FoundationDBRestoreStatus) DeepCopy ¶ added in v0.11.0
func (in *FoundationDBRestoreStatus) DeepCopy() *FoundationDBRestoreStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBRestoreStatus.
func (*FoundationDBRestoreStatus) DeepCopyInto ¶ added in v0.11.0
func (in *FoundationDBRestoreStatus) DeepCopyInto(out *FoundationDBRestoreStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FoundationDBStatus ¶
type FoundationDBStatus struct { // Client provides the client section of the status. Client FoundationDBStatusLocalClientInfo `json:"client,omitempty"` // Cluster provides the cluster section of the status. Cluster FoundationDBStatusClusterInfo `json:"cluster,omitempty"` }
FoundationDBStatus describes the status of the cluster as provided by FoundationDB itself.
func (*FoundationDBStatus) DeepCopy ¶
func (in *FoundationDBStatus) DeepCopy() *FoundationDBStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBStatus.
func (*FoundationDBStatus) DeepCopyInto ¶
func (in *FoundationDBStatus) DeepCopyInto(out *FoundationDBStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FoundationDBStatusBackupInfo ¶ added in v0.8.0
type FoundationDBStatusBackupInfo struct { // Paused tells whether the backups are paused. Paused bool `json:"paused,omitempty"` // Tags provides information about specific backups. Tags map[string]FoundationDBStatusBackupTag `json:"tags,omitempty"` }
FoundationDBStatusBackupInfo provides information about backups that have been started.
func (*FoundationDBStatusBackupInfo) DeepCopy ¶ added in v0.8.0
func (in *FoundationDBStatusBackupInfo) DeepCopy() *FoundationDBStatusBackupInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBStatusBackupInfo.
func (*FoundationDBStatusBackupInfo) DeepCopyInto ¶ added in v0.8.0
func (in *FoundationDBStatusBackupInfo) DeepCopyInto(out *FoundationDBStatusBackupInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FoundationDBStatusBackupTag ¶ added in v0.8.0
type FoundationDBStatusBackupTag struct { CurrentContainer string `json:"current_container,omitempty"` RunningBackup bool `json:"running_backup,omitempty"` Restorable bool `json:"running_backup_is_restorable,omitempty"` }
FoundationDBStatusBackupTag provides information about a backup under a tag in the cluster status.
func (*FoundationDBStatusBackupTag) DeepCopy ¶ added in v0.8.0
func (in *FoundationDBStatusBackupTag) DeepCopy() *FoundationDBStatusBackupTag
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBStatusBackupTag.
func (*FoundationDBStatusBackupTag) DeepCopyInto ¶ added in v0.8.0
func (in *FoundationDBStatusBackupTag) DeepCopyInto(out *FoundationDBStatusBackupTag)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FoundationDBStatusClientDBStatus ¶
type FoundationDBStatusClientDBStatus struct { // Available indicates whether the database is accepting traffic. Available bool `json:"available,omitempty"` // Healthy indicates whether the database is fully healthy. Healthy bool `json:"healthy,omitempty"` }
FoundationDBStatusClientDBStatus represents the databaseStatus field in the JSON database status
func (*FoundationDBStatusClientDBStatus) DeepCopy ¶
func (in *FoundationDBStatusClientDBStatus) DeepCopy() *FoundationDBStatusClientDBStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBStatusClientDBStatus.
func (*FoundationDBStatusClientDBStatus) DeepCopyInto ¶
func (in *FoundationDBStatusClientDBStatus) DeepCopyInto(out *FoundationDBStatusClientDBStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FoundationDBStatusClusterClientInfo ¶
type FoundationDBStatusClusterClientInfo struct { // Count provides the number of clients connected to the database. Count int `json:"count,omitempty"` // SupportedVersions provides information about the versions supported by // the connected clients. SupportedVersions []FoundationDBStatusSupportedVersion `json:"supported_versions,omitempty"` }
FoundationDBStatusClusterClientInfo represents the connected client details in the cluster status.
func (*FoundationDBStatusClusterClientInfo) DeepCopy ¶
func (in *FoundationDBStatusClusterClientInfo) DeepCopy() *FoundationDBStatusClusterClientInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBStatusClusterClientInfo.
func (*FoundationDBStatusClusterClientInfo) DeepCopyInto ¶
func (in *FoundationDBStatusClusterClientInfo) DeepCopyInto(out *FoundationDBStatusClusterClientInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FoundationDBStatusClusterInfo ¶
type FoundationDBStatusClusterInfo struct { // DatabaseConfiguration describes the current configuration of the // database. DatabaseConfiguration DatabaseConfiguration `json:"configuration,omitempty"` // Processes provides details on the processes that are reporting to the // cluster. Processes map[string]FoundationDBStatusProcessInfo `json:"processes,omitempty"` // Data provides information about the data in the database. Data FoundationDBStatusDataStatistics `json:"data,omitempty"` // FullReplication indicates whether the database is fully replicated. FullReplication bool `json:"full_replication,omitempty"` // Clients provides information about clients that are connected to the // database. Clients FoundationDBStatusClusterClientInfo `json:"clients,omitempty"` // Layers provides information about layers that are running against the // cluster. Layers FoundationDBStatusLayerInfo `json:"layers,omitempty"` }
FoundationDBStatusClusterInfo describes the "cluster" portion of the cluster status
func (*FoundationDBStatusClusterInfo) DeepCopy ¶
func (in *FoundationDBStatusClusterInfo) DeepCopy() *FoundationDBStatusClusterInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBStatusClusterInfo.
func (*FoundationDBStatusClusterInfo) DeepCopyInto ¶
func (in *FoundationDBStatusClusterInfo) DeepCopyInto(out *FoundationDBStatusClusterInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FoundationDBStatusConnectedClient ¶
type FoundationDBStatusConnectedClient struct { // Address provides the address the client is connecting from. Address string `json:"address,omitempty"` // LogGroup provides the trace log group the client has set. LogGroup string `json:"log_group,omitempty"` }
FoundationDBStatusConnectedClient provides information about a client that is connected to the database.
func (*FoundationDBStatusConnectedClient) DeepCopy ¶
func (in *FoundationDBStatusConnectedClient) DeepCopy() *FoundationDBStatusConnectedClient
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBStatusConnectedClient.
func (*FoundationDBStatusConnectedClient) DeepCopyInto ¶
func (in *FoundationDBStatusConnectedClient) DeepCopyInto(out *FoundationDBStatusConnectedClient)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (FoundationDBStatusConnectedClient) Description ¶
func (client FoundationDBStatusConnectedClient) Description() string
Description returns a string description of the a connected client.
type FoundationDBStatusCoordinator ¶
type FoundationDBStatusCoordinator struct { // Address provides the coordinator's address. Address string `json:"address,omitempty"` // Reachable indicates whether the coordinator is reachable. Reachable bool `json:"reachable,omitempty"` }
FoundationDBStatusCoordinator contains information about one of the coordinators.
func (*FoundationDBStatusCoordinator) DeepCopy ¶
func (in *FoundationDBStatusCoordinator) DeepCopy() *FoundationDBStatusCoordinator
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBStatusCoordinator.
func (*FoundationDBStatusCoordinator) DeepCopyInto ¶
func (in *FoundationDBStatusCoordinator) DeepCopyInto(out *FoundationDBStatusCoordinator)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FoundationDBStatusCoordinatorInfo ¶
type FoundationDBStatusCoordinatorInfo struct { // Coordinators provides a list with coordinator details. Coordinators []FoundationDBStatusCoordinator `json:"coordinators,omitempty"` }
FoundationDBStatusCoordinatorInfo contains information about the client's connection to the coordinators.
func (*FoundationDBStatusCoordinatorInfo) DeepCopy ¶
func (in *FoundationDBStatusCoordinatorInfo) DeepCopy() *FoundationDBStatusCoordinatorInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBStatusCoordinatorInfo.
func (*FoundationDBStatusCoordinatorInfo) DeepCopyInto ¶
func (in *FoundationDBStatusCoordinatorInfo) DeepCopyInto(out *FoundationDBStatusCoordinatorInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FoundationDBStatusDataStatistics ¶
type FoundationDBStatusDataStatistics struct { // KVBytes provides the total Key Value Bytes in the database. KVBytes int `json:"total_kv_size_bytes,omitempty"` // MovingData provides information about the current data movement. MovingData FoundationDBStatusMovingData `json:"moving_data,omitempty"` }
FoundationDBStatusDataStatistics provides information about the data in the database
func (*FoundationDBStatusDataStatistics) DeepCopy ¶
func (in *FoundationDBStatusDataStatistics) DeepCopy() *FoundationDBStatusDataStatistics
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBStatusDataStatistics.
func (*FoundationDBStatusDataStatistics) DeepCopyInto ¶
func (in *FoundationDBStatusDataStatistics) DeepCopyInto(out *FoundationDBStatusDataStatistics)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FoundationDBStatusLayerInfo ¶ added in v0.8.0
type FoundationDBStatusLayerInfo struct { // Backup provides information about backups that have been started. Backup FoundationDBStatusBackupInfo `json:"backup,omitempty"` // The error from the layer status. Error string `json:"_error,omitempty"` }
FoundationDBStatusLayerInfo provides information about layers that are running against the cluster.
func (*FoundationDBStatusLayerInfo) DeepCopy ¶ added in v0.8.0
func (in *FoundationDBStatusLayerInfo) DeepCopy() *FoundationDBStatusLayerInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBStatusLayerInfo.
func (*FoundationDBStatusLayerInfo) DeepCopyInto ¶ added in v0.8.0
func (in *FoundationDBStatusLayerInfo) DeepCopyInto(out *FoundationDBStatusLayerInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FoundationDBStatusLocalClientInfo ¶
type FoundationDBStatusLocalClientInfo struct { // Coordinators provides information about the cluster's coordinators. Coordinators FoundationDBStatusCoordinatorInfo `json:"coordinators,omitempty"` // DatabaseStatus provides a summary of the database's health. DatabaseStatus FoundationDBStatusClientDBStatus `json:"database_status,omitempty"` }
FoundationDBStatusLocalClientInfo contains information about the client connection from the process getting the status.
func (*FoundationDBStatusLocalClientInfo) DeepCopy ¶
func (in *FoundationDBStatusLocalClientInfo) DeepCopy() *FoundationDBStatusLocalClientInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBStatusLocalClientInfo.
func (*FoundationDBStatusLocalClientInfo) DeepCopyInto ¶
func (in *FoundationDBStatusLocalClientInfo) DeepCopyInto(out *FoundationDBStatusLocalClientInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FoundationDBStatusMovingData ¶
type FoundationDBStatusMovingData struct { // HighestPriority provides the priority of the highest-priority data // movement. HighestPriority int `json:"highest_priority,omitempty"` // InFlightBytes provides how many bytes are being actively moved. InFlightBytes int `json:"in_flight_bytes,omitempty"` // InQueueBytes provides how many bytes are pending data movement. InQueueBytes int `json:"in_queue_bytes,omitempty"` }
FoundationDBStatusMovingData provides information about the current data movement
func (*FoundationDBStatusMovingData) DeepCopy ¶
func (in *FoundationDBStatusMovingData) DeepCopy() *FoundationDBStatusMovingData
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBStatusMovingData.
func (*FoundationDBStatusMovingData) DeepCopyInto ¶
func (in *FoundationDBStatusMovingData) DeepCopyInto(out *FoundationDBStatusMovingData)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FoundationDBStatusProcessInfo ¶
type FoundationDBStatusProcessInfo struct { // Address provides the address of the process. Address string `json:"address,omitempty"` // ProcessClass provides the process class the process has been given. ProcessClass string `json:"class_type,omitempty"` // CommandLine provides the command-line invocation for the process. CommandLine string `json:"command_line,omitempty"` // Excluded indicates whether the process has been excluded. Excluded bool `json:"excluded,omitempty"` // The locality information for the process. Locality map[string]string `json:"locality,omitempty"` // The version of FoundationDB the process is running. Version string `json:"version,omitempty"` // The time that the process has been up for. UptimeSeconds float64 `json:"uptime_seconds,omitempty"` }
FoundationDBStatusProcessInfo describes the "processes" portion of the cluster status
func (*FoundationDBStatusProcessInfo) DeepCopy ¶
func (in *FoundationDBStatusProcessInfo) DeepCopy() *FoundationDBStatusProcessInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBStatusProcessInfo.
func (*FoundationDBStatusProcessInfo) DeepCopyInto ¶
func (in *FoundationDBStatusProcessInfo) DeepCopyInto(out *FoundationDBStatusProcessInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FoundationDBStatusSupportedVersion ¶
type FoundationDBStatusSupportedVersion struct { // ClientVersion provides the version of FDB the client is connecting // through. ClientVersion string `json:"client_version,omitempty"` // ConnectedClient provides the clients that are using this version. ConnectedClients []FoundationDBStatusConnectedClient `json:"connected_clients"` // MaxProtocolClients provides the clients that are using this version as // their highest supported protocol version. MaxProtocolClients []FoundationDBStatusConnectedClient `json:"max_protocol_clients"` // ProtocolVersion is the version of the wire protocol the client is using. ProtocolVersion string `json:"protocol_version,omitempty"` // SourceVersion is the version of the source code that the client library // was built from. SourceVersion string `json:"source_version,omitempty"` }
FoundationDBStatusSupportedVersion provides information about a version of FDB supported by the connected clients.
func (*FoundationDBStatusSupportedVersion) DeepCopy ¶
func (in *FoundationDBStatusSupportedVersion) DeepCopy() *FoundationDBStatusSupportedVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FoundationDBStatusSupportedVersion.
func (*FoundationDBStatusSupportedVersion) DeepCopyInto ¶
func (in *FoundationDBStatusSupportedVersion) DeepCopyInto(out *FoundationDBStatusSupportedVersion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LockOptions ¶ added in v0.13.0
type LockOptions struct { // DisableLocks determines whether we should disable locking entirely. DisableLocks *bool `json:"disableLocks,omitempty"` // LockKeyPrefix provides a custom prefix for the keys in the database we // use to store locks. LockKeyPrefix string `json:"lockKeyPrefix,omitempty"` }
LockOptions provides customization for locking global operations.
func (*LockOptions) DeepCopy ¶ added in v0.13.0
func (in *LockOptions) DeepCopy() *LockOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LockOptions.
func (*LockOptions) DeepCopyInto ¶ added in v0.13.0
func (in *LockOptions) DeepCopyInto(out *LockOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PendingRemovalState ¶ added in v0.14.0
type PendingRemovalState struct { // The name of the pod that is being removed. PodName string `json:"podName,omitempty"` // The public address of the process. Address string `json:"address,omitempty"` // Whether we have started the exclusion. // Deprecated: This field is no longer filled in. ExclusionStarted bool `json:"exclusionStarted,omitempty"` // Whether we have completed the exclusion. ExclusionComplete bool `json:"exclusionComplete,omitempty"` // Whether this removal has ever corresponded to a real instance. HadInstance bool `json:"hadInstance,omitempty"` }
PendingRemovalState holds information about a process that is being removed.
func (*PendingRemovalState) DeepCopy ¶ added in v0.14.0
func (in *PendingRemovalState) DeepCopy() *PendingRemovalState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PendingRemovalState.
func (*PendingRemovalState) DeepCopyInto ¶ added in v0.14.0
func (in *PendingRemovalState) DeepCopyInto(out *PendingRemovalState)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProcessAddress ¶
ProcessAddress provides a structured address for a process.
func ParseProcessAddress ¶
func ParseProcessAddress(address string) (ProcessAddress, error)
ParseProcessAddress parses a structured address from its string representation.
func (*ProcessAddress) DeepCopy ¶
func (in *ProcessAddress) DeepCopy() *ProcessAddress
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProcessAddress.
func (*ProcessAddress) DeepCopyInto ¶
func (in *ProcessAddress) DeepCopyInto(out *ProcessAddress)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ProcessAddress) String ¶
func (address ProcessAddress) String() string
String gets the string representation of an address.
type ProcessCounts ¶
type ProcessCounts struct { // Storage defines the number of storage class processes. Storage int `json:"storage,omitempty"` // Transaction defines the number of transaction class processes. Transaction int `json:"transaction,omitempty"` // Stateless defines the number of stateless class processes. Stateless int `json:"stateless,omitempty"` // Resolution defines the number of resolution class processes. Resolution int `json:"resolution,omitempty"` Unset int `json:"unset,omitempty"` Log int `json:"log,omitempty"` Master int `json:"master,omitempty"` ClusterController int `json:"cluster_controller,omitempty"` Proxy int `json:"proxy,omitempty"` Resolver int `json:"resolver,omitempty"` Router int `json:"router,omitempty"` Ratekeeper int `json:"ratekeeper,omitempty"` DataDistributor int `json:"data_distributor,omitempty"` FastRestore int `json:"fast_restore,omitempty"` BackupWorker int `json:"backup,omitempty"` }
ProcessCounts represents the number of processes we have for each valid process class.
If one of the counts in the spec is set to 0, we will infer the process count for that class from the role counts. If one of the counts in the spec is set to -1, we will not create any processes for that class. See GetProcessCountsWithDefaults for more information on the rules for inferring process counts.
func (ProcessCounts) CountsAreSatisfied ¶
func (counts ProcessCounts) CountsAreSatisfied(currentCounts ProcessCounts) bool
CountsAreSatisfied checks whether the current counts of processes satisfy a desired set of counts.
func (*ProcessCounts) DeepCopy ¶
func (in *ProcessCounts) DeepCopy() *ProcessCounts
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProcessCounts.
func (*ProcessCounts) DeepCopyInto ¶
func (in *ProcessCounts) DeepCopyInto(out *ProcessCounts)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProcessCounts) IncreaseCount ¶
func (counts *ProcessCounts) IncreaseCount(name string, amount int)
IncreaseCount adds to one of the process counts based on the name.
func (ProcessCounts) Map ¶
func (counts ProcessCounts) Map() map[string]int
Map returns a map from process classes to the number of processes with that class.
type ProcessSettings ¶ added in v0.12.0
type ProcessSettings struct { // PodTemplate allows customizing the pod. PodTemplate *corev1.PodTemplateSpec `json:"podTemplate,omitempty"` // VolumeClaim allows customizing the persistent volume claim for the // pod. // Deprecated: Use the VolumeClaimTemplate field instead. VolumeClaim *corev1.PersistentVolumeClaim `json:"volumeClaim,omitempty"` // VolumeClaimTemplate allows customizing the persistent volume claim for the // pod. VolumeClaimTemplate *corev1.PersistentVolumeClaim `json:"volumeClaimTemplate,omitempty"` // CustomParameters defines additional parameters to pass to the fdbserver // process. CustomParameters *[]string `json:"customParameters,omitempty"` }
ProcessSettings defines process-level settings.
func (*ProcessSettings) DeepCopy ¶ added in v0.12.0
func (in *ProcessSettings) DeepCopy() *ProcessSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProcessSettings.
func (*ProcessSettings) DeepCopyInto ¶ added in v0.12.0
func (in *ProcessSettings) DeepCopyInto(out *ProcessSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Region ¶
type Region struct { // The data centers in this region. DataCenters []DataCenter `json:"datacenters,omitempty"` // The number of satellite logs that we should recruit. SatelliteLogs int `json:"satellite_logs,omitempty"` // The replication strategy for satellite logs. SatelliteRedundancyMode string `json:"satellite_redundancy_mode,omitempty"` }
Region represents a region in the database configuration
func (*Region) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Region.
func (*Region) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RequiredAddressSet ¶
type RequiredAddressSet struct { // TLS defines whether we need to listen on a TLS address. TLS bool `json:"tls,omitempty"` // NonTLS defines whether we need to listen on a non-TLS address. NonTLS bool `json:"nonTLS,omitempty"` }
RequiredAddressSet provides settings for which addresses we need to listen on.
func (*RequiredAddressSet) DeepCopy ¶
func (in *RequiredAddressSet) DeepCopy() *RequiredAddressSet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequiredAddressSet.
func (*RequiredAddressSet) DeepCopyInto ¶
func (in *RequiredAddressSet) DeepCopyInto(out *RequiredAddressSet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RoleCounts ¶
type RoleCounts struct { Storage int `json:"storage,omitempty"` Logs int `json:"logs,omitempty"` Proxies int `json:"proxies,omitempty"` Resolvers int `json:"resolvers,omitempty"` LogRouters int `json:"log_routers,omitempty"` RemoteLogs int `json:"remote_logs,omitempty"` }
RoleCounts represents the roles whose counts can be customized.
func (*RoleCounts) DeepCopy ¶
func (in *RoleCounts) DeepCopy() *RoleCounts
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleCounts.
func (*RoleCounts) DeepCopyInto ¶
func (in *RoleCounts) DeepCopyInto(out *RoleCounts)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (RoleCounts) Map ¶
func (counts RoleCounts) Map() map[string]int
Map returns a map from process classes to the desired count for that role
type ServiceConfig ¶ added in v0.14.0
type ServiceConfig struct { // Headless determines whether we want to run a headless service for the // cluster. Headless *bool `json:"headless,omitempty"` }
ServiceConfig allows configuring services that sit in front of our pods.
func (*ServiceConfig) DeepCopy ¶ added in v0.14.0
func (in *ServiceConfig) DeepCopy() *ServiceConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceConfig.
func (*ServiceConfig) DeepCopyInto ¶ added in v0.14.0
func (in *ServiceConfig) DeepCopyInto(out *ServiceConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VersionFlags ¶ added in v0.9.0
type VersionFlags struct { LogSpill int `json:"log_spill,omitempty"` LogVersion int `json:"log_version,omitempty"` }
VersionFlags defines internal flags for new features in the database.
func (*VersionFlags) DeepCopy ¶ added in v0.9.0
func (in *VersionFlags) DeepCopy() *VersionFlags
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionFlags.
func (*VersionFlags) DeepCopyInto ¶ added in v0.9.0
func (in *VersionFlags) DeepCopyInto(out *VersionFlags)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (VersionFlags) Map ¶ added in v0.9.0
func (flags VersionFlags) Map() map[string]int
Map returns a map from process classes to the desired count for that role