MongoDB.local SF, Jan 15: See the speaker lineup & ship your AI vision faster. Use WEB50 to save 50%
Find out more >
Docs Menu
Docs Home
/ /
/ / /

AtlasProject Custom Resource

The AtlasProject custom resource configures the project in Atlas. When you create the AtlasProject custom resource, Atlas Kubernetes Operator tries to create a new project in Atlas.

Important

Custom Resources No Longer Delete Objects by Default

  • Atlas Kubernetes Operator uses custom resource configuration files to manage your Atlas configuration, but as of Atlas Kubernetes Operator 2.0, custom resources you delete in Kubernetes are no longer (by default) deleted in Atlas. Instead, Atlas Kubernetes Operator simply stops managing those resources in Atlas. For example, if you delete an AtlasProject Custom Resource in Kubernetes, by default the Atlas Kubernetes Operator no longer automatically deletes the corresponding project from Atlas. This change in behavior is intended to help prevent accidental or unexpected deletions. To learn more, including how to revert this behavior to the default used prior to Atlas Kubernetes Operator 2.0, see New Default: Deletion Protection in Atlas Kubernetes Operator 2.0.

    Similarly, Atlas Kubernetes Operator does not delete teams from Atlas if you remove them from an Atlas project in Kubernetes with the Atlas Kubernetes Operator.

  • Explicitly define your desired configuration details in order to avoid implicitly using default Atlas configuration values. In some cases, inheriting Atlas defaults may result in a reconciliation loop which can prevent your custom resource from achieving a READY state. For example, explicitly defining your desired autoscaling behavior in your AtlasDeployment custom resource, as shown in the included example, ensures that a static instance size in your custom resource is not being repeatedly applied to an Atlas deployment which has autoscaling enabled.

    autoScaling:
    diskGB:
    enabled: true
    compute:
    enabled: true
    scaleDownEnabled: true
    minInstanceSize: M30
    maxInstanceSize: M40

Atlas Kubernetes Operator does one of the following actions:

You can use the spec.connectionSecretRef.name parameter to set the connection secret for the AtlasProject custom resource. This parameter overrides the default global connection secret.

By default, Atlas Kubernetes Operator keeps connection secrets in the same namespace as the AtlasProject Custom Resource. To store secrets in another namespace, specify the spec.connectionSecretRef.namespace parameter.

To connect to the Atlas Administration API, Atlas Kubernetes Operator reads the organization ID and API keys from Atlas Kubernetes Operator secrets.

You can also edit the AtlasProject custom resource specification to configure the following options:

If you remove the AtlasProject resource from your Kubernetes cluster, Atlas Kubernetes Operator removes the project from Atlas. You must remove all the clusters in the project beforehand. Otherwise, Atlas rejects the delete request.

The following example shows an AtlasProject custom resource specification:

apiVersion: atlas.mongodb.com/v1
kind: AtlasProject
metadata:
name: my-project
spec:
name: Test project
connectionSecretRef:
name: my-atlas-key
projectIpAccessList:
- cidrBlock: "203.0.113.0/24"
comment: "CIDR block for Application Server B - D"

The following example shows an AtlasProject custom resource specification that integrates with Prometheus:

apiVersion: atlas.mongodb.com/v1
kind: AtlasProject
metadata:
name: my-project
spec:
name: TestPrometheusIntegration
connectionSecretRef:
name: my-atlas-key
projectIpAccessList:
- cidrBlock: "0.0.0.0/1"
comment: "Everyone has access. For test purposes only."
- cidrBlock: "128.0.0.0/1"
comment: "Everyone has access. For test purposes only."
integrations:
- type: "PROMETHEUS"
enabled: "true"
username: "prometheus-user"
passwordRef:
name: "password-name"
namespace: "password-namespace"
scheme: "http"
serviceDiscovery: "http"

To learn more, see Integrate with Third-Party Services.

Note

Atlas Kubernetes Operator offers a sample Grafana dashboard that you can import into Grafana.

The following example shows an AtlasProject custom resource specification that gives the green-leaf-team the Organization Owner role for this project. The team members are defined in the AtlasTeam custom resource.

apiVersion: atlas.mongodb.com/v1
kind: AtlasProject
metadata:
name: my-project
spec:
name: Test project
teams:
- teamRef:
name: green-leaf-team
roles:
- ORGANIZATION_OWNER

To learn more, see Configure Teams.

The following example shows an AtlasProject custom resource specification that sets the maintenance window to 5:00 AM every Tuesday with automatic deferral disabled:

apiVersion: atlas.mongodb.com/v1
kind: AtlasProject
metadata:
name: my-project
spec:
name: Test project
projectIpAccessList:
- ipAddress: "192.0.2.15"
comment: "IP address for Application Server A"
maintenanceWindow:
dayOfWeek: 3
hourOfDay: 5
autoDefer: false

The following example shows an AtlasProject custom resource specification that disables the collection of database statistics in cluster metrics, data explorer, Performance Advisor, Realtime Performance Panel, and Schema Advisor.

apiVersion: atlas.mongodb.com/v1
kind: AtlasProject
metadata:
name: my-project
spec:
name: Test project
projectIpAccessList:
- ipAddress: "192.0.2.15"
comment: "IP address for Application Server A"
settings:
isCollectDatabaseSpecificsStatisticsEnabled: false
isDataExplorerEnabled: false
isExtendedStorageSizesEnabled: false
isPerformanceAdvisorEnabled: false
isRealtimePerformancePanelEnabled: false
isSchemaAdvisorEnabled: false

The following example shows an AtlasProject custom resource specification that configures an alert that triggers if the oplog window reaches less than one hour:

apiVersion: atlas.mongodb.com/v1
kind: AtlasProject
metadata:
name: my-project
spec:
name: Test Atlas Operator Project
connectionSecretRef:
name: my-atlas-key
alertConfigurations:
- eventTypeName: "REPLICATION_OPLOG_WINDOW_RUNNING_OUT",
enabled: true,
notifications:
- delayMin: 0
emailEnabled: true
intervalMin: 60
roles: [ "GROUP_OWNER" ]
smsEnabled: false
typeName: "GROUP"
threshold:
operator: "LESS_THAN",
threshold: "1",
units: "HOURS"
alertConfigurationSyncEnabled: true
withDefaultAlertsSettings: false

