Use MongoDB Atlas AWS CDK (or Cloud Development Kit) constructs to manage MongoDB Atlas. The AWS CDK is a framework for defining infrastructure as code (IaC). It allows developers to write code in their preferred programming language, such as TypeScript for example, to define and deploy infrastructure. AWS CDK gets synthesized down into AWS CloudFormation templates at deployment so users no longer have to write or maintain YAML/JSON based CloudFormation templates.
The npm package is available at awscdk-resources-mongodbatlas
npm i awscdk-resources-mongodbatlas
The PyPI package is available at awscdk-resources-mongodbatlas
pip install awscdk-resources-mongodbatlas
The Nuget package is available at MongoDB.AWSCDKResourcesMongoDBAtlas
dotnet add package MongoDB.AWSCDKResourcesMongoDBAtlas --version 1.0.0
The Maven package is available at awscdk-resources-mongodbatlas
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>awscdk-resources-mongodbatlas</artifactId>
<version>1.0.0</version>
</dependency>
The go package is generated into the github.com/mongodb/awscdk-resources-mongodbatlas-go package.
go get github.com/mongodb/awscdk-resources-mongodbatlas-go/awscdkresourcesmongodbatlas
MongoDB Atlas AWS CDK Resources provides L1, L2 and L3 CDK constructors. Please, have a look at README.md for a full lists of constructors and examples.
See the cdk examples for how to setup prerequisites & get started with your first cluster, using our AWS CDK sample code. We also provide a quick guide on How to Deploy MongoDB Atlas with AWS CDK in TypeScript.
Feature requests can be submitted at feedback.mongodb.com - just select "Atlas CloudFormation Resources" as the category or vote for an already suggested feature.
Support for the MongoDB Atlas Resource Provider for CloudFormation is provided under MongoDB Atlas support plans, starting with Developer. Please submit support questions within the Atlas UI. In addition, support questions submitted under the Issues section of this repo are also being monitored. Bugs should be filed under the Issues section of this repo.
Atlas API keys Configuration are required for both CloudFormation and CDK resources, and this Atlas API key pair are provided as input by the use of a Profile
AWS CloudFormation limits Third Parties from using non-AWS API Keys as either hardcoded secrets in CloudFormation templates or via CDK, hence we now require all the users store MongoDB Atlas API Keys via AWS Secrets Manager.
NOTE: the process for configuring the PROFILE is the same and is required both for CloudFormation and CDK
You'll need to generate an API key pair (public and private keys) for your Atlas organization and configure them to grant CloudFormation access to your Atlas project. Refer to the Atlas documentation for detailed instructions.
To use Atlas CloudFormation resources, you must configure a "profile" with your API keys using AWS Secrets Manager.
The secret should follow this format:
SecretName: cfn/atlas/profile/{ProfileName}
SecretValue: {"PublicKey": "YourPublicKey", "PrivateKey": "YourPrivateKey"}
To create a new secret for a default profile, use the PROFILE SECRET TEMPLATE file provided in this repository.
Here are some examples of how to use this template:
ProfileName: default
SecretName: cfn/atlas/profile/default
SecretValue: {"PublicKey": "YourPublicKey", "PrivateKey": "YourPrivateKey"}
ProfileName: testProfile
SecretName: cfn/atlas/profile/testProfile
SecretValue: {"PublicKey": "YourPublicKey", "PrivateKey": "YourPrivateKey"}
See our CONTRIBUTING.md guide.