@alchemy.run/docker 0.0.0 → 2.0.0-beta.85

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +46 -4
  3. package/lib/Bootstrap.d.ts +7 -0
  4. package/lib/Bootstrap.d.ts.map +1 -0
  5. package/lib/Bootstrap.js +25 -0
  6. package/lib/Bootstrap.js.map +1 -0
  7. package/lib/BuildHash.d.ts +56 -0
  8. package/lib/BuildHash.d.ts.map +1 -0
  9. package/lib/BuildHash.js +172 -0
  10. package/lib/BuildHash.js.map +1 -0
  11. package/lib/Container.d.ts +450 -0
  12. package/lib/Container.d.ts.map +1 -0
  13. package/lib/Container.js +745 -0
  14. package/lib/Container.js.map +1 -0
  15. package/lib/Context.d.ts +86 -0
  16. package/lib/Context.d.ts.map +1 -0
  17. package/lib/Context.js +146 -0
  18. package/lib/Context.js.map +1 -0
  19. package/lib/Docker.d.ts +527 -0
  20. package/lib/Docker.d.ts.map +1 -0
  21. package/lib/Docker.js +437 -0
  22. package/lib/Docker.js.map +1 -0
  23. package/lib/Dockerfile.d.ts +72 -0
  24. package/lib/Dockerfile.d.ts.map +1 -0
  25. package/lib/Dockerfile.js +12 -0
  26. package/lib/Dockerfile.js.map +1 -0
  27. package/lib/HealthcheckCommand.d.ts +17 -0
  28. package/lib/HealthcheckCommand.d.ts.map +1 -0
  29. package/lib/HealthcheckCommand.js +33 -0
  30. package/lib/HealthcheckCommand.js.map +1 -0
  31. package/lib/Image.d.ts +179 -0
  32. package/lib/Image.d.ts.map +1 -0
  33. package/lib/Image.js +210 -0
  34. package/lib/Image.js.map +1 -0
  35. package/lib/ImageSource.d.ts +288 -0
  36. package/lib/ImageSource.d.ts.map +1 -0
  37. package/lib/ImageSource.js +498 -0
  38. package/lib/ImageSource.js.map +1 -0
  39. package/lib/Network.d.ts +70 -0
  40. package/lib/Network.d.ts.map +1 -0
  41. package/lib/Network.js +111 -0
  42. package/lib/Network.js.map +1 -0
  43. package/lib/Providers.d.ts +21 -0
  44. package/lib/Providers.d.ts.map +1 -0
  45. package/lib/Providers.js +26 -0
  46. package/lib/Providers.js.map +1 -0
  47. package/lib/Registry.d.ts +47 -0
  48. package/lib/Registry.d.ts.map +1 -0
  49. package/lib/Registry.js +67 -0
  50. package/lib/Registry.js.map +1 -0
  51. package/lib/RegistryError.d.ts +21 -0
  52. package/lib/RegistryError.d.ts.map +1 -0
  53. package/lib/RegistryError.js +28 -0
  54. package/lib/RegistryError.js.map +1 -0
  55. package/lib/RemoteImage.d.ts +118 -0
  56. package/lib/RemoteImage.d.ts.map +1 -0
  57. package/lib/RemoteImage.js +164 -0
  58. package/lib/RemoteImage.js.map +1 -0
  59. package/lib/Service.d.ts +499 -0
  60. package/lib/Service.d.ts.map +1 -0
  61. package/lib/Service.js +730 -0
  62. package/lib/Service.js.map +1 -0
  63. package/lib/ServiceImage.d.ts +78 -0
  64. package/lib/ServiceImage.d.ts.map +1 -0
  65. package/lib/ServiceImage.js +162 -0
  66. package/lib/ServiceImage.js.map +1 -0
  67. package/lib/Swarm.d.ts +119 -0
  68. package/lib/Swarm.d.ts.map +1 -0
  69. package/lib/Swarm.js +148 -0
  70. package/lib/Swarm.js.map +1 -0
  71. package/lib/Volume.d.ts +94 -0
  72. package/lib/Volume.d.ts.map +1 -0
  73. package/lib/Volume.js +133 -0
  74. package/lib/Volume.js.map +1 -0
  75. package/lib/index.d.ts +14 -0
  76. package/lib/index.d.ts.map +1 -0
  77. package/lib/index.js +13 -0
  78. package/lib/index.js.map +1 -0
  79. package/package.json +58 -3
  80. package/src/Bootstrap.ts +51 -0
  81. package/src/BuildHash.ts +265 -0
  82. package/src/Container.ts +1118 -0
  83. package/src/Context.ts +215 -0
  84. package/src/Docker.ts +1173 -0
  85. package/src/Dockerfile.ts +81 -0
  86. package/src/HealthcheckCommand.ts +35 -0
  87. package/src/Image.ts +322 -0
  88. package/src/ImageSource.ts +842 -0
  89. package/src/Network.ts +169 -0
  90. package/src/Providers.ts +46 -0
  91. package/src/Registry.ts +91 -0
  92. package/src/RegistryError.ts +48 -0
  93. package/src/RemoteImage.ts +255 -0
  94. package/src/Service.ts +1264 -0
  95. package/src/ServiceImage.ts +252 -0
  96. package/src/Swarm.ts +221 -0
  97. package/src/Volume.ts +193 -0
  98. package/src/index.ts +17 -0
