MongoDBOpsManager (mongodb.com/v1)

Type: object

The MongoDBOpsManager resource allows you to deploy Ops Manager within your Kubernetes cluster

Type: 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

Type: 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

io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta

Type: object

Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

Type: object

Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations

Each additional property must conform to the following schema

Type: string

io.k8s.apimachinery.pkg.apis.meta.v1.Time

Type: string

CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC.

Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

Type: integerFormat: int64

Number of seconds allowed for this object to gracefully terminate before it will be removed from the system. Only set when deletionTimestamp is also set. May only be shortened. Read-only.

io.k8s.apimachinery.pkg.apis.meta.v1.Time

Type: string

DeletionTimestamp is RFC 3339 date and time at which this resource will be deleted. This field is set by the server when a graceful deletion is requested by the user, and is not directly settable by a client. The resource is expected to be deleted (no longer visible from resource lists, and not reachable by name) after the time in this field, once the finalizers list is empty. As long as the finalizers list contains items, deletion is blocked. Once the deletionTimestamp is set, this value may not be unset or be set further into the future, although it may be shortened or the resource may be deleted prior to this time. For example, a user may request that a pod is deleted in 30 seconds. The Kubelet will react by sending a graceful termination signal to the containers in the pod. After that 30 seconds, the Kubelet will send a hard termination signal (SIGKILL) to the container and after cleanup, remove the pod from the API. In the presence of network partitions, this object may still exist after this timestamp, until an administrator or automated process can determine the resource is fully terminated. If not set, graceful deletion of the object has not been requested.

Populated by the system when a graceful deletion is requested. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

Same definition as creationTimestamp

Type: array of string

Must be empty before the object is deleted from the registry. Each entry is an identifier for the responsible component that will remove the entry from the list. If the deletionTimestamp of the object is non-nil, entries in this list can only be removed. Finalizers may be processed and removed in any order. Order is NOT enforced because it introduces significant risk of stuck finalizers. finalizers is a shared field, any actor with permission can reorder it. If the finalizer list is processed in order, then this can lead to a situation in which the component responsible for the first finalizer in the list is waiting for a signal (field value, external system, or other) produced by a component responsible for a finalizer later in the list, resulting in a deadlock. Without enforced ordering finalizers are free to order amongst themselves and are not vulnerable to ordering changes in the list.

No Additional Items

Each item of this array must be:

Type: string

GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.

If this field is specified and the generated name exists, the server will return a 409.

Applied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency

Type: integerFormat: int64

A sequence number representing a specific generation of the desired state. Populated by the system. Read-only.

Type: object

Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels

Each additional property must conform to the following schema

Type: string

Type: array

ManagedFields maps workflow-id and version to the set of fields that are managed by that workflow. This is mostly for internal housekeeping, and users typically shouldn't need to set or understand this field. A workflow can be the user's name, a controller's name, or the name of a specific apply path like "ci-cd". The set of fields is always in the version that the workflow used when modifying the object.

No Additional Items

Each item of this array must be:

io.k8s.apimachinery.pkg.apis.meta.v1.ManagedFieldsEntry

Type: object

ManagedFieldsEntry is a workflow-id, a FieldSet and the group version of the resource that the fieldset applies to.

Type: string

APIVersion defines the version of this resource that this field set applies to. The format is "group/version" just like the top-level APIVersion field. It is necessary to track the version of a field set because it cannot be automatically converted.

Type: string

FieldsType is the discriminator for the different fields format and version. There is currently only one possible value: "FieldsV1"

io.k8s.apimachinery.pkg.apis.meta.v1.FieldsV1

Type: object

FieldsV1 holds the first JSON version format as described in the "FieldsV1" type.

Type: string

Manager is an identifier of the workflow managing these fields.

Type: string

Operation is the type of operation which lead to this ManagedFieldsEntry being created. The only valid values for this field are 'Apply' and 'Update'.

Type: string

Subresource is the name of the subresource used to update that object, or empty string if the object was updated through the main resource. The value of this field is used to distinguish between managers, even if they share the same name. For example, a status update will be distinct from a regular update using the same manager name. Note that the APIVersion field is not related to the Subresource field and it always corresponds to the version of the main resource.

