JumpStart Deployment
Deployment model, runtime requirements, environment variables, worker process, and onboarding checklist for JumpStart SAP Intelligence
Updated 2026-11-03
Verified 2026-11-03
JumpStart SAP Intelligence is deployed as a containerized Next.js application with a companion worker process and a PostgreSQL database. It can run near Cosmos in EY-managed infrastructure, in a client-dedicated stack, or split so JumpStart stays inside the client network while Cosmos remains EY-hosted.
JumpStart deployment model
SourceLoading diagram...
Current Deployment Notes
- Deployment config drives
KROKI_URLfrom environment variables with a public default. - Document-generation guardrails, BBP document continuation, and DMS/output progress reporting are part of the runtime reliability boundary.
- Project members, groups, and journey grants live in native Cosmos project RBAC, so a deployment needs no separate access-sync job. Project member search is paginated and scoped to the authenticated project/user boundary.
- The same image runs the webserver and the worker;
MODEselects which one starts.
Deployment Patterns
| Pattern | Use When | Notes |
|---|---|---|
| EY-hosted shared instance | Standard EY-led engagements | One JumpStart deployment serves multiple projects; tenant isolation is enforced by Cosmos org, JumpStart project RBAC, and encrypted connection records |
| Client-dedicated instance | Strict isolation or regulatory requirements | Dedicated JumpStart, database, secrets, DNS, and usually a dedicated Cosmos org or stack |
| Split client-network deployment | Client systems must stay reachable only from client network | JumpStart runs near SAP/Oracle/BTP; it calls Cosmos over outbound HTTPS |
Runtime Components
| Component | Required | Purpose |
|---|---|---|
| JumpStart webserver | Yes | Next.js app, API routes, OAuth callbacks, workbench UI |
| JumpStart worker | Yes for AI flows | Durable chat/job processing and ADK V2 streaming through SDK |
| Redis | Yes for AI flows | BullMQ job queues shared by webserver and worker |
| PostgreSQL | Yes | Prisma data: projects, journeys, users, connections, sessions, jobs, access audit records |
| Cosmos platform | Yes | User Service, ADK, Configurator, Storage, Observer, Chat, MCP tools, optional RAGflow and Bridge |
| Client system network path | Per workbench | SAP ADT, Oracle DB, or BTP Neo access |
Infrastructure Requirements
| Resource | Minimum | Recommended |
|---|---|---|
| Webserver CPU | 500m | 1 vCPU |
| Webserver memory | 512 Mi | 1 Gi |
| Worker CPU | 500m | 1 vCPU+ |
| Worker memory | 512 Mi | 1 Gi+ |
| PostgreSQL storage | 1 Gi | 10 Gi+ |
| Node.js | 24 | 24 |
Required Environment
| Variable | Purpose |
|---|---|
DATABASE_URL | JumpStart PostgreSQL connection |
NEXTAUTH_URL | Public JumpStart URL |
NEXTAUTH_SECRET | NextAuth secret (NEXTAUTHSECRET is accepted as an alias) |
COSMOS_ORG_ID | Cosmos organization UUID |
COSMOS_CLIENT_ID / COSMOS_CLIENT_SECRET | Cosmos OAuth2 app credentials (COSMOSCLIENTSECRET is accepted as an alias) |
COSMOS_JUMPSTART_SERVICE_CLIENT_ID | Service client ID for client_credentials calls (default cosmos-jumpstart-v1) |
COSMOS_USER_SERVICE_URL | Cosmos User Service base URL |
COSMOS_CONFIGURATOR_SERVICE_URL | Configurator base URL |
COSMOS_STORAGE_SERVICE_URL | Storage/DMS base URL |
COSMOS_ADK_SERVICE_URL | ADK HTTP base URL |
COSMOS_CHAT_SERVICE_URL, COSMOS_TOOLS_SERVICE_URL, COSMOS_MCP_SERVICE_URL | Chat and MCP tools base URLs |
COSMOS_OBSERVER_SERVICE_URL | Optional Observer base URL |
COSMOS_RAGFLOW_SERVICE_URL | Optional RAGflow base URL |
COSMOS_GATEWAY_URL | Optional fallback for services without a direct URL, only for a path-routing gateway |
REDIS_HOST, REDIS_PORT, REDIS_PASSWORD, REDIS_SSL, JOBS_REDIS_DB | Job queue Redis (defaults localhost:6379, DB 12) |
BRIDGE_SERVICE_URL / BRIDGE_PUBLIC_URL | Cosmos Bridge service URL and optional public bridge WebSocket URL used by the bridge launcher |
KROKI_URL | Optional self-hosted diagram renderer |
CREDENTIALS_ENCRYPTION_KEY | 32-byte hex key for encrypted system credentials |
In deployed environments each COSMOS_*_SERVICE_URL points at that service's own host, for example https://<adk-host>. See Base URLs.
Keep secrets in KeyVault, Secret Manager, or Kubernetes secrets. Do not bake them into images.
Local Run
JumpStart runs on port 3001 locally. Start the webserver and worker separately:
cd jumpstart-sap-intelligence
NODE_TLS_REJECT_UNAUTHORIZED=0 npm run dev
NODE_TLS_REJECT_UNAUTHORIZED=0 npm run dev:worker
Run Prisma migrations before starting a fresh database. Default journeys, blueprints, and engagement templates are seeded by the app itself (ensureSeeded() in lib/data/seed); no prisma db seed step is configured.
npx prisma migrate deploy
Image And Helm
The Docker build uses Node.js 24 and runs on a distroless Node.js 24 image. It installs @cosmos/sdk from the private SDK repository and Motif packages from the Motif npm registry, so both credentials are build arguments.
docker build \
--build-arg GITHUB_ACCESS_TOKEN=<github-token> \
--build-arg MOTIF_NPMRC=<motif-registry-token> \
-f deployment/docker/webserver/Dockerfile \
-t jumpstart-sap:latest .
The container listens on port 3000. MODE=webserver (default) starts the Next.js server; MODE=worker starts the job worker from the same image.
Deploy with the service Helmfile values for the target cloud/environment. The webserver and worker need the same Cosmos, database, OAuth, and encryption configuration.
Onboarding Checklist
- Create or select the Cosmos organization and record the
org_id. - Create the Cosmos OAuth2 application for JumpStart and configure redirect URIs.
- Configure JumpStart environment variables and secrets.
- Run Prisma migrations; default journeys and templates are seeded on startup.
- Add project members and groups, and review journey access in Settings → Project Access.
- Configure LLM access through Cosmos org settings/BYOT.
- Upload project documents to DMS and index KB collections if needed.
- Add SAP, Oracle, or BTP connections in JumpStart and verify health checks.
- Start the worker and submit a test durable chat job.
- Check Observer for standard/eval traces after the test run.
Verification
| Check | Expected Result |
|---|---|
| OAuth login | Redirect succeeds and NextAuth session has Cosmos token |
| Workbench load | Blueprint panels render and terminal state persists after reload |
| Durable job | Job streams chunks/tool events and reaches a terminal state |
| DMS upload/preview | Uploaded file can be previewed or downloaded |
| Connector tool | SAP/Oracle/BTP health check or search returns data |
| Observability | Session and tool events appear in Cosmos Observer |
Troubleshooting
| Symptom | Likely Cause | Fix |
|---|---|---|
Login returns to /signin | Bad OAuth client ID/secret or redirect URI | Verify Cosmos OAuth app and NEXTAUTH_URL |
| Worker never picks jobs | Worker process not running or Redis/queue config mismatch | Start npm run dev:worker locally, check worker deployment logs, and confirm webserver and worker share the same REDIS_* and JOBS_REDIS_DB settings |
| Journey missing for a user | Agent not authorized for the project, journey catalog entry disabled, or a journey restriction | Check Settings → Project Access for the user's effective access |
| Generated files missing | DMS route or Storage URL mismatch | Verify COSMOS_STORAGE_SERVICE_URL and user token permissions |
| SAP connection refused | Network path blocked | Verify outbound HTTPS from JumpStart pod or use split/client-network deployment |
| Decryption failed | CREDENTIALS_ENCRYPTION_KEY changed | Restore original key or re-enter connection credentials |