No project description provided
Project description
Atlas Init - A CLI for developing integrations with MongoDB Atlas
Currently, used with
- https://github.com/mongodb/terraform-provider-mongodbatlas
- https://github.com/mongodb/mongodb/mongodbatlas-cloudformation-resources
- see atlas_init#repo_aliases for an up-to-date list
Quickstart
Recommended as a tool with uvx
uvx atlas-init # help info
uvx atlas-init tf # help for tf specific commands
uvx atlas-init cfn # help for cfn specific commands
Profile Configuration
- Create an organization
- Go to
access_managerand clickCreate Api Key: https://cloud-dev.mongodb.com/v2#/org/{ORG_ID_IN_URL_FROM_1}/access/apiKeys- Tick all permissions
- create directories and store a file in
profiles/default/.env-manual(ATLAS_INIT_PROFILES_PATH/{profile_name}/.env-manual)
AWS_PROFILE=REPLACE_ME # your AWS profile used to create resources or other env-vars supported by AWS TF provider
MONGODB_ATLAS_ORG_ID=REPLACE_ME # ORG_ID_IN_URL_FROM_1
MONGODB_ATLAS_PUBLIC_KEY=REPLACE_ME # with 2
MONGODB_ATLAS_PRIVATE_KEY=REPLACE_ME # with 2
ATLAS_INIT_PROJECT_NAME=YOUR_NAME # the name of the project
MONGODB_ATLAS_BASE_URL=https://cloud-dev.mongodb.com/ # replace with https://cloud.mongodb.com/ if you are not a MongoDB Employe
# optional
TF_VAR_federated_settings_id=REPLACE_ME # will need to add organization: <https://cloud-dev.mongodb.com/v2#/federation/{FEDERATION_SETTINGS_ID}/organizations> (see internal testing wiki)
# if you want to use your locally built MongoDB atlas provider
# see appendix for details on the content
TF_CLI_CONFIG_FILE=REPLACE_ME/dev.tfrc
# if you plan developing with cloudformation
ATLAS_INIT_CFN_PROFILE=YOUR_NAME
ATLAS_INIT_CFN_REGION=eu-south-2 # find a region with few other profiles
Local development
git clone https://github.com/EspenAlbert/atlas-init
cd atlas-init
brew install pre-commit uv hatch
# https://github.com/astral-sh/uv <-- python packaging lightning fast
# https://hatch.pypa.io/latest/ <-- uv compatible build system for python
pre-commit install
# check that everything works
pre-commit run --all-files
# configure your virtualenv and validate the tests are working
cd py
hatch test
export VENV_DIR=$(hatch env find hatch-test | grep py3.12) # hatch venv path for env=hatch-test
export VENV_PYTHON=$VENV_DIR/bin/python
$VENV_PYTHON # ensure you are in shell with python3.12 (cmd+d to exit)
cd .. # back to repo root
# open in your IDE with virtualenv enabled
code .
# select venv path from $VENV_PYTHON output as python interpreter
# in vs code: use cmd+p and `Python: select interpreter` command
# to make it easy to invoke from any terminal (replace .zprofile with your terminal)
export pypath=$(git rev-parse --show-toplevel)/py
echo "alias atlas_init='export PYTHONPATH=$pypath && \"$VENV_PYTHON\" -m atlas_init'" >> ~/.zprofile
# test that it works
atlas_init # should show how to use the cli
CI Installation Tests (pip install local wheel)
uv sync- creates a local
.venvbuilds the wheel from this repo and installs it
- creates a local
- use
export ATLAS_INIT_PROFILES_PATH=/somewhere/to/store/your/env-vars/and/tf/state
Appendix
Configuring vscode to use your env vars
- add to your
settings.json
{
"go.testEnvFile": "/{SOME_PREFIX}/atlas-init/profiles/default/.env-vscode",
}
Content of dev.tfrc
usually, it will look something like this:
provider_installation {
dev_overrides {
"mongodb/mongodbatlas" = "REPO_PATH_TF_PROVIDER/bin"
}
direct {}
}
Re-generating the lock files
terraform providers lock \
-platform=darwin_amd64 \
-platform=linux_amd64 \
-platform=darwin_arm64 \
-platform=linux_arm64
# -platform=windows_amd64 \
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file atlas_init-0.10.1.tar.gz.
File metadata
- Download URL: atlas_init-0.10.1.tar.gz
- Upload date:
- Size: 184.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a511242dfbe8b595f66835002d2b62ff932d516ef40b4c4fa915141e63ff2eed
|
|
| MD5 |
f45e2d676b41a4dc6bc7c6979b85674d
|
|
| BLAKE2b-256 |
fd88bb46d6196c6a26a75f927191f89d9701a602db630c6f5a7b129134c37ee7
|
Provenance
The following attestation bundles were made for atlas_init-0.10.1.tar.gz:
Publisher:
release.yml on EspenAlbert/atlas-init
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
atlas_init-0.10.1.tar.gz -
Subject digest:
a511242dfbe8b595f66835002d2b62ff932d516ef40b4c4fa915141e63ff2eed - Sigstore transparency entry: 462861168
- Sigstore integration time:
-
Permalink:
EspenAlbert/atlas-init@c2ae4a72793f15a3e70c198450ef2386ce5019d6 -
Branch / Tag:
refs/tags/v0.10.1 - Owner: https://github.com/EspenAlbert
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c2ae4a72793f15a3e70c198450ef2386ce5019d6 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file atlas_init-0.10.1-py3-none-any.whl.
File metadata
- Download URL: atlas_init-0.10.1-py3-none-any.whl
- Upload date:
- Size: 249.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a0a351c8a7e0f934613140adfda806ba1ebf3ffe8ab2f6370ec8bdcad8db910f
|
|
| MD5 |
1918d8fa18d2cfb1c8bca9d95bfd63d3
|
|
| BLAKE2b-256 |
2f93fefe864b577a952a158b5e068ebd10c71d5e2acdd9aa7f644fdffd1064c9
|
Provenance
The following attestation bundles were made for atlas_init-0.10.1-py3-none-any.whl:
Publisher:
release.yml on EspenAlbert/atlas-init
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
atlas_init-0.10.1-py3-none-any.whl -
Subject digest:
a0a351c8a7e0f934613140adfda806ba1ebf3ffe8ab2f6370ec8bdcad8db910f - Sigstore transparency entry: 462861201
- Sigstore integration time:
-
Permalink:
EspenAlbert/atlas-init@c2ae4a72793f15a3e70c198450ef2386ce5019d6 -
Branch / Tag:
refs/tags/v0.10.1 - Owner: https://github.com/EspenAlbert
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@c2ae4a72793f15a3e70c198450ef2386ce5019d6 -
Trigger Event:
workflow_dispatch
-
Statement type: