https://github.com/hypertrace/mongodb
MongoDB helm chart
https://github.com/hypertrace/mongodb
Last synced: 23 days ago
JSON representation
MongoDB helm chart
- Host: GitHub
- URL: https://github.com/hypertrace/mongodb
- Owner: hypertrace
- License: apache-2.0
- Created: 2020-07-09T07:51:35.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2024-01-28T18:41:32.000Z (almost 2 years ago)
- Last Synced: 2024-01-29T02:34:43.133Z (almost 2 years ago)
- Language: Mustache
- Size: 187 KB
- Stars: 6
- Watchers: 4
- Forks: 8
- Open Issues: 69
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# MongoDB
This repo publishes the docker image and helm chart for [MongoDB](https://www.mongodb.com/try/download/community).
## Prerequisites
* Kubernetes 1.10+
* Helm 3.0+
## Docker Image
* [DockerHub](https://hub.docker.com/_/mongo)
## Helm Chart Components
This chart will do the following:
* Create a standalone MongoDB instance using a [StatefulSet](http://kubernetes.io/docs/concepts/abstractions/controllers/statefulsets/).
* Create a MongoDB replicaset having a primary, multiple secondary and multiple arbiter nodes using a [StatefulSet](http://kubernetes.io/docs/concepts/abstractions/controllers/statefulsets/).
* Create a [PodDisruptionBudget](https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-disruption-budget/).
* Create a [Headless Service](https://kubernetes.io/docs/concepts/services-networking/service/) to control the domain of the MongoDB instances.
* Create a Service configured to connect to the available MongoDB instance on the configured client port.
* Optionally apply a [Pod Anti-Affinity](https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#inter-pod-affinity-and-anti-affinity-beta-feature) to spread the MongoDB cluster across nodes.
* Optionally start an Exporter container for Prometheus.
* Optionally create a Prometheus ServiceMonitor for exporter container.
* Optionally add a [CronJob](https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/) to take daily backup of MongoDB and save it in [Google Cloud Storage](https://cloud.google.com/products/storage/).
* Optionally add prometheus alerts.
## Installing the Chart
You can install the chart with the release name `mongodb` as below.
```console
$ helm upgrade mongodb ./helm --install --namespace hypertrace
```
## Configuration
You can specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,
```console
$ helm upgrade my-release ./helm --install --namespace hypertrace -f values.yaml
```
## Default Values
- You can find all user-configurable settings, their defaults in [values.yaml](helm/values.yaml).