io.k8s.apimachinery.pkg.apis.meta.v1.Time

Type: string

Time is the timestamp of when the ManagedFields entry was added. The timestamp will also be updated if a field is added, the manager changes any of the owned fields value or removes a field. The timestamp does not update when a field is removed from the entry because another manager took it over.

Same definition as creationTimestamp

Type: string

Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names

Type: string

Namespace defines the space within which each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.

Must be a DNS_LABEL. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces

Type: array

List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.

No Additional Items

Each item of this array must be:

io.k8s.apimachinery.pkg.apis.meta.v1.OwnerReference

Type: object

OwnerReference contains enough information to let you identify an owning object. An owning object must be in the same namespace as the dependent, or be cluster-scoped, so there is no namespace field.

Type: boolean

If true, AND if the owner has the "foregroundDeletion" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. See https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion for how the garbage collector interacts with this field and enforces the foreground deletion. Defaults to false. To set this field, a user needs "delete" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned.

Type: boolean

If true, this reference points to the managing controller.

Type: string

Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

Type: string

Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#names

Type: string

UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids

Type: string

An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.

Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

Type: string

UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.

Populated by the system. Read-only. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids

Type: object

Type: string

AdminSecret is the secret for the first admin user to create
has the fields: "Username", "Password", "FirstName", "LastName"

Type: object

Type: 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/

Type: object

specify configuration like startup flags and automation config settings for the AutomationAgent and MonitoringAgent

Type: object

Type: object

LogRotate configures log rotation for the BackupAgent processes

Type: integer

Maximum size for an individual log file before rotation.
OM only supports ints

Type: integer

Number of hours after which this MongoDB Agent rotates the log file.

Type: object

DEPRECATED please use mongod.logRotate

Type: boolean

set to 'true' to have the Automation Agent rotate the audit files along
with mongodb log files

Type: integer

maximum number of log files to have total

Type: integer

maximum number of log files to leave uncompressed

Type: 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

Type: string

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.

Type: integer

maximum hours for an individual log file before rotation

Type: object

AgentLoggingMongodConfig contain settings for the mongodb processes configured by the agent

Type: object

LogRotate configures audit log rotation for the mongodb processes

Type: boolean

set to 'true' to have the Automation Agent rotate the audit files along
with mongodb log files

Type: integer

maximum number of log files to have total

Type: integer

maximum number of log files to leave uncompressed

Type: 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

Type: string

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.

Type: integer

maximum hours for an individual log file before rotation

Type: object

LogRotate configures log rotation for the mongodb processes

Type: boolean

set to 'true' to have the Automation Agent rotate the audit files along
with mongodb log files

Type: integer

maximum number of log files to have total

Type: integer

maximum number of log files to leave uncompressed

Type: 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

Type: string

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.

Type: integer

maximum hours for an individual log file before rotation

Type: object

SystemLog configures system log of mongod

Type: object

Type: object

LogRotate configures log rotation for the BackupAgent processes

Type: integer

Maximum size for an individual log file before rotation.
OM only supports ints

Type: integer

Number of hours after which this MongoDB Agent rotates the log file.

Type: object

Type: object

Each additional property must conform to the following schema

Type: string

Type: object

StartupParameters can be used to configure the startup parameters with which the agent starts. That also contains
log rotation settings as defined here:

Each additional property must conform to the following schema

Type: string

Type: object

DEPRECATED please use mongod.systemLog

Type: 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.

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

OverrideProcess contains fields that we can override on the AutomationConfig processes.

Type: object

CrdLogRotate is the crd definition of LogRotate including fields in strings while the agent supports them as float64

Type: boolean

set to 'true' to have the Automation Agent rotate the audit files along
with mongodb log files

Type: integer

maximum number of log files to have total

Type: integer

maximum number of log files to leave uncompressed

Type: 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

Type: string

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.

Type: integer

maximum hours for an individual log file before rotation

Type: object

Type: string

