The Charmed MongoDB K8s Operator delivers automated operations management from day 0 to day 2 on the MongoDB Community Edition document database. It is an open source, end-to-end, production ready data platform on top of cloud native technologies.
MongoDB is a popular NoSQL database application. It stores its data with JSON-like documents creating a flexible experience for users; with easy to use data aggregation for data analytics. It is a distributed database, so vertical and horizontal scaling come naturally.
This operator charm deploys and operates MongoDB on Kubernetes. It offers features such as replication, TLS, password rotation, and easy to use integration with applications. The Charmed MongoDB K8s Operator meets the need of deploying MongoDB in a structured and consistent manner while allowing the user flexibility in configuration. It simplifies deployment, scaling, configuration and management of MongoDB in production at scale in a reliable way.
- at least 2GB of RAM.
- at least 2 CPU threads per host.
- For production deployment: at least 60GB of available storage on each host.
- Access to the internet for downloading the charm.
- Machine is running Ubuntu 24.04(noble) or later.
To deploy a single unit of MongoDB using its default configuration
juju deploy ./mongodb-k8s_ubuntu-24.04-amd64.charm --resource mongodb-image=ghcr.io/canonical/charmed-mongodb@sha256:739243ea34dc453d7d13eba96980c1618ebbd9202a742fd1e052caa644c174e0It is customary to use MongoDB with replication. Hence usually more than one unit (preferably an odd number to prohibit a "split-brain" scenario) is deployed. To deploy MongoDB with multiple replicas, specify the number of desired units with the -n option.
juju deploy ./mongodb-k8s_ubuntu-24.04-amd64.charm --resource mongodb-image=ghcr.io/canonical/charmed-mongodb@sha256:739243ea34dc453d7d13eba96980c1618ebbd9202a742fd1e052caa644c174e0 -n <number_of_replicas>Check the Charmed MongoDB documentation.
Security issues in the Charmed MongoDB K8s Operator can be reported through LaunchPad. Please do not file GitHub issues about security issues.
Most of the charm’s Python business logic lives in a shared library maintained in the mongo-single-kernel-library repository. If you intend to contribute to or modify the charm’s core functionality, please make your changes in that library.
Please see the Juju SDK docs for guidelines on enhancements to this charm following best practice guidelines, and CONTRIBUTING.md for developer guidance.
The Charmed MongoDB K8s Operator is free software, distributed under the Apache Software License, version 2.0. See LICENSE for more information.
The Charmed MongoDB K8s Operator is free software, distributed under the Apache Software License, version 2.0. It [installs/operates/depends on] MongoDB Community Version, which is licensed under the Server Side Public License (SSPL)
See LICENSE for more information.
MongoDB' is a trademark or registered trademark of MongoDB Inc. Other trademarks are property of their respective owners.