Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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
17 changes: 17 additions & 0 deletions docs/examples/neo4j/migration/sample-neo4j.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
apiVersion: kubedb.com/v1alpha2
kind: Neo4j
metadata:
name: neo4j-test
namespace: demo
spec:
replicas: 3
deletionPolicy: WipeOut
version: "2025.12.1"
storage:
storageClassName: "local-path"
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Gi

14 changes: 14 additions & 0 deletions docs/examples/neo4j/migration/storage-migration.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
apiVersion: ops.kubedb.com/v1alpha1
kind: Neo4jOpsRequest
metadata:
name: storage-migration
namespace: demo
spec:
type: StorageMigration
databaseRef:
name: neo4j-test
migration:
storageClassName: custom-longhorn
oldPVReclaimPolicy: Delete
timeout: 3000s

16 changes: 16 additions & 0 deletions docs/examples/neo4j/quickstart/neo4j.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
apiVersion: kubedb.com/v1alpha2
kind: Neo4j
metadata:
name: neo4j-test
namespace: demo
spec:
replicas: 3
deletionPolicy: WipeOut
version: "2025.11.2"
storage:
storageClassName: local-path
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Gi
13 changes: 13 additions & 0 deletions docs/examples/neo4j/reconfigure-tls/ops-request.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
apiVersion: ops.kubedb.com/v1alpha1
kind: Neo4jOpsRequest
metadata:
name: neo4j-reconfigure-tls
namespace: demo
spec:
type: ReconfigureTLS
databaseRef:
name: tls-neo4j
tls:
rotateCertificates: true
bolt:
mode: mTLS
17 changes: 17 additions & 0 deletions docs/examples/neo4j/reconfigure/ops-request.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
apiVersion: ops.kubedb.com/v1alpha1
kind: Neo4jOpsRequest
metadata:
name: neo4j-reconfigure
namespace: demo
spec:
type: Reconfigure
databaseRef:
name: neo4j-test
configuration:
configSecret:
name: new-custom-config
removeCustomConfig: true
applyConfig:
server.metrics.csv.interval: "40s"
timeout: 5m
apply: IfReady
11 changes: 11 additions & 0 deletions docs/examples/neo4j/restart/ops-request.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: ops.kubedb.com/v1alpha1
kind: Neo4jOpsRequest
metadata:
name: neo4j-restart
namespace: demo
spec:
type: Restart
databaseRef:
name: neo4j-test
timeout: 5m
apply: Always
11 changes: 11 additions & 0 deletions docs/examples/neo4j/rotate-auth/ops-request.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: ops.kubedb.com/v1alpha1
kind: Neo4jOpsRequest
metadata:
name: neo4j-rotate-auth
namespace: demo
spec:
type: RotateAuth
databaseRef:
name: neo4j-test
timeout: 5m
apply: IfReady
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
apiVersion: ops.kubedb.com/v1alpha1
kind: Neo4jOpsRequest
metadata:
name: neo4j-horizontal-scale-down
namespace: demo
spec:
type: HorizontalScaling
databaseRef:
name: neo4j-test
horizontalScaling:
server: 4
reallocate:
strategy: "incremental"
batchSize: 1

Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
apiVersion: ops.kubedb.com/v1alpha1
kind: Neo4jOpsRequest
metadata:
name: neo4j-horizontal-scale-up
namespace: demo
spec:
type: HorizontalScaling
databaseRef:
name: neo4j-test
horizontalScaling:
server: 5
reallocate:
strategy: "incremental"
batchSize: 1

14 changes: 14 additions & 0 deletions docs/examples/neo4j/scaling/horizontal-scaling/ops-request.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
apiVersion: ops.kubedb.com/v1alpha1
kind: Neo4jOpsRequest
metadata:
name: neo4j-horizontal-scale
namespace: demo
spec:
type: HorizontalScaling
databaseRef:
name: neo4j-test
horizontalScaling:
server: 5
reallocate:
strategy: "incremental"
batchSize: 1
18 changes: 18 additions & 0 deletions docs/examples/neo4j/scaling/vertical-scaling/ops-request.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
apiVersion: ops.kubedb.com/v1alpha1
kind: Neo4jOpsRequest
metadata:
name: neo4j-vertical-scale
namespace: demo
spec:
type: VerticalScaling
databaseRef:
name: neo4j-test
verticalScaling:
server:
resources:
limits:
cpu: 1500m
memory: 4Gi
requests:
cpu: 700m
memory: 4Gi
11 changes: 11 additions & 0 deletions docs/examples/neo4j/update-version/ops-request.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: ops.kubedb.com/v1alpha1
kind: Neo4jOpsRequest
metadata:
name: neo4j-update-version
namespace: demo
spec:
type: UpdateVersion
databaseRef:
name: neo4j-test
updateVersion:
targetVersion: "2025.12.1"
12 changes: 12 additions & 0 deletions docs/examples/neo4j/volume-expansion/ops-request.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
apiVersion: ops.kubedb.com/v1alpha1
kind: Neo4jOpsRequest
metadata:
name: neo4j-volume-expand
namespace: demo
spec:
type: VolumeExpansion
databaseRef:
name: neo4j-test
volumeExpansion:
mode: "Online"
server: 4Gi
2 changes: 1 addition & 1 deletion docs/guides/ferretdb/concepts/catalog.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ section_menu_id: guides

