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

> ## Agent Instructions
> FalkorDB is a graph database that speaks the Redis protocol. Queries are issued as OpenCypher through the GRAPH.QUERY and GRAPH.RO_QUERY commands, not over Bolt or a SQL connection.
> FalkorDB implements a subset of OpenCypher with proprietary extensions. Do not assume Neo4j-only syntax or procedures are available — check /cypher/cypher-support and /cypher/known-limitations before using a clause.
> FalkorDB is the successor to RedisGraph, but they are separate products. Do not present RedisGraph commands, versions, or limitations as current FalkorDB behavior.
> Use the official clients listed in /getting-started/clients rather than generic Redis or Neo4j drivers, and prefer the language the user is already working in.
> Configuration parameters are set with GRAPH.CONFIG SET or at startup; cite the exact parameter name from /getting-started/configuration rather than inventing one.
> This site covers four products: FalkorDB (core), FalkorDB Cloud, FalkorDB Enterprise, and the GraphRAG SDK. Name which one an answer applies to, since setup and operations differ.

# Deploy from YAML

> Create a FalkorDB deployment from a raw KubeBlocks YAML manifest.

## What the UI does

The **Advanced - YAML Manifest** screen uses Monaco Editor with YAML parsing and CRD schema-based IntelliSense. On submit, the UI calls `POST /api/clusters/yaml` with the raw YAML string.

The Admin Server parses the manifest, requires `metadata.name` and `metadata.namespace`, checks that the cluster does not already exist, and then applies the YAML through the Kubernetes repository.

## Create from YAML

1. Open **Deployments** > **Create Deployment**.
2. Choose **Advanced - YAML Manifest**.
3. Edit the manifest.
4. Confirm the UI shows **Valid YAML**.
5. Select **Deploy Cluster**.

## Required metadata

The backend rejects manifests that do not include both fields:

```yaml theme={null}
metadata:
  name: falkordb
  namespace: demo
```

The backend also rejects YAML creation when a cluster with the same name already exists in the namespace.

## Default template

The editor starts with a KubeBlocks Cluster manifest using:

* `apiVersion: apps.kubeblocks.io/v1`
* `kind: Cluster`
* `spec.clusterDef: falkordb`
* `spec.topology: replication`
* Component `falkordb` with `2` replicas
* Component `falkordb-sent` with `3` replicas
* `terminationPolicy: Delete`

## Validate

```bash theme={null}
kubectl get clusters.apps.kubeblocks.io -n <namespace>
kubectl get pods -n <namespace>
```

If creation fails, check the Admin UI toast and Admin Server logs. YAML parse errors are shown in the editor before submit; Kubernetes validation errors are returned by the backend after submit.
