Skip to content

gRPC + ConnectRPC for Node.js

A clear path from your first RPC to production

Connectum gives TypeScript teams a consistent service runtime for contracts, middleware, security, observability, and operations—without hiding the controls.

Docs
1.3.x
Compatibility
Runtime matrix

Start by goal

Use the shortest route to your outcome.

One service lifecycle

Compose only the capabilities you need.

The framework keeps lifecycle and registration predictable while modules remain explicit. Begin with the server; add production behavior as the service grows.

  1. 01DefineProto contracts and generated types
  2. 02RunServer lifecycle and transport
  3. 03ProtectValidation, auth, and resilience
  4. 04ObserveTraces, metrics, and logs
  5. 05OperateHealth, shutdown, and deployment

Fits your stack

One runtime across your service ecosystem.

Build on ConnectRPC and gRPC, operate with cloud-native tooling, and choose the brokers and runtimes that fit each service.

  • ConnectRPC
  • gRPC
  • Kubernetes
  • Istio
  • OpenTelemetry
  • RabbitMQ
  • Kafka
  • NATS
  • Redis
  • KeyDB
  • Dragonfly
  • AMQP
  • Redpanda
  • TypeScript
  • Bun
  • Node.js
  • pnpm

The central primitive

A server whose production behavior stays visible.

Services, protocols, middleware, and shutdown policy meet at createServer(). The full tutorial defines the proto, implements the handler, starts the service, and verifies a real RPC.

server.ts
typescript
import { createServer } from '@connectum/core';
import { Healthcheck } from '@connectum/healthcheck';
import { createDefaultInterceptors } from '@connectum/interceptors';
import { Reflection } from '@connectum/reflection';
import { greeterService } from './services/greeterService.ts';
const server = createServer({
  services: [greeterService],
  port: 5000,
  protocols: [Healthcheck({ httpEnabled: true }), Reflection()],
  interceptors: createDefaultInterceptors(),
  shutdown: { autoShutdown: true },
});
await server.start();

Explore modules

Navigate by capability, not dependency graph.

Each module links learning material, focused configuration, and its generated API surface.

Foundation

Foundation

@connectum/core

Server lifecycle, service registration, configuration, TLS, and in-process clients.

createServer · defineService · createCatalogClient

Security

Security

@connectum/auth

JWT, gateway, session, internal-service authentication, and authorization.

createJwtAuthInterceptor · createAuthzInterceptor · requireAuthContext

Communication

Communication

@connectum/events

Proto-first publish and subscribe with middleware, retries, and dead-letter handling.

createEventBus · MemoryAdapter · createBroadcastSubscribers

Operations

Operations

@connectum/otel

OpenTelemetry tracing, metrics, logging, providers, and client/server instrumentation.

createOtelInterceptor · initProvider · getLogger

Tooling and testing

Tooling and testing

@connectum/cli

Service scaffolding, service generation, version inspection, and reflection-based proto sync.

connectum init · connectum generate service · connectum proto sync

Tooling and testing

@connectum/testing

Supported test servers, local transports, parity helpers, collectors, and assertions.

createTestServer · withTestServer · createLocalClient

Tooling and testing

@connectum/test-fixtures

Low-level mock factories and protobuf descriptor fixtures for advanced test tooling.

createMockRequest · createFakeService · createMockStream

Compare all packages →

Keep moving

From evaluation to operation.