The following example shows an AtlasProject custom resource specification that configures an alert that sends notifications through Slack:

apiVersion: atlas.mongodb.com/v1
kind: AtlasProject
metadata:
name: my-project
spec:
name: Test Atlas Operator Project
connectionSecretRef:
name: my-atlas-key
alertConfigurations:
- eventTypeName: "REPLICATION_OPLOG_WINDOW_RUNNING_OUT"
enabled: true
notifications:
- delayMin: 0
emailEnabled: true
intervalMin: 60
roles: [ "GROUP_OWNER" ]
smsEnabled: false
- typeName: "SLACK"
apiTokenRef:
name: key-name
namespace: key-namespace
threshold:
operator: "LESS_THAN"
threshold: "1"
units: "HOURS"
alertConfigurationSyncEnabled: true
withDefaultAlertsSettings: false

AtlasProject is the Schema for the atlasprojects API

Name
Type
Description
Required

apiVersion

string

atlas.mongodb.com/v1

true

kind

string

AtlasProject

true

metadata

object

Refer to the Kubernetes API documentation for the fields of the metadata field.

true

spec

object

AtlasProjectSpec defines the target state of Project in Atlas

false

status

object

AtlasProjectStatus defines the observed state of AtlasProject

false

AtlasProjectSpec defines the target state of Project in Atlas

Name
Type
Description
Required

name

string

Name is the name of the Project that is created in Atlas by the Operator if it doesn't exist yet. The name length must not exceed 64 characters. The name must contain only letters, numbers, spaces, dashes, and underscores. Validations:

  • self == oldSelf: Name cannot be modified after project creation

true

alertConfigurationSyncEnabled

boolean

AlertConfigurationSyncEnabled is a flag that enables/disables Alert Configurations sync for the current Project. If true - project alert configurations will be synced according to AlertConfigurations. If not - alert configurations will not be modified by the operator. They can be managed through the API, CLI, and UI.

false

alertConfigurations

[]object

AlertConfiguration is a list of Alert Configurations configured for the current Project. If you use this setting, you must also set spec.``alertConfigurationSyncEnabled`` to true for Atlas Kubernetes Operator to modify project alert configurations. If you omit or leave this setting empty, Atlas Kubernetes Operator doesn't alter the project's alert configurations. If creating a project, Atlas applies the default project alert configurations.

false

auditing

object

Auditing represents MongoDB Maintenance Windows.

false

backupCompliancePolicyRef

object

BackupCompliancePolicyRef is a reference to the backup compliance custom resource.

false

cloudProviderAccessRoles

[]object

CloudProviderAccessRoles is a list of Cloud Provider Access Roles configured for the current Project. Deprecated: This configuration was deprecated in favor of CloudProviderIntegrations

false

cloudProviderIntegrations

[]object

CloudProviderIntegrations is a list of Cloud Provider Integration configured for the current Project.

false

connectionSecretRef

object

ConnectionSecret is the name of the Kubernetes Secret which contains the information about the way to connect to Atlas (organization ID, API keys). The default Operator connection configuration will be used if not provided.

false

customRoles

[]object

CustomRoles lets you create and change custom roles in your cluster. Use custom roles to specify custom sets of actions that the Atlas built-in roles can't describe. Deprecated: Migrate to the AtlasCustomRoles custom resource in accordance with the migration guide at https://www.mongodb.com/docs/atlas/operator/current/migrate-parameter-to-resource/#std-label-ak8so-migrate-ptr

false

encryptionAtRest

object

EncryptionAtRest allows to set encryption for AWS, Azure and GCP providers.

false

integrations

[]object

Integrations is a list of MongoDB Atlas integrations for the project. Deprecated: Migrate to the AtlasThirdPartyIntegration custom resource in accordance with the migration guide at https://www.mongodb.com/docs/atlas/operator/current/migrate-parameter-to-resource/#std-label-ak8so-migrate-ptr

false

maintenanceWindow

object

MaintenanceWindow allows to specify a preferred time in the week to run maintenance operations. See more information at https://www.mongodb.com/docs/atlas/reference/api/maintenance-windows/

false

networkPeers

[]object

NetworkPeers is a list of Network Peers configured for the current Project. Deprecated: Migrate to the AtlasNetworkPeering and AtlasNetworkContainer custom resources in accordance with the migration guide at https://www.mongodb.com/docs/atlas/operator/current/migrate-parameter-to-resource/#std-label-ak8so-migrate-ptr

false

privateEndpoints

[]object

PrivateEndpoints is a list of Private Endpoints configured for the current Project. Deprecated: Migrate to the AtlasPrivateEndpoint Custom Resource in accordance with the migration guide at https://www.mongodb.com/docs/atlas/operator/current/migrate-parameter-to-resource/#std-label-ak8so-migrate-ptr

false

projectIpAccessList

[]object

ProjectIPAccessList allows the use of the IP Access List for a Project. See more information at https://docs.atlas.mongodb.com/reference/api/ip-access-list/add-entries-to-access-list/ Deprecated: Migrate to the AtlasIPAccessList Custom Resource in accordance with the migration guide at https://www.mongodb.com/docs/atlas/operator/current/migrate-parameter-to-resource/#std-label-ak8so-migrate-ptr

false

regionUsageRestrictions

enum

RegionUsageRestrictions designate the project's AWS region when using Atlas for Government. This parameter should not be used with commercial Atlas. In Atlas for Government, not setting this field (defaulting to NONE) means the project is restricted to COMMERCIAL_FEDRAMP_REGIONS_ONLY. Enum: NONE, GOV_REGIONS_ONLY, COMMERCIAL_FEDRAMP_REGIONS_ONLY Default: NONE

false

settings

object

Settings allows the configuration of the Project Settings.

false

teams

[]object

Teams enable you to grant project access roles to multiple users.

false

withDefaultAlertsSettings

boolean

Flag that indicates whether Atlas Kubernetes Operator creates a project with the default alert configurations. If you use this setting, you must also set spec.``alertConfigurationSyncEnabled`` to true for Atlas Kubernetes Operator to modify project alert configurations. If you set this parameter to false when you create a project, Atlas doesn't add the default alert configurations to your project. This setting has no effect on existing projects. Default: true

false

x509CertRef

object

