jedinintegrationipaasstackarchitecturenestjscamel-kkubernetes

JedIN Integration — Complete iPaaS Core Technology Stack

JedIN Team2026-04-229 min read

The JedIN iPaaS Core

The JedIN Integration product is the heart of the platform — an iPaaS (Integration Platform as a Service) competing directly with SAP CPI, Mulesoft, and n8n. This post documents the complete technology stack, layer by layer, with versions, libraries, and reference files.

It is a technical wiki targeted at architects, tech leads, and engineers who need full visibility into what runs in production.


Programming Languages

LayerLanguageVersion
FrontendTypeScript5.3
Backend (Control Plane)TypeScript5.3
Runtime (Data Plane)Java21 LTS
Compiled Flow DSLYAML (Camel K routes)
InfraYAML (K8s manifests)
Custom scripts in flowsJavaScript / Groovy (sandbox)
MCP serversJavaScript ES2022Node 20

TypeScript is the primary language for Control Plane and Frontend. Java 21 appears only on the Data Plane — Apache Camel K runs on Quarkus with ~1 second startup.


Presentation Layer — Frontend

Framework and Rendering

TechnologyVersionUsage
Next.js14.1App Router, SSR/SSG, i18n middleware
React18.2UI library
TypeScript5.3Static typing

Flow Designer (Visual Canvas)

The heart of the product:

  • React Flow 11.10.2 — node and edge canvas
  • Zustand 4.4.7 + Immer 10.0.3 — immutable state management in apps/web/stores/flow-designer.store.ts
  • Monaco Editor (@monaco-editor/react 4.7) — code editor for scripts, XSLT, expressions
  • Registered node types (13+): action, connector, trigger, transform, router, script, participant, event, container, integration-process, exception-subprocess, gateway, local-integration, annotation

Additional stores: auth, deployment, simulation, target-system, r2cx-project.

UI and Styling

TechnologyVersionUsage
Tailwind CSS3.4.1Utility-first styling
shadcn/uilatestComponent pattern
Radix UIlatestPrimitives (dialog, dropdown, select, slot, toast)
Lucide React0.309Icons
next-themes0.2.1Dark/light mode

Data, Forms, and Real-time

  • TanStack React Query 5.17 — server state, cache, refetch
  • Socket.io-client 4.8 — deploy status, real-time collaboration
  • react-hook-form 7.49 + Zod 3.22.4 — validated forms
  • next-intl 3.4 — i18n pt-BR / en-US / es, timezone America/Sao_Paulo

Client-side Observability

  • @sentry/nextjs 10.40 — error tracking
  • html-to-image 1.11 — flow screenshots
  • react-markdown 10.1 + remark-gfm — inline documentation

Management Layer — Backend

Framework and Runtime

TechnologyVersionUsage
Node.js20 LTSRuntime
NestJS10.3Modular framework
Express5.2.1HTTP adapter
TypeScript5.3Language

Persistence and ORM

  • Prisma 5.8 — type-safe ORM, schema at apps/api/prisma/schema.prisma (4,364 lines)
  • @prisma/client — generated client
  • pg / pgcrypto — Postgres driver + secret encryption

Async, Queue, and Jobs

  • BullMQ 5.1 + @nestjs/bullmq 10 — execution queues, webhooks, notifications, DLQ
  • @nestjs/schedule 4.x — cron jobs (flow triggers, scheduled integrations)
  • ioredis 5.3.2 — Redis client
  • Separate worker app: apps/worker/ (NestJS standalone)

Auth and Security

TechnologyVersionUsage
@nestjs/jwt10.2Access token (15min) + Refresh token (7d)
Passport0.7Local, JWT, LDAP, OpenID
passport-jwt4.0.1JWT strategy
ldapjs3.0.7Corporate LDAP/AD
openid-client6.8.2OpenID Connect SSO
otplib13.3MFA / TOTP
bcrypt5.1.1Password hashing
Helmet8.1Security headers