Id can be used together with additionalMongodConfig.replication.replSetName
to manage clusters where replSetName differs from the MongoDBCommunity resource name

Type: 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.

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

ClusterSpecItem is the mongodb multi-cluster spec that is specific to a
particular Kubernetes cluster, this maps to the statefulset created in each cluster

Type: 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.

Type: object

ExternalAccessConfiguration provides external access configuration for Multi-Cluster.

Type: string

An external domain that is used for exposing MongoDB to the outside world.

Type: object

Provides a way to override the default (NodePort) Service

Type: object

A map of annotations that shall be added to the externally available Service.

Each additional property must conform to the following schema

Type: string

Type: object

A wrapper for the Service spec object.

Type: array of object

MemberConfig allows to specify votes, priorities and tags for each of the mongodb process.

No Additional Items

Each item of this array must be:

Type: integer

Amount of members for this MongoDB Replica Set

Type: object

Type: object

Note, that this field is used by MongoDB resources only, let's keep it here for simplicity

Type: object

Type: string

this is an optional service, it will get the name "<rsName>-service" in case not provided

Type: object

StatefulSetConfiguration holds the optional custom StatefulSet
that should be merged into the operator created one.

Type: object

StatefulSetMetadataWrapper is a wrapper around Labels and Annotations

Type: object

Each additional property must conform to the following schema

Type: string

Type: object

Each additional property must conform to the following schema

Type: string

Type: object

Type: array of 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.

No Additional Items

Each item of this array must be:

Type: object

Each additional property must conform to the following schema

Type: string

Type: string

Name of the Secret holding credentials information

Type: object

ExternalAccessConfiguration provides external access configuration.

Type: string

An external domain that is used for exposing MongoDB to the outside world.

Type: object

Provides a way to override the default (NodePort) Service

Type: object

A map of annotations that shall be added to the externally available Service.

Each additional property must conform to the following schema

Type: string

Type: object

A wrapper for the Service spec object.

Type: array of object

MemberConfig allows to specify votes, priorities and tags for each of the mongodb process.

No Additional Items

Each item of this array must be:

Type: object

Type: object

Each additional property must conform to the following schema

Type: string

Type: integer

Amount of members for this MongoDB Replica Set

Value must be greater or equal to 3 and lesser or equal to 50

Type: object

Specify configuration like startup flags just for the MonitoringAgent.
These take precedence over
the flags set in AutomationAgent

Type: object

StartupParameters can be used to configure the startup parameters with which the agent starts. That also contains
log rotation settings as defined here:

Each additional property must conform to the following schema

Type: string

Type: object

PasswordSecretKeyRef contains a reference to the secret which contains the password
for the mongodb-ops-manager SCRAM-SHA user

Type: object

Type: object

Note, that this field is used by MongoDB resources only, let's keep it here for simplicity

Type: object

Enables Prometheus integration on the AppDB.

Type: string

Indicates path to the metrics endpoint.

Must match regular expression: ^\/[a-z0-9]+$

Type: object

Name of a Secret containing a HTTP Basic Auth Password.

Type: string

Key is the key in the secret storing this password. Defaults to "password"

Type: string

Name is the name of the secret storing this user's password

Type: integer

Port where metrics endpoint will bind to. Defaults to 9216.

Type: object

Name of a Secret (type kubernetes.io/tls) holding the certificates to use in the
Prometheus endpoint.

Type: string

Key is the key in the secret storing this password. Defaults to "password"

Type: string

Name is the name of the secret storing this user's password

Type: string

HTTP Basic Auth Username for metrics endpoint.

Type: object

Type: object

Authentication holds various authentication related settings that affect
this MongoDB resource.

Type: object

Agents contains authentication configuration properties for the agents

Type: object

SecretKeySelector selects a key of a Secret.

Type: string

The key of the secret to select from. Must be a valid secret key.

Type: 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

Type: boolean

Specify whether the Secret or its key must be defined

Type: string

Mode is the desired Authentication mode that the agents will use

Type: boolean

IgnoreUnknownUsers maps to the inverse of auth.authoritativeSet

Type: object

LDAP Configuration

