Skip to main content

No project description provided

Project description

Atlas Init - A CLI for developing integrations with MongoDB Atlas

License Coverage

Currently, used with

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

  1. Create an organization
  2. Go to access_manager and click Create Api Key: https://cloud-dev.mongodb.com/v2#/org/{ORG_ID_IN_URL_FROM_1}/access/apiKeys
    • Tick all permissions
  3. 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 .venv builds the wheel from this repo and installs it
  • 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

atlas_init-0.10.1.tar.gz (184.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

atlas_init-0.10.1-py3-none-any.whl (249.2 kB view details)

Uploaded Python 3

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

Hashes for atlas_init-0.10.1.tar.gz
Algorithm Hash digest
SHA256 a511242dfbe8b595f66835002d2b62ff932d516ef40b4c4fa915141e63ff2eed
MD5 f45e2d676b41a4dc6bc7c6979b85674d
BLAKE2b-256 fd88bb46d6196c6a26a75f927191f89d9701a602db630c6f5a7b129134c37ee7

See more details on using hashes here.

Provenance

The following attestation bundles were made for atlas_init-0.10.1.tar.gz:

Publisher: release.yml on EspenAlbert/atlas-init

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for atlas_init-0.10.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a0a351c8a7e0f934613140adfda806ba1ebf3ffe8ab2f6370ec8bdcad8db910f
MD5 1918d8fa18d2cfb1c8bca9d95bfd63d3
BLAKE2b-256 2f93fefe864b577a952a158b5e068ebd10c71d5e2acdd9aa7f644fdffd1064c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for atlas_init-0.10.1-py3-none-any.whl:

Publisher: release.yml on EspenAlbert/atlas-init

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page