X509CertRef is a reference to the Kubernetes Secret which contains PEM-encoded CA certificate. Atlas Kubernetes Operator watches secrets only with the label atlas.mongodb.com/type=credentials to avoid watching unnecessary secrets.

false

Name
Type
Description
Required

enabled

boolean

If omitted, the configuration is disabled.

false

eventTypeName

string

The type of event that will trigger an alert.

false

matchers

[]object

You can filter using the matchers array only when the EventTypeName specifies an event for a host, replica set, or sharded cluster.

false

metricThreshold

object

MetricThreshold causes an alert to be triggered.

false

notifications

[]object

Notifications are sending when an alert condition is detected.

false

severityOverride

enum

SeverityOverride optionally overrides the default severity level for an alert. Enum: INFO, WARNING, ERROR, CRITICAL

false

threshold

object

Threshold causes an alert to be triggered.

false

Name
Type
Description
Required

fieldName

string

Name of the field in the target object to match on.

false

operator

string

The operator to test the field’s value.

false

value

string

Value to test with the specified operator.

false

MetricThreshold causes an alert to be triggered.

Name
Type
Description
Required

threshold

string

Threshold value outside which an alert will be triggered.

true

metricName

string

Name of the metric to check.

false

mode

string

This must be set to AVERAGE. Atlas computes the current metric value as an average.

false

operator

string

Operator to apply when checking the current metric value against the threshold value.

false

units

string

The units for the threshold value.

false

Name
Type
Description
Required

apiTokenRef

object

Secret containing a Slack API token or Bot token. Populated for the SLACK notifications type. If the token later becomes invalid, Atlas sends an email to the project owner and eventually removes the token.

false

channelName

string

Slack channel name. Populated for the SLACK notifications type.

false

datadogAPIKeyRef

object

Secret containing a Datadog API Key. Found in the Datadog dashboard. Populated for the DATADOG notifications type.

false

datadogRegion

string

Region that indicates which API URL to use.

false

delayMin

integer

Number of minutes to wait after an alert condition is detected before sending out the first notification.

false

emailAddress

string

Email address to which alert notifications are sent. Populated for the EMAIL notifications type.

false

emailEnabled

boolean

Flag indicating if email notifications should be sent. Populated for ORG, GROUP, and USER notifications types.

false

flowName

string

Flowdock flow name in lower-case letters.

false

flowdockApiTokenRef

object

The Flowdock personal API token. Populated for the FLOWDOCK notifications type. If the token later becomes invalid, Atlas sends an email to the project owner and eventually removes the token.

false

intervalMin

integer

Number of minutes to wait between successive notifications for unacknowledged alerts that are not resolved.

false

mobileNumber

string

Mobile number to which alert notifications are sent. Populated for the SMS notifications type.

false

opsGenieApiKeyRef

object

OpsGenie API Key. Populated for the OPS_GENIE notifications type. If the key later becomes invalid, Atlas sends an email to the project owner and eventually removes the token.

false

opsGenieRegion

string

Region that indicates which API URL to use.

false

orgName

string

Flowdock organization name in lower-case letters. This is the name that appears after www.flowdock.com/app/ in the URL string. Populated for the FLOWDOCK notifications type.

false

roles

[]string

The following roles grant privileges within a project.

false

serviceKeyRef

object

PagerDuty service key. Populated for the PAGER_DUTY notifications type. If the key later becomes invalid, Atlas sends an email to the project owner and eventually removes the key.

false

smsEnabled

boolean

Flag indicating if text message notifications should be sent. Populated for ORG, GROUP, and USER notifications types.

false

teamId

string

Unique identifier of a team.

false

teamName

string

Label for the team that receives this notification.

false

typeName

string

Type of alert notification.

false

username

string

Name of the Atlas user to which to send notifications. Only a user in the project that owns the alert configuration is allowed here. Populated for the USER notifications type.

false

victorOpsSecretRef

object

Secret containing a VictorOps API key and Routing key. Populated for the VICTOR_OPS notifications type. If the key later becomes invalid, Atlas sends an email to the project owner and eventually removes the key.

false

Secret containing a Slack API token or Bot token. Populated for the SLACK notifications type. If the token later becomes invalid, Atlas sends an email to the project owner and eventually removes the token.

Name
Type
Description
Required

name

string

Name of the Kubernetes Resource

true

namespace

string

Namespace of the Kubernetes Resource

false

Secret containing a Datadog API Key. Found in the Datadog dashboard. Populated for the DATADOG notifications type.

Name
Type
Description
Required

name

string

Name of the Kubernetes Resource

true

namespace

string

Namespace of the Kubernetes Resource

false

The Flowdock personal API token. Populated for the FLOWDOCK notifications type. If the token later becomes invalid, Atlas sends an email to the project owner and eventually removes the token.

Name
Type
Description
Required

name

string

Name of the Kubernetes Resource

true

namespace

string

Namespace of the Kubernetes Resource

false

OpsGenie API Key. Populated for the OPS_GENIE notifications type. If the key later becomes invalid, Atlas sends an email to the project owner and eventually removes the token.

Name
Type
Description
Required

name

string

Name of the Kubernetes Resource

true

namespace

string

Namespace of the Kubernetes Resource

false

PagerDuty service key. Populated for the PAGER_DUTY notifications type. If the key later becomes invalid, Atlas sends an email to the project owner and eventually removes the key.

Name
Type
Description
Required

name

string

Name of the Kubernetes Resource

true

namespace

string

Namespace of the Kubernetes Resource

false

Secret containing a VictorOps API key and Routing key. Populated for the VICTOR_OPS notifications type. If the key later becomes invalid, Atlas sends an email to the project owner and eventually removes the key.

Name
Type
Description
Required

name

string

Name of the Kubernetes Resource

true

namespace

string

Namespace of the Kubernetes Resource

false

Threshold causes an alert to be triggered.

Name
Type
Description
Required

operator

string

Operator to apply when checking the current metric value against the threshold value. It accepts the following values: GREATER_THAN, LESS_THAN.

false

threshold

string

Threshold value outside which an alert will be triggered.

false

units

string

The units for the threshold value.

false

Auditing represents MongoDB Maintenance Windows.

Name
Type
Description
Required

auditAuthorizationSuccess

boolean

Indicates whether the auditing system captures successful authentication attempts for audit filters using the "atype" : "authCheck" auditing event. For more information, see auditAuthorizationSuccess.

false

