Skip to content
Effect 4.0 is here. One ecosystem. Zero dependencies.

RunnerHealth

6 exports Since v1.0.0 Source

Constructors

Since v1.0.0

Signature

declare const makeK8s: (...args: [options?: {
readonly labelSelector?: string;
readonly namespace?: string;
}]) => Effect<any, never, K8sHttpClient>
Since v1.0.0

Signature

declare const makePing: Effect.Effect<RunnerHealth["Type"], never, Runners.Runners | Scope.Scope>

Layers

Since v1.0.0

A layer which will check the Kubernetes API to see if a Runner is healthy.

The provided HttpClient will need to add the pod's CA certificate to its trusted root certificates in order to communicate with the Kubernetes API.

The pod service account will also need to have permissions to list pods in order to use this layer.

Signature

declare function layerK8s(options?: {
readonly labelSelector?: string;
readonly namespace?: string;
}): Layer<RunnerHealth, never, K8sHttpClient>

A layer which will always consider a Runner healthy.

This is useful for testing.

Signature

declare const layerNoop: Layer<unknown, never, never>

A layer which will ping a Runner directly to check if it is healthy.

Signature

declare const layerPing: Layer.Layer<RunnerHealth, never, Runners.Runners>

Models

Represents the service used to check if a Runner is healthy.

If a Runner is responsive, shards will not be re-assigned because the Runner may still be processing messages. If a Runner is not responsive, then its associated shards can and will be re-assigned to a different Runner.

Signature

declare class RunnerHealth extends any {
constructor();
}