Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions docs/examples/documentdb/quickstart/standalone.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
apiVersion: kubedb.com/v1alpha2
kind: DocumentDB
metadata:
name: documentdb
namespace: demo
spec:
version: "pg17-0.109.0"
storageType: Durable
deletionPolicy: Delete
replicas: 1
storage:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
58 changes: 58 additions & 0 deletions docs/guides/documentdb/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
title: DocumentDB
menu:
docs_{{ .version }}:
identifier: documentdb-readme
name: DocumentDB
parent: documentdb-guides
weight: 10
menu_name: docs_{{ .version }}
section_menu_id: guides
url: /docs/{{ .version }}/guides/documentdb/
aliases:
- /docs/{{ .version }}/guides/documentdb/README/
---

> New to KubeDB? Please start [here](/docs/README.md).

# Overview

KubeDB supports Amazon DocumentDB-compatible workloads through the `DocumentDB` CRD.

## Supported DocumentDB Features

| Features | Availability |
|-----------------------------------|:------------:|
| Standalone provisioning | ✓ |
| Persistent volume | ✓ |
| Replicas | ✓ |
| Deletion policy | ✓ |

## Example DocumentDB Manifest

```yaml
apiVersion: kubedb.com/v1alpha2
kind: DocumentDB
metadata:
name: documentdb
spec:
version: "pg17-0.109.0"
storageType: Durable
deletionPolicy: Delete
replicas: 1
storage:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
```

## User Guide

- [Quickstart DocumentDB](/docs/guides/documentdb/quickstart/quickstart.md) with KubeDB operator.
- [DocumentDB CRD Concept](/docs/guides/documentdb/concepts/documentdb.md).
- [DocumentDBVersion CRD Concept](/docs/guides/documentdb/concepts/catalog.md).
- [DocumentDBOpsRequest CRD Concept](/docs/guides/documentdb/concepts/opsrequest.md).
- [Configuration](/docs/guides/documentdb/configuration/overview.md) for replicas, auth, pod, and service settings.
- [Ops Request](/docs/guides/documentdb/ops-request/overview.md).
10 changes: 10 additions & 0 deletions docs/guides/documentdb/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: DocumentDB
menu:
docs_{{ .version }}:
identifier: documentdb-guides
name: DocumentDB
parent: guides
weight: 13
menu_name: docs_{{ .version }}
---
10 changes: 10 additions & 0 deletions docs/guides/documentdb/concepts/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: DocumentDB Concepts
menu:
docs_{{ .version }}:
identifier: documentdb-concepts
name: Concepts
parent: documentdb-guides
weight: 15
menu_name: docs_{{ .version }}
---
47 changes: 47 additions & 0 deletions docs/guides/documentdb/concepts/catalog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
---
title: DocumentDBVersion CRD
menu:
docs_{{ .version }}:
identifier: documentdb-catalog-concepts
name: DocumentDBVersion
parent: documentdb-concepts-documentdb
weight: 15
menu_name: docs_{{ .version }}
section_menu_id: guides
---

> New to KubeDB? Please start [here](/docs/README.md).

# DocumentDBVersion

## What is DocumentDBVersion

`DocumentDBVersion` is the catalog CRD that defines which DocumentDB engine image and related components KubeDB should use.

The value in `DocumentDB.spec.version` must match an available `DocumentDBVersion` resource.

## DocumentDBVersion Specification

```yaml
apiVersion: catalog.kubedb.com/v1alpha1
kind: DocumentDBVersion
metadata:
name: "pg17-0.109.0"
spec:
version: "pg17-0.109.0"
db:
image: "kubedb/documentdb:pg17-0.109.0"
deprecated: false
```

## Key fields

- `metadata.name` is referenced from `DocumentDB.spec.version`.
- `spec.version` is the released database engine version.
- `spec.db.image` is the runtime image used by KubeDB.
- `spec.deprecated` indicates if this catalog entry is deprecated.

## Next Steps

- Read the [DocumentDB CRD concept](/docs/guides/documentdb/concepts/documentdb.md).
- Run the [DocumentDB quickstart](/docs/guides/documentdb/quickstart/quickstart.md).
51 changes: 51 additions & 0 deletions docs/guides/documentdb/concepts/documentdb.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
---
title: DocumentDB CRD
menu:
docs_{{ .version }}:
identifier: documentdb-concepts-documentdb
name: DocumentDB
parent: documentdb-concepts
weight: 10
menu_name: docs_{{ .version }}
section_menu_id: guides
---