Kubernetes Integration

  • @kubernetes/client-node — official K8s client
  • Location: apps/api/src/modules/deployment/kubernetes.client.ts
  • Manages Camel K CRDs (Integration, IntegrationKit, Kamelet) and KEDA ScaledObject

Backend Utilities

LibraryVersionUsage
pdfkit0.15PDF generation
pdf-parse2.4PDF parsing
mammoth1.12DOCX → HTML/text
xlsx0.18Excel
fast-xml-parser5.3XML/SOAP
cheerio1.0HTML parsing
node-forge1.3Crypto (X.509, RSA)
class-validator0.14DTO validation

Observability

  • OpenTelemetry SDK + OTLP HTTP exporter
  • Jaeger — distributed tracing
  • Prometheus + Grafana — metrics
  • @sentry/nestjs 10.40 — error tracking
  • Custom health checks

Flow Compiler (JSON → Camel YAML)

Location: packages/flow-engine/ · 864 Vitest tests

The compiler transforms flow designer JSON into executable manifests:

FileResponsibility
compiler/camel-generator.ts40+ converters (EIPs, transformers, encoders, crypto, validators) → Camel YAML
compiler/k8s-manifests.tsGenerates camel.apache.org/v1/Integration + keda.sh/v1alpha1/ScaledObject CRDs
compiler/parser.tsFlow JSON parsing and normalization
compiler/planner.tsExecution planning
compiler/validator.tsSchema + semantic validation
iflow-parser.ts / iflow-generator.tsSAP CPI iFlow import/export (ZIP)

Resource limits by tier:

TierCPURAMReplicas
Free100m128Mi0–1
Starter250m256Mi0–3
Professional500m512Mi0–10
Enterprise1000m1Gi0–50

Runtime Layer — Data Plane

TechnologyVersionUsage
Apache Camel K2.9.xIntegration Engine (300+ connectors)
QuarkuslatestJVM runtime (~1s startup)
Java21 LTSLanguage
KEDA1.xEvent-driven auto-scaling
Kubernetes (EKS)1.35 AL2023Container orchestration

Camel K CRDs Used

CRDDescription
IntegrationPlatformPer-namespace config (registry, trait defaults)
IntegrationCompiled flow (source + traits + dependencies)
IntegrationKitBase image with resolved Maven deps
KameletReusable connector template

KEDA Auto-scaling

  • Polling interval: 30s
  • Cooldown period: 300s
  • Min replicas: 0 (scale-to-zero on Free tier)
  • Max replicas: 50 (Enterprise tier)
  • Fallback replicas: 3 (if scaler fails)

Runtime Multi-tenancy

  • Free/Starter — shared namespace jedin
  • Professional — namespace-per-tenant (jedin-tenant-<id>)
  • Enterprise — dedicated namespace + ResourceQuota + NetworkPolicy + BYOK

Data Layer

StoreTechnologyDev PortUsage
Primary DBPostgreSQL16, port 5433Transactional, multi-tenant RLS, partitioning
Cache / SessionsRedis7, port 6379BullMQ backend, DLQ, cache
Object StorageMinIO (S3-compat)port 9000Artifacts, flow definitions, execution logs
Event StreamApache KafkaoptionalDLQ for >100k msg/day
AnalyticsClickHouseoptionalAggregated metrics, long-term storage

Row-Level Security (RLS)

Every table with tenant_id has an active RLS policy:

CREATE POLICY tenant_isolation ON flows
  FOR ALL
  USING (tenant_id = current_setting('app.tenant_id')::uuid);

Setting injected by NestJS Tenant Middleware on every request: SET app.tenant_id = '<uuid>'.

Partitioning

High-volume tables (execution logs, audit, message traces) use date-based partitioning. Scripts in apps/api/prisma/scripts/.


Connector SDK

Location: packages/connector-sdk/ · 327 Vitest tests

