Skip to content

BunClusterSocket.ts

Bun socket layers for Effect Cluster runners.

The main layer builds a sharding layer for socket transport, choosing serialization, runner health checks, runner storage, message storage, and optional client-only mode from the supplied options. This module also re-exports the shared socket client and server protocol layers and provides layerK8sHttpClient for Kubernetes runner health checks.

Since v4.0.0



Creates Bun socket cluster layers, configuring serialization, storage, runner health, and optional client-only mode.

Signature

declare const layer: <
const ClientOnly extends boolean = false,
const Storage extends "local" | "sql" | "byo" = never
>(options?: {
readonly serialization?: "msgpack" | "ndjson" | undefined
readonly clientOnly?: ClientOnly | undefined
readonly storage?: Storage | undefined
readonly runnerHealth?: "ping" | "k8s" | undefined
readonly runnerHealthK8s?:
| { readonly namespace?: string | undefined; readonly labelSelector?: string | undefined }
| undefined
readonly shardingConfig?: Partial<ShardingConfig.ShardingConfig["Service"]> | undefined
}) => ClientOnly extends true
? Layer.Layer<
Sharding | Runners.Runners | ("byo" extends Storage ? never : MessageStorage.MessageStorage),
Config.ConfigError,
"local" extends Storage
? never
: "byo" extends Storage
? MessageStorage.MessageStorage | RunnerStorage.RunnerStorage
: SqlClient
>
: Layer.Layer<
Sharding | Runners.Runners | ("byo" extends Storage ? never : MessageStorage.MessageStorage),
SocketServer.SocketServerError | Config.ConfigError,
"local" extends Storage
? never
: "byo" extends Storage
? MessageStorage.MessageStorage | RunnerStorage.RunnerStorage
: SqlClient
>

Source

Since v4.0.0

Layer that provides K8sHttpClient, using the Kubernetes service-account CA certificate when it is available.

Signature

declare const layerK8sHttpClient: Layer.Layer<K8sHttpClient.K8sHttpClient, never, never>

Source

Since v4.0.0

Provides the cluster RpcClientProtocol using the shared socket client implementation.

Signature

declare const layerClientProtocol: Layer.Layer<Runners.RpcClientProtocol, never, RpcSerialization.RpcSerialization>

Source

Since v4.0.0

Provides the socket server used by Bun cluster runners through the shared socket server implementation.

Signature

declare const layerSocketServer: Layer.Layer<
SocketServer.SocketServer,
SocketServer.SocketServerError,
ShardingConfig.ShardingConfig
>

Source

Since v4.0.0