@alchemy.run/docker 2.0.0-beta.84 → 2.0.0-beta.86

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/README.md +16 -0
  2. package/lib/Bootstrap.d.ts.map +1 -1
  3. package/lib/Bootstrap.js +2 -1
  4. package/lib/Bootstrap.js.map +1 -1
  5. package/lib/BuildCache.d.ts +87 -0
  6. package/lib/BuildCache.d.ts.map +1 -0
  7. package/lib/BuildCache.js +39 -0
  8. package/lib/BuildCache.js.map +1 -0
  9. package/lib/BuildHash.d.ts +20 -3
  10. package/lib/BuildHash.d.ts.map +1 -1
  11. package/lib/BuildHash.js +60 -21
  12. package/lib/BuildHash.js.map +1 -1
  13. package/lib/BuildPlan.d.ts +202 -0
  14. package/lib/BuildPlan.d.ts.map +1 -0
  15. package/lib/BuildPlan.js +514 -0
  16. package/lib/BuildPlan.js.map +1 -0
  17. package/lib/Container.d.ts +122 -1
  18. package/lib/Container.d.ts.map +1 -1
  19. package/lib/Container.js +232 -4
  20. package/lib/Container.js.map +1 -1
  21. package/lib/Context.d.ts +20 -1
  22. package/lib/Context.d.ts.map +1 -1
  23. package/lib/Context.js +15 -0
  24. package/lib/Context.js.map +1 -1
  25. package/lib/Docker.d.ts +113 -1
  26. package/lib/Docker.d.ts.map +1 -1
  27. package/lib/Docker.js +50 -8
  28. package/lib/Docker.js.map +1 -1
  29. package/lib/Dockerfile.d.ts +0 -2
  30. package/lib/Dockerfile.d.ts.map +1 -1
  31. package/lib/Dockerfile.js.map +1 -1
  32. package/lib/DockerfileParser.d.ts +125 -0
  33. package/lib/DockerfileParser.d.ts.map +1 -0
  34. package/lib/DockerfileParser.js +1040 -0
  35. package/lib/DockerfileParser.js.map +1 -0
  36. package/lib/HealthcheckCommand.d.ts.map +1 -1
  37. package/lib/HealthcheckCommand.js.map +1 -1
  38. package/lib/Image.d.ts +69 -13
  39. package/lib/Image.d.ts.map +1 -1
  40. package/lib/Image.js +59 -9
  41. package/lib/Image.js.map +1 -1
  42. package/lib/ImageArchive.d.ts +41 -0
  43. package/lib/ImageArchive.d.ts.map +1 -0
  44. package/lib/ImageArchive.js +54 -0
  45. package/lib/ImageArchive.js.map +1 -0
  46. package/lib/ImageSource.d.ts +151 -8
  47. package/lib/ImageSource.d.ts.map +1 -1
  48. package/lib/ImageSource.js +247 -72
  49. package/lib/ImageSource.js.map +1 -1
  50. package/lib/Network.d.ts +175 -3
  51. package/lib/Network.d.ts.map +1 -1
  52. package/lib/Network.js +296 -8
  53. package/lib/Network.js.map +1 -1
  54. package/lib/Providers.d.ts.map +1 -1
  55. package/lib/Providers.js.map +1 -1
  56. package/lib/Registry.d.ts.map +1 -1
  57. package/lib/Registry.js.map +1 -1
  58. package/lib/RegistryError.d.ts.map +1 -1
  59. package/lib/RegistryError.js.map +1 -1
  60. package/lib/RemoteImage.d.ts.map +1 -1
  61. package/lib/RemoteImage.js +1 -1
  62. package/lib/RemoteImage.js.map +1 -1
  63. package/lib/Service.d.ts +24 -3
  64. package/lib/Service.d.ts.map +1 -1
  65. package/lib/Service.js +154 -12
  66. package/lib/Service.js.map +1 -1
  67. package/lib/ServiceImage.d.ts.map +1 -1
  68. package/lib/ServiceImage.js.map +1 -1
  69. package/lib/ShellWord.d.ts +28 -0
  70. package/lib/ShellWord.d.ts.map +1 -0
  71. package/lib/ShellWord.js +301 -0
  72. package/lib/ShellWord.js.map +1 -0
  73. package/lib/Swarm.d.ts.map +1 -1
  74. package/lib/Swarm.js.map +1 -1
  75. package/lib/Volume.d.ts +24 -1
  76. package/lib/Volume.d.ts.map +1 -1
  77. package/lib/Volume.js +16 -0
  78. package/lib/Volume.js.map +1 -1
  79. package/lib/index.d.ts.map +1 -1
  80. package/lib/index.js.map +1 -1
  81. package/package.json +9 -9
  82. package/src/Bootstrap.ts +2 -0
  83. package/src/BuildCache.ts +111 -0
  84. package/src/BuildHash.ts +85 -26
  85. package/src/BuildPlan.ts +758 -0
  86. package/src/Container.ts +361 -5
  87. package/src/Context.ts +27 -1
  88. package/src/Docker.ts +157 -9
  89. package/src/Dockerfile.ts +0 -2
  90. package/src/DockerfileParser.ts +1152 -0
  91. package/src/Image.ts +75 -15
  92. package/src/ImageArchive.ts +77 -0
  93. package/src/ImageSource.ts +391 -99
  94. package/src/Network.ts +432 -10
  95. package/src/RemoteImage.ts +1 -1
  96. package/src/Service.ts +246 -62
  97. package/src/ShellWord.ts +326 -0
  98. package/src/Volume.ts +33 -1