Built-in Connectors by Category

CategoryConnectors
HTTPREST, Webhook, Timer
DatabasePostgreSQL, MySQL
AWSS3, SQS, SNS, DynamoDB, Lambda
AzureService Bus, Storage, Event Hubs
GCPPub/Sub, BigQuery, Storage
MessagingAMQP, Kafka (KafkaJS), IMAP, SFTP (ssh2-sftp-client 10)
EnterpriseSAP CPI, TOTVS, Vtex, C4C, S/4HANA, ABAP
Format/TransformSOAP (soap npm), XSLT (xslt-processor), OpenPGP 5.11, JSON, XML, CSV

MCP Ecosystem (Model Context Protocol)

30 MCP servers · 307 total tools

Core

MCPToolsFunction
mcp-jedin79Core iPaaS API + Playwright hybrid (Live View)
mcp-sharedbaseShared Playwright browser management

Integration (sample)

mcp-abap, mcp-s4hana, mcp-cpi, mcp-sac, mcp-totvs, mcp-vtex, mcp-salesforce, mcp-hubspot, mcp-jira, mcp-slack, mcp-whatsapp, mcp-postgres, mcp-mongodb, mcp-snowflake, mcp-shopify, mcp-stripe, mcp-pagseguro, mcp-mercadolivre, mcp-emarsys, mcp-powerbi, mcp-powerapps, mcp-github, mcp-sefaz.


DevOps & Deploy

Build and CI/CD

ToolUsage
pnpm workspaceMonorepo
TurboBuild pipeline (turbo.json)
kanikoIn-cluster build (envFrom aws-creds)
AWS ECRContainer registry (005250954903.dkr.ecr.sa-east-1)
GitHub ActionsCI/CD
Husky + lint-stagedGit hooks

Development Environment

docker-compose.dev.yml brings up:

  • Postgres 16 (port 5433)
  • Redis 7 (port 6379)
  • MinIO (ports 9000/9001)
  • Camel standalone (JBang or Camel Main, Alpine JRE 21)
  • Jaeger, Prometheus, Grafana

Production (AWS)

ResourceDetail
EKS1.35 AL2023
Node groupsm7i-flex.large (dedicated), t3-spot (overflow), openclaw-spot t3a.xlarge
Auto-scheduleLambda jedin-scheduler — Mon-Fri 08:00-23:30 BRT, weekends OFF
IRSAjedin-dev-ebs-csi-role for EBS CSI
Total cost~USD 299/month (dev env)

Quality Gates

MetricValue
Test suites129+
Total tests3,558+
Overall coverage80% (target 85%)
Services coverage80% (target 90%)
TypeScriptstrict mode
LintESLint + Prettier (pre-commit)

Key Navigation Files

  • Prisma schema: apps/api/prisma/schema.prisma
  • Flow Designer store: apps/web/stores/flow-designer.store.ts
  • Canvas: apps/web/components/flow-designer/canvas.tsx
  • Camel generator: packages/flow-engine/src/compiler/camel-generator.ts
  • K8s client: apps/api/src/modules/deployment/kubernetes.client.ts
  • NestJS modules: apps/api/src/modules/ (171+ services)

Summary

JedIN Integration is a 4-layer architecture with strict separation:

  1. Presentation — Next.js 14 + React Flow + Zustand
  2. Management — NestJS 10 + Prisma 5 + BullMQ + multi-strategy JWT
  3. Runtime — Camel K 2.9 + Quarkus + Java 21 + KEDA
  4. Data — PostgreSQL 16 (RLS) + Redis 7 + MinIO + optional Kafka/ClickHouse

The stack is opinionated, mature, and optimized for real multi-tenancy with tier-based isolation (RLS → schema-per-tenant → database-per-tenant + dedicated K8s namespace).

For the satellite products running on this core, see:

Related Articles

Chat with us on WhatsApp