MongoDB Deployment with `nifectl`

This section explains how to deploy a MongoDB database using the nifectl CLI.

Initialize the MongoDB Application#

Use the nifectl init command to register your MongoDB application and generate the required nife.toml file.

nifectl init --name your-database-name --builtin mongo --org your-organization-name --volume-size 1 --volume-path /data/db --port 27017 --external 27017 --replica 1 --routing-policy Latency --request-memory 12 --request-cpu 0.5 --limit-memory 12 --limit-cpu 1

Explanation of Flags#

  • --name: A unique name for your application.
  • --builtin=mongo: Specifies the use of MongoDB as the runtime.
  • --org: The organization name that will own the app.
  • --volume-size: Size of the persistent volume in GB.
  • --volume-path: Filesystem path inside the container (/data/db for MongoDB).
  • --port and --external: Internal and external port (default MongoDB port is 27017).
  • --request-* and --limit-*: Resource configuration for CPU and memory.
  • --replica: Number of instances (replicas) to be deployed.
  • --routing-policy: Defines how traffic is routed (e.g., Latency, Geolocation).

Deploy the MongoDB Application#

Once the application is initialized, deploy it with the required environment variables using the following command:

nifectl deploy -e MONGO_INITDB_ROOT_USERNAME=your-username -e MONGO_INITDB_ROOT_PASSWORD=your-password
  • Replace your-username and your-password with secure credentials of your choice.
  • MONGO_INITDB_ROOT_USERNAME and MONGO_INITDB_ROOT_PASSWORD are required to initialize the MongoDB root user.