{
  "id": "data-plane-configuration",
  "title": "Data Plane configuration",
  "url": "https://redis.io/docs/latest/develop/ai/context-engine/agent-memory/self-managed/data-plane-configuration/",
  "summary": "Configure the Redis Agent Memory Data Plane for static stores or Control Plane managed stores.",
  "tags": [
    "docs",
    "develop",
    "ai"
  ],
  "last_updated": "2026-07-28T14:23:48-07:00",
  "page_type": "content",
  "content_hash": "b2dbbb544f00ac9505099f07aed0319d5b5838b0561a77618ec8f92d41ba7097",
  "sections": [
    {
      "id": "overview",
      "title": "Overview",
      "role": "overview",
      "text": "The Data Plane reads `memory-dataplane.config.yaml` from a Kubernetes Secret.\nUse one store mode: static stores or Control Plane managed stores."
    },
    {
      "id": "shared-settings",
      "title": "Shared settings",
      "role": "content",
      "text": "The following settings are common to both deployment modes:\n\n| Setting | Purpose |\n| --- | --- |\n| `server` | Data Plane bind address and port. |\n| `license.license_path` | Path where the license Secret is mounted. |\n| `request_region` | Region used for background work routing. |\n| `background_jobs.redis` | Job Redis connection used by background workers. |\n| `embedders_connection_details` | Embedding provider endpoint and credentials. |\n| `dataplane_client` | Worker callback client configuration. |\n| `promote_session_memory` | Promotion strategy and LLM connection used by workers. |"
    },
    {
      "id": "static-stores-example",
      "title": "Static stores example",
      "role": "content",
      "text": "Use this config when stores are declared directly under `metadata.stores`.\n\n[code example]"
    },
    {
      "id": "control-plane-managed-stores-example",
      "title": "Control Plane managed stores example",
      "role": "content",
      "text": "Use this config when the Data Plane serves stores created by the Control Plane.\nThe Data Plane and Control Plane must point to the same Metadata Redis namespace\nand Store Redis.\n\n[code example]\n\nThis Control Plane managed example leaves Data Plane auth disabled at the Agent\nMemory layer. To use Agent Memory agent keys, set `auth.method: agent_key` and\nfollow [Authentication and authorization](https://redis.io/docs/latest/develop/ai/context-engine/agent-memory/self-managed/authentication)."
    },
    {
      "id": "secret-key",
      "title": "Secret key",
      "role": "content",
      "text": "Create the Data Plane config Secret with the key\n`memory-dataplane.config.yaml`:\n\n[code example]"
    }
  ],
  "examples": [
    {
      "id": "static-stores-example-ex0",
      "language": "yaml",
      "code": "server:\n  host: 0.0.0.0\n  port: 9000\n\nlicense:\n  license_path: /etc/redis-agent-memory/license\ndefault_extraction_strategy: instruct\n\nrequest_region:\n  default: eu1\n\nbackground_jobs:\n  redis:\n    enabled: true\n    queue_prefix: ram\n    urls:\n      - redis://redis-jobs:6379\n    worker_regions:\n      - eu1\n\nmetadata:\n  stores:\n    # metadata.stores is a map keyed by store ID.\n    \"00000000000000000000000000000001\":\n      urls:\n        - redis://redis-store:6379\n      extraction_strategy: instruct\n      long_term_memory:\n        embedding_provider: openai\n        embedding_model: text-embedding-3-large\n        embedding_dimensions: 3072\n\nauth:\n  method: none\n\nembedders_connection_details:\n  openai:\n    base_url: https://api.openai.com\n    credentials:\n      type: static\n      api_key: \"<embedding-api-key>\"\n\ndataplane_client:\n  base_url: http://redis-agent-memory:9000\n  auth:\n    disabled: true\n\npromote_session_memory:\n  strategies:\n    instruct:\n      llm:\n        provider: openai\n        endpoint:\n          base_url: https://api.openai.com/v1\n          auth_format: bearer\n        credentials:\n          type: static\n          api_key: \"<promotion-llm-api-key>\"\n        models:\n          default_chat_model: gpt-4o",
      "section_id": "static-stores-example"
    },
    {
      "id": "control-plane-managed-stores-example-ex0",
      "language": "yaml",
      "code": "server:\n  host: 0.0.0.0\n  port: 9000\n\nlicense:\n  license_path: /etc/redis-agent-memory/license\ndefault_extraction_strategy: instruct\n\nrequest_region:\n  default: eu1\n\nbackground_jobs:\n  redis:\n    enabled: true\n    queue_prefix: ram\n    urls:\n      - redis://redis-jobs:6379\n    worker_regions:\n      - eu1\n\nmetadata:\n  source: live\n  live:\n    urls:\n      - redis://redis-meta:6379\n    namespace: iris:memory\n    store_db:\n      urls:\n        - redis://redis-store:6379\n\nauth:\n  method: none\n\nembedding:\n  provider: openai\n  models:\n    default_embedding_model: text-embedding-3-large\n    dimensions: 3072\n\nembedders_connection_details:\n  openai:\n    base_url: https://api.openai.com\n    credentials:\n      type: static\n      api_key: \"<embedding-api-key>\"\n\ndataplane_client:\n  base_url: http://redis-agent-memory:9000\n  auth:\n    disabled: true\n\npromote_session_memory:\n  strategies:\n    instruct:\n      llm:\n        provider: openai\n        endpoint:\n          base_url: https://api.openai.com/v1\n          auth_format: bearer\n        credentials:\n          type: static\n          api_key: \"<promotion-llm-api-key>\"\n        models:\n          default_chat_model: gpt-4o",
      "section_id": "control-plane-managed-stores-example"
    },
    {
      "id": "secret-key-ex0",
      "language": "bash",
      "code": "kubectl -n <namespace-name> create secret generic ram-config \\\n  --from-file=memory-dataplane.config.yaml=./memory-dataplane.config.yaml",
      "section_id": "secret-key"
    }
  ]
}