## What is FerretDBVersion

`FerretDBVersion` is a Kubernetes `Custom Resource Definitions` (CRD). It provides a declarative configuration to specify the docker images to be used for [FerretDB](https://ferretdb.com/) server deployed with KubeDB in a Kubernetes native way.
`FerretDBVersion` is a Kubernetes `Custom Resource Definitions` (CRD). It provides a declarative configuration to specify the docker images to be used for [FerretDB](https://docs.ferretdb.io/) server deployed with KubeDB in a Kubernetes native way.

When you install KubeDB, a `FerretDBVersion` custom resource will be created automatically for every supported FerretDB release versions. You have to specify the name of `FerretDBVersion` crd in `spec.version` field of [FerretDB](/docs/guides/ferretdb/concepts/ferretdb.md) crd. Then, KubeDB will use the docker images specified in the `FerretDBVersion` crd to create your expected FerretDB instance.

Expand Down
2 changes: 1 addition & 1 deletion docs/guides/ferretdb/concepts/ferretdb.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ section_menu_id: guides

## What is FerretDB

`FerretDB` is a Kubernetes `Custom Resource Definitions` (CRD). It provides declarative configuration for [FerretDB](https://www.ferretdb.com/) in a Kubernetes native way. You only need to describe the desired configuration in a `FerretDB`object, and the KubeDB operator will create Kubernetes objects in the desired state for you.
`FerretDB` is a Kubernetes `Custom Resource Definitions` (CRD). It provides declarative configuration for [FerretDB](https://docs.ferretdb.io/) in a Kubernetes native way. You only need to describe the desired configuration in a `FerretDB`object, and the KubeDB operator will create Kubernetes objects in the desired state for you.

## FerretDB Spec

Expand Down
2 changes: 1 addition & 1 deletion docs/guides/mariadb/concepts/mariadb-version/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,5 +130,5 @@ The default value of this field is `false`. If `spec.deprecated` is set `true`,

### spec.stash

`spec.stash` is an optional field that specifies the name of the task for stash backup and restore. Learn more about [Stash MariaDB addon](https://stash.run/docs/v2021.03.08/addons/mariadb/)
`spec.stash` is an optional field that specifies the name of the task for stash backup and restore. Learn more about [Stash MariaDB addon](https://stash.run/)

111 changes: 111 additions & 0 deletions docs/guides/neo4j/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
---
title: Neo4j
menu:
docs_{{ .version }}:
identifier: neo4j-readme
name: Neo4j
parent: neo4j-guides
weight: 10
menu_name: docs_{{ .version }}
section_menu_id: guides
url: /docs/{{ .version }}/guides/neo4j/
aliases:
- /docs/{{ .version }}/guides/neo4j/README/
---

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

# Overview

KubeDB supports graph database deployment with Neo4j using the `Neo4j` CRD.

## Supported Neo4j Features

| Features | Availability |
|----------------------------------|:------------:|
| Standalone provisioning | ✓ |
| Cluster provisioning | ✓ |
| Monitoring | ✓ |
| TLS | ✓ |
| Ops Requests | ✓ |

## Supported Ops Requests

- Reconfigure
- HorizontalScaling
- VerticalScaling
- VolumeExpansion
- StorageMigration
- UpdateVersion
- ReconfigureTLS
- RotateAuth
- Restart

## Example Neo4j Manifest

```yaml
apiVersion: kubedb.com/v1alpha2
kind: Neo4j
metadata:
name: neo4j-test
namespace: demo
spec:
replicas: 3
deletionPolicy: WipeOut
version: "2025.12.1"
storage:
storageClassName: local-path
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 2Gi
```

## User Guide

### Getting Started

- [Quickstart Neo4j](/docs/guides/neo4j/quickstart/quickstart.md) — deploy your first Neo4j cluster with KubeDB.
- [Cluster Architecture Overview](/docs/guides/neo4j/clustering/architecture-overview.md) — understand cluster topology, Raft consensus, and fault tolerance.
- [RBAC Permissions](/docs/guides/neo4j/quickstart/rbac.md) — RBAC resources KubeDB creates for Neo4j pods.

### Concepts

- [Neo4j CRD](/docs/guides/neo4j/concepts/neo4j.md) — full reference for all `Neo4j` spec fields.
- [Neo4jVersion CRD](/docs/guides/neo4j/concepts/catalog.md) — image and version catalog.
- [Neo4jOpsRequest CRD](/docs/guides/neo4j/concepts/opsrequest.md) — day-2 operations reference with sample manifests.
- [AppBinding CRD](/docs/guides/neo4j/concepts/appbinding.md) — how KubeDB exposes connection details for backup tools.

### Configuration & Infrastructure

- [Custom Configuration](/docs/guides/neo4j/configuration/using-config-file.md) — pass Neo4j settings via a Kubernetes Secret.
- [Private Registry](/docs/guides/neo4j/private-registry/using-private-registry.md) — pull Neo4j images from a private Docker registry.
- [Custom RBAC](/docs/guides/neo4j/custom-rbac/using-custom-rbac.md) — provide your own ServiceAccount and Role instead of the auto-generated ones.

### Monitoring

- [Monitoring Overview](/docs/guides/neo4j/monitoring/overview.md) — how KubeDB exposes Neo4j metrics.
- [Builtin Prometheus](/docs/guides/neo4j/monitoring/using-builtin-prometheus.md) — scrape metrics without the Prometheus Operator.
- [Prometheus Operator](/docs/guides/neo4j/monitoring/using-prometheus-operator.md) — use a `ServiceMonitor` with the Prometheus Operator.

### Day-2 Operations

- [TLS — How It Works](/docs/guides/neo4j/tls/overview/) — how KubeDB provisions TLS certificates via cert-manager.
- [Configure TLS](/docs/guides/neo4j/tls/configure/) — enable TLS on a new or existing cluster.
- [Reconfigure — How It Works](/docs/guides/neo4j/reconfigure/overview.md) — how KubeDB applies config changes internally.
- [Reconfigure](/docs/guides/neo4j/reconfigure/reconfigure.md) — change Neo4j settings at runtime.
- [Reconfigure TLS — How It Works](/docs/guides/neo4j/reconfigure-tls/overview.md) — how KubeDB rotates or removes TLS.
- [Reconfigure TLS](/docs/guides/neo4j/reconfigure-tls/reconfigure-tls.md) — add, rotate, change issuer, or remove TLS.
- [Restart](/docs/guides/neo4j/restart/restart.md) — rolling restart of all Neo4j pods.
- [Rotate Auth — How It Works](/docs/guides/neo4j/rotate-auth/overview.md) — how KubeDB rotates credentials.
- [Rotate Auth](/docs/guides/neo4j/rotate-auth/rotateauth.md) — rotate Neo4j passwords with or without a user-provided Secret.
- [Update Version — How It Works](/docs/guides/neo4j/update-version/overview.md) — how KubeDB performs rolling version upgrades.
- [Update Version](/docs/guides/neo4j/update-version/versionupgrading/) — upgrade to a newer Neo4j release.
- [Horizontal Scaling — How It Works](/docs/guides/neo4j/scaling/horizontal-scaling/overview.md) — how KubeDB adds or removes cluster members.
- [Horizontal Scaling](/docs/guides/neo4j/scaling/horizontal-scaling/scale-horizontally/) — add or remove Neo4j server pods.
- [Vertical Scaling — How It Works](/docs/guides/neo4j/scaling/vertical-scaling/overview.md) — how KubeDB adjusts pod resources.
- [Vertical Scaling](/docs/guides/neo4j/scaling/vertical-scaling/scale-vertically/) — resize CPU and memory for Neo4j pods.
- [Volume Expansion — How It Works](/docs/guides/neo4j/volume-expansion/overview.md) — how KubeDB expands PVCs.
- [Volume Expansion](/docs/guides/neo4j/volume-expansion/volume-expansion.md) — increase persistent storage size online or offline.
- [StorageClass Migration](/docs/guides/neo4j/migration/storageMigration.md) — migrate Neo4j data to a different StorageClass.
10 changes: 10 additions & 0 deletions docs/guides/neo4j/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: Neo4j
menu:
docs_{{ .version }}:
identifier: neo4j-guides
name: Neo4j
parent: guides
weight: 16
menu_name: docs_{{ .version }}
---
11 changes: 11 additions & 0 deletions docs/guides/neo4j/clustering/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
title: Neo4j Clustering
menu:
docs_{{ .version }}:
identifier: neo4j-clustering
name: Clustering
parent: neo4j-guides
weight: 20
menu_name: docs_{{ .version }}
---

Loading
Loading