@@ -3,7 +3,9 @@ import * as Bundle from "alchemy/Bundle/Bundle";
3
3
  import * as Effect from "effect/Effect";
4
4
  import * as FileSystem from "effect/FileSystem";
5
5
  import * as Path from "effect/Path";
6
+ import type * as Redacted from "effect/Redacted";
6
7
  import type * as rolldown from "rolldown";
8
+ import { type BuildCacheOptions } from "./BuildCache.ts";
7
9
  import { Docker, type RegistryCredentials } from "./Docker.ts";
8
10
  import { type InlineDockerfile } from "./Dockerfile.ts";
9
11
  /**
@@ -23,6 +25,9 @@ import { type InlineDockerfile } from "./Dockerfile.ts";
23
25
  * ENTRYPOINT) and pushed as a derived image. `main` absent → the
24
26
  * environment runs verbatim: `image` is mirrored (docker pull → tag →
25
27
  * push, content-addressed on the ref), a Dockerfile builds as-is.
28
+ * - `main` absent and an {@link ImageAgent} requested → the environment
29
+ * still runs verbatim, and the agent is pushed beside it as an image of
30
+ * its own, for the platform to mount into the environment's container.
26
31
  *
27
32
  * Where images land is an {@link ImageRegistryTarget}: ECR supplies one that
28
33
  * auto-creates a private repository; a plain registry (a local `registry`
@@ -40,6 +45,13 @@ export interface BundledImageSource {
40
45
  * `import.meta.url` from an inline Effect program.
41
46
  */
42
47
  main: string;
