River Logiceode docs
Reference

Install with Helm

Install eode into a Kubernetes cluster you already run, using the same chart the stack uses.

cluster-admin on an existing EKS cluster

The one-click stack installs this chart for you. If you'd rather run your own cluster, install the chart yourself.

You provide

NeedsWhy
Kubernetes 1.33 or later
The Secrets Store CSI driver and its AWS provider, with secret sync onSecrets come from your store (Secrets)
Envoy Gateway 1.9 or laterThe edge: TLS, cookie session persistence, hour-long requests
cert-manager with Gateway API support, unless you bring certificatesCertificates
An EFS file system and access pointUsers' models, shared by the app and every engine
An engine node group labelled and tainted workload=eo:NoScheduleEngines are placed only there
A CNI that enforces NetworkPolicyEngine isolation
EKS Pod Identity for service accounts eode-app, eode-mcp, eode-migrateReading secrets
PostgreSQL 16 with the vector extension, and Redis with TLS

Install

aws ecr get-login-password --region us-east-1 | helm registry login --username AWS --password-stdin REGISTRY
helm upgrade --install eode oci://REGISTRY/eode/charts/eode --version RELEASE \
  -n eode --create-namespace -f values.yaml

A minimal values.yaml:

cloud: { provider: aws, region: AWS_REGION, secretsPrefix: "eode/" }
app: { host: APP_HOST }
mcp: { host: MCP_HOST, signInDomain: SIGNIN_DOMAIN }
signIn: { clientId: SIGNIN_CLIENT_ID }
storage: { models: { efs: { fileSystemId: EFS_ID, accessPointId: EFS_ACCESS_POINT_ID } } }
network: { vpcCidrs: [VPC_CIDR] }
tls: { mode: LetsEncrypt, acmeEmail: YOU@EXAMPLE.COM }
database: { bootstrap: true }

To upgrade, run the same command with the new RELEASE. The chart runs the database migration before anything restarts, and stops the upgrade if it fails.

Values

ValueDefaultWhat it does
app.hostrequiredThe web app's hostname
app.replicas, app.turnsPerReplica2, 4Copies of the web app, and RIA conversations each runs at once
mcp.enabled, mcp.hosttrue, required if enabledThe MCP endpoint
mcp.signInDomainrequired if enabledWhere MCP sign-in tokens come from
mcp.allowedClientsanyOnly accept tokens issued to these client applications
signIn.clientId, signIn.adminRolerequired, adminYour sign-in connection
llm.baseUrlapi.anthropic.comAn Anthropic-compatible endpoint
engines.memoryClasses12Gi,24Gi,48Gi,112GiEngine sizes, smallest first
engines.idleMinutes30Idle engines are removed after this
storage.models.size100Gi
telemetry.mode, telemetry.otlpEndpointoffotlp sends to your own collector
dataConnections.denyCidrsemptyInternal ranges a data connection may never reach
network.policiestrueApply eode's network policies
network.vpcCidrs, network.serviceCidrYour internal ranges
gateway.className, gateway.serviceAnnotationsegThe Gateway class, and load balancer annotations (for example, internal-only)
tls.modeLetsEncryptLetsEncrypt, ClusterIssuer, AcmCertificate or Secret
database.bootstrapfalseCreate the app login and turn on vector before migrating
probe.enabledfalseOne real conversation turn a day against your install

On this page