Title
Create new category
Edit page index title
Edit category
Edit link
MongoDB Atlas
Infoworks uses locally managed MongoDB to store the metadata by default. Infoworks can be configured to use hosted MongoDB Atlas service to use the following features of the cloud-hosted service:
- Durability
- Security
- Elasticity
Infoworks supports enabling MongoDB Atlas either during a fresh installation, upgrade from lower versions, or by manual configuration.
To enable the use of Atlas with Infoworks, we must set up the following:
- Atlas account
- Database
- Database users
Atlas Setup
Prerequisite
- Connection between MongoDB Atlas and Kubernetes cluster should be successfully established.
Account Creation
To perform any actions in Atlas we first need to set up an account, organization, and project. Refer to Atlas Account Creation for more information.
Cluster Setup
To create an Atlas MongoDB database cluster suitable for use in Infoworks, refer to Database Cluster Creation.
Recommended Configuration
- Supported MongoDB version: 5.0.8
- There should be a dedicated cluster.
- Supported Cluster type: M20 or higher tier.
- MongoDB Atlas should be on the same cloud provider and region as Infoworks and data plane.
- Use private endpoint or network peering
- Backup configuration depending on use case
For Atlas supported Cloud providers and regions, see Cloud Providers and Regions
For setting up private endpoints or network peering and network and security topics, see Configure Security Features for Database Deployments
MongoDB Atlas Setup Backup and Restore
Infoworks recommends enabling backup solution on MongoDB Atlas for better recovery in case of any failures. For more information refer to MongoDB Backup and Restore.
Database and User Setup
Creating Custom Roles
To create custom roles required by Infoworks DB, perform the following procedure.
Step 1: Go to navigation pane on the left-side, under the Security section, click Database Access, and then click Add New Custom Role.

Step 2: Once the Add New Custom Role dialog opens, provide the following:
- Under the Custom Role Name, type infoworksCustomRole.
- Under the Action or Role section, select enableprofiler from the dropdown, and add infoworks-new from the database.
- Under the Action or Role section, select enableprofiler from the dropdown, and add quartzio from the database.
- Click Add Custom Role.

While creating Custom Roles, you should assign the privileges correctly.
MongoDB Atlas as a PaaS MetaDB for Infoworks can be setup in the following ways:
Without Drop (set MONGO_FORCE_DROP=false) - Infoworks will try to read database details.
- If the database is empty, the seed data will be restored.
- If the database has the collections, it will validate that there must be at least the required number of collections, and continue without restoring.
- Special Privilege Required - dbStats on the database.
With Drop (set MONGO_FORCE_DROP=true) - Infoworks will proceed to restore the seed data with the drop flag, dropping any conflicting collections.
Required Privileges:
| Privilege | Restore Without Drop | Restore With Drop |
|---|---|---|
| dbStats | Yes | No |
| listCollections | Yes | Yes |
| createCollection | Yes | Yes |
| dropCollection | No | Yes |
| createIndex | Yes | Yes |
| convertToCapped | Yes | Yes |
| insert | Yes | Yes |
| find | Yes | Yes |
| remove | Yes | Yes |
| update | Yes | Yes |
The MongoDB User (set in MONGODB_USERNAME) must have a role with above privileges assigned on the given database (set in INFOWORKS_MONGODB_DATABASE_NAME).
Step 3: Note down the Infoworks MetaDB Database name and Infoworks Quartzio Database for Installation and Upgrade Steps.
Step 4: Note down the Custom Role Name for next steps.
For more information related to creating custom roles, refer to Configure Custom Database Roles
MongoDB Atlas as a PaaS MetaDB for Infoworks can be setup in the following ways
Without Drop (set MONGO_FORCE_DROP=false) - Infoworks will try to read database details.
- If the database is empty, the seed data will be restored.
- If the database has the collections, it will validate that there must be at least the required number of collections, and continue without restoring.
- Special Privilege Required - dbStats on the database.
With Drop (set MONGO_FORCE_DROP=true) - Infoworks will proceed to restore the seed data with the drop flag, dropping any conflicting collections.
Required Privileges:
| Privilege | Restore Without Drop | Restore With Drop |
|---|---|---|
| dbStats | Yes | No |
| listCollections | Yes | Yes |
| createCollection | Yes | Yes |
| dropCollection | No | Yes |
| createIndex | Yes | Yes |
| convertToCapped | Yes | Yes |
| insert | Yes | Yes |
| find | Yes | Yes |
| remove | Yes | Yes |
| update | Yes | Yes |
The MongoDB User (set in MONGODB_USERNAME) must have a role with above privileges assigned on the given database (set in INFOWORKS_MONGODB_DATABASE_NAME).
Setup Infoworks Database User
Infoworks supports the default SCRAM authentication method on MongoDB Atlas. To create Infoworks MetaDB users, follow these steps.
Step 1: From the Database Access tab, under the Database Users tab, add a new database user.

Step 2: Create an Infoworks DB username with a password on MongoDB Atlas and attach the previously created custom role to this user.

Step 3: Note these credentials for next steps.
For more information related to creating users on MongoDB Atlas, refer to Configure Database Users.
Verifying Connection from MongoDB to Infoworks
Verify that applications can access the Atlas cluster from Infoworks AKS cluster. For Infoworks-specific user, refer to previously mentioned Database and User Setup.
Use the following procedure as a reference only.
Step 1: Log in to your Bastion host where Kubernetes cluster is accessible.
Step 2: Create a pod with MongoDB image in the respective namespace.
xxxxxxxxxxkubectl run mongodb --image mongo --restart=Never --namespace <namespace>Step 3: Run the exec command to run bash command inside the pod.
xxxxxxxxxxkubectl exec -it mongodb --namespace <namespace> -- bashStep 4: Get the connection string from MongoDB Atlas Connect. For example, consider the below given command.
root@mongodb:/# mongosh "mongodb+srv://<mongo-private-hostname>.mongodb.net/myFirstDatabase" --apiVersion 1 --username <username>Step 5: Provide the password.
Enter password: ************Current Mongosh Log ID: ********c023b******Connecting to: mongodb+srv://<credentials>@<mongo-private-hostname>.mongodb.net/myFirstDatabase?appName=mongosh+1.6.0Using MongoDB: 5.0.13 (API Version 1)Using Mongosh: 1.6.0 For mongosh info see: https://docs.mongodb.com/mongodb-shell/ To help improve our products, anonymous usage data is collected and sent to MongoDB periodically (https://www.mongodb.com/legal/privacy-policy).You can opt-out by running the disableTelemetry() command. Atlas atlas-ul0vpt-shard-0 [primary] myFirstDatabase>The MongoDB and Infoworks are successfully connected. In case of any errors, refer to official Mongo Documentation.
Deleting MongoDB Pod
Once the connection between MongoDB and Infoworks is successful. If you wish to delete MongoDB pod, execute the following command.
xxxxxxxxxxkubectl delete pods mongodb --namespace <namespace>For more details, refer to our Knowledge Base and Best Practices!
For help, contact our support team!
© UNIPHORE TECHNOLOGIES 2025 | Confidential