48
+ /**
49
+ * @internal Dockerfile lines contributed by mount bindings (see
50
+ * `alchemy/Mount`), inserted after the environment preamble so a
51
+ * program change doesn't reinstall them. Hosts fold these in from their
52
+ * bindings; users don't set them.
53
+ */
54
+ install?: ReadonlyArray<string>;
43
55
  /**
44
56
  * Environment image: used as the generated Dockerfile's `FROM`. Any
45
57
  * registry ref works (private non-ECR registries require docker
@@ -71,15 +83,44 @@ export interface BundledImageSource {
71
83
  * Bundler configuration for the entrypoint. Unused code is tree-shaken.
72
84
  * `effect`, alchemy, and `@distilled.cloud` are marked pure so unused
73
85
  * parts prune more aggressively. List extra packages with
74
- * `pure.packages`, or disable with `pure: false`.
86
+ * `pure.packages`, or disable with `pure: false`. `cache` configures the
87
+ * image build's BuildKit layer cache.
88
+ */
89
+ build?: Bundle.BundleConfig & BuildCacheOptions;
90
+ }
91
+ /**
92
+ * Build arguments, BuildKit secrets and the layer cache for an image built
93
+ * from the user's own Dockerfile (`context` / `dockerfile`).
94
+ */
95
+ export interface DockerfileBuild extends BuildCacheOptions {
96
+ /**
97
+ * Docker build arguments (`--build-arg`), read by `ARG` instructions.
98
+ * They are part of the image's content hash, so changing one rebuilds the
99
+ * image. Never pass secrets here: build args are visible in the image
100
+ * history. Use {@link secrets} instead.
75
101
  */
76
- build?: Bundle.BundleConfig;
102
+ args?: Record<string, string>;
103
+ /**
104
+ * BuildKit secrets, keyed by id. Mount one in a `RUN` step with
105
+ * `--mount=type=secret,id=<id>` and read it from `/run/secrets/<id>`, or
106
+ * add `env=<NAME>` to expose it as an environment variable for that step.
107
+ *
108
+ * A secret never enters the image, its build history, or `docker`'s argv.
109
+ * Secrets are left out of the image's content hash, so rotating one does
110
+ * not rebuild the image.
111
+ */
112
+ secrets?: Record<string, Redacted.Redacted<string>>;
113
+ }
114
+ /** The `build` prop of a source built from the user's own Dockerfile. */
115
+ export interface DockerfileBuildOptions {
116
+ /** Build arguments, BuildKit secrets and the layer cache for the Dockerfile build. */
117
+ build?: DockerfileBuild;
77
118
  }
78
119
  /**
79
120
  * Build the image from the user's own Dockerfile and build context — no
80
121
  * Effect program is bundled.
81
122
  */
82
- export interface DockerfileImageSource {
123
+ export interface DockerfileImageSource extends DockerfileBuildOptions {
83
124
  /**
84
125
  * Docker build context directory. Optional when {@link dockerfile} is
85
126
  * inline content (which builds with an empty context).
@@ -113,10 +154,13 @@ export type ImageSourceProps = BundledImageSource | DockerfileImageSource | Regi
113
154
  export interface ImageSourceLike {
114
155
  main?: string;
115
156
  handler?: string;
116
- build?: BundledImageSource["build"];
157
+ /** Bundler config for `main`; Docker build args and secrets for `context`. */
158
+ build?: Bundle.BundleConfig & DockerfileBuild;
117
159
  context?: string;
118
160
  dockerfile?: string | InlineDockerfile;
119
161
  image?: string;
162
+ /** @internal Mount-binding install lines (see {@link BundledImageSource.install}). */
163
+ install?: ReadonlyArray<string>;
120
164
  }
121
165
  export type ImageSourceKind = "main" | "context" | "image";
122
166
  /**
@@ -126,9 +170,35 @@ export type ImageSourceKind = "main" | "context" | "image";
126
170
  * is an external docker build.
127
171
  */
128
172
  export declare const imageSourceKind: (source: ImageSourceLike) => ImageSourceKind | undefined;
173
+ declare const DockerfileBuildConflict_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
174
+ readonly _tag: "DockerfileBuildConflict";
175
+ } & Readonly<A>;
176
+ /**
177
+ * `build.args` or `build.secrets` set on an image that is not built from the
178
+ * user's own Dockerfile (a `main` program or a pre-built `image`), or
179
+ * `build.cache` set on a pre-built `image`, which is never built.
180
+ */
181
+ export declare class DockerfileBuildConflict extends DockerfileBuildConflict_base<{
182
+ readonly id: string;
183
+ readonly source: "main" | "image";
184
+ readonly option?: "cache";
185
+ }> {
186
+ get message(): string;
187
+ }
188
+ /**
189
+ * Dies with {@link DockerfileBuildConflict} when `build.args` or
190
+ * `build.secrets` are set alongside `main` or `image`, or `build.cache`
191
+ * alongside `image`.
192
+ */
193
+ export declare const validateDockerfileBuild: (id: string, source: {
194
+ main?: string;
195
+ image?: string;
196
+ build?: DockerfileBuild;
197
+ }) => Effect.Effect<void>;
129
198
  /**
130
199
  * Validate environment-source exclusivity. Dies (plan-time defect) on
131
- * `image`+`dockerfile`, `image`+`context`, or inline-`dockerfile`+`context`.
200
+ * `image`+`dockerfile`, `image`+`context`, inline-`dockerfile`+`context`, or
201
+ * build args/secrets without a Dockerfile build.
132
202
  */