@@ -0,0 +1,527 @@
1
+ import type { ScopedPlanStatusSession } from "alchemy/Report";
2
+ import * as Context from "effect/Context";
3
+ import * as Effect from "effect/Effect";
4
+ import * as FileSystem from "effect/FileSystem";
5
+ import * as Layer from "effect/Layer";
6
+ import * as Path from "effect/Path";
7
+ import { PlatformError } from "effect/PlatformError";
8
+ import * as ChildProcessSpawner from "effect/process/ChildProcessSpawner";
9
+ import * as Redacted from "effect/Redacted";
10
+ import { type DockerImagePublicationError } from "./RegistryError.ts";
11
+ /** Credentials for a single image registry, scoped to a Docker command. */
12
+ export interface RegistryCredentials {
13
+ /** Registry hostname, without a URL scheme. */
14
+ server: string;
15
+ /** Registry authentication username. */
16
+ username: string;
17
+ /** Registry password or access token. */
18
+ password: string | Redacted.Redacted<string>;
19
+ }
20
+ declare const Docker_base: Context.ServiceClass<Docker, "@alchemy/Docker", {
21
+ /** Runs a Docker command and returns the output. Use this to run a command that doesn't have a dedicated method. */
22
+ readonly run: (args: Array<string>) => Effect.Effect<CommandOutput, PlatformError>;
23
+ /** Writes build files and an inline Dockerfile to the given context directory. */
24
+ readonly materialize: (options: {
25
+ context: string;
26
+ dockerfile: string;
27
+ files: ReadonlyArray<{
28
+ path: string;
29
+ content: string | Uint8Array;
30
+ }>;
31
+ }) => Effect.Effect<void, PlatformError>;
32
+ readonly container: {
33
+ /** Creates a new container. */
34
+ readonly create: (options: {
35
+ name: string;
36
+ image: string;
37
+ volume: Array<string> | undefined;
38
+ env: Record<string, string> | undefined;
39
+ /** Paths to Docker env files, forwarded as repeated `--env-file`. */
40
+ "env-file"?: Array<string> | undefined;
41
+ restart: "no" | "always" | "on-failure" | "unless-stopped";
42
+ rm: boolean;
43
+ "health-cmd": string | undefined;
44
+ /** `--no-healthcheck`: disable any healthcheck defined by the image. */
45
+ "no-healthcheck"?: boolean;
46
+ "health-interval": string | undefined;
47
+ "health-timeout": string | undefined;
48
+ "health-retries": number | undefined;
49
+ "health-start-period": string | undefined;
50
+ "health-start-interval": string | undefined;
51
+ "stop-timeout": string | undefined;
52
+ p: Array<string> | undefined;
53
+ /** `--add-host` entries, each `hostname:address`. */
54
+ "add-host"?: Array<string> | undefined;
55
+ /** Docker network namespace, including `container:<id>`. */
56
+ network?: string | undefined;
57
+ /** Linux capabilities to add. */
58
+ "cap-add"?: Array<string> | undefined;
59
+ /** Linux capabilities to drop. */
60
+ "cap-drop"?: Array<string> | undefined;
61
+ /** Hard memory limit in Docker's byte-suffix format. */
62
+ memory?: string | undefined;
63
+ /** Combined memory-and-swap limit in Docker's byte-suffix format. */
64
+ "memory-swap"?: string | undefined;
65
+ /** Soft memory reservation for memory contention. */
66
+ "memory-reservation"?: string | undefined;
67
+ /** CPU quota, in cores. */
68
+ cpus?: number | undefined;
69
+ /** Per-container process and thread limit. */
70
+ "pids-limit"?: number | undefined;
71
+ /** Mount the root filesystem read-only. */
72
+ "read-only"?: boolean | undefined;
73
+ /** Security options such as `no-new-privileges` and seccomp/AppArmor profiles. */
74
+ "security-opt"?: Array<string> | undefined;
75
+ /** Per-container user namespace; "host" disables daemon user remapping. */
76
+ userns?: string | undefined;
77
+ /** Supplemental Linux groups. */
78
+ "group-add"?: Array<string> | undefined;
79
+ /** Per-process soft/hard resource limits. */
80
+ ulimit?: Array<string> | undefined;
81
+ /** Docker log driver. */
82
+ "log-driver"?: string | undefined;
83
+ /** Driver-specific Docker logging options. */
84
+ "log-opt"?: Array<string> | undefined;
85
+ /** Kernel OOM score adjustment. */
86
+ "oom-score-adj"?: number | undefined;
87
+ /** Signal used on container stop. */
88
+ "stop-signal"?: string | undefined;
89
+ /** Run Docker's tiny init process. */
90
+ init?: boolean | undefined;
91
+ /** Runtime UID/GID or named user. */
92
+ user?: string | undefined;
93
+ /** Docker tmpfs mount expressions (target[:options]). */
94
+ tmpfs?: Array<string> | undefined;
95
+ /** Host devices in Docker's `host:container[:permissions]` form. */
96
+ device?: Array<string> | undefined;
97
+ command: Array<string> | undefined;
98
+ label?: Record<string, string>;
99
+ context?: string;
100
+ }) => Effect.Effect<CommandOutput, PlatformError>;
101
+ /** Inspects a container. */
102
+ readonly inspect: (name: string, context?: string) => Effect.Effect<Docker.Container, PlatformError>;
103
+ /** Removes a container. */
104
+ readonly remove: (name: string, force?: boolean, context?: string) => Effect.Effect<CommandOutput, PlatformError>;
105
+ /** Starts a container. */
106
+ readonly start: (name: string, context?: string) => Effect.Effect<CommandOutput, PlatformError>;
107
+ /** Stops a container. */
108
+ readonly stop: (name: string, context?: string) => Effect.Effect<CommandOutput, PlatformError>;
109
+ };
110
+ readonly image: {
111
+ /**
112
+ * Builds locally, or publishes to a registry when credentials are
113
+ * supplied. With Buildx 0.26.0 or newer the image is exported straight
114
+ * from BuildKit (`buildx build --push`); older plugins build into the
115
+ * local image store and then `push`. If a session is provided, build
116
+ * logs will be emitted as session notes.
117
+ */
118
+ readonly build: (options: {
119
+ context: string;
120
+ /** Image tags to build and publish together. */
121
+ tag: string | [string, ...string[]];
122
+ file?: string;
123
+ platform?: string;
124
+ target?: string;
125
+ "build-arg"?: Record<string, string>;
126
+ /**
127
+ * BuildKit secrets, keyed by id (`RUN --mount=type=secret,id=<id>`).
128
+ * Values reach `docker` through its environment, never its argv,
129
+ * and are not written to the image.
130
+ */
131
+ secrets?: Record<string, string | Redacted.Redacted<string>>;
132
+ "cache-from"?: Array<string>;
133
+ "cache-to"?: Array<string>;
134
+ args?: Array<string>;
135
+ engineContext?: string;
136
+ /** Registry auth for the build itself (base images, caches); publishes nothing. */
137
+ credentials?: RegistryCredentials;
138
+ }, session?: ScopedPlanStatusSession, registry?: RegistryCredentials) => Effect.Effect<CommandOutput, DockerImagePublicationError>;
139
+ /** Pulls an image. */
140
+ readonly pull: (ref: string, platform?: string, context?: string, session?: Pick<ScopedPlanStatusSession, "note">) => Effect.Effect<CommandOutput, PlatformError>;
141
+ /**
142
+ * Pushes an image to a registry. When `platform` is given, only that
143
+ * platform's manifest is pushed (`docker push --platform`) — with the
144
+ * containerd image store, a bare push sends every locally-present
145
+ * variant of a multi-arch tag, so a stale other-arch variant in the
146
+ * local cache would otherwise reach the registry. Engines whose store
147
+ * doesn't support the flag fall back to a plain push (their local tag
148
+ * is already narrowed by `pull --platform`).
149
+ */
150
+ readonly push: (ref: string, credentials: RegistryCredentials, platform?: string, context?: string, session?: Pick<ScopedPlanStatusSession, "note">) => Effect.Effect<CommandOutput, DockerImagePublicationError>;
151
+ /** Tags an image. */
152
+ readonly tag: (source: string, target: string, context?: string) => Effect.Effect<CommandOutput, PlatformError>;
153
+ /** Inspects an image. */
154
+ readonly inspect: (ref: string, context?: string) => Effect.Effect<Docker.Image, PlatformError>;
155
+ /** Removes an image. */
156
+ readonly remove: (ref: string | Array<string>, force?: boolean, context?: string) => Effect.Effect<CommandOutput, PlatformError>;
157
+ };
158
+ readonly volume: {
159
+ /** Creates a new volume. */
160
+ readonly create: (options: {
161
+ name: string;
162
+ driver?: string;
163
+ opt?: Record<string, string>;
164
+ label?: Record<string, string>;
165
+ context?: string;
166
+ }) => Effect.Effect<CommandOutput, PlatformError>;
167
+ /** Removes a volume. */
168
+ readonly remove: (name: string, context?: string) => Effect.Effect<CommandOutput, PlatformError>;
169
+ /** Inspects a volume. */
170
+ readonly inspect: (name: string, context?: string) => Effect.Effect<Docker.Volume, PlatformError>;
171
+ };
172
+ readonly context: {
173
+ /** Creates a new Docker context. */
174
+ readonly create: (options: {
175
+ name: string;
176
+ description?: string;
177
+ /** Raw value for `--docker`, for example `host=ssh://user@host`. */
178
+ docker?: string;
179
+ }) => Effect.Effect<CommandOutput, PlatformError>;
180
+ /** Updates an existing Docker context. */
181
+ readonly update: (options: {
182
+ name: string;
183
+ description?: string;
184
+ /** Raw value for `--docker`, for example `host=ssh://user@host`. */
185
+ docker?: string;
186
+ }) => Effect.Effect<CommandOutput, PlatformError>;
187
+ /** Inspects a Docker context. */
188
+ readonly inspect: (name: string) => Effect.Effect<Docker.Context, PlatformError>;
189
+ /** Removes a Docker context. */
190
+ readonly remove: (name: string, force?: boolean) => Effect.Effect<CommandOutput, PlatformError>;
191
+ };
192
+ readonly network: {
193
+ /** Creates a new network. */
194
+ readonly create: (options: {
195
+ name: string;
196
+ driver: string;
197
+ ipv6?: boolean;
198
+ label?: Record<string, string>;
199
+ context?: string;
200
+ }) => Effect.Effect<CommandOutput, PlatformError>;
201
+ /** Connects a container to a network. */
202
+ readonly connect: (options: {
203
+ network: string;
204
+ container: string;
205
+ alias?: string[];
206
+ context?: string;
207
+ }) => Effect.Effect<CommandOutput, PlatformError>;
208
+ /** Disconnects a container from a network. */
209
+ readonly disconnect: (options: {
210
+ network: string;
211
+ container: string;
212
+ context?: string;
213
+ }) => Effect.Effect<CommandOutput, PlatformError>;
214
+ /** Inspects a network. */
215
+ readonly inspect: (name: string, context?: string) => Effect.Effect<Docker.Network, PlatformError>;
216
+ /** Removes a network. */
217
+ readonly remove: (id: string, context?: string) => Effect.Effect<CommandOutput, PlatformError>;
218
+ };
219
+ readonly swarm: {
220
+ /** Initializes swarm mode on the engine (`docker swarm init`). */
221
+ readonly init: (options: {
222
+ context?: string;
223
+ "advertise-addr"?: string;
224
+ "listen-addr"?: string;
225
+ "default-addr-pool"?: string[];
226
+ "default-addr-pool-mask-length"?: number;
227
+ }) => Effect.Effect<CommandOutput, PlatformError>;
228
+ /** Reads the engine's swarm state (`docker info --format '{{json .Swarm}}'`). */
229
+ readonly info: (context?: string) => Effect.Effect<Docker.SwarmInfo, PlatformError>;
230
+ /** Leaves the swarm (`docker swarm leave`). */
231
+ readonly leave: (force?: boolean, context?: string) => Effect.Effect<CommandOutput, PlatformError>;
232
+ };
233
+ readonly service: {
234
+ /** Creates a new service. */
235
+ readonly create: (options: {
236
+ name: string;
237
+ image: string;
238
+ context?: string;
239
+ replicas?: number;
240
+ "endpoint-mode"?: "vip" | "dnsrr";
241
+ network?: string[];
242
+ constraint?: string[];
243
+ "replicas-max-per-node"?: number;
244
+ "placement-pref"?: string[];
245
+ "update-parallelism"?: number;
246
+ "update-delay"?: string;
247
+ "update-monitor"?: string;
248
+ "update-failure-action"?: "pause" | "continue" | "rollback";
249
+ "update-max-failure-ratio"?: number;
250
+ "update-order"?: "stop-first" | "start-first";
251
+ "rollback-parallelism"?: number;
252
+ "rollback-delay"?: string;
253
+ "rollback-monitor"?: string;
254
+ "rollback-failure-action"?: "pause" | "continue" | "rollback";
255
+ "rollback-max-failure-ratio"?: number;
256
+ "rollback-order"?: "stop-first" | "start-first";
257
+ "restart-condition"?: "none" | "on-failure" | "any";
258
+ "restart-delay"?: string;
259
+ "restart-max-attempts"?: number;
260
+ "restart-window"?: string;
261
+ "health-cmd"?: string;
262
+ /** `--no-healthcheck`: disable any healthcheck defined by the image. */
263
+ "no-healthcheck"?: boolean;
264
+ "health-interval"?: string;
265
+ "health-timeout"?: string;
266
+ "health-retries"?: number;
267
+ "health-start-period"?: string;
268
+ "stop-grace-period"?: string;
269
+ mount?: string[];
270
+ secret?: string[];
271
+ config?: string[];
272
+ "read-only"?: boolean;
273
+ publish?: string[];
274
+ label?: Record<string, string>;
275
+ env?: Record<string, string>;
276
+ command?: string[];
277
+ args?: string[];
278
+ }) => Effect.Effect<CommandOutput, PlatformError>;
279
+ /** Updates an existing service. */
280
+ readonly update: (options: {
281
+ id: string;
282
+ image: string;
283
+ context?: string;
284
+ replicas?: number;
285
+ "endpoint-mode"?: "vip" | "dnsrr";
286
+ /** Networks to detach, by name or id; applied before `network-add`. */
287
+ "network-rm"?: string[];
288
+ "network-add"?: string[];
289
+ "constraint-add"?: string[];
290
+ "constraint-rm"?: string[];
291
+ "replicas-max-per-node"?: number;
292
+ "update-parallelism"?: number;
293
+ "update-delay"?: string;
294
+ "update-monitor"?: string;
295
+ "update-failure-action"?: "pause" | "continue" | "rollback";
296
+ "update-max-failure-ratio"?: number;
297
+ "update-order"?: "stop-first" | "start-first";
298
+ "rollback-parallelism"?: number;
299
+ "rollback-delay"?: string;
300
+ "rollback-monitor"?: string;
301
+ "rollback-failure-action"?: "pause" | "continue" | "rollback";
302
+ "rollback-max-failure-ratio"?: number;
303
+ "rollback-order"?: "stop-first" | "start-first";
304
+ "restart-condition"?: "none" | "on-failure" | "any";
305
+ "restart-delay"?: string;
306
+ "restart-max-attempts"?: number;
307
+ "restart-window"?: string;
308
+ "health-cmd"?: string;
309
+ /** `--no-healthcheck`: disable any healthcheck defined by the image. */
310
+ "no-healthcheck"?: boolean;
311
+ "health-interval"?: string;
312
+ "health-timeout"?: string;
313
+ "health-retries"?: number;
314
+ "health-start-period"?: string;
315
+ "stop-grace-period"?: string;
316
+ "mount-add"?: string[];
317
+ /** Mount targets to remove. */
318
+ "mount-rm"?: string[];
319
+ "secret-add"?: string[];
320
+ /** Secret names to remove; applied before `secret-add`. */
321
+ "secret-rm"?: string[];
322
+ "config-add"?: string[];
323
+ /** Config names to remove; applied before `config-add`. */
324
+ "config-rm"?: string[];
325
+ "read-only"?: boolean;
326
+ "publish-add"?: string[];
327
+ /** Published ports to remove, as `target=<port>,protocol=<p>,mode=<m>`. */
328
+ "publish-rm"?: string[];
329
+ "label-add"?: Record<string, string>;
330
+ "label-rm"?: string[];
331
+ "env-add"?: Record<string, string>;
332
+ /** Environment variable names to remove. */
333
+ "env-rm"?: string[];
334
+ args?: string;
335
+ }) => Effect.Effect<CommandOutput, PlatformError>;
336
+ /** Inspects a service. */
337
+ readonly inspect: (id: string, context?: string) => Effect.Effect<CommandOutput, PlatformError>;
338
+ /** Removes a service. */
339
+ readonly remove: (id: string, context?: string) => Effect.Effect<CommandOutput, PlatformError>;
340
+ };
341
+ }>;
342
+ export declare class Docker extends Docker_base {
343
+ }
344
+ export declare namespace Docker {
345
+ type ContextRef = string | {
346
+ name: string;
347
+ };
348
+ /**
349
+ * A reference to the Docker engine an operation runs against: a context
350
+ * name, a `Docker.Context` resource, or a `Docker.Swarm` resource
351
+ * (narrowed structurally by its `nodeId` attribute) — passing the swarm
352
+ * also orders the operation after the swarm is initialized.
353
+ */
354
+ type EngineRef = ContextRef | {
355
+ nodeId: string;
356
+ context?: string;
357
+ };
358
+ interface SwarmInfo {
359
+ NodeID: string;
360
+ LocalNodeState: "inactive" | "pending" | "active" | "error" | "locked" | (string & {});
361
+ ControlAvailable: boolean;
362
+ Cluster?: {
363
+ ID: string;
364
+ CreatedAt?: string;
365
+ } | null;
366
+ RemoteManagers?: Array<{
367
+ NodeID: string;
368
+ Addr: string;
369
+ }> | null;
370
+ Managers?: number;
371
+ Nodes?: number;
372
+ }
373
+ type ContainerStatus = "created" | "running" | "paused" | "restarting" | "removing" | "exited" | "dead";
374
+ interface Container {
375
+ Id: string;
376
+ Image: string;
377
+ Name?: string;
378
+ State: {
379
+ Status: ContainerStatus;
380
+ /** Present when the container has a healthcheck. */
381
+ Health?: {
382
+ Status: "starting" | "healthy" | "unhealthy";
383
+ };
384
+ };
385
+ Created: string;
386
+ Config: {
387
+ Image: string;
388
+ Cmd: string[] | null;
389
+ Env: string[] | null;
390
+ User?: string;
391
+ StopSignal?: string;
392
+ Labels: Record<string, string> | null;
393
+ StopTimeout?: number;
394
+ Healthcheck?: {
395
+ Test: string[] | null;
396
+ Interval?: number;
397
+ Timeout?: number;
398
+ Retries?: number;
399
+ StartPeriod?: number;
400
+ StartInterval?: number;
401
+ } | null;
402
+ };
403
+ HostConfig: {
404
+ PortBindings: Record<string, Array<{
405
+ HostIp: string;
406
+ HostPort: string;
407
+ }> | null> | null;
408
+ Binds: string[] | null;
409
+ ExtraHosts: string[] | null;
410
+ RestartPolicy: {
411
+ Name: string;
412
+ MaximumRetryCount: number;
413
+ };
414
+ AutoRemove: boolean;
415
+ NetworkMode?: string;
416
+ CapAdd?: string[] | null;
417
+ CapDrop?: string[] | null;
418
+ Memory?: number;
419
+ MemorySwap?: number;
420
+ MemoryReservation?: number;
421
+ NanoCpus?: number;
422
+ PidsLimit?: number;
423
+ ReadonlyRootfs?: boolean;
424
+ SecurityOpt?: string[] | null;
425
+ UsernsMode?: string;
426
+ GroupAdd?: string[] | null;
427
+ Ulimits?: Array<{
428
+ Name: string;
429
+ Soft: number;
430
+ Hard: number;
431
+ }> | null;
432
+ LogConfig?: {
433
+ Type: string;
434
+ Config: Record<string, string> | null;
435
+ };
436
+ OomScoreAdj?: number;
437
+ Init?: boolean | null;
438
+ Tmpfs?: Record<string, string> | null;
439
+ Devices?: Array<{
440
+ PathOnHost: string;
441
+ PathInContainer: string;
442
+ CgroupPermissions: string;
443
+ }> | null;
444
+ };
445
+ AppArmorProfile?: string;
446
+ NetworkSettings: {
447
+ Networks: Record<string, {
448
+ NetworkID: string;
449
+ Aliases: string[] | null;
450
+ }> | null;
451
+ Ports?: Record<string, Array<{
452
+ HostIp: string;
453
+ HostPort: string;
454
+ }> | null> | null;
455
+ };
456
+ }
457
+ interface Image {
458
+ Id: string;
459
+ Created?: string;
460
+ RepoTags?: string[] | null;
461
+ RepoDigests?: string[] | null;
462
+ }
463
+ interface Volume {
464
+ CreatedAt: string;
465
+ Driver: string;
466
+ Labels: Record<string, string> | null;
467
+ Mountpoint: string;
468
+ Name: string;
469
+ Options: Record<string, string> | null;
470
+ Scope: string;
471
+ }
472
+ interface Context {
473
+ Name: string;
474
+ Metadata?: {
475
+ Description?: string;
476
+ };
477
+ Endpoints?: {
478
+ docker?: string;
479
+ };
480
+ }
481
+ interface Network {
482
+ Name: string;
483
+ Id: string;
484
+ Created: string;
485
+ Scope: string;
486
+ Driver: string;
487
+ EnableIPv6: boolean;
488
+ Labels: Record<string, string> | null;
489
+ }
490
+ }
491
+ export interface CommandOutput {
492
+ exitCode: ChildProcessSpawner.ExitCode;
493
+ stdout: string;
494
+ stderr: string;
495
+ }
496
+ export interface DockerOptions {
497
+ /**
498
+ * The Docker-compatible CLI to run, e.g. `"podman"`. The `DOCKER_BIN`
499
+ * environment variable, when set, overrides it (per machine or CI).
500
+ * @default "docker"
501
+ */
502
+ bin?: string;
503
+ }
504
+ /**
505
+ * Extra environment for every Docker CLI invocation, layered over the
506
+ * process environment (per-call variables still win). Scope it with
507
+ * `Effect.provideService(DockerEnvironment, { BUILDX_BUILDER: "ci" })` to
508
+ * target a buildx builder or Docker context without mutating `process.env`.
509
+ * @default {}
510
+ */
511
+ export declare const DockerEnvironment: Context.Reference<Record<string, string>>;
512
+ /** The Docker CLI client, running `options.bin` (`DOCKER_BIN` overrides). */
513
+ export declare const dockerLive: (options?: DockerOptions) => Layer.Layer<Docker, never, ChildProcessSpawner.ChildProcessSpawner | FileSystem.FileSystem | Path.Path>;
514
+ /** The Docker CLI client, running `docker` (or `DOCKER_BIN`). */
515
+ export declare const DockerLive: Layer.Layer<Docker, never, ChildProcessSpawner.ChildProcessSpawner | FileSystem.FileSystem | Path.Path>;
516
+ export declare const dockerContextName: (context: Docker.ContextRef | undefined) => string | undefined;
517
+ /**
518
+ * Resolve an {@link Docker.EngineRef} to a context name. A `Docker.Swarm`
519
+ * reference (narrowed by its `nodeId` attribute) contributes the context the
520
+ * swarm was initialized on.
521
+ */
522
+ export declare const dockerEngineContextName: (ref: Docker.EngineRef | undefined) => string | undefined;
523
+ export declare const dockerPhysicalName: (id: string, props: {
524
+ name?: string;
525
+ } | undefined, instanceId: string, maxLength?: number) => Effect.Effect<string, never, import("alchemy/ResourceContext").ResourceContext | import("alchemy/Stack").Stack | import("alchemy/Stage").Stage>;
526
+ export {};
527
+ //# sourceMappingURL=Docker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Docker.d.ts","sourceRoot":"","sources":["../src/Docker.ts"],"names":[],"mappings":"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"}