> ## Documentation Index
> Fetch the complete documentation index at: https://docs.apinizer.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Mongo

> Kubernetes ortamına Helm kullanarak MongoDB kurulumunu gerçekleştirebilir. Apinizer'in veri saklama ihtiyacını karşılamak için MongoDB kurulumu yapılabilir ve Helm chart repository'si üzerinden kolayca yönetilebilir.

<Warning>
  Bu kurulum yöntemi, **production ortamları için önerilmez.**

  MongoDB, yalnızca tek bir replica olarak kurulur ve veriler, hostPath kullanılarak control-plane rolüne sahip olmayan ilk uygun worker node üzerinde depolanır.

  Eğer cluster'da yalnızca bir node varsa, pod'un bu node üzerinde çalışabilmesi için aşağıdaki komutlarla node üzerindeki control-plane etiketi ve tainti kaldırılmalıdır:

  ```bash theme={null}
  kubectl label node <node-name> node-role.kubernetes.io/control-plane-
  kubectl taint nodes <node-name> node-role.kubernetes.io/control-plane:NoSchedule-
  ```

  Verilerin node bağımsız bir şekilde saklanabilmesi için NFS, Ceph, Longhorn veya bir bulut tabanlı depolama çözümü kullanılması önerilir.
</Warning>

## Ön Koşullar

Kuruluma başlamadan önce aşağıdaki gereksinimlerin karşılandığından emin olun:

* Kubernetes cluster'ının hazır ve erişilebilir olması
* Helm'in ortamınızda kurulu olması

<Note>
  Helm kurulu değilse, [Helm Kurulum Dokümanı](/tr/setup/helm/apinizer.mdx) sayfasını inceleyebilirsiniz.
</Note>

## 1) Reponun Eklenmesi

```bash theme={null}
helm repo add mongodb-charts https://apinizer1.github.io/mongodb-charts
helm repo update
```

## 2) Mongo Kurulumu

Aşağıdaki komutu çalıştırarak herhangi bir özel ayar yapmadan MongoDB kurulumunu gerçekleştirebilirsiniz:

```bash theme={null}
helm install mongodb-charts mongodb-charts/mongo
```

<Info>
  **Not:** Mevcut kurulumda `mongo:8.0` sürümü kullanılmaktadır. Daha güncel bir sürüm tercih etmek isterseniz `mongo:8.0` sürümünü kullanabilirsiniz. Tüm Mongodb sürümlerini [Docker Hub](https://hub.docker.com/_/mongo/tags) üzerinden inceleyebilirsiniz.
</Info>

## Opsiyonel Parametreler

| Seçenek       | Varsayılan Değer | Açıklama                            |
| ------------- | ---------------- | ----------------------------------- |
| `image.mongo` | `mongo:8.0`      | MongoDB imajının sürümünü belirtir. |

Farklı bir MongoDB sürümü kullanmak isterseniz, Helm kurulum komutunuzda aşağıdaki örnekteki gibi opsiyonel parametreyi ekleyerek sürümünü belirtebilirsiniz:

```bash theme={null}
helm install mongo-charts mongo-charts/mongo --set image.mongo=mongo:latest
```

## 3) Kurulum Bilgileri

| Alan                  | Açıklama                                                                                                                                       |                         |
| --------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |
| **TZ (Zaman Dilimi)** | Europe/Istanbul – Container içindeki TZ ortam değişkeni ile ayarlanmıştır. Bu sayede uygulama ve MongoDB logları Türkiye saatine göre çalışır. |                         |
| **Veritabanı**        | `apinizerdb`                                                                                                                                   |                         |
| **Kullanıcı adı**     | \`kubectl get secret -n mongo mongodb-secret -o jsonpath="\{.data.MONGO\_ROOT\_USERNAME}"                                                      | base64 --decode; echo\` |
| **Parola**            | \`kubectl get secret -n mongo mongodb-secret -o jsonpath="\{.data.MONGO\_ROOT\_PASSWORD}"                                                      | base64 --decode; echo\` |
| **Port**              | `25080`                                                                                                                                        |                         |
| **Data dizini**       | `/mnt/data` bu dizin, host makinenizdeki path ile eşleştirilir (hostPath). Böylece veriler host üzerinde tutulur ve kalıcı olur.               |                         |