133
203
  export declare const validateImageSource: (id: string, source: ImageSourceLike) => Effect.Effect<void>;
134
204
  /**
@@ -178,11 +248,49 @@ export interface ResolveContainerImageOptions {
178
248
  * generated entry module source.
179
249
  */
180
250
  bootstrap: (importPath: string) => string;
251
+ /**
252
+ * Publish an agent beside an image that has no `main`. See
253
+ * {@link ImageAgent}. Ignored for a `main` source, whose program serves the
254
+ * agent itself.
255
+ */
256
+ agent?: ImageAgent;
181
257
  /** Plan-status session used to emit build/push progress notes. */
182
258
  session: {
183
259
  note: (message: string) => Effect.Effect<void>;
184
260
  };
185
261
  }
262
+ /**
263
+ * A program the platform runs inside a container whose image has none of its
264
+ * own (`image` or `context`), so it can drive the container: a sandbox agent
265
+ * that runs commands and serves files inside it.
266
+ *
267
+ * The image itself is never changed. The agent is bundled and pushed as an
268
+ * image of its own, to the same repository, under an `agent-` tag. Run as a
269
+ * container, that image copies the agent and its Bun runtime into
270
+ * {@link IMAGE_AGENT_DIR} and exits. A platform mounts a volume there, shares
271
+ * it with the image's container, and starts that container with
272
+ * {@link imageAgentEntryPoint}.
273
+ */
274
+ export interface ImageAgent {
275
+ /**
276
+ * Module that exports `bootstrap(): Promise<void>`, which runs the agent.
277
+ * A path or a `file:` URL.
278
+ */
279
+ main: string;
280
+ }
281
+ /**
282
+ * Where an {@link ImageAgent}'s image copies the agent and its runtime, and
283
+ * where the image's container finds them.
284
+ */
285
+ export declare const IMAGE_AGENT_DIR = "/opt/alchemy/sandbox";
286
+ /**
287
+ * The entry point that starts an {@link ImageAgent} from
288
+ * {@link IMAGE_AGENT_DIR}. Bun starts through the loader that came with it,
289
+ * so the image's own libc (glibc, another musl, or none) is never consulted
290
+ * and the image needs nothing installed. The container's command arrives as
291
+ * the agent's arguments.
292
+ */
293
+ export declare const imageAgentEntryPoint: ReadonlyArray<string>;
186
294
  /**
187
295
  * Content hash for the sources whose identity is computable WITHOUT running
188
296
  * a bundler:
@@ -197,7 +305,32 @@ export interface ResolveContainerImageOptions {
197
305
  * Providers use this in `diff` to surface content drift (files changed under
198
306
  * an unchanged `context` path) as an update.
199
307
  */