> New to KubeDB? Please start [here](/docs/README.md).

# DocumentDB

## What is DocumentDB

`DocumentDB` is a Kubernetes `CustomResourceDefinition` (CRD) in KubeDB that manages DocumentDB-compatible databases.

## DocumentDB Spec

```yaml
apiVersion: kubedb.com/v1alpha2
kind: DocumentDB
metadata:
name: documentdb
namespace: demo
spec:
version: "pg17-0.109.0"
storageType: Durable
deletionPolicy: Delete
replicas: 1
storage:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
```

### Key fields

- `spec.version` is required and points to a `DocumentDBVersion` resource.
- `spec.replicas` sets number of database instances.
- `spec.storageType` can be `Durable` or `Ephemeral`.
- `spec.storage` defines PVC settings for persistent data.
- `spec.authSecret` optionally references credentials.
- `spec.podTemplate` optionally customizes pods.
- `spec.serviceTemplates` optionally customizes services.
- `spec.deletionPolicy` controls object deletion behavior.
42 changes: 42 additions & 0 deletions docs/guides/documentdb/concepts/opsrequest.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
title: DocumentDBOpsRequest CRD
menu:
docs_{{ .version }}:
identifier: documentdb-opsrequest-concepts
name: DocumentDBOpsRequest
parent: documentdb-concepts-documentdb
weight: 25
menu_name: docs_{{ .version }}
section_menu_id: guides
---

> New to KubeDB? Please start [here](/docs/README.md).

# DocumentDBOpsRequest

## What is DocumentDBOpsRequest

`DocumentDBOpsRequest` is the operations CRD KubeDB uses for day-2 lifecycle changes of DocumentDB databases when supported in a release.

## Current support status

Based on [new_db.md](/new_db.md), no DocumentDB operation types are currently listed.

## Expected CRD shape

```yaml
apiVersion: ops.kubedb.com/v1alpha1
kind: DocumentDBOpsRequest
metadata:
name: documentdb-ops-sample
namespace: demo
spec:
type: Restart
databaseRef:
name: documentdb
```

## Next Steps

- Track [DocumentDB ops overview](/docs/guides/documentdb/ops-request/overview.md) for support updates.
- Use [DocumentDB configuration guide](/docs/guides/documentdb/configuration/overview.md) for declarative spec updates.
10 changes: 10 additions & 0 deletions docs/guides/documentdb/configuration/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: DocumentDB Configuration
menu:
docs_{{ .version }}:
identifier: documentdb-configuration
name: Configuration
parent: documentdb-guides
weight: 20
menu_name: docs_{{ .version }}
---
44 changes: 44 additions & 0 deletions docs/guides/documentdb/configuration/overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
---
title: DocumentDB Configuration Overview
menu:
docs_{{ .version }}:
identifier: documentdb-configuration-overview
name: Overview
parent: documentdb-configuration
weight: 10
menu_name: docs_{{ .version }}
section_menu_id: guides
---

# DocumentDB Configuration

This guide shows the main DocumentDB configuration fields you can tune before or after initial deployment.

## Before You Begin

- Review the base manifest used in [Quickstart](/docs/guides/documentdb/quickstart/quickstart.md).
- Identify whether you need to change topology, authentication, services, or probes.

## Common Configuration Fields

- spec.replicas for number of database instances.
- spec.authSecret for custom credentials.
- spec.podTemplate for pod-level customization.
- spec.serviceTemplates for service exposure.
- spec.healthChecker for probe timing and thresholds.

## How to Apply Configuration

Update the DocumentDB resource manifest with the desired fields and apply it again.

```bash
kubectl apply -f https://github.com/kubedb/docs/raw/{{< param "info.version" >}}/docs/examples/documentdb/quickstart/standalone.yaml
kubectl edit documentdb -n demo documentdb
```

## Verify

```bash
kubectl get documentdb -n demo documentdb -o yaml
kubectl describe documentdb -n demo documentdb
```
10 changes: 10 additions & 0 deletions docs/guides/documentdb/custom-rbac/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: Run DocumentDB with Custom RBAC resources
menu:
docs_{{ .version }}:
identifier: documentdb-custom-rbac
name: Custom RBAC
parent: documentdb-guides
weight: 90
menu_name: docs_{{ .version }}
---
Loading