Skip to content

RunnerHealth

6 exports Added in v1.0.0 Source

Constructors

makeK8s

Added in v1.0.0 Source

Signature

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

makePing

Added in v1.0.0 Source

Signature

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

Layers

layerK8s

Added in v1.0.0 Source

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>;

layerNoop

Added in v1.0.0 Source

A layer which will always consider a Runner healthy.

This is useful for testing.

Signature

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

layerPing

Added in v1.0.0 Source

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

RunnerHealth

Added in v1.0.0 Source

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();
}