auditFilter

string

JSON-formatted audit filter used by the project.

false

enabled

boolean

Denotes whether the project associated with the {GROUP-ID} has database auditing enabled.

false

BackupCompliancePolicyRef is a reference to the backup compliance custom resource.

Name
Type
Description
Required

name

string

Name of the Kubernetes Resource

true

namespace

string

Namespace of the Kubernetes Resource

false

CloudProviderAccessRole define an integration to a cloud provider DEPRECATED: This type is deprecated in favor of CloudProviderIntegration

Name
Type
Description
Required

providerName

string

ProviderName is the name of the cloud provider. Currently only AWS is supported.

true

iamAssumedRoleArn

string

IamAssumedRoleArn is the ARN of the IAM role that is assumed by the Atlas cluster.

false

CloudProviderIntegration define an integration to a cloud provider

Name
Type
Description
Required

providerName

string

ProviderName is the name of the cloud provider. Currently only AWS is supported.

true

iamAssumedRoleArn

string

IamAssumedRoleArn is the ARN of the IAM role that is assumed by the Atlas cluster.

false

ConnectionSecret is the name of the Kubernetes Secret which contains the information about the way to connect to Atlas (organization ID, API keys). The default Operator connection configuration will be used if not provided.

Name
Type
Description
Required

name

string

Name of the Kubernetes Resource

true

namespace

string

Namespace of the Kubernetes Resource

false

CustomRole lets you create and change a custom role in your cluster. Use custom roles to specify custom sets of actions that the Atlas built-in roles can't describe. Deprecated: Migrate to the AtlasCustomRoles custom resource in accordance with the migration guide at https://www.mongodb.com/docs/atlas/operator/current/migrate-parameter-to-resource/#std-label-ak8so-migrate-ptr

Name
Type
Description
Required

name

string

Human-readable label that identifies the role. This name must be unique for this custom role in this project.

true

actions

[]object

List of the individual privilege actions that the role grants.

false

inheritedRoles

[]object

List of the built-in roles that this custom role inherits.

false

Name
Type
Description
Required

name

string

Human-readable label that identifies the privilege action.

true

resources

[]object

List of resources on which you grant the action.

true

Name
Type
Description
Required

cluster

boolean

Flag that indicates whether to grant the action on the cluster resource. If true, MongoDB Cloud ignores Database and Collection parameters.

false

collection

string

Human-readable label that identifies the collection on which you grant the action to one MongoDB user.

false

database

string

Human-readable label that identifies the database on which you grant the action to one MongoDB user.

false

Name
Type
Description
Required

database

string

Human-readable label that identifies the database on which someone grants the action to one MongoDB user.

true

name

string

Human-readable label that identifies the role inherited.

true

EncryptionAtRest allows to set encryption for AWS, Azure and GCP providers.

Name
Type
Description
Required

awsKms

object

AwsKms specifies AWS KMS configuration details and whether Encryption at Rest is enabled for an Atlas project.

false

azureKeyVault

object

AzureKeyVault specifies Azure Key Vault configuration details and whether Encryption at Rest is enabled for an Atlas project.

false

googleCloudKms

object

GoogleCloudKms specifies GCP KMS configuration details and whether Encryption at Rest is enabled for an Atlas project.

false

AwsKms specifies AWS KMS configuration details and whether Encryption at Rest is enabled for an Atlas project.

Name
Type
Description
Required

enabled

boolean

Specifies whether Encryption at Rest is enabled for an Atlas project. To disable Encryption at Rest, pass only this parameter with a value of false. When you disable Encryption at Rest, Atlas also removes the configuration details.

false

region

string

The AWS region in which the AWS customer master key exists.

false

secretRef

object

A reference to as Secret containing the AccessKeyID, SecretAccessKey, CustomerMasterKeyID and RoleID fields

false

valid

boolean

Specifies whether the encryption key set for the provider is valid and may be used to encrypt and decrypt data.

false

A reference to as Secret containing the AccessKeyID, SecretAccessKey, CustomerMasterKeyID and RoleID fields

Name
Type
Description
Required

name

string

Name of the Kubernetes Resource

true

namespace

string

Namespace of the Kubernetes Resource

false

AzureKeyVault specifies Azure Key Vault configuration details and whether Encryption at Rest is enabled for an Atlas project.

Name
Type
Description
Required

azureEnvironment

string

The Azure environment where the Azure account credentials reside. Valid values are the following: AZURE, AZURE_CHINA, AZURE_GERMANY

false

clientID

string

The Client ID, also known as the application ID, for an Azure application associated with the Azure AD tenant.

false

enabled

boolean

Specifies whether Encryption at Rest is enabled for an Atlas project. To disable Encryption at Rest, pass only this parameter with a value of false. When you disable Encryption at Rest, Atlas also removes the configuration details.

false

resourceGroupName

string

The name of the Azure Resource group that contains an Azure Key Vault.

false

secretRef

object

A reference to as Secret containing the SubscriptionID, KeyVaultName, KeyIdentifier, Secret fields

false

tenantID

string

The unique identifier for an Azure AD tenant within an Azure subscription.

false

A reference to as Secret containing the SubscriptionID, KeyVaultName, KeyIdentifier, Secret fields

Name
Type
Description
Required

name

string

Name of the Kubernetes Resource

true

namespace

string

Namespace of the Kubernetes Resource

false

GoogleCloudKms specifies GCP KMS configuration details and whether Encryption at Rest is enabled for an Atlas project.

Name
Type
Description
Required

enabled

boolean

Specifies whether Encryption at Rest is enabled for an Atlas project. To disable Encryption at Rest, pass only this parameter with a value of false. When you disable Encryption at Rest, Atlas also removes the configuration details.

false

secretRef

object

A reference to as Secret containing the ServiceAccountKey, KeyVersionResourceID fields

false

A reference to as Secret containing the ServiceAccountKey, KeyVersionResourceID fields

Name
Type
Description
Required

name

string

Name of the Kubernetes Resource

true

namespace

string

Namespace of the Kubernetes Resource

false

Integration for the project between Atlas and a third party service. Deprecated: Migrate to the AtlasThirdPartyIntegration custom resource in accordance with the migration guide at https://www.mongodb.com/docs/atlas/operator/current/migrate-parameter-to-resource/#std-label-ak8so-migrate-ptr

