forked from testcontainers/testcontainers-node
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtypes.ts
More file actions
93 lines (70 loc) · 2.13 KB
/
types.ts
File metadata and controls
93 lines (70 loc) · 2.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
import { Readable } from "stream";
export type InspectResult = {
name: string;
hostname: string;
ports: Ports;
healthCheckStatus: HealthCheckStatus;
networkSettings: { [networkName: string]: NetworkSettings };
state: { status: string; running: boolean; startedAt: Date; finishedAt: Date | undefined };
labels: Labels;
};
export type ContainerRuntime = "docker" | "podman";
export type Environment = { [key in string]: string };
export type BindMode = "rw" | "ro" | "z" | "Z";
export type BindMount = {
source: string;
target: string;
mode?: BindMode;
};
export type FileToCopy = {
source: string;
target: string;
mode?: number;
};
export type DirectoryToCopy = FileToCopy;
export type Content = string | Buffer | Readable;
export type ContentToCopy = {
content: Content;
target: string;
mode?: number;
};
export type TmpFs = { [dir in string]: string };
export type Ulimits = { [name: string]: { hard: number | undefined; soft: number | undefined } };
export type ResourcesQuota = {
memory?: number; // Memory limit in Gigabytes
cpu?: number; // CPU quota in units of CPUs
};
export type HealthCheck = {
test: ["CMD-SHELL", string] | ["CMD", ...string[]];
interval?: number;
timeout?: number;
retries?: number;
startPeriod?: number;
};
export type ExtraHost = {
host: string;
ipAddress: string;
};
export type Labels = { [key: string]: string };
export type HostPortBindings = Array<{ hostIp: string; hostPort: number }>;
export type Ports = { [containerPort: number]: HostPortBindings };
export type AuthConfig = {
username: string;
password: string;
registryAddress: string;
email?: string;
};
export type RegistryConfig = {
[registryAddress: string]: {
username: string;
password: string;
};
};
export type BuildArgs = { [key in string]: string };
export type ExecOptions = { workingDir: string; user: string; env: Environment };
export type ExecResult = { output: string; stdout: string; stderr: string; exitCode: number };
export type HealthCheckStatus = "none" | "starting" | "unhealthy" | "healthy";
export type NetworkSettings = {
networkId: string;
ipAddress: string;
};