UNPKG

the-moby-effect

Version:
333 lines 18 kB
/** * 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