200
- export declare const computeStaticSourceHash: (source: ImageSourceLike, platform?: string | undefined) => Effect.Effect<string | undefined, import("effect/PlatformError").PlatformError, FileSystem.FileSystem | Path.Path>;
308
+ export declare const computeStaticSourceHash: (source: ImageSourceLike, platform?: string | undefined) => Effect.Effect<string | undefined, import("./BuildHash.ts").BuildHashInvalidProps | import("effect/PlatformError").PlatformError, FileSystem.FileSystem | Path.Path>;
309
+ /**
310
+ * The exact rolldown input/output options `bundleMainProgram` hands to
311
+ * `Bundle.build` — shared with {@link watchMain} so a dev watcher's
312
+ * `Bundle.watch` observes the identical module graph.
313
+ */
314
+ export declare const mainBundleOptions: (source: BundledImageSource, entry: string, cwd: string, plugins?: rolldown.RolldownPluginOption) => {
315
+ inputOptions: rolldown.InputOptions;
316
+ outputOptions: rolldown.OutputOptions;
317
+ };
318
+ /**
319
+ * Bundle the Effect program behind a `main` source: every emitted file
320
+ * (entry + shared chunks) and the bundle hash. Needs no Docker engine, so
321
+ * builders that are not Docker (`BuildPlan`) share it.
322
+ */
323
+ export declare const bundleMainProgram: (options: {
324
+ source: BundledImageSource;
325
+ isExternal?: boolean;
326
+ bootstrap: (importPath: string) => string;
327
+ }) => Effect.Effect<{
328
+ files: {
329
+ path: string;
330
+ content: Uint8Array<ArrayBufferLike>;
331
+ }[];
332
+ hash: string;
333
+ }, Bundle.BundleError | import("effect/PlatformError").PlatformError, FileSystem.FileSystem | Path.Path>;
201
334
  /**
202
335
  * Init-time constructor for the image-source resolver. Resolves the services
203
336
  * that are only available at provider-layer construction (Docker, the
@@ -210,6 +343,14 @@ export declare const makeContainerImageSource: Effect.Effect<{
210
343
  imageUri: string;
211
344
  repositoryUri: string;
212
345
  codeHash: string;
346
+ agent: undefined;
347
+ } | {
348
+ imageUri: string;
349
+ repositoryUri: string;
350
+ codeHash: string;
351
+ agent: {
352
+ imageUri: string;
353
+ };
213
354
  }, any, R | FileSystem.FileSystem | Path.Path | import("alchemy/Stack").Stack | import("alchemy/Stage").Stage>;
214
355
  hash: (options: {
215
356
  source: ImageSourceLike;
@@ -217,7 +358,8 @@ export declare const makeContainerImageSource: Effect.Effect<{
217
358
  port?: number;
218
359
  isExternal?: boolean;
219
360
  bootstrap: (importPath: string) => string;
220
- }) => Effect.Effect<string | undefined, Bundle.BundleError | import("effect/PlatformError").PlatformError, FileSystem.FileSystem | Path.Path>;
361
+ agent?: ImageAgent;
362
+ }) => Effect.Effect<string | undefined, import("./BuildHash.ts").BuildHashInvalidProps | Bundle.BundleError | import("effect/PlatformError").PlatformError, FileSystem.FileSystem | Path.Path>;
221
363
  watchMain: (options: {
222
364
  source: BundledImageSource;
223
365
  isExternal?: boolean;
@@ -225,10 +367,11 @@ export declare const makeContainerImageSource: Effect.Effect<{
225
367
  }) => Effect.Effect<{
226
368
  inputOptions: rolldown.InputOptions;
227
369
  outputOptions: rolldown.OutputOptions;
228
- extra: Bundle.BundleConfig | undefined;
370
+ extra: (Bundle.BundleConfig & BuildCacheOptions) | undefined;
229
371
  }, import("effect/PlatformError").PlatformError, FileSystem.FileSystem | Path.Path>;
230
372
  }, never, AlchemyContext | Docker | Path.Path>;
231
373
  /** The resolver service returned by {@link makeContainerImageSource}. */
232
374
  export interface ContainerImageSource extends Effect.Success<typeof makeContainerImageSource> {
233
375
  }
376
+ export {};
234
377
  //# sourceMappingURL=ImageSource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ImageSource.d.ts","sourceRoot":"","sources":["../src/ImageSource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ImageSource.d.ts","sources":["../src/ImageSource.ts"],"names":[],"mappings":"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"}