Skip to Main Content

MongoByte MongoDB Logo

Welcome to the new MongoDB Feedback Portal!

{Improvement: "Your idea"}
We’ve upgraded our system to better capture and act on your feedback.
Your feedback is meaningful and helps us build better products.

Status Under Consideration
Categories Atlas
Created by Guest
Created on Jun 3, 2024

Manage Database by Kubernetes Operator

In our use case, we are dynamically creating feature environments based on the branch name. During this process, we are also creating MongoDB databases in the same Atlas cluster (different envs are sharing the same cluster but with different database names). For now, we need to do it with a separate CI step that should create this DB and delete it when the env is deleted. It would be great to have the possibility to manage DB create/delete process with Kubernetes CRD. For now it's the only 1 missing feature that is blocking us to start using Operator.
  • ADMIN RESPONSE
    Aug 1, 2025
    This is something we're considering for the future. But the biggest problem we need to solve is that it's incredibly easy to create/delete/update databases within a deployment via many other interfaces. But if this happens, the Operator's source of truth (the custom resources) won't contain the changes, and the Operator would overwrite the changes using it's source of truth.
  • Attach files
  • Guest
    Jul 23, 2025
    We had begun implementing a full IaC-based solution leveraging the MongoDB Atlas Operator. However, we've currently paused this effort, as it would require us to decouple the "Cluster and Settings Provisioning" from "Database Users and Roles Management" across separate tools—or worse, revert to managing certain aspects via the UI. Our goal is to maintain a single source of truth where all configurations, including access controls, can be managed declaratively through IaC and GitOps practices.
  • Guest
    Jun 4, 2024
    "Operator would overwrite the changes using it's source of truth" - that's exactly what we are expecting to have. If you are following infrastructure-as-a-code style there should be only one source of truth - Operator CRD. You could take as example Kafka operator which allows to create a topic via CRD. The topic, like a Mongo DB could also be created/updated by many other interfaces, but if it is defined as a CRD - the operator is the source of truth and it will rollback any other external changes.