Resources
CPU, memory, disk, and GPU requirements for Scrydon deployments
Use these requirements to size the cluster before running helm install.
Minimum (evaluation / small teams)
| Resource | Requirement |
|---|---|
| CPU | 6 vCPU |
| RAM | 32 GB |
| Disk | 80 GB (database + StarRocks + images) |
| GPU | Not required |
These numbers assume the full default stack: Platform UI, Agentic, Cortex, Analytics, the bundled Postgres, SeaweedFS, and a single-pod StarRocks for Managed Tables. To run on smaller nodes (4 vCPU / 16 GB), trim the optional components. See Helm → Trimming for low-resource installs.
Recommended (production)
| Resource | Requirement |
|---|---|
| CPU | 16 vCPU |
| RAM | 64 GB |
| Disk | 200 GB SSD |
| GPU | Optional. Required only for local AI model inference, such as running Ollama in-cluster. |
Note: GPU resources are contractually licensed (your license JWT reflects your entitlement), but Scrydon does not runtime-enforce GPU limits. GPU nodes are only needed if you plan to run local inference models inside your cluster.
Per-service memory
The Helm chart sets these per-pod memory requests and limits for single-replica defaults. The request is what the scheduler reserves. Your node pool must satisfy the sum of requests for enabled services before pods will schedule, so it is your reserved floor. The limit is the burst ceiling before a pod is OOM-killed.
To size node pools: sum the requests as the reserved floor, check the sum of limits for worst-case burst, then add ~30% headroom for kube-system pods, Dapr sidecars (~250 MiB each), the Dapr control plane, and small bundled infra such as OPA / Lakekeeper (~128 MiB each).
| Service | Memory request | Memory limit | Notes |
|---|---|---|---|
platform (UI) | 1 GiB | 2 GiB | SSR shell + control-plane routes |
agentic (workflow app) | 2 GiB | 4 GiB | Heaviest app: workflow engine + Dapr actor host |
agentic-realtime | 256 MiB | 512 MiB | WebSocket fan-out |
analytics (UI) | 1.5 GiB | 2 GiB | SSR + chart rendering; heaviest steady-state RSS |
cortex (chat UI) | 1 GiB | 2 GiB | SSR + LLM streaming proxy |
api-platform (auth/API) | 1 GiB | 2 GiB | Catalog + workspace sources |
api-ontology | 256 MiB | 512 MiB | Optional |
api-table | 256 MiB | 512 MiB | Enabled by default; backs Managed Tables. Disable with apiTable.enabled: false. |
marimo-sidecar | 512 MiB | 2 GiB | Python kernel for analytics notebooks |
infra.db (Postgres) | 256 MiB | 1 GiB | Bundled. Disable if using managed Postgres. |
infra.seaweedfs | 256 MiB | 1 GiB | Bundled. Disable if using managed S3. |
infra.starrocks | 2 GiB | 8 GiB | Enabled by default (single-pod allin1). Disable with infra.starrocks.enabled: false or replace with the StarRocks Operator for multi-AZ. |
Limits were last revised on 2026-05-18 (v1.3.5-rc.54 binary-minification rollout, PR #1142, which roughly doubled steady-state RSS for the SSR apps; the platform limit was subsequently raised to 2 GiB on 2026-05-29). Requests were right-sized on 2026-07-06 (PR #2257) to track measured steady-state RSS. The previous requests understated real usage 2-4x, so the scheduler over-packed nodes and pods were evicted mid-rollout under memory pressure. If you upgrade across either boundary on a pre-existing cluster, verify your node pool has headroom before running helm upgrade.