Name
Type
Description
Required

accountId

string

Unique 40-hexadecimal digit string that identifies your New Relic account.

false

apiKeyRef

object

Reference to a Kubernetes Secret containing your API Key for Datadog, OpsGenie or Victor Ops.

false

apiTokenRef

object

Reference to a Kubernetes Secret containing the Key that allows Atlas to access your Slack account.

false

channelName

string

Name of the Slack channel to which Atlas sends alert notifications.

false

enabled

boolean

Flag that indicates whether someone has activated the Prometheus integration.

false

flowName

string

DEPRECATED: Flowdock flow name. This field has been removed from Atlas, and has no effect.

false

licenseKeyRef

object

Reference to a Kubernetes Secret containing your Unique 40-hexadecimal digit string that identifies your New Relic license.

false

microsoftTeamsWebhookUrl

string

Endpoint web address of the Microsoft Teams webhook to which Atlas sends notifications.

false

name

string

false

orgName

string

DEPRECATED: Flowdock organization name. This field has been removed from Atlas, and has no effect.

false

passwordRef

object

Reference to a Kubernetes Secret containing the password to allow Atlas to access your Prometheus account.

false

readTokenRef

object

Reference to a Kubernetes Secret containing the query key associated with your New Relic account.

false

region

string

Region code indicating which regional API Atlas uses to access PagerDuty, Datadog, or OpsGenie.

false

routingKeyRef

object

Reference to a Kubernetes Secret containing the Routing key associated with your Splunk On-Call account. Used for Victor Ops.

false

scheme

string

false

secretRef

object

Reference to a Kubernetes Secret containing the secret for your Webhook.

false

serviceDiscovery

string

Desired method to discover the Prometheus service.

false

serviceKeyRef

object

Reference to a Kubernetes Secret containing the service key associated with your PagerDuty account.

false

teamName

string

Human-readable label that identifies your Slack team.

false

type

enum

Third Party Integration type such as Slack, New Relic, etc. Each integration type requires a distinct set of configuration fields. For example, if you set type to DATADOG, you must configure only datadog subfields. Enum: PAGER_DUTY, SLACK, DATADOG, NEW_RELIC, OPS_GENIE, VICTOR_OPS, FLOWDOCK, WEBHOOK, MICROSOFT_TEAMS, PROMETHEUS

false

url

string

Endpoint web address to which Atlas sends notifications. Used for Webhooks.

false

username

string

Human-readable label that identifies your Prometheus incoming webhook.

false

writeTokenRef

object

Reference to a Kubernetes Secret containing the insert key associated with your New Relic account.

false

Reference to a Kubernetes Secret containing your API Key for Datadog, OpsGenie or Victor Ops.

Name
Type
Description
Required

name

string

Name of the Kubernetes Resource

true

namespace

string

Namespace of the Kubernetes Resource

false

Reference to a Kubernetes Secret containing the Key that allows Atlas to access your Slack account.

Name
Type
Description
Required

name

string

Name of the Kubernetes Resource

true

namespace

string

Namespace of the Kubernetes Resource

false

Reference to a Kubernetes Secret containing your Unique 40-hexadecimal digit string that identifies your New Relic license.

Name
Type
Description
Required

name

string

Name of the Kubernetes Resource

true

namespace

string

Namespace of the Kubernetes Resource

false

Reference to a Kubernetes Secret containing the password to allow Atlas to access your Prometheus account.

Name
Type
Description
Required

name

string

Name of the Kubernetes Resource

true

namespace

string

Namespace of the Kubernetes Resource

false

Reference to a Kubernetes Secret containing the query key associated with your New Relic account.

Name
Type
Description
Required

name

string

Name of the Kubernetes Resource

true

namespace

string

Namespace of the Kubernetes Resource

false

Reference to a Kubernetes Secret containing the Routing key associated with your Splunk On-Call account. Used for Victor Ops.

Name
Type
Description
Required

name

string

Name of the Kubernetes Resource

true

namespace

string

Namespace of the Kubernetes Resource

false

Reference to a Kubernetes Secret containing the secret for your Webhook.

Name
Type
Description
Required

name

string

Name of the Kubernetes Resource

true

namespace

string

Namespace of the Kubernetes Resource

false

Reference to a Kubernetes Secret containing the service key associated with your PagerDuty account.

Name
Type
Description
Required

name

string

Name of the Kubernetes Resource

true

namespace

string

Namespace of the Kubernetes Resource

false

Reference to a Kubernetes Secret containing the insert key associated with your New Relic account.

Name
Type
Description
Required

name

string

Name of the Kubernetes Resource

true

namespace

string

Namespace of the Kubernetes Resource

false

MaintenanceWindow allows to specify a preferred time in the week to run maintenance operations. See more information at https://www.mongodb.com/docs/atlas/reference/api/maintenance-windows/

Name
Type
Description
Required

autoDefer

boolean

Flag indicating whether any scheduled project maintenance should be deferred automatically for one week.

false

dayOfWeek

integer

Day of the week when you would like the maintenance window to start as a 1-based integer. Sunday 1, Monday 2, Tuesday 3, Wednesday 4, Thursday 5, Friday 6, Saturday 7. Minimum: 1 Maximum: 7

false

defer

boolean

Flag indicating whether the next scheduled project maintenance should be deferred for one week. Cannot be specified if startASAP is true

false

hourOfDay

integer

Hour of the day when you would like the maintenance window to start. This parameter uses the 24-hour clock, where midnight is 0, noon is 12. Minimum: 0 Maximum: 23

false

startASAP

boolean

Flag indicating whether project maintenance has been directed to start immediately. Cannot be specified if defer is true

false

NetworkPeer configured for the current Project. Deprecated: Migrate to the AtlasNetworkPeering and AtlasNetworkContainer custom resources in accordance with the migration guide at https://www.mongodb.com/docs/atlas/operator/current/migrate-parameter-to-resource/#std-label-ak8so-migrate-ptr

Name
Type
Description
Required

accepterRegionName

string

AccepterRegionName is the provider region name of user's VPC.

false

atlasCidrBlock

string

Atlas CIDR. It needs to be set if ContainerID is not set.

false

awsAccountId

string

AccountID of the user's VPC.

false

azureDirectoryId

string

AzureDirectoryID is the unique identifier for an Azure AD directory.

false

azureSubscriptionId

