MongoDBOpsManager
mongodb.com / v1
apiVersion: mongodb.com/v1
kind: MongoDBOpsManager
metadata:
name: example
apiVersion
string
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
kind
string
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
metadata
object
spec object required
adminCredentials
string
AdminSecret is the secret for the first admin user to create
has the fields: "Username", "Password", "FirstName", "LastName"
applicationDatabase object
AppDB configures the internally-managed Application Database. Required unless
ExternalAppDBRef is set, in which case it may be omitted entirely.
Ignored when ExternalAppDBRef is set.
additionalMongodConfig
object
AdditionalMongodConfig are additional configurations that can be passed to
each data-bearing mongod at runtime. Uses the same structure as the mongod
configuration file:
https://docs.mongodb.com/manual/reference/configuration-options/
agent object
specify configuration like startup flags and automation config settings for the AutomationAgent and MonitoringAgent
backupAgent object
logRotate object
LogRotate configures log rotation for the BackupAgent processes
sizeThresholdMB
integer
Maximum size for an individual log file before rotation.
OM only supports ints
timeThresholdHrs
integer
Number of hours after which this MongoDB Agent rotates the log file.
logLevel
string
logRotate object
DEPRECATED please use mongod.logRotate
includeAuditLogsWithMongoDBLogs
boolean
set to 'true' to have the Automation Agent rotate the audit files along
with mongodb log files
numTotal
integer
maximum number of log files to have total
numUncompressed
integer
maximum number of log files to leave uncompressed
percentOfDiskspace
string
Maximum percentage of the total disk space these log files should take up.
The string needs to be able to be converted to float64
sizeThresholdMB
string required
Maximum size for an individual log file before rotation.
The string needs to be able to be converted to float64.
Fractional values of MB are supported.
timeThresholdHrs
integer required
maximum hours for an individual log file before rotation
maxLogFileDurationHours
integer
mongod object
AgentLoggingMongodConfig contain settings for the mongodb processes configured by the agent
auditlogRotate object
LogRotate configures audit log rotation for the mongodb processes
includeAuditLogsWithMongoDBLogs
boolean
set to 'true' to have the Automation Agent rotate the audit files along
with mongodb log files
numTotal
integer
maximum number of log files to have total
numUncompressed
integer
maximum number of log files to leave uncompressed
percentOfDiskspace
string
Maximum percentage of the total disk space these log files should take up.
The string needs to be able to be converted to float64
sizeThresholdMB
string required
Maximum size for an individual log file before rotation.
The string needs to be able to be converted to float64.
Fractional values of MB are supported.
timeThresholdHrs
integer required
maximum hours for an individual log file before rotation
logRotate object
LogRotate configures log rotation for the mongodb processes
includeAuditLogsWithMongoDBLogs
boolean
set to 'true' to have the Automation Agent rotate the audit files along
with mongodb log files
numTotal
integer
maximum number of log files to have total
numUncompressed
integer
maximum number of log files to leave uncompressed
percentOfDiskspace
string
Maximum percentage of the total disk space these log files should take up.
The string needs to be able to be converted to float64
sizeThresholdMB
string required
Maximum size for an individual log file before rotation.
The string needs to be able to be converted to float64.
Fractional values of MB are supported.
timeThresholdHrs
integer required
maximum hours for an individual log file before rotation
systemLog object
SystemLog configures system log of mongod
destination
string required
logAppend
boolean required
path
string required
monitoringAgent object
logRotate object
LogRotate configures log rotation for the BackupAgent processes
sizeThresholdMB
integer
Maximum size for an individual log file before rotation.
OM only supports ints
timeThresholdHrs
integer
Number of hours after which this MongoDB Agent rotates the log file.
readinessProbe object
environmentVariables
object
startupOptions
object
StartupParameters can be used to configure the startup parameters with which the agent starts. That also contains
log rotation settings as defined here:
systemLog object
DEPRECATED please use mongod.systemLog
destination
string required
logAppend
boolean required
path
string required
automationConfig object
AutomationConfigOverride holds any fields that will be merged on top of the Automation Config
that the operator creates for the AppDB. Currently only the process.disabled and logRotate field is recognized.
processes []object
disabled
boolean required
logRotate object
CrdLogRotate is the crd definition of LogRotate including fields in strings while the agent supports them as float64
includeAuditLogsWithMongoDBLogs
boolean
set to 'true' to have the Automation Agent rotate the audit files along
with mongodb log files
numTotal
integer
maximum number of log files to have total
numUncompressed
integer
maximum number of log files to leave uncompressed
percentOfDiskspace
string
Maximum percentage of the total disk space these log files should take up.
The string needs to be able to be converted to float64
sizeThresholdMB
string required
Maximum size for an individual log file before rotation.
The string needs to be able to be converted to float64.
Fractional values of MB are supported.
timeThresholdHrs
integer required
maximum hours for an individual log file before rotation
name
string required
replicaSet object
OverrideReplicaSet holds replica set override fields for the AutomationConfig.
id
string
Id can be used together with additionalMongodConfig.replication.replSetName
to manage clusters where replSetName differs from the MongoDBCommunity resource name
settings
object
MapWrapper is a wrapper for a map to be used by other structs.
The CRD generator does not support map[string]interface{}
on the top level and hence we need to work around this with
a wrapping struct.
cloudManager object
configMapRef object
name
string
clusterDomain
string
clusterSpecList []object
clusterName
string
ClusterName is name of the cluster where the MongoDB Statefulset will be scheduled, the
name should have a one on one mapping with the service-account created in the central cluster
to talk to the workload clusters.
externalAccess object
ExternalAccessConfiguration provides external access configuration for Multi-Cluster.
externalDomain
string
An external domain that is used for exposing MongoDB to the outside world.
externalService object
Provides a way to override the default (NodePort) Service
annotations
object
A map of annotations that shall be added to the externally available Service.
spec
object
A wrapper for the Service spec object.
memberConfig []object
MemberConfig allows to specify votes, priorities and tags for each of the mongodb process.
priority
string
tags
object
votes
integer
members
integer required
Amount of members for this MongoDB Replica Set
podSpec object
persistence object
Note, that this field is used by MongoDB resources only, let's keep it here for simplicity
multiple object
data object
labelSelector
object
storage
string
storageClass
string
journal object
labelSelector
object
storage
string
storageClass
string
logs object
labelSelector
object
storage
string
storageClass
string
single object
labelSelector
object
storage
string
storageClass
string
podTemplate
object
service
string
this is an optional service, it will get the name "<rsName>-service" in case not provided
statefulSet object
StatefulSetConfiguration holds the optional custom StatefulSet
that should be merged into the operator created one.
metadata object
StatefulSetMetadataWrapper is a wrapper around Labels and Annotations
annotations
object
labels
object
spec
object required
connectivity object
replicaSetHorizons
[]object
ReplicaSetHorizons holds list of maps of horizons to be configured in each of MongoDB processes.
Horizons map horizon names to the node addresses for each process in the replicaset, e.g.:
[
{
"internal": "my-rs-0.my-internal-domain.com:31843",
"external": "my-rs-0.my-external-domain.com:21467"
},
{
"internal": "my-rs-1.my-internal-domain.com:31843",
"external": "my-rs-1.my-external-domain.com:21467"
},
...
]
The key of each item in the map is an arbitrary, user-chosen string that
represents the name of the horizon. The value of the item is the host and,
optionally, the port that this mongod node will be connected to from.
credentials
string
Name of the Secret holding credentials information
externalAccess object
ExternalAccessConfiguration provides external access configuration.
externalDomain
string
An external domain that is used for exposing MongoDB to the outside world.
externalService object
Provides a way to override the default (NodePort) Service
annotations
object
A map of annotations that shall be added to the externally available Service.
spec
object
A wrapper for the Service spec object.
featureCompatibilityVersion
string
memberConfig []object
MemberConfig allows to specify votes, priorities and tags for each of the mongodb process.
priority
string
tags
object
votes
integer
members
integer
Amount of members for this MongoDB Replica Set
minimum:
3maximum:
50monitoringAgent object
Deprecated: this field has no effect. The monitoring agent now runs inside the
automation agent. Configure agent options, including log level and rotation, via
spec.appDB.agent. Remove this field from your configuration.
startupOptions
object required
StartupParameters can be used to configure the startup parameters with which the agent starts. That also contains
log rotation settings as defined here:
opsManager object
configMapRef object
name
string
passwordSecretKeyRef object
PasswordSecretKeyRef contains a reference to the secret which contains the password
for the mongodb-ops-manager SCRAM-SHA user
key
string
name
string required
podSpec object
persistence object
Note, that this field is used by MongoDB resources only, let's keep it here for simplicity
multiple object
data object
labelSelector
object
storage
string
storageClass
string
journal object
labelSelector
object
storage
string
storageClass
string
logs object
labelSelector
object
storage
string
storageClass
string
single object
labelSelector
object
storage
string
storageClass
string
podTemplate
object
prometheus object
Enables Prometheus integration on the AppDB.
metricsPath
string
Indicates path to the metrics endpoint.
pattern:
^\/[a-z0-9]+$passwordSecretRef object required
Name of a Secret containing a HTTP Basic Auth Password.
key
string
Key is the key in the secret storing this password. Defaults to "password"
name
string required
Name is the name of the secret storing this user's password
port
integer
Port where metrics endpoint will bind to. Defaults to 9216.
tlsSecretKeyRef object
Name of a Secret (type kubernetes.io/tls) holding the certificates to use in the
Prometheus endpoint.
key
string
Key is the key in the secret storing this password. Defaults to "password"
name
string required
Name is the name of the secret storing this user's password
username
string required
HTTP Basic Auth Username for metrics endpoint.
security object
authentication object
Authentication holds various authentication related settings that affect
this MongoDB resource.
agents object
Agents contains authentication configuration properties for the agents
autoPEMKeyFilePath
string
AutoPEMKeyFilePath is the absolute path to the automation agent’s combined PEM (cert+key) inside
database pods (replica set, sharded cluster, standalone, and multi-cluster). When set, the operator configures Ops Manager tls.autoPEMKeyFilePath to this value
and mounts the clientCertificateSecretRef PEM at this path (for example when migrating from VMs
that already use a non-default path). When empty, the operator uses AgentCertMountPath with the
hash derived from the TLS secret. Requires clientCertificateSecretRef when non-empty.
This field is meant to be used only in the context of a migration into MCK where the existing project is already configured with a non-default path for the PEM file.
In all other cases, this field should be left empty and the operator will use the default path.
This field will not be used for MongoDBMultiCluster, AppDB or MongoDB standalone resource.
automationLdapGroupDN
string
automationPasswordSecretRef object
SecretKeySelector selects a key of a Secret.
key
string required
The key of the secret to select from. Must be a valid secret key.
name
string
Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
optional
boolean
Specify whether the Secret or its key must be defined
automationUserName
string
clientCertificateSecretRef
object
mode
string required
Mode is the desired Authentication mode that the agents will use
enabled
boolean required
ignoreUnknownUsers
boolean
IgnoreUnknownUsers maps to the inverse of auth.authoritativeSet
internalCluster
string
ldap object
LDAP Configuration
authzQueryTemplate
string
bindQueryPasswordSecretRef object
name
string required
bindQueryUser
string
caConfigMapRef object
Allows to point at a ConfigMap/key with a CA file to mount on the Pod
key
string required
The key to select.
name
string
Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
optional
boolean
Specify whether the ConfigMap or its key must be defined
servers
[]string
timeoutMS
integer
transportSecurity
string
enum:
tls, none
userCacheInvalidationInterval
integer
userToDNMapping
string
validateLDAPServerConfig
boolean
modes
[]string
oidcProviderConfigs []object
Configuration for OIDC providers
audience
string required
Entity that your external identity provider intends the token for.
Enter the audience value from the app you registered with external Identity Provider.
authorizationMethod
string required
Configure single-sign-on for human user access to deployments with Workforce Identity Federation.
For programmatic, application access to deployments use Workload Identity Federation.
Only one Workforce Identity Federation IdP can be configured per MongoDB resource
enum:
WorkforceIdentityFederation, WorkloadIdentityFederation
authorizationType
string required
Select GroupMembership to grant authorization based on IdP user group membership, or select UserID to grant
an individual user authorization.
enum:
GroupMembership, UserID
clientId
string
Unique identifier for your registered application. Enter the clientId value from the app you
registered with an external Identity Provider.
Required when selected Workforce Identity Federation authorization method
configurationName
string required
Unique label that identifies this configuration. It is case-sensitive and can only contain the following characters:
- alphanumeric characters (combination of a to z and 0 to 9)
- hyphens (-)
- underscores (_)
pattern:
^[a-zA-Z0-9-_]+$
groupsClaim
string
The identifier of the claim that includes the principal's IdP user group membership information.
Required when selected GroupMembership as the authorization type, ignored otherwise
issuerURI
string required
Issuer value provided by your registered IdP application. Using this URI, MongoDB finds an OpenID Connect Provider
Configuration Document, which should be available in the /.wellknown/open-id-configuration endpoint.
For MongoDB 8.0+, the combination of issuerURI and audience must be unique across OIDC provider configurations.
For other MongoDB versions, the issuerURI itself must be unique.
requestedScopes
[]string
Tokens that give users permission to request data from the authorization endpoint.
Only used for Workforce Identity Federation authorization method
userClaim
string required
The identifier of the claim that includes the user principal identity.
Accept the default value unless your IdP uses a different claim.
requireClientTLSAuthentication
boolean
Clients should present valid TLS certificates
certsSecretPrefix
string
roleRefs []object
kind
string required
enum:
ClusterMongoDBRole
name
string required
roles []object
authenticationRestrictions []object
clientSource
[]string
serverAddress
[]string
db
string required
privileges []object
actions
[]string required
resource object required
cluster
boolean
collection
string
db
string
role
string required
roles []object
db
string required
role
string required
tls object
additionalCertificateDomains
[]string
ca
string
CA corresponds to a ConfigMap containing the CA certificate used to validate
the certificates created already. The ConfigMap must contain a key named ca-pem
whose value is the PEM-encoded CA bundle.
caFilePath
string
CAFilePath is the absolute path for the CA certificate file. It must have
at least two segments, for example /var/lib/ca/ca-pem. The ConfigMap
referenced by tls.CA must contain a key named ca-pem, which the operator
projects to this path. If the parent directory overlaps a volume mount
declared in your podTemplate, the operator's mount will shadow that mount.
Not supported for the AppDB.
Default: /mongodb-automation/tls/ca/ca-pem
pattern:
^/[a-zA-Z0-9._\-]+(/[a-zA-Z0-9._\-]+)+$
enabled
boolean
DEPRECATED please enable TLS by setting `security.certsSecretPrefix` or `security.tls.secretRef.prefix`.
Enables TLS for this resource. This will make the operator try to mount a
Secret with a defined name (<resource-name>-cert).
This is only used when enabling TLS on a MongoDB resource, and not on the
AppDB, where TLS is configured by setting `secretRef.Name`.
service
string
this is an optional service, it will get the name "<rsName>-svc" in case not provided
topology
string
enum:
SingleCluster, MultiCluster
type
string
enum:
Standalone, ReplicaSet, ShardedCluster
version
string required
pattern:
^[0-9]+.[0-9]+.[0-9]+(-.+)?$|^$backup object
Backup
assignmentLabels
[]string
Assignment Labels set in the Ops Manager
blockStores []object
assignmentLabels
[]string
Assignment Labels set in the Ops Manager
mongodbResourceRef object required
name
string required
namespace
string
mongodbUserRef object
name
string required
name
string required
enabled
boolean required
Enabled indicates if Backups will be enabled for this Ops Manager.
encryption object
Encryption settings
kmip object
Kmip corresponds to the KMIP configuration assigned to the Ops Manager Project's configuration.
server object required
KMIP Server configuration
ca
string required
CA corresponds to a ConfigMap containing an entry for the CA certificate (ca.pem)
used for KMIP authentication
url
string required
KMIP Server url in the following format: hostname:port
Valid examples are:
10.10.10.3:5696
my-kmip-server.mycorp.com:5696
kmip-svc.svc.cluster.local:5696
pattern:
[^\:]+:[0-9]{0,5}
externalServiceEnabled
boolean
fileSystemStores []object
name
string required
headDB object
HeadDB specifies configuration options for the HeadDB
labelSelector
object
storage
string
storageClass
string
jvmParameters
[]string
logging object
LogBackAccessRef object
LogBackAccessRef points at a ConfigMap/key with the logback access configuration file to mount on the Pod
name
string
LogBackRef object
LogBackRef points at a ConfigMap/key with the logback configuration file to mount on the Pod
name
string
members
integer
Members indicate the number of backup daemon pods to create.
minimum:
1opLogStores []object
OplogStoreConfigs describes the list of oplog store configs used for backup
assignmentLabels
[]string
Assignment Labels set in the Ops Manager
mongodbResourceRef object required
name
string required
namespace
string
mongodbUserRef object
name
string required
name
string required
queryableBackupSecretRef object
QueryableBackupSecretRef references the secret which contains the pem file which is used
for queryable backup. This will be mounted into the Ops Manager pod.
name
string required
s3OpLogStores []object
S3OplogStoreConfigs describes the list of s3 oplog store configs used for backup.
assignmentLabels
[]string
Assignment Labels set in the Ops Manager
customCertificate
boolean
Set this to "true" to use the appDBCa as a CA to access S3.
Deprecated: This has been replaced by CustomCertificateSecretRefs,
In the future all custom certificates, which includes the appDBCa
for s3Config should be configured in CustomCertificateSecretRefs instead.
customCertificateSecretRefs []object
CustomCertificateSecretRefs is a list of valid Certificate Authority certificate secrets
that apply to the associated S3 bucket.
key
string required
The key of the secret to select from. Must be a valid secret key.
name
string
Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
optional
boolean
Specify whether the Secret or its key must be defined
irsaEnabled
boolean
This is only set to "true" when a user is running in EKS and is using AWS IRSA to configure
S3 snapshot store. For more details refer this: https://aws.amazon.com/blogs/opensource/introducing-fine-grained-iam-roles-service-accounts/
mongodbResourceRef object
name
string required
namespace
string
mongodbUserRef object
name
string required
name
string required
objectLockEnabled
boolean
ObjectLockEnabled indicates whether S3 Object Lock is enabled for the bucket.
This should be enabled to leverage Immutable Backups.
pathStyleAccessEnabled
boolean required
s3BucketEndpoint
string required
s3BucketName
string required
s3RegionOverride
string
s3SecretRef object
S3SecretRef is the secret that contains the AWS credentials used to access S3
It is optional because the credentials can be provided via AWS IRSA
name
string required
s3Stores []object
assignmentLabels
[]string
Assignment Labels set in the Ops Manager
customCertificate
boolean
Set this to "true" to use the appDBCa as a CA to access S3.
Deprecated: This has been replaced by CustomCertificateSecretRefs,
In the future all custom certificates, which includes the appDBCa
for s3Config should be configured in CustomCertificateSecretRefs instead.
customCertificateSecretRefs []object
CustomCertificateSecretRefs is a list of valid Certificate Authority certificate secrets
that apply to the associated S3 bucket.
key
string required
The key of the secret to select from. Must be a valid secret key.
name
string
Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
optional
boolean
Specify whether the Secret or its key must be defined
irsaEnabled
boolean
This is only set to "true" when a user is running in EKS and is using AWS IRSA to configure
S3 snapshot store. For more details refer this: https://aws.amazon.com/blogs/opensource/introducing-fine-grained-iam-roles-service-accounts/
mongodbResourceRef object
name
string required
namespace
string
mongodbUserRef object
name
string required
name
string required
objectLockEnabled
boolean
ObjectLockEnabled indicates whether S3 Object Lock is enabled for the bucket.
This should be enabled to leverage Immutable Backups.
pathStyleAccessEnabled
boolean required
s3BucketEndpoint
string required
s3BucketName
string required
s3RegionOverride
string
s3SecretRef object
S3SecretRef is the secret that contains the AWS credentials used to access S3
It is optional because the credentials can be provided via AWS IRSA
name
string required
statefulSet object
StatefulSetConfiguration holds the optional custom StatefulSet
that should be merged into the operator created one.
metadata object
StatefulSetMetadataWrapper is a wrapper around Labels and Annotations
annotations
object
labels
object
spec
object required
clusterDomain
string
format:
hostname
clusterName
string
Deprecated: This has been replaced by the ClusterDomain which should be
used instead
format:
hostnameclusterSpecList []object
backup object
Backup contains settings to override from top-level `spec.backup` for this member cluster.
If the value is not set here, then the value is taken from `spec.backup`.
assignmentLabels
[]string
Assignment Labels set in the Ops Manager
headDB object
HeadDB specifies configuration options for the HeadDB
labelSelector
object
storage
string
storageClass
string
jvmParameters
[]string
members
integer required
Members indicate the number of backup daemon pods to create.
minimum:
0statefulSet object
StatefulSetConfiguration specified optional overrides for backup datemon statefulset.
metadata object
StatefulSetMetadataWrapper is a wrapper around Labels and Annotations
annotations
object
labels
object
spec
object required
clusterDomain
string
Cluster domain to override the default *.svc.cluster.local if the default cluster domain has been changed on a cluster level.
format:
hostname
clusterName
string required
ClusterName is name of the cluster where the Ops Manager Statefulset will be scheduled.
The operator is using ClusterName to find API credentials in `mongodb-kubernetes-operator-member-list` config map to use for this member cluster.
If the credentials are not found, then the member cluster is considered unreachable and ignored in the reconcile process.
configuration
object
The configuration properties passed to Ops Manager and Backup Daemon in this cluster.
If specified (not empty) then this field overrides `spec.configuration` field entirely.
If not specified, then `spec.configuration` field is used for the Ops Manager and Backup Daemon instances in this cluster.
externalConnectivity object
MongoDBOpsManagerExternalConnectivity if sets allows for the creation of a Service for
accessing Ops Manager instances in this member cluster from outside the Kubernetes cluster.
If specified (even if provided empty) then this field overrides `spec.externalConnectivity` field entirely.
If not specified, then `spec.externalConnectivity` field is used for the Ops Manager and Backup Daemon instances in this cluster.
annotations
object
Annotations is a list of annotations to be directly passed to the Service object.
clusterIP
string
ClusterIP IP that will be assigned to this Service when creating a ClusterIP type Service
externalTrafficPolicy
string
ExternalTrafficPolicy mechanism to preserve the client source IP.
Only supported on GCE and Google Kubernetes Engine.
enum:
Cluster, Local
loadBalancerIP
string
LoadBalancerIP IP that will be assigned to this LoadBalancer.
port
integer
Port in which this `Service` will listen to, this applies to `NodePort`.
format:
int32
type
string required
Type of the `Service` to be created.
enum:
LoadBalancer, NodePort, ClusterIP
jvmParameters
[]string
JVM parameters to pass to Ops Manager and Backup Daemon instances in this member cluster.
If specified (not empty) then this field overrides `spec.jvmParameters` field entirely.
If not specified, then `spec.jvmParameters` field is used for the Ops Manager and Backup Daemon instances in this cluster.
members
integer required
Number of Ops Manager instances in this member cluster.
statefulSet object
Configure custom StatefulSet configuration to override in Ops Manager's statefulset in this member cluster.
If specified (even if provided empty) then this field overrides `spec.externalConnectivity` field entirely.
If not specified, then `spec.externalConnectivity` field is used for the Ops Manager and Backup Daemon instances in this cluster.
metadata object
StatefulSetMetadataWrapper is a wrapper around Labels and Annotations
annotations
object
labels
object
spec
object required
configuration
object
The configuration properties passed to Ops Manager/Backup Daemon
externalApplicationDatabaseRef object
ExternalAppDBRef references a MongoDB resource
to use as this Ops Manager's AppDB, instead of the internally-managed one.
Takes precedence over AppDB when both are set.
kind
string required
Kind of the referenced resource.
enum:
MongoDB
name
string required
Name of the MongoDB resource to use as the external AppDB.
Must be in the same namespace as the MongoDBOpsManager resource, and named
<MongoDBOpsManager name>-db.
externalConnectivity object
MongoDBOpsManagerExternalConnectivity if sets allows for the creation of a Service for
accessing this Ops Manager resource from outside the Kubernetes cluster.
annotations
object
Annotations is a list of annotations to be directly passed to the Service object.
clusterIP
string
ClusterIP IP that will be assigned to this Service when creating a ClusterIP type Service
externalTrafficPolicy
string
ExternalTrafficPolicy mechanism to preserve the client source IP.
Only supported on GCE and Google Kubernetes Engine.
enum:
Cluster, Local
loadBalancerIP
string
LoadBalancerIP IP that will be assigned to this LoadBalancer.
port
integer
Port in which this `Service` will listen to, this applies to `NodePort`.
format:
int32
type
string required
Type of the `Service` to be created.
enum:
LoadBalancer, NodePort, ClusterIPinternalConnectivity object
InternalConnectivity if set allows for overriding the settings of the default service
used for internal connectivity to the OpsManager servers.
annotations
object
Annotations is a list of annotations to be directly passed to the Service object.
clusterIP
string
ClusterIP IP that will be assigned to this Service when creating a ClusterIP type Service
externalTrafficPolicy
string
ExternalTrafficPolicy mechanism to preserve the client source IP.
Only supported on GCE and Google Kubernetes Engine.
enum:
Cluster, Local
loadBalancerIP
string
LoadBalancerIP IP that will be assigned to this LoadBalancer.
port
integer
Port in which this `Service` will listen to, this applies to `NodePort`.
format:
int32
type
string required
Type of the `Service` to be created.
enum:
LoadBalancer, NodePort, ClusterIP
jvmParameters
[]string
Custom JVM parameters passed to the Ops Manager JVM
logging object
LogBackAccessRef object
LogBackAccessRef points at a ConfigMap/key with the logback access configuration file to mount on the Pod
name
string
LogBackRef object
LogBackRef points at a ConfigMap/key with the logback configuration file to mount on the Pod
name
string
opsManagerURL
string
OpsManagerURL specified the URL with which the operator and AppDB monitoring agent should access Ops Manager instance (or instances).
When not set, the operator is using FQDN of Ops Manager's headless service `{name}-svc.{namespace}.svc.cluster.local` to connect to the instance. If that URL cannot be used, then URL in this field should be provided for the operator to connect to Ops Manager instances.
replicas
integer
minimum:
1security object
Configure HTTPS.
certsSecretPrefix
string
tls object
ca
string
secretRef object
name
string required
statefulSet object
Configure custom StatefulSet configuration
metadata object
StatefulSetMetadataWrapper is a wrapper around Labels and Annotations
annotations
object
labels
object
spec
object required
topology
string
Topology sets the desired cluster topology of Ops Manager deployment.
It defaults (and if not set) to SingleCluster. If MultiCluster specified,
then clusterSpecList field is mandatory and at least one member cluster has to be specified.
enum:
SingleCluster, MultiCluster
version
string required
status object
applicationDatabase object
backup object
statusName
string required
clusterStatusList []object
clusterName
string
members
integer
conditions []object
lastTransitionTime
string required
lastTransitionTime is the last time the condition transitioned from one status to another.
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
format:
date-time
message
string required
message is a human readable message indicating details about the transition.
This may be an empty string.
maxLength:
32768
observedGeneration
integer
observedGeneration represents the .metadata.generation that the condition was set based upon.
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
with respect to the current state of the instance.
format:
int64minimum:
0
reason
string required
reason contains a programmatic identifier indicating the reason for the condition's last transition.
Producers of specific condition types may define expected values and meanings for this field,
and whether the values are considered a guaranteed API.
The value should be a CamelCase string.
This field may not be empty.
pattern:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$minLength:
1maxLength:
1024
status
string required
status of the condition, one of True, False, Unknown.
enum:
True, False, Unknown
type
string required
type of condition in CamelCase or in foo.example.com/CamelCase.
pattern:
^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$maxLength:
316
configServerCount
integer
featureCompatibilityVersion
string
lastTransition
string
link
string
members
integer
message
string
migrationObservedExternalMembersCount
integer
MigrationObservedExternalMembersCount is how many spec.externalMembers were observed on the last
reconcile while migration is active. The next reconcile compares this to the current external count
to detect Pruning. Unset when no externalMembers remain (omitted from serialized status).
NOTE: This field is only used for MongoDB CR resources. It is always nil when MongoDbStatus is
embedded in OpsManager's AppDbStatus, but appears in the CRD schema due to Go struct embedding.
This is accepted technical debt until AppDbStatus is decoupled from MongoDbStatus.
mongodsPerShardCount
integer
mongosCount
integer
observedGeneration
integer
format:
int64
phase
string required
projectId
string
pvc []object
phase
string required
statefulsetName
string required
resourcesNotReady []object
errors []object
message
string
reason
string
kind
string required
ResourceKind specifies a kind of a Kubernetes resource. Used in status of a Custom Resource
message
string
name
string required
shardCount
integer
sizeStatusInClusters object
MongodbShardedSizeStatusInClusters describes the number and sizes of replica sets members deployed across member clusters
configServerMongodsInClusters
object
mongosCountInClusters
object
shardMongodsInClusters
object
shardOverridesInClusters
object
version
string required
warnings
[]string
backup object
clusterStatusList []object
clusterName
string
replicas
integer
lastTransition
string
message
string
observedGeneration
integer
format:
int64
phase
string required
pvc []object
phase
string required
statefulsetName
string required
resourcesNotReady []object
errors []object
message
string
reason
string
kind
string required
ResourceKind specifies a kind of a Kubernetes resource. Used in status of a Custom Resource
message
string
name
string required
version
string
warnings
[]string
opsManager object
clusterStatusList []object
clusterName
string
replicas
integer
lastTransition
string
message
string
observedGeneration
integer
format:
int64
phase
string required
pvc []object
phase
string required
statefulsetName
string required
replicas
integer
resourcesNotReady []object
errors []object
message
string
reason
string
kind
string required
ResourceKind specifies a kind of a Kubernetes resource. Used in status of a Custom Resource
message
string
name
string required
url
string
version
string
warnings
[]string
No matches. Try .spec.adminCredentials for an exact path