@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.
- package/lib/BuildHash.d.ts +12 -3
- package/lib/BuildHash.d.ts.map +1 -1
- package/lib/BuildHash.js +9 -2
- package/lib/BuildHash.js.map +1 -1
- package/lib/Container.d.ts +98 -0
- package/lib/Container.d.ts.map +1 -1
- package/lib/Container.js +218 -4
- package/lib/Container.js.map +1 -1
- package/lib/Docker.d.ts +80 -1
- package/lib/Docker.d.ts.map +1 -1
- package/lib/Docker.js +27 -6
- package/lib/Docker.js.map +1 -1
- package/lib/Image.d.ts +29 -1
- package/lib/Image.d.ts.map +1 -1
- package/lib/Image.js +18 -0
- package/lib/Image.js.map +1 -1
- package/lib/ImageSource.d.ts +57 -3
- package/lib/ImageSource.d.ts.map +1 -1
- package/lib/ImageSource.js +32 -3
- package/lib/ImageSource.js.map +1 -1
- package/lib/RemoteImage.js +1 -1
- package/lib/RemoteImage.js.map +1 -1
- package/lib/Service.d.ts +24 -3
- package/lib/Service.d.ts.map +1 -1
- package/lib/Service.js +154 -12
- package/lib/Service.js.map +1 -1
- package/package.json +7 -7
- package/src/BuildHash.ts +12 -2
- package/src/Container.ts +330 -4
- package/src/Docker.ts +101 -7
- package/src/Image.ts +30 -1
- package/src/ImageSource.ts +78 -5
- package/src/RemoteImage.ts +1 -1
- package/src/Service.ts +246 -62
package/lib/Service.js.map
CHANGED
|
@@ -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.
|
|
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
|
|
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.
|
|
58
|
-
"effect": "^4.0
|
|
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
|
|
63
|
-
"alchemy": "2.0.0-beta.
|
|
64
|
-
"effect": "^4.0
|
|
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*
|
|
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*
|
|
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
|
-
//
|
|
496
|
-
//
|
|
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
|
|