string

AzureSubscriptionID is the unique identifier of the Azure subscription in which the VNet resides.

false

containerId

string

ID of the network peer container. If not set, operator will create a new container with ContainerRegion and AtlasCIDRBlock input.

false

containerRegion

string

ContainerRegion is the provider region name of Atlas network peer container. If not set, AccepterRegionName is used.

false

gcpProjectId

string

User GCP Project ID. Its applicable only for GCP.

false

networkName

string

GCP Network Peer Name. Its applicable only for GCP.

false

providerName

string

ProviderName is the name of the provider. If not set, it will be set to "AWS".

false

resourceGroupName

string

ResourceGroupName is the name of your Azure resource group.

false

routeTableCidrBlock

string

User VPC CIDR.

false

vnetName

string

VNetName is name of your Azure VNet. Its applicable only for Azure.

false

vpcId

string

AWS VPC ID.

false

PrivateEndpoint is a list of Private Endpoints configured for the current Project. Deprecated: Migrate to the AtlasPrivateEndpoint Custom Resource in accordance with the migration guide at https://www.mongodb.com/docs/atlas/operator/current/migrate-parameter-to-resource/#std-label-ak8so-migrate-ptr

Name
Type
Description
Required

provider

enum

Cloud provider for which you want to retrieve a private endpoint service. Atlas accepts AWS, GCP, or AZURE. Enum: AWS, GCP, AZURE, TENANT

true

region

string

Cloud provider region for which you want to create the private endpoint service.

true

endpointGroupName

string

Unique identifier of the endpoint group. The endpoint group encompasses all the endpoints that you created in Google Cloud.

false

endpoints

[]object

Collection of individual private endpoints that comprise your endpoint group.

false

gcpProjectId

string

Unique identifier of the Google Cloud project in which you created your endpoints.

false

id

string

Unique identifier of the private endpoint you created in your AWS VPC or Azure VNet.

false

ip

string

Private IP address of the private endpoint network interface you created in your Azure VNet.

false

Name
Type
Description
Required

endpointName

string

Forwarding rule that corresponds to the endpoint you created in Google Cloud.

false

ipAddress

string

Private IP address of the endpoint you created in Google Cloud.

false

IPAccessList allows the use of the IP Access List for a Project. See more information at https://docs.atlas.mongodb.com/reference/api/ip-access-list/add-entries-to-access-list/ Deprecated: Migrate to the AtlasIPAccessList Custom Resource in accordance with the migration guide at https://www.mongodb.com/docs/atlas/operator/current/migrate-parameter-to-resource/#std-label-ak8so-migrate-ptr

Name
Type
Description
Required

awsSecurityGroup

string

Unique identifier of AWS security group in this access list entry.

false

cidrBlock

string

Range of IP addresses in CIDR notation in this access list entry.

false

comment

string

Comment associated with this access list entry.

false

deleteAfterDate

string

Timestamp in ISO 8601 date and time format in UTC after which Atlas deletes the temporary access list entry.

false

ipAddress

string

Entry using an IP address in this access list entry.

false

Settings allows the configuration of the Project Settings.

Name
Type
Description
Required

isCollectDatabaseSpecificsStatisticsEnabled

boolean

Flag that indicates whether to collect database-specific metrics for the specified project.

false

isDataExplorerEnabled

boolean

Flag that indicates whether to enable the Data Explorer for the specified project.

false

isExtendedStorageSizesEnabled

boolean

Flag that indicates whether to enable extended storage sizes for the specified project.

false

isPerformanceAdvisorEnabled

boolean

Flag that indicates whether to enable the Performance Advisor and Profiler for the specified project.

false

isRealtimePerformancePanelEnabled

boolean

Flag that indicates whether to enable the Real Time Performance Panel for the specified project.

false

isSchemaAdvisorEnabled

boolean

Flag that indicates whether to enable the Schema Advisor for the specified project.

false

Name
Type
Description
Required

roles

[]enum

Roles the users in the team has within the project. Enum: GROUP_OWNER, GROUP_CLUSTER_MANAGER, GROUP_DATA_ACCESS_ADMIN, GROUP_DATA_ACCESS_READ_WRITE, GROUP_DATA_ACCESS_READ_ONLY, GROUP_READ_ONLY

true

teamRef

object

Reference to the AtlasTeam custom resource which will be assigned to the project.

true

Reference to the AtlasTeam custom resource which will be assigned to the project.

Name
Type
Description
Required

name

string

Name of the Kubernetes Resource

true

namespace

string

Namespace of the Kubernetes Resource

false

X509CertRef is a reference to the Kubernetes Secret which contains PEM-encoded CA certificate. Atlas Kubernetes Operator watches secrets only with the label atlas.mongodb.com/type=credentials to avoid watching unnecessary secrets.

Name
Type
Description
Required

name

string

Name of the Kubernetes Resource

true

namespace

string

Namespace of the Kubernetes Resource

false

AtlasProjectStatus defines the observed state of AtlasProject

Name
Type
Description
Required

conditions

[]object

Conditions is the list of statuses showing the current state of the Atlas Custom Resource

true

alertConfigurations

[]object

AlertConfigurations contains a list of alert configuration statuses

false

authModes

[]string

AuthModes contains a list of configured authentication modes "SCRAM" is default authentication method and requires a password for each user "X509" signifies that self-managed X.509 authentication is configured

false

cloudProviderIntegrations

[]object

CloudProviderIntegrations contains a list of configured cloud provider access roles. AWS support only

false

customRoles

[]object

CustomRoles contains a list of custom roles statuses

false

expiredIpAccessList

[]object

The list of IP Access List entries that are expired due to 'deleteAfterDate' being less than the current date. Note, that this field is updated by the Atlas Operator only after specification changes

false

id

string

The ID of the Atlas Project

false

networkPeers

[]object

The list of network peers that are configured for current project

false

observedGeneration

integer

ObservedGeneration indicates the generation of the resource specification of which the Atlas Operator is aware. The Atlas Operator updates this field to the value of 'metadata.generation' as soon as it starts reconciliation of the resource. Format: int64

false

privateEndpoints

[]object

The list of private endpoints configured for current project

false

prometheus

object

Prometheus contains the status for Prometheus integration including the prometheusDiscoveryURL

false

teams

[]object

Teams contains a list of teams assignment statuses

false

