the-moby-effect
Version:
Moby/Docker API client built using effect-ts
333 lines • 18 kB
TypeScript
/**
* Docker engine promises api
*
* @since 1.0.0
*/
import type * as Layer from "effect/Layer";
import type * as MobySchemas from "./MobySchemas.js";
import * as Function from "effect/Function";
import * as Stream from "effect/Stream";
import * as DockerEngine from "./DockerEngine.js";
/**
* Create a promise client for the docker engine
*
* @since 1.0.0
* @category Promises
*/
export declare const promiseClient: <E>(layer: Layer.Layer<Layer.Layer.Success<DockerEngine.DockerLayer>, Layer.Layer.Error<DockerEngine.DockerLayer> | E, Layer.Layer.Context<DockerEngine.DockerLayer>>) => Promise<{
pull: (a: {
image: string;
auth?: string | undefined;
platform?: string | undefined;
}) => ReadableStream<MobySchemas.JSONMessage>;
build: <E1>(a: {
tag: string;
auth?: string | undefined;
platform?: string | undefined;
dockerfile?: string | undefined;
context: Stream.Stream<Uint8Array, E1, never>;
buildArgs?: Record<string, string | undefined> | undefined;
}) => ReadableStream<MobySchemas.JSONMessage>;
stop: (containerId: string) => Promise<void>;
start: (containerId: string) => Promise<void>;
run: (containerOptions: {
readonly name?: string | undefined;
readonly platform?: string | undefined;
readonly spec: {
readonly Image: string;
readonly MacAddress?: string | null | undefined;
readonly Hostname?: string | null | undefined;
readonly Domainname?: string | null | undefined;
readonly User?: string | null | undefined;
readonly AttachStdin?: boolean | null | undefined;
readonly AttachStdout?: boolean | null | undefined;
readonly AttachStderr?: boolean | null | undefined;
readonly Tty?: boolean | null | undefined;
readonly OpenStdin?: boolean | null | undefined;
readonly StdinOnce?: boolean | null | undefined;
readonly WorkingDir?: string | null | undefined;
readonly ExposedPorts?: {
readonly [x: `${number}`]: object;
readonly [x: `${number}/tcp`]: object;
readonly [x: `${number}/udp`]: object;
} | null | undefined;
readonly Env?: readonly string[] | null | undefined;
readonly Cmd?: readonly string[] | null | undefined;
readonly Healthcheck?: {
readonly Test?: readonly string[] | null | undefined;
readonly Interval?: number | undefined;
readonly Timeout?: number | undefined;
readonly StartPeriod?: number | undefined;
readonly StartInterval?: number | undefined;
readonly Retries?: number | undefined;
} | null | undefined;
readonly ArgsEscaped?: boolean | null | undefined;
readonly Volumes?: {
readonly [x: string]: object;
} | null | undefined;
readonly Entrypoint?: readonly string[] | null | undefined;
readonly NetworkDisabled?: boolean | null | undefined;
readonly OnBuild?: readonly string[] | null | undefined;
readonly Labels?: {
readonly [x: string]: string;
} | null | undefined;
readonly StopSignal?: string | null | undefined;
readonly StopTimeout?: number | null | undefined;
readonly Shell?: readonly string[] | null | undefined;
readonly HostConfig?: {
readonly Links?: readonly string[] | null | undefined;
readonly Binds?: readonly string[] | null | undefined;
readonly ContainerIDFile?: string | null | undefined;
readonly LogConfig?: {
readonly Type: string;
readonly Config: {
readonly [x: string]: string;
} | null;
} | null | undefined;
readonly NetworkMode?: "default" | "none" | "host" | "bridge" | "nat" | null | undefined;
readonly PortBindings?: {
readonly [x: `${number}`]: readonly {
readonly HostPort: string;
readonly HostIp?: string | null | undefined;
}[];
readonly [x: `${number}/tcp`]: readonly {
readonly HostPort: string;
readonly HostIp?: string | null | undefined;
}[];
readonly [x: `${number}/udp`]: readonly {
readonly HostPort: string;
readonly HostIp?: string | null | undefined;
}[];
} | null | undefined;
readonly RestartPolicy?: {
readonly Name: "no" | "always" | "unless-stopped" | "on-failure";
readonly MaximumRetryCount: number;
} | null | undefined;
readonly AutoRemove?: boolean | null | undefined;
readonly VolumeDriver?: string | null | undefined;
readonly VolumesFrom?: readonly string[] | null | undefined;
readonly ConsoleSize?: readonly number[] | null | undefined;
readonly Annotations?: {
readonly [x: string]: string;
} | null | undefined;
readonly CapAdd?: readonly string[] | null | undefined;
readonly CapDrop?: readonly string[] | null | undefined;
readonly CgroupnsMode?: "" | "private" | "host" | null | undefined;
readonly Dns?: readonly string[] | null | undefined;
readonly DnsOptions?: readonly string[] | null | undefined;
readonly DnsSearch?: readonly string[] | null | undefined;
readonly ExtraHosts?: readonly string[] | null | undefined;
readonly GroupAdd?: readonly string[] | null | undefined;
readonly IpcMode?: "private" | "none" | "host" | "container" | "shareable" | null | undefined;
readonly Cgroup?: string | null | undefined;
readonly OomScoreAdj?: number | null | undefined;
readonly PidMode?: string | null | undefined;
readonly Privileged?: boolean | null | undefined;
readonly PublishAllPorts?: boolean | null | undefined;
readonly ReadonlyRootfs?: boolean | null | undefined;
readonly SecurityOpt?: readonly string[] | null | undefined;
readonly StorageOpt?: {
readonly [x: string]: string;
} | null | undefined;
readonly Tmpfs?: {
readonly [x: string]: string;
} | null | undefined;
readonly UTSMode?: string | null | undefined;
readonly UsernsMode?: string | null | undefined;
readonly ShmSize?: number | null | undefined;
readonly Sysctls?: {
readonly [x: string]: string;
} | null | undefined;
readonly Runtime?: string | null | undefined;
readonly Isolation?: "" | "default" | "process" | "hyperv" | null | undefined;
readonly CpuShares?: number | null | undefined;
readonly Memory?: number | null | undefined;
readonly NanoCpus?: number | null | undefined;
readonly CgroupParent?: string | null | undefined;
readonly BlkioWeight?: number | null | undefined;
readonly BlkioWeightDevice?: readonly ({
readonly Path: string;
readonly Weight: number;
} | null)[] | null | undefined;
readonly BlkioDeviceReadBps?: readonly ({
readonly Path: string;
readonly Rate: number;
} | null)[] | null | undefined;
readonly BlkioDeviceWriteBps?: readonly ({
readonly Path: string;
readonly Rate: number;
} | null)[] | null | undefined;
readonly BlkioDeviceReadIOps?: readonly ({
readonly Path: string;
readonly Rate: number;
} | null)[] | null | undefined;
readonly BlkioDeviceWriteIOps?: readonly ({
readonly Path: string;
readonly Rate: number;
} | null)[] | null | undefined;
readonly CpuPeriod?: number | null | undefined;
readonly CpuQuota?: number | null | undefined;
readonly CpuRealtimePeriod?: number | null | undefined;
readonly CpuRealtimeRuntime?: number | null | undefined;
readonly CpusetCpus?: string | null | undefined;
readonly CpusetMems?: string | null | undefined;
readonly Devices?: readonly ({
readonly PathOnHost: string;
readonly PathInContainer: string;
readonly CgroupPermissions: string;
} | null)[] | null | undefined;
readonly DeviceCgroupRules?: readonly string[] | null | undefined;
readonly DeviceRequests?: readonly ({
readonly Driver: string;
readonly Count: number;
readonly DeviceIDs: readonly string[] | null;
readonly Capabilities: readonly (readonly string[] | null)[] | null;
readonly Options: {
readonly [x: string]: string;
} | null;
} | null)[] | null | undefined;
readonly KernelMemory?: number | null | undefined;
readonly KernelMemoryTCP?: number | null | undefined;
readonly MemoryReservation?: number | null | undefined;
readonly MemorySwap?: number | null | undefined;
readonly MemorySwappiness?: number | null | undefined;
readonly OomKillDisable?: boolean | null | undefined;
readonly PidsLimit?: number | null | undefined;
readonly Ulimits?: readonly ({
readonly Name: string;
readonly Hard: number;
readonly Soft: number;
} | null)[] | null | undefined;
readonly CpuCount?: number | null | undefined;
readonly CpuPercent?: number | null | undefined;
readonly IOMaximumIOps?: number | null | undefined;
readonly IOMaximumBandwidth?: number | null | undefined;
readonly Mounts?: readonly ({
readonly BindOptions?: {
readonly Propagation?: "rprivate" | "private" | "rshared" | "shared" | "rslave" | "slave" | undefined;
readonly NonRecursive?: boolean | undefined;
readonly CreateMountpoint?: boolean | undefined;
readonly ReadOnlyNonRecursive?: boolean | undefined;
readonly ReadOnlyForceRecursive?: boolean | undefined;
} | null | undefined;
readonly Type?: "bind" | "volume" | "tmpfs" | "npipe" | "cluster" | undefined;
readonly ClusterOptions?: {} | null | undefined;
readonly TmpfsOptions?: {
readonly Options?: readonly (readonly string[] | null)[] | null | undefined;
readonly SizeBytes?: number | undefined;
readonly Mode?: number | undefined;
} | null | undefined;
readonly VolumeOptions?: {
readonly Labels?: {
readonly [x: string]: string;
} | null | undefined;
readonly NoCopy?: boolean | undefined;
readonly Subpath?: string | undefined;
readonly DriverConfig?: {
readonly Name?: string | undefined;
readonly Options?: {
readonly [x: string]: string;
} | null | undefined;
} | null | undefined;
} | null | undefined;
readonly Source?: string | undefined;
readonly Target?: string | undefined;
readonly ReadOnly?: boolean | undefined;
readonly Consistency?: "default" | "consistent" | "cached" | "delegated" | undefined;
} | null)[] | null | undefined;
readonly MaskedPaths?: readonly string[] | null | undefined;
readonly ReadonlyPaths?: readonly string[] | null | undefined;
readonly Init?: boolean | null | undefined;
} | null | undefined;
readonly NetworkingConfig?: {
readonly EndpointsConfig: {
readonly [x: string]: {
readonly MacAddress: string;
readonly NetworkID: string;
readonly EndpointID: string;
readonly Gateway: string;
readonly IPPrefixLen: number;
readonly IPv6Gateway: string;
readonly GlobalIPv6Address: string;
readonly GlobalIPv6PrefixLen: number;
readonly IPAMConfig: {
readonly IPv4Address?: string | undefined;
readonly IPv6Address?: string | undefined;
readonly LinkLocalIPs?: readonly string[] | null | undefined;
} | null;
readonly Links: readonly string[] | null;
readonly Aliases: readonly string[] | null;
readonly DriverOpts: {
readonly [x: string]: string;
} | null;
readonly IPAddress: string;
readonly DNSNames: readonly string[] | null;
} | null;
} | null;
} | null | undefined;
};
}) => Promise<MobySchemas.ContainerInspectResponse>;
exec: (a_0: {
containerId: string;
command: string | Array<string>;
}) => Promise<readonly [exitCode: number, output: string]>;
execNonBlocking: <T extends boolean | undefined = undefined>(a_0: {
detach?: T;
containerId: string;
command: string | Array<string>;
}) => Promise<[socket: T extends true ? void : import("./MobyDemux.js").MultiplexedSocket | import("./MobyDemux.js").RawSocket, execId: string]>;
execWebsockets: (a_0: {
command: string | Array<string>;
containerId: string;
}) => Promise<readonly [stdout: string, stderr: string]>;
execWebsocketsNonBlocking: (a: {
command: string | Array<string>;
containerId: string;
}) => ReadableStream<import("./MobyDemux.js").MultiplexedChannel<never, import("@effect/platform/Socket").SocketError | import("./MobyEndpoints.js").ContainersError, never>>;
ps: (options?: {
readonly all?: boolean | undefined;
readonly limit?: number | undefined;
readonly size?: boolean | undefined;
readonly filters?: {
ancestor?: string | undefined;
before?: string | undefined;
expose?: `${number}/${string}` | `${number}-${number}/${string}` | undefined;
exited?: number | undefined;
health?: "starting" | "healthy" | "unhealthy" | "none" | undefined;
id?: string | undefined;
isolation?: "default" | "process" | "hyperv" | undefined;
"is-task"?: true | false | undefined;
label?: Record<string, string> | undefined;
name?: string | undefined;
network?: string | undefined;
publish?: `${number}/${string}` | `${number}-${number}/${string}` | undefined;
since?: string | undefined;
status?: "created" | "restarting" | "running" | "removing" | "paused" | "exited" | "dead" | undefined;
volume?: string | undefined;
} | undefined;
} | undefined) => Promise<readonly MobySchemas.ContainerListResponseItem[]>;
push: (options: {
readonly name: string;
readonly tag?: string;
readonly "X-Registry-Auth": string;
}) => ReadableStream<string>;
images: (options?: {
readonly all?: boolean;
readonly filters?: string | undefined;
readonly "shared-size"?: boolean | undefined;
readonly digests?: boolean | undefined;
} | undefined) => Promise<readonly MobySchemas.ImageSummary[]>;
search: (options: {
readonly term: string;
readonly limit?: number | undefined;
readonly stars?: number | undefined;
readonly "is-official"?: boolean | undefined;
}) => Promise<readonly MobySchemas.RegistrySearchResponse[]>;
version: () => Promise<Readonly<MobySchemas.SystemVersionResponse>>;
info: () => Promise<Readonly<MobySchemas.SystemInfoResponse>>;
ping: () => Promise<"OK">;
pingHead: () => Promise<void>;
followProgressInConsole: (evaluate: Function.LazyArg<ReadableStream<MobySchemas.JSONMessage>>, onError: (error: unknown) => unknown) => Promise<readonly MobySchemas.JSONMessage[]>;
waitForProgressToComplete: (evaluate: Function.LazyArg<ReadableStream<MobySchemas.JSONMessage>>, onError: (error: unknown) => unknown) => Promise<readonly MobySchemas.JSONMessage[]>;
}>;
//# sourceMappingURL=Promises.d.ts.map