Type: object

Allows to point at a ConfigMap/key with a CA file to mount on the Pod

Type: string

The key to select.

Type: 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

Type: boolean

Specify whether the ConfigMap or its key must be defined

Type: array of string
No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "tls"
  • "none"

Type: array of enum (of string)
No Additional Items

Each item of this array must be:

Type: enum (of string)

Must be one of:

  • "X509"
  • "SCRAM"
  • "SCRAM-SHA-1"
  • "MONGODB-CR"
  • "SCRAM-SHA-256"
  • "LDAP"
  • "OIDC"

Type: array of object

Configuration for OIDC providers

No Additional Items

Each item of this array must be:

Type: object

Type: string

Entity that your external identity provider intends the token for.
Enter the audience value from the app you registered with external Identity Provider.

Type: enum (of string)

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

Must be one of:

  • "WorkforceIdentityFederation"
  • "WorkloadIdentityFederation"

Type: enum (of string)

Select GroupMembership to grant authorization based on IdP user group membership, or select UserID to grant
an individual user authorization.

Must be one of:

  • "GroupMembership"
  • "UserID"

Type: 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

Type: string

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 (_)

Must match regular expression: ^[a-zA-Z0-9-_]+$

Type: 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

Type: string

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.

Type: array of string

Tokens that give users permission to request data from the authorization endpoint.
Only used for Workforce Identity Federation authorization method

No Additional Items

Each item of this array must be:

Type: string

The identifier of the claim that includes the user principal identity.
Accept the default value unless your IdP uses a different claim.

Type: boolean

Clients should present valid TLS certificates

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: enum (of string)

Must be one of:

  • "ClusterMongoDBRole"

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: array of string
No Additional Items

Each item of this array must be:

Type: string

CA corresponds to a ConfigMap containing an entry for the CA certificate (ca.pem)
used to validate the certificates created already.

Type: 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.

Type: string

this is an optional service, it will get the name "<rsName>-svc" in case not provided

Type: enum (of string)

Must be one of:

  • "SingleCluster"
  • "MultiCluster"

Type: enum (of string)

Must be one of:

  • "Standalone"
  • "ReplicaSet"
  • "ShardedCluster"

Type: string
Must match regular expression: ^[0-9]+.[0-9]+.[0-9]+(-.+)?$|^$

Type: object

Backup

Type: array of string

Assignment Labels set in the Ops Manager

No Additional Items

Each item of this array must be:

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

DataStoreConfig is the description of the config used to reference to database. Reused by Oplog and Block stores
Optionally references the user if the Mongodb is configured with authentication

Type: array of string

Assignment Labels set in the Ops Manager

No Additional Items

Each item of this array must be:

Type: boolean

Enabled indicates if Backups will be enabled for this Ops Manager.

Type: object

Encryption settings

Type: object

Kmip corresponds to the KMIP configuration assigned to the Ops Manager Project's configuration.

Type: object

KMIP Server configuration

Type: string

CA corresponds to a ConfigMap containing an entry for the CA certificate (ca.pem)
used for KMIP authentication

Type: string

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

Must match regular expression: [^\:]+:[0-9]{0,5}

Type: boolean

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

HeadDB specifies configuration options for the HeadDB

Type: object

Type: string

Type: string

Type: array of string
No Additional Items

Each item of this array must be:

Type: object

Type: object

LogBackAccessRef points at a ConfigMap/key with the logback access configuration file to mount on the Pod

Type: object

LogBackRef points at a ConfigMap/key with the logback configuration file to mount on the Pod

Type: string

Type: integer

Members indicate the number of backup daemon pods to create.

Value must be greater or equal to 1

Type: array of object

OplogStoreConfigs describes the list of oplog store configs used for backup

No Additional Items

Each item of this array must be:

Type: object

DataStoreConfig is the description of the config used to reference to database. Reused by Oplog and Block stores
Optionally references the user if the Mongodb is configured with authentication

Type: array of string

Assignment Labels set in the Ops Manager

No Additional Items

Each item of this array must be:

Type: 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.

Type: array of object

