@alchemy.run/docker 2.0.0-beta.84 → 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.
@@ -1 +1 @@
1
- {"version":3,"file":"Service.js","sourceRoot":"","sources":["../src/Service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Service.js","sourceRoot":"","sources":["../src/Service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alchemy.run/docker",
3
- "version": "2.0.0-beta.84",
3
+ "version": "2.0.0-beta.85",
4
4
  "description": "Docker images, containers, networks, volumes and registries for Alchemy, and the image builds container platforms share.",
5
5
  "keywords": [
6
6
  "alchemy",
@@ -51,17 +51,17 @@
51
51
  "rolldown": "1.2.13"
52
52
  },
53
53
  "devDependencies": {
54
- "@effect/platform-bun": "^4.0.5",
54
+ "@effect/platform-bun": "^4.1.0",
55
55
  "@types/bun": "1.4.3",
56
56
  "@types/node": "26.6.5",
57
- "alchemy": "2.0.0-beta.84",
58
- "effect": "^4.0.5",
57
+ "alchemy": "2.0.0-beta.85",
58
+ "effect": "^4.1.0",
59
59
  "typescript": "^7.0.2"
60
60
  },
61
61
  "peerDependencies": {
62
- "@effect/platform-bun": "^4.0.5",
63
- "alchemy": "2.0.0-beta.84",
64
- "effect": "^4.0.5"
62
+ "@effect/platform-bun": "^4.1.0",
63
+ "alchemy": "2.0.0-beta.85",
64
+ "effect": "^4.1.0"
65
65
  },
66
66
  "peerDependenciesMeta": {
67
67
  "@effect/platform-bun": {
package/src/BuildHash.ts CHANGED
@@ -14,12 +14,18 @@ import {
14
14
  parseIgnoreRules,
15
15
  walkIgnoring,
16
16
  } from "alchemy/Util/Ignore";
17
+ import * as Data from "effect/Data";
17
18
  import * as Effect from "effect/Effect";
18
19
  import * as FileSystem from "effect/FileSystem";
19
20
  import * as Path from "effect/Path";
20
21
  import * as Result from "effect/Result";
21
22
  import * as Stream from "effect/Stream";
22
23
 
24
+ export class BuildHashInvalidProps extends Data.TaggedError("BuildHashInvalidProps")<{
25
+ readonly message: string;
26
+ readonly cause?: unknown;
27
+ }> {}
28
+
23
29
  export interface DockerBuildSource {
24
30
  context: string;
25
31
  dockerfile: string;
@@ -51,10 +57,14 @@ export const resolveDockerBuildPaths = Effect.fn(function* (
51
57
  : path.resolve(context, source.dockerfile);
52
58
 
53
59
  if (!(yield* fs.exists(context))) {
54
- return yield* Effect.fail(new Error(`Docker build context does not exist: ${context}`));
60
+ return yield* new BuildHashInvalidProps({
61
+ message: `Docker build context does not exist: ${context}`,
62
+ });
55
63
  }
56
64
  if (!(yield* fs.exists(dockerfile))) {
57
- return yield* Effect.fail(new Error(`Dockerfile does not exist: ${dockerfile}`));
65
+ return yield* new BuildHashInvalidProps({
66
+ message: `Dockerfile does not exist: ${dockerfile}`,
67
+ });
58
68
  }
59
69
 
60
70
  return { context, dockerfile };
package/src/Container.ts CHANGED
@@ -66,6 +66,57 @@ export interface ContainerProps {
66
66
  networkMode?: Container.NetworkMode;
67
67
  /** Linux capabilities to add, for example `SYS_ADMIN`. */
68
68
  capAdd?: string[];
69
+ /** Linux capabilities to drop, for example `["ALL"]`. */
70
+ capDrop?: string[];
71
+ /** Hard memory limit in Docker's byte-suffix format, e.g. `"512m"`. */
72
+ memory?: string;
73
+ /**
74
+ * Combined memory-plus-swap limit in Docker's byte-suffix format.
75
+ * Requires `memory`. Set to the same value to disable swap, or `"-1"`
76
+ * to allow unlimited swap (subject to the host).
77
+ */
78
+ memorySwap?: string;
79
+ /** Soft memory limit under contention, e.g. `"256m"`. */
80
+ memoryReservation?: string;
81
+ /** CPU quota, in cores (e.g. `0.5` limits to half a CPU). */
82
+ cpus?: number;
83
+ /** Maximum number of processes and threads in the container. */
84
+ pidsLimit?: number;
85
+ /** Mount the container's root filesystem read-only. Writable paths need a volume or tmpfs. */
86
+ readOnlyRootFilesystem?: boolean;
87
+ /** Prevent processes from gaining additional privileges through exec. */
88
+ noNewPrivileges?: boolean;
89
+ /** Run Docker's init process to forward signals and reap child processes. */
90
+ init?: boolean;
91
+ /** Runtime user, e.g. `"1000:1000"` or `"app"`. Omit to keep the image's user. */
92
+ user?: string;
93
+ /**
94
+ * Seccomp JSON profile path on the Docker CLI host, or `"builtin"` to
95
+ * select Docker's default policy. `"unconfined"` explicitly disables it.
96
+ * Changes to a profile file's contents recreate the container.
97
+ */
98
+ seccompProfile?: string;
99
+ /**
100
+ * Name of a preloaded AppArmor profile, e.g. `"docker-default"`.
101
+ * Requires AppArmor support on the target host. `"unconfined"` disables it.
102
+ */
103
+ appArmorProfile?: string;
104
+ /** Docker user-namespace mode. `"host"` opts out of daemon user remapping. */
105
+ userNamespace?: string;
106
+ /** Supplementary Linux group names or numeric GIDs. */
107
+ groupAdd?: string[];
108
+ /** Per-process resource limits. `-1` represents unlimited. */
109
+ ulimits?: Record<string, Container.Ulimit>;
110
+ /** Docker log driver, e.g. `"local"`, `"json-file"`, or `"none"`. */
111
+ logDriver?: string;
112
+ /** Driver-specific settings, such as `{ "max-size": "10m", "max-file": "3" }`. */
113
+ logOptions?: Record<string, string>;
114
+ /** Relative OOM score adjustment on Linux, from -1000 to 1000. */
115
+ oomScoreAdjustment?: number;
116
+ /** Stop signal, e.g. `"SIGTERM"` or `"SIGINT"`. */
117
+ stopSignal?: string;
118
+ /** Writable in-memory mounts, including size and POSIX mode controls. */
119
+ tmpfs?: Container.TmpfsMount[];
69
120
  /** Host devices to expose to the container. */
70
121
  devices?: Container.DeviceMapping[];
71
122
  /**
@@ -107,6 +158,20 @@ export declare namespace Container {
107
158
  /** Mount read-only. @default false */
108
159
  readOnly?: boolean;
109
160
  }
161
+ interface TmpfsMount {
162
+ /** Absolute mount target in the container, e.g. `"/tmp"`. */
163
+ path: string;
164
+ /** Docker byte-suffix size, e.g. `"32m"`. Omit for the engine default. */
165
+ size?: string;
166
+ /** POSIX mode as a number, e.g. `0o1777` for a sticky world-writable directory. */
167
+ mode?: number;
168
+ }
169
+ interface Ulimit {
170
+ /** Process soft limit. `-1` means unlimited. */
171
+ soft: number;
172
+ /** Process hard limit. `-1` means unlimited. */
173
+ hard: number;
174
+ }
110
175
  interface NetworkMapping {
111
176
  /** Network name or ID. */
112
177
  name: string;
@@ -280,6 +345,39 @@ export interface Container extends Resource<
280
345
  * ```
281
346
  *
282
347
  * ### Runtime Options
348
+ * **Example:** Contain a background worker
349
+ * ```typescript
350
+ * const worker = yield* Docker.Container("worker", {
351
+ * image: "oven/bun:1",
352
+ * memory: "512m",
353
+ * memorySwap: "512m",
354
+ * memoryReservation: "256m",
355
+ * cpus: 0.5,
356
+ * pidsLimit: 128,
357
+ * readOnlyRootFilesystem: true,
358
+ * capDrop: ["ALL"],
359
+ * noNewPrivileges: true,
360
+ * init: true,
361
+ * user: "1000:1000",
362
+ * tmpfs: [{ path: "/tmp", size: "32m", mode: 0o1777 }],
363
+ * });
364
+ * ```
365
+ *
366
+ * **Example:** Customize confinement, process limits, and log rotation
367
+ * ```typescript
368
+ * const api = yield* Docker.Container("api", {
369
+ * image: "ghcr.io/acme/api:latest",
370
+ * seccompProfile: "./security/api-seccomp.json", // client-side JSON; edits roll the container
371
+ * appArmorProfile: "my-loaded-profile", // must already be loaded on the host
372
+ * groupAdd: ["1000"],
373
+ * ulimits: { nofile: { soft: 1024, hard: 4096 } },
374
+ * logDriver: "local",
375
+ * logOptions: { "max-size": "10m", "max-file": "3" },
376
+ * oomScoreAdjustment: 200,
377
+ * stopSignal: "SIGTERM",
378
+ * });
379
+ * ```
380
+ *
283
381
  * **Example:** Share a donor container's network namespace
284
382
  * ```typescript
285
383
  * const donor = yield* Docker.Container("donor", { image: "redis:alpine" });
@@ -381,6 +479,14 @@ export const ContainerProvider = () =>
381
479
  return yield* sha256(digests.join("\n"));
382
480
  });
383
481
 
482
+ // Docker CLI loads seccomp profiles from client-side files at create
483
+ // time. Hash the contents as well as the path so policy edits are never
484
+ // silently ignored on subsequent deploys.
485
+ const seccompProfileDigest = Effect.fn(function* (profile: string | undefined) {
486
+ if (!isCustomSeccompProfile(profile)) return undefined;
487
+ return yield* fs.readFile(path.resolve(profile)).pipe(Effect.flatMap(sha256));
488
+ });
489
+
384
490
  // Without env files the hash input is unchanged from before they were
385
491
  // supported, so existing containers keep their label and are not rolled.
386
492
  const desiredConfigHash = Effect.fn(function* (
@@ -388,10 +494,12 @@ export const ContainerProvider = () =>
388
494
  news: ContainerProps,
389
495
  ) {
390
496
  const envFiles = yield* envFilesDigest(news.envFiles);
497
+ const seccompProfile = yield* seccompProfileDigest(news.seccompProfile);
391
498
  return yield* sha256Object({
392
499
  ...args,
393
500
  imageId: normalizeImageId(news.image),
394
501
  ...(envFiles === undefined ? {} : { envFiles }),
502
+ ...(seccompProfile === undefined ? {} : { seccompProfile }),
395
503
  });
396
504
  });
397
505
 
@@ -492,9 +600,9 @@ export const ContainerProvider = () =>
492
600
  ) {
493
601
  return { action: "update" as const };
494
602
  }
495
- // Same env file paths, possibly new contents: compare against the
496
- // hash stamped on the running container.
497
- if (news.envFiles?.length) {
603
+ // File-backed inputs can change without changing their paths.
604
+ // Compare their digests against the live config hash.
605
+ if (news.envFiles?.length || isCustomSeccompProfile(news.seccompProfile)) {
498
606
  const live = yield* inspect(newArgs.name, dockerContextName(news.context));
499
607
  const applied = live?.Config.Labels?.[CREATE_CONFIG_HASH_LABEL];
500
608
  if (applied !== undefined && applied !== (yield* desiredConfigHash(newArgs, news))) {
@@ -538,7 +646,12 @@ export const ContainerProvider = () =>
538
646
  !matchesLegacyConfig(live, args, news.image) ||
539
647
  // Env file contents can't be compared without a label (e.g. an
540
648
  // adopted container); recreate once so later edits are tracked.
541
- (news.envFiles?.length ?? 0) > 0
649
+ (news.envFiles?.length ?? 0) > 0 ||
650
+ isCustomSeccompProfile(news.seccompProfile) ||
651
+ // A legacy/adopted container has no stamped config hash.
652
+ // Do not retain it without proof that the requested security
653
+ // restrictions were applied.
654
+ hasHardeningOptions(news)
542
655
  : live.Config.Labels[CREATE_CONFIG_HASH_LABEL] !== configHash);
543
656
  if (recreate) {
544
657
  yield* remove(live.Id, context);
@@ -634,6 +747,30 @@ const makeCreateArgs = (id: string, news: ContainerProps, instanceId: string) =>
634
747
  "add-host": news.extraHosts,
635
748
  network: normalizeNetworkMode(news.networkMode),
636
749
  "cap-add": normalizeCapabilities(news.capAdd),
750
+ ...(news.capDrop?.length ? { "cap-drop": normalizeCapabilities(news.capDrop) } : {}),
751
+ ...(news.memory !== undefined ? { memory: news.memory } : {}),
752
+ ...(news.memorySwap !== undefined ? { "memory-swap": news.memorySwap } : {}),
753
+ ...(news.memoryReservation !== undefined
754
+ ? { "memory-reservation": news.memoryReservation }
755
+ : {}),
756
+ ...(news.cpus !== undefined ? { cpus: news.cpus } : {}),
757
+ ...(news.pidsLimit !== undefined ? { "pids-limit": news.pidsLimit } : {}),
758
+ ...(news.readOnlyRootFilesystem ? { "read-only": true } : {}),
759
+ ...(normalizeSecurityOptions(news) ? { "security-opt": normalizeSecurityOptions(news) } : {}),
760
+ ...(news.userNamespace !== undefined ? { userns: news.userNamespace } : {}),
761
+ ...(news.groupAdd?.length ? { "group-add": normalizeGroups(news.groupAdd) } : {}),
762
+ ...(Object.keys(news.ulimits ?? {}).length ? { ulimit: normalizeUlimits(news.ulimits) } : {}),
763
+ ...(news.logDriver !== undefined ? { "log-driver": news.logDriver } : {}),
764
+ ...(Object.keys(news.logOptions ?? {}).length
765
+ ? { "log-opt": normalizeLogOptions(news.logOptions) }
766
+ : {}),
767
+ ...(news.oomScoreAdjustment !== undefined
768
+ ? { "oom-score-adj": news.oomScoreAdjustment }
769
+ : {}),
770
+ ...(news.stopSignal !== undefined ? { "stop-signal": news.stopSignal } : {}),
771
+ ...(news.init ? { init: true } : {}),
772
+ ...(news.user !== undefined ? { user: news.user } : {}),
773
+ ...(news.tmpfs?.length ? { tmpfs: normalizeTmpfs(news.tmpfs) } : {}),
637
774
  device: normalizeDevices(news.devices),
638
775
  restart: news.restart ?? "no",
639
776
  label: news.labels,
@@ -689,6 +826,64 @@ const normalizeCapabilities = (capAdd: string[] | undefined): string[] | undefin
689
826
  return [...new Set(capAdd.map((capability) => capability.trim()).filter(Boolean))].sort();
690
827
  };
691
828
 
829
+ const isCustomSeccompProfile = (profile: string | undefined): profile is string =>
830
+ profile !== undefined && profile !== "builtin" && profile !== "unconfined";
831
+
832
+ const normalizeSecurityOptions = (props: ContainerProps): string[] | undefined => {
833
+ const options = [
834
+ ...(props.noNewPrivileges ? ["no-new-privileges"] : []),
835
+ ...(props.seccompProfile ? [`seccomp=${props.seccompProfile}`] : []),
836
+ ...(props.appArmorProfile ? [`apparmor=${props.appArmorProfile}`] : []),
837
+ ];
838
+ return options.length ? options : undefined;
839
+ };
840
+
841
+ const normalizeGroups = (groups: string[]): string[] =>
842
+ [...new Set(groups.map((group) => group.trim()))].sort();
843
+
844
+ const normalizeUlimits = (limits: ContainerProps["ulimits"]): string[] =>
845
+ Object.entries(limits ?? {})
846
+ .sort(([left], [right]) => left.localeCompare(right))
847
+ .map(([name, { soft, hard }]) => `${name}=${soft}:${hard}`);
848
+
849
+ const normalizeLogOptions = (options: ContainerProps["logOptions"]): string[] =>
850
+ Object.entries(options ?? {})
851
+ .sort(([left], [right]) => left.localeCompare(right))
852
+ .map(([name, value]) => `${name}=${value}`);
853
+
854
+ const normalizeTmpfs = (mounts: Container.TmpfsMount[]): string[] =>
855
+ [...mounts]
856
+ .sort((a, b) => a.path.localeCompare(b.path))
857
+ .map(({ path, size, mode }) => {
858
+ const options = [
859
+ ...(size !== undefined ? [`size=${size}`] : []),
860
+ ...(mode !== undefined ? [`mode=${mode.toString(8)}`] : []),
861
+ ];
862
+ return options.length > 0 ? `${path}:${options.join(",")}` : path;
863
+ });
864
+
865
+ const hasHardeningOptions = (props: ContainerProps): boolean =>
866
+ (props.capDrop?.length ?? 0) > 0 ||
867
+ props.memory !== undefined ||
868
+ props.memorySwap !== undefined ||
869
+ props.memoryReservation !== undefined ||
870
+ props.cpus !== undefined ||
871
+ props.pidsLimit !== undefined ||
872
+ props.readOnlyRootFilesystem === true ||
873
+ props.noNewPrivileges === true ||
874
+ props.seccompProfile !== undefined ||
875
+ props.appArmorProfile !== undefined ||
876
+ props.userNamespace !== undefined ||
877
+ (props.groupAdd?.length ?? 0) > 0 ||
878
+ Object.keys(props.ulimits ?? {}).length > 0 ||
879
+ props.logDriver !== undefined ||
880
+ Object.keys(props.logOptions ?? {}).length > 0 ||
881
+ props.oomScoreAdjustment !== undefined ||
882
+ props.stopSignal !== undefined ||
883
+ props.init === true ||
884
+ props.user !== undefined ||
885
+ (props.tmpfs?.length ?? 0) > 0;
886
+
692
887
  const normalizeDevices = (devices: Container.DeviceMapping[] | undefined): string[] | undefined => {
693
888
  if (!devices?.length) return undefined;
694
889
  const normalized = devices.map(
@@ -707,6 +902,102 @@ export class InvalidContainerOptions extends Data.TaggedError("InvalidContainerO
707
902
  }> {}
708
903
 
709
904
  const validateContainerOptions = (news: ContainerProps) => {
905
+ // The CLI formatter omits empty strings. Reject them instead of silently
906
+ // dropping user-specified resource and security restrictions.
907
+ for (const option of [
908
+ "memory",
909
+ "memorySwap",
910
+ "memoryReservation",
911
+ "user",
912
+ "seccompProfile",
913
+ "appArmorProfile",
914
+ "userNamespace",
915
+ "logDriver",
916
+ "stopSignal",
917
+ ] as const) {
918
+ if (news[option] !== undefined && news[option].trim().length === 0) {
919
+ return Effect.fail(
920
+ new InvalidContainerOptions({
921
+ message: `Docker.Container ${option} cannot be empty`,
922
+ }),
923
+ );
924
+ }
925
+ }
926
+ if (news.capDrop?.some((capability) => capability.trim().length === 0)) {
927
+ return Effect.fail(
928
+ new InvalidContainerOptions({
929
+ message: "Docker.Container capDrop cannot contain empty capabilities",
930
+ }),
931
+ );
932
+ }
933
+ if (news.groupAdd?.some((group) => group.trim().length === 0)) {
934
+ return Effect.fail(
935
+ new InvalidContainerOptions({
936
+ message: "Docker.Container groupAdd cannot contain empty groups",
937
+ }),
938
+ );
939
+ }
940
+ for (const [name, limit] of Object.entries(news.ulimits ?? {})) {
941
+ if (
942
+ !/^[a-z][a-z0-9_-]*$/.test(name) ||
943
+ !Number.isSafeInteger(limit.soft) ||
944
+ !Number.isSafeInteger(limit.hard) ||
945
+ limit.soft < -1 ||
946
+ limit.hard < -1 ||
947
+ (limit.hard !== -1 && (limit.soft === -1 || limit.soft > limit.hard))
948
+ ) {
949
+ return Effect.fail(
950
+ new InvalidContainerOptions({
951
+ message: `Docker.Container ulimits contains an invalid soft/hard limit for ${name}`,
952
+ }),
953
+ );
954
+ }
955
+ }
956
+ for (const [name, value] of Object.entries(news.logOptions ?? {})) {
957
+ if (!name.trim() || name.includes("=") || !value.trim()) {
958
+ return Effect.fail(
959
+ new InvalidContainerOptions({
960
+ message: `Docker.Container logOptions contains an invalid option: ${name}`,
961
+ }),
962
+ );
963
+ }
964
+ }
965
+ if (
966
+ news.oomScoreAdjustment !== undefined &&
967
+ (!Number.isInteger(news.oomScoreAdjustment) ||
968
+ news.oomScoreAdjustment < -1000 ||
969
+ news.oomScoreAdjustment > 1000)
970
+ ) {
971
+ return Effect.fail(
972
+ new InvalidContainerOptions({
973
+ message: "Docker.Container oomScoreAdjustment must be an integer from -1000 to 1000",
974
+ }),
975
+ );
976
+ }
977
+ if (news.memorySwap !== undefined && news.memory === undefined) {
978
+ return Effect.fail(
979
+ new InvalidContainerOptions({
980
+ message: "Docker.Container memorySwap requires memory to be set",
981
+ }),
982
+ );
983
+ }
984
+ if (news.cpus !== undefined && (!Number.isFinite(news.cpus) || news.cpus <= 0)) {
985
+ return Effect.fail(
986
+ new InvalidContainerOptions({
987
+ message: "Docker.Container cpus must be a finite, positive number",
988
+ }),
989
+ );
990
+ }
991
+ if (
992
+ news.pidsLimit !== undefined &&
993
+ (!Number.isInteger(news.pidsLimit) || (news.pidsLimit <= 0 && news.pidsLimit !== -1))
994
+ ) {
995
+ return Effect.fail(
996
+ new InvalidContainerOptions({
997
+ message: "Docker.Container pidsLimit must be a positive integer or -1 (unlimited)",
998
+ }),
999
+ );
1000
+ }
710
1001
  if (
711
1002
  isContainerNetworkMode(news.networkMode) &&
712
1003
  ((news.ports?.length ?? 0) > 0 || (news.networks?.length ?? 0) > 0)
@@ -728,6 +1019,41 @@ const validateContainerOptions = (news: ContainerProps) => {
728
1019
  }
729
1020
  targets.add(device.containerPath);
730
1021
  }
1022
+ const tmpfsTargets = new Set<string>();
1023
+ for (const mount of news.tmpfs ?? []) {
1024
+ if (mount.size !== undefined && mount.size.trim().length === 0) {
1025
+ return Effect.fail(
1026
+ new InvalidContainerOptions({
1027
+ message: `Docker.Container tmpfs size cannot be empty for ${mount.path}`,
1028
+ }),
1029
+ );
1030
+ }
1031
+ if (!mount.path.startsWith("/") || mount.path.includes(":") || mount.path.includes(",")) {
1032
+ return Effect.fail(
1033
+ new InvalidContainerOptions({
1034
+ message: `Docker.Container tmpfs target must be an absolute path: ${mount.path}`,
1035
+ }),
1036
+ );
1037
+ }
1038
+ if (tmpfsTargets.has(mount.path)) {
1039
+ return Effect.fail(
1040
+ new InvalidContainerOptions({
1041
+ message: `Docker.Container tmpfs contains duplicate target ${mount.path}`,
1042
+ }),
1043
+ );
1044
+ }
1045
+ if (
1046
+ mount.mode !== undefined &&
1047
+ (!Number.isInteger(mount.mode) || mount.mode < 0 || mount.mode > 0o7777)
1048
+ ) {
1049
+ return Effect.fail(
1050
+ new InvalidContainerOptions({
1051
+ message: `Docker.Container tmpfs mode is not a valid POSIX mode for ${mount.path}`,
1052
+ }),
1053
+ );
1054
+ }
1055
+ tmpfsTargets.add(mount.path);
1056
+ }
731
1057
  return Effect.void;
732
1058
  };
733
1059