Condition describes the state of an Atlas Custom Resource at a certain point.

Name
Type
Description
Required

status

string

Status of the condition; one of True, False, Unknown.

true

type

string

Type of Atlas Custom Resource condition.

true

lastTransitionTime

string

Last time the condition transitioned from one status to another. Represented in ISO 8601 format. Format: date-time

false

message

string

A message providing details about the transition.

false

reason

string

The reason for the condition's last transition.

false

Name
Type
Description
Required

acknowledgedUntil

string

The date through which the alert has been acknowledged. Will not be present if the alert has never been acknowledged.

false

acknowledgementComment

string

The comment left by the user who acknowledged the alert. Will not be present if the alert has never been acknowledged.

false

acknowledgingUsername

string

The username of the user who acknowledged the alert. Will not be present if the alert has never been acknowledged.

false

alertConfigId

string

ID of the alert configuration that triggered this alert.

false

clusterId

string

The ID of the cluster to which this alert applies. Only present for alerts of type BACKUP, REPLICA_SET, and CLUSTER.

false

clusterName

string

The name the cluster to which this alert applies. Only present for alerts of type BACKUP, REPLICA_SET, and CLUSTER.

false

created

string

Timestamp in ISO 8601 date and time format in UTC when this alert configuration was created.

false

currentValue

object

CurrentValue represents current value of the metric that triggered the alert. Only present for alerts of type HOST_METRIC.

false

enabled

boolean

If omitted, the configuration is disabled.

false

errorMessage

string

ErrorMessage is massage if the alert configuration is in an incorrect state.

false

eventTypeName

string

The type of event that will trigger an alert.

false

groupId

string

Unique identifier of the project that owns this alert configuration.

false

hostId

string

ID of the host to which the metric pertains. Only present for alerts of type HOST, HOST_METRIC, and REPLICA_SET.

false

hostnameAndPort

string

The hostname and port of each host to which the alert applies. Only present for alerts of type HOST, HOST_METRIC, and REPLICA_SET.

false

id

string

Unique identifier.

false

lastNotified

string

When the last notification was sent for this alert. Only present if notifications have been sent.

false

matchers

[]object

You can filter using the matchers array only when the EventTypeName specifies an event for a host, replica set, or sharded cluster.

false

metricName

string

The name of the measurement whose value went outside the threshold. Only present if eventTypeName is set to OUTSIDE_METRIC_THRESHOLD.

false

metricThreshold

object

MetricThreshold causes an alert to be triggered.

false

notifications

[]object

Notifications are sending when an alert condition is detected.

false

replicaSetName

string

Name of the replica set. Only present for alerts of type HOST, HOST_METRIC, BACKUP, and REPLICA_SET.

false

resolved

string

When the alert was closed. Only present if the status is CLOSED.

false

severityOverride

string

Severity of the alert.

false

sourceTypeName

string

For alerts of the type BACKUP, the type of server being backed up.

false

status

string

The current state of the alert. Possible values are: TRACKING, OPEN, CLOSED, CANCELED

false

threshold

object

Threshold causes an alert to be triggered.

false

updated

string

Timestamp in ISO 8601 date and time format in UTC when this alert configuration was last updated.

false

CurrentValue represents current value of the metric that triggered the alert. Only present for alerts of type HOST_METRIC.

Name
Type
Description
Required

number

string

The value of the metric.

false

units

string

The units for the value. Depends on the type of metric.

false

Name
Type
Description
Required

fieldName

string

Name of the field in the target object to match on.

false

operator

string

The operator to test the field’s value.

false

value

string

Value to test with the specified operator.

false

MetricThreshold causes an alert to be triggered.

Name
Type
Description
Required

threshold

string

Threshold value outside which an alert will be triggered.

true

metricName

string

Name of the metric to check.

false

mode

string

This must be set to AVERAGE. Atlas computes the current metric value as an average.

false

operator

string

Operator to apply when checking the current metric value against the threshold value.

false

units

string

The units for the threshold value.

false

Name
Type
Description
Required

apiToken

string

Slack API token or Bot token. Populated for the SLACK notifications type. If the token later becomes invalid, Atlas sends an email to the project owner and eventually removes the token.

false

channelName

string

Slack channel name. Populated for the SLACK notifications type.

false

datadogApiKey

string

Datadog API Key. Found in the Datadog dashboard. Populated for the DATADOG notifications type.

false

datadogRegion

string

Region that indicates which API URL to use

false

delayMin

integer

Number of minutes to wait after an alert condition is detected before sending out the first notification.

false

emailAddress

string

Email address to which alert notifications are sent. Populated for the EMAIL notifications type.

false

emailEnabled

boolean

Flag indicating if email notifications should be sent. Populated for ORG, GROUP, and USER notifications types.

false

flowName

string

Flowdock flow namse in lower-case letters.

false

flowdockApiToken

string

The Flowdock personal API token. Populated for the FLOWDOCK notifications type. If the token later becomes invalid, Atlas sends an email to the project owner and eventually removes the token.

false

intervalMin

integer

Number of minutes to wait between successive notifications for unacknowledged alerts that are not resolved.

false

mobileNumber

string

Mobile number to which alert notifications are sent. Populated for the SMS notifications type.

false

opsGenieApiKey

string

Opsgenie API Key. Populated for the OPS_GENIE notifications type. If the key later becomes invalid, Atlas sends an email to the project owner and eventually removes the token.

false

opsGenieRegion

string

Region that indicates which API URL to use.

false

orgName

string

Flowdock organization name in lower-case letters. This is the name that appears after www.flowdock.com/app/ in the URL string. Populated for the FLOWDOCK notifications type.

false

roles

[]string

The following roles grant privileges within a project.

false

serviceKey

string

PagerDuty service key. Populated for the PAGER_DUTY notifications type. If the key later becomes invalid, Atlas sends an email to the project owner and eventually removes the key.

false

smsEnabled

boolean

Flag indicating if text message notifications should be sent. Populated for ORG, GROUP, and USER notifications types.

false

teamId

string

Unique identifier of a team.

false

teamName

string

Label for the team that receives this notification.

false

typeName

string

Type of alert notification.

false

username

string

Name of the Atlas user to which to send notifications. Only a user in the project that owns the alert configuration is allowed here. Populated for the USER notifications type.

false

victorOpsApiKey

string