S3OplogStoreConfigs describes the list of s3 oplog store configs used for backup.

No Additional Items

Each item of this array must be:

Type: object

Type: array of string

Assignment Labels set in the Ops Manager

No Additional Items

Each item of this array must be:

Type: 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.

Type: array of object

CustomCertificateSecretRefs is a list of valid Certificate Authority certificate secrets
that apply to the associated S3 bucket.

No Additional Items

Each item of this array must be:

Type: object

SecretKeySelector selects a key of a Secret.

Type: string

The key of the secret to select from. Must be a valid secret key.

Type: 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

Type: boolean

Specify whether the Secret or its key must be defined

Type: 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/

Type: 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

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: array of string

Assignment Labels set in the Ops Manager

No Additional Items

Each item of this array must be:

Type: 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.

Type: array of object

CustomCertificateSecretRefs is a list of valid Certificate Authority certificate secrets
that apply to the associated S3 bucket.

No Additional Items

Each item of this array must be:

Type: object

SecretKeySelector selects a key of a Secret.

Type: string

The key of the secret to select from. Must be a valid secret key.

Type: 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

Type: boolean

Specify whether the Secret or its key must be defined

Type: 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/

Type: 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

Type: object

StatefulSetConfiguration holds the optional custom StatefulSet
that should be merged into the operator created one.

Type: object

StatefulSetMetadataWrapper is a wrapper around Labels and Annotations

Type: object

Each additional property must conform to the following schema

Type: string

Type: object

Each additional property must conform to the following schema

Type: string

Type: object

Type: stringFormat: hostname

Type: stringFormat: hostname

Deprecated: This has been replaced by the ClusterDomain which should be
used instead

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

ClusterSpecOMItem defines members cluster details for Ops Manager multi-cluster deployment.

Type: 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.

Type: array of string

Assignment Labels set in the Ops Manager

No Additional Items

Each item of this array must be:

Type: object

HeadDB specifies configuration options for the HeadDB

Type: array of string
No Additional Items

Each item of this array must be:

Type: integer

Members indicate the number of backup daemon pods to create.

Value must be greater or equal to 0

Type: object

StatefulSetConfiguration specified optional overrides for backup datemon statefulset.

Type: object

StatefulSetMetadataWrapper is a wrapper around Labels and Annotations

Type: object

Each additional property must conform to the following schema

Type: string

Type: object

Each additional property must conform to the following schema

Type: string

Type: stringFormat: hostname

Cluster domain to override the default *.svc.cluster.local if the default cluster domain has been changed on a cluster level.

Type: string

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.

Type: 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.

Each additional property must conform to the following schema

Type: string

Type: 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.

Type: object

Annotations is a list of annotations to be directly passed to the Service object.

Each additional property must conform to the following schema

Type: string

Type: string

ClusterIP IP that will be assigned to this Service when creating a ClusterIP type Service

Type: enum (of string)

ExternalTrafficPolicy mechanism to preserve the client source IP.
Only supported on GCE and Google Kubernetes Engine.

Must be one of:

  • "Cluster"
  • "Local"

Type: string

LoadBalancerIP IP that will be assigned to this LoadBalancer.

Type: integerFormat: int32

Port in which this Service will listen to, this applies to NodePort.

Type: enum (of string)

Type of the Service to be created.

Must be one of:

  • "LoadBalancer"
  • "NodePort"
  • "ClusterIP"

Type: array of 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.

No Additional Items

Each item of this array must be:

Type: integer

Number of Ops Manager instances in this member cluster.

Type: 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.

Type: object

StatefulSetMetadataWrapper is a wrapper around Labels and Annotations

Type: object

Each additional property must conform to the following schema

Type: string

Type: object

Each additional property must conform to the following schema

Type: string

Type: object

The configuration properties passed to Ops Manager/Backup Daemon

Each additional property must conform to the following schema

Type: string

Type: object

MongoDBOpsManagerExternalConnectivity if sets allows for the creation of a Service for
accessing this Ops Manager resource from outside the Kubernetes cluster.

Type: object

Annotations is a list of annotations to be directly passed to the Service object.

