{
  "id": "deploy-static",
  "title": "Deploy with static stores",
  "url": "https://redis.io/docs/latest/develop/ai/context-engine/agent-memory/self-managed/deploy-static/",
  "summary": "Deploy Redis Agent Memory with static stores and no Control Plane.",
  "tags": [
    "docs",
    "develop",
    "ai"
  ],
  "last_updated": "2026-07-28T14:23:48-07:00",
  "page_type": "content",
  "content_hash": "57050520a3842de4303b090abda4c154da950e2829761337ce611023e351fb29",
  "sections": [
    {
      "id": "overview",
      "title": "Overview",
      "role": "overview",
      "text": "Use static stores for a first install or a private single-store deployment. In\nthis mode, stores are declared directly in Data Plane configuration. The\ndeployment does not include the Control Plane and does not use Metadata Redis.\n\nBefore you begin, review [prerequisites](https://redis.io/docs/latest/develop/ai/context-engine/agent-memory/self-managed/prerequisites)\nand create `memory-dataplane.config.yaml` from the\n[static stores example](https://redis.io/docs/latest/develop/ai/context-engine/agent-memory/self-managed/data-plane-configuration#static-stores-example)."
    },
    {
      "id": "create-the-namespace",
      "title": "Create the namespace",
      "role": "content",
      "text": "[code example]"
    },
    {
      "id": "create-secrets",
      "title": "Create Secrets",
      "role": "content",
      "text": "Create the license Secret:\n\n[code example]\n\nCreate the Data Plane config Secret:\n\n[code example]"
    },
    {
      "id": "create-helm-values",
      "title": "Create Helm values",
      "role": "content",
      "text": "Create SHA-256 checksums for externally managed Secrets. These values are used\nby Helm values to roll pods after Secret changes; they are not used to validate\nSecret integrity.\n\n**Linux:**\n\n[code example]\n\n**macOS:**\n\n[code example]\n\n\n\nCreate `ram-values.yaml`:\n\n[code example]"
    },
    {
      "id": "install-the-chart",
      "title": "Install the chart",
      "role": "setup",
      "text": "Add the Helm repository when installing from the public repository:\n\n[code example]\n\nInstall with `redis-agent-memory` as the Helm release name:\n\n[code example]\n\nOn small clusters, install without `--atomic --wait`, then watch pod status:\n\n[code example]\n\nIf you want Helm to wait, set an explicit timeout that matches the environment:\n\n[code example]"
    },
    {
      "id": "verify-the-deployment",
      "title": "Verify the deployment",
      "role": "content",
      "text": "Check pods:\n\n[code example]\n\nPort-forward the Data Plane:\n\n[code example]\n\nCheck health endpoints:\n\n[code example]\n\nExpected `/health` response:\n\n[code example]\n\nDo not expose an auth-disabled Data Plane to untrusted callers. Use Kubernetes\nNetworkPolicy, private service exposure, ingress, gateway, service mesh, or\nequivalent controls to restrict access."
    }
  ],
  "examples": [
    {
      "id": "create-the-namespace-ex0",
      "language": "bash",
      "code": "kubectl create namespace <namespace-name>",
      "section_id": "create-the-namespace"
    },
    {
      "id": "create-secrets-ex0",
      "language": "bash",
      "code": "kubectl -n <namespace-name> create secret generic ram-license \\\n  --from-file=license=./license",
      "section_id": "create-secrets"
    },
    {
      "id": "create-secrets-ex1",
      "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": "create-secrets"
    },
    {
      "id": "create-helm-values-ex0",
      "language": "bash",
      "code": "LICENSE_CHECKSUM=\"$(sha256sum ./license | awk '{print $1}')\"\nCONFIG_CHECKSUM=\"$(sha256sum ./memory-dataplane.config.yaml | awk '{print $1}')\"",
      "section_id": "create-helm-values"
    },
    {
      "id": "create-helm-values-ex1",
      "language": "bash",
      "code": "LICENSE_CHECKSUM=\"$(shasum -a 256 ./license | awk '{print $1}')\"\nCONFIG_CHECKSUM=\"$(shasum -a 256 ./memory-dataplane.config.yaml | awk '{print $1}')\"",
      "section_id": "create-helm-values"
    },
    {
      "id": "create-helm-values-ex2",
      "language": "yaml",
      "code": "license:\n  existingSecret: ram-license\n  existingSecretChecksum: \"<license-checksum>\"\n\nconfig:\n  existingSecret: ram-config\n  existingSecretChecksum: \"<config-checksum>\"\n\nimage:\n  repository: redislabs/agent-memory\n  tag: \"<ram-version>\"",
      "section_id": "create-helm-values"
    },
    {
      "id": "install-the-chart-ex0",
      "language": "bash",
      "code": "helm repo add redis-ai https://helm.redis.io/ai\nhelm repo update redis-ai\nhelm search repo redis-ai/redis-agent-memory --versions",
      "section_id": "install-the-chart"
    },
    {
      "id": "install-the-chart-ex1",
      "language": "bash",
      "code": "helm install redis-agent-memory redis-ai/redis-agent-memory \\\n  --version <chart-version> \\\n  --namespace <namespace-name> \\\n  --create-namespace \\\n  -f ram-values.yaml",
      "section_id": "install-the-chart"
    },
    {
      "id": "install-the-chart-ex2",
      "language": "bash",
      "code": "kubectl -n <namespace-name> get pods -w",
      "section_id": "install-the-chart"
    },
    {
      "id": "install-the-chart-ex3",
      "language": "bash",
      "code": "helm install redis-agent-memory redis-ai/redis-agent-memory \\\n  --version <chart-version> \\\n  --namespace <namespace-name> \\\n  --create-namespace \\\n  -f ram-values.yaml \\\n  --wait \\\n  --timeout 15m",
      "section_id": "install-the-chart"
    },
    {
      "id": "verify-the-deployment-ex0",
      "language": "bash",
      "code": "kubectl -n <namespace-name> get pods -l app.kubernetes.io/name=redis-agent-memory",
      "section_id": "verify-the-deployment"
    },
    {
      "id": "verify-the-deployment-ex1",
      "language": "bash",
      "code": "kubectl -n <namespace-name> port-forward svc/redis-agent-memory 9000:9000",
      "section_id": "verify-the-deployment"
    },
    {
      "id": "verify-the-deployment-ex2",
      "language": "bash",
      "code": "curl http://localhost:9000/health\ncurl http://localhost:9000/health/liveness\ncurl http://localhost:9000/health/readiness",
      "section_id": "verify-the-deployment"
    },
    {
      "id": "verify-the-deployment-ex3",
      "language": "json",
      "code": "{\"status\":\"healthy\"}",
      "section_id": "verify-the-deployment"
    }
  ]
}