VictorOps API key. Populated for the VICTOR_OPS notifications type. If the key later becomes invalid, Atlas sends an email to the project owner and eventually removes the key.

false

victorOpsRoutingKey

string

VictorOps routing key. Populated for the VICTOR_OPS notifications type. If the key later becomes invalid, Atlas sends an email to the project owner and eventually removes the key.

false

Threshold causes an alert to be triggered.

Name
Type
Description
Required

operator

string

Operator to apply when checking the current metric value against the threshold value. it accepts the following values: GREATER_THAN, LESS_THAN

false

threshold

string

Threshold value outside which an alert will be triggered.

false

units

string

The units for the threshold value

false

Name
Type
Description
Required

atlasAssumedRoleExternalId

string

Unique external ID that MongoDB Atlas uses when it assumes the IAM role in your Amazon Web Services account.

true

providerName

string

Human-readable label that identifies the cloud provider of the role.

true

atlasAWSAccountArn

string

Amazon Resource Name that identifies the Amazon Web Services user account that MongoDB Atlas uses when it assumes the Identity and Access Management role.

false

authorizedDate

string

Date and time when someone authorized this role for the specified cloud service provider. This parameter expresses its value in the ISO 8601 timestamp format in UTC.

false

createdDate

string

Date and time when someone created this role for the specified cloud service provider. This parameter expresses its value in the ISO 8601 timestamp format in UTC.

false

errorMessage

string

Application error message returned.

false

featureUsages

[]object

List that contains application features associated with this Amazon Web Services Identity and Access Management role.

false

iamAssumedRoleArn

string

Amazon Resource Name that identifies the Amazon Web Services Identity and Access Management role that MongoDB Cloud assumes when it accesses resources in your AWS account.

false

roleId

string

Unique 24-hexadecimal digit string that identifies the role.

false

status

string

Provision status of the service account. Values are IN_PROGRESS, COMPLETE, FAILED, or NOT_INITIATED.

false

Name
Type
Description
Required

featureId

string

Identifying characteristics about the data lake linked to this Amazon Web Services Identity and Access Management role.

false

featureType

string

Human-readable label that describes one MongoDB Cloud feature linked to this Amazon Web Services Identity and Access Management role.

false

Name
Type
Description
Required

name

string

Role name which is unique

true

status

string

The status of the given custom role (OK or FAILED)

true

error

string

The message when the custom role is in the FAILED status

false

IPAccessList allows the use of the IP Access List for a Project. See more information at https://docs.atlas.mongodb.com/reference/api/ip-access-list/add-entries-to-access-list/ Deprecated: Migrate to the AtlasIPAccessList Custom Resource in accordance with the migration guide at https://www.mongodb.com/docs/atlas/operator/current/migrate-parameter-to-resource/#std-label-ak8so-migrate-ptr

Name
Type
Description
Required

awsSecurityGroup

string

Unique identifier of AWS security group in this access list entry.

false

cidrBlock

string

Range of IP addresses in CIDR notation in this access list entry.

false

comment

string

Comment associated with this access list entry.

false

deleteAfterDate

string

Timestamp in ISO 8601 date and time format in UTC after which Atlas deletes the temporary access list entry.

false

ipAddress

string

Entry using an IP address in this access list entry.

false

Name
Type
Description
Required

id

string

Unique identifier for NetworkPeer.

true

providerName

string

Cloud provider for which you want to retrieve a network peer.

true

region

string

Region for which you want to create the network peer. It isn't needed for GCP

true

atlasGcpProjectId

string

ProjectID of Atlas container. Applicable only for GCP. It's needed to add network peer connection.

false

atlasNetworkName

string

Atlas Network Name. Applicable only for GCP. It's needed to add network peer connection.

false

connectionId

string

Unique identifier of the network peer connection. Applicable only for AWS.

false

containerId

string

ContainerID of Atlas network peer container.

false

errorMessage

string

Error state of the network peer. Applicable only for GCP.

false

errorState

string

Error state of the network peer. Applicable only for Azure.

false

errorStateName

string

Error state of the network peer. Applicable only for AWS.

false

gcpProjectId

string

ProjectID of the user's vpc. Applicable only for GCP.

false

status

string

Status of the network peer. Applicable only for GCP and Azure.

false

statusName

string

Status of the network peer. Applicable only for AWS.

false

vpc

string

VPC is general purpose field for storing the name of the VPC. VPC is vpcID for AWS, user networkName for GCP, and vnetName for Azure.

false

Name
Type
Description
Required

provider

string

Cloud provider for which you want to retrieve a private endpoint service. Atlas accepts AWS or AZURE.

true

region

string

Cloud provider region for which you want to create the private endpoint service.

true

endpoints

[]object

Collection of individual GCP private endpoints that comprise your network endpoint group.

false

id

string

Unique identifier for AWS or AZURE Private Link Connection.

false

interfaceEndpointId

string

Unique identifier of the AWS or Azure Private Link Interface Endpoint.

false

serviceAttachmentNames

[]string

Unique alphanumeric and special character strings that identify the service attachments associated with the GCP Private Service Connect endpoint service.

false

serviceName

string

Name of the AWS or Azure Private Link Service that Atlas manages.

false

serviceResourceId

string

Unique identifier of the Azure Private Link Service (for AWS the same as ID).

false

Name
Type
Description
Required

endpointName

string

Human-readable label that identifies the Google Cloud consumer forwarding rule that you created.

true

ipAddress

string

One Private Internet Protocol version 4 (IPv4) address to which this Google Cloud consumer forwarding rule resolves.

true

status

string

State of the MongoDB Atlas endpoint group when MongoDB Cloud received this request.

true

Prometheus contains the status for Prometheus integration including the prometheusDiscoveryURL

Name
Type
Description
Required

prometheusDiscoveryURL

string

URL from which Prometheus fetches the targets.

false

scheme

string

Protocol scheme used for Prometheus requests.

false

Name
Type
Description
Required

teamRef

object

ResourceRefNamespaced is a reference to a Kubernetes Resource that allows to configure the namespace

true

id

string

false

ResourceRefNamespaced is a reference to a Kubernetes Resource that allows to configure the namespace

Name
Type
Description
Required

name

string

Name of the Kubernetes Resource

true

namespace

string

Namespace of the Kubernetes Resource

false

Back

Custom Resources

On this page