Each additional property must conform to the following schema

Type: string

Type: string

ClusterIP IP that will be assigned to this Service when creating a ClusterIP type Service

Type: enum (of string)

ExternalTrafficPolicy mechanism to preserve the client source IP.
Only supported on GCE and Google Kubernetes Engine.

Must be one of:

  • "Cluster"
  • "Local"

Type: string

LoadBalancerIP IP that will be assigned to this LoadBalancer.

Type: integerFormat: int32

Port in which this Service will listen to, this applies to NodePort.

Type: enum (of string)

Type of the Service to be created.

Must be one of:

  • "LoadBalancer"
  • "NodePort"
  • "ClusterIP"

Type: object

InternalConnectivity if set allows for overriding the settings of the default service
used for internal connectivity to the OpsManager servers.

Type: object

Annotations is a list of annotations to be directly passed to the Service object.

Each additional property must conform to the following schema

Type: string

Type: string

ClusterIP IP that will be assigned to this Service when creating a ClusterIP type Service

Type: enum (of string)

ExternalTrafficPolicy mechanism to preserve the client source IP.
Only supported on GCE and Google Kubernetes Engine.

Must be one of:

  • "Cluster"
  • "Local"

Type: string

LoadBalancerIP IP that will be assigned to this LoadBalancer.

Type: integerFormat: int32

Port in which this Service will listen to, this applies to NodePort.

Type: enum (of string)

Type of the Service to be created.

Must be one of:

  • "LoadBalancer"
  • "NodePort"
  • "ClusterIP"

Type: array of string

Custom JVM parameters passed to the Ops Manager JVM

No Additional Items

Each item of this array must be:

Type: object

Type: object

LogBackAccessRef points at a ConfigMap/key with the logback access configuration file to mount on the Pod

Type: string

Type: object

LogBackRef points at a ConfigMap/key with the logback configuration file to mount on the Pod

Type: string

Type: 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.

Type: integer

Value must be greater or equal to 1

Type: object

Configure HTTPS.

Type: string

Type: object

Type: string

Type: object

Type: string

Type: object

Configure custom StatefulSet configuration

Type: object

StatefulSetMetadataWrapper is a wrapper around Labels and Annotations

Type: object

Each additional property must conform to the following schema

Type: string

Type: object

Each additional property must conform to the following schema

Type: string

Type: object

Type: enum (of 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.

Must be one of:

  • "SingleCluster"
  • "MultiCluster"

Type: string

Type: object

Type: object

Type: object

Type: integer

Type: integerFormat: int64

Type: string

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

ResourceNotReady describes the dependent resource which is not ready yet

Type: string

ResourceKind specifies a kind of a Kubernetes resource. Used in status of a Custom Resource

Type: object

MongodbShardedSizeStatusInClusters describes the number and sizes of replica sets members deployed across member clusters

Type: object

Each additional property must conform to the following schema

Type: integer

Type: object

Each additional property must conform to the following schema

Type: integer

Type: object

Each additional property must conform to the following schema

Type: integer

Type: object

Each additional property must conform to the following schema

Type: object

Each additional property must conform to the following schema

Type: integer

Type: array of string
No Additional Items

Each item of this array must be:

Type: object

Type: array of object
No Additional Items

Each item of this array must be:

Type: string

Type: string

Type: integerFormat: int64

Type: string

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

ResourceNotReady describes the dependent resource which is not ready yet

Type: string

ResourceKind specifies a kind of a Kubernetes resource. Used in status of a Custom Resource

Type: string

Type: array of string
No Additional Items

Each item of this array must be:

Type: object

Type: array of object
No Additional Items

Each item of this array must be:

Type: string

Type: string

Type: integerFormat: int64

Type: string

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

Type: string

Type: integer

Type: array of object
No Additional Items

Each item of this array must be:

Type: object

ResourceNotReady describes the dependent resource which is not ready yet

Type: string

ResourceKind specifies a kind of a Kubernetes resource. Used in status of a Custom Resource

Type: string

Type: string

Type: array of string
No Additional Items

Each item of this array must be: