testcontainers 10.10.0 → 10.10.2
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.
|
@@ -49,7 +49,7 @@ async function getContainerRuntimeClient() {
|
|
|
49
49
|
];
|
|
50
50
|
for (const strategy of strategies) {
|
|
51
51
|
try {
|
|
52
|
-
common_1.log.debug(`
|
|
52
|
+
common_1.log.debug(`Checking container runtime strategy "${strategy.getName()}"...`);
|
|
53
53
|
const client = await initStrategy(strategy);
|
|
54
54
|
if (client) {
|
|
55
55
|
common_1.log.debug(`Container runtime strategy "${strategy.getName()}" works`);
|
|
@@ -57,8 +57,11 @@ async function getContainerRuntimeClient() {
|
|
|
57
57
|
return client;
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
catch {
|
|
61
|
-
common_1.log.debug(`Container runtime strategy "${strategy.getName()}" does not work`);
|
|
60
|
+
catch (err) {
|
|
61
|
+
common_1.log.debug(`Container runtime strategy "${strategy.getName()}" does not work: "${err}"`);
|
|
62
|
+
if (err !== null && typeof err === "object" && "stack" in err && typeof err.stack === "string") {
|
|
63
|
+
common_1.log.debug(err.stack);
|
|
64
|
+
}
|
|
62
65
|
}
|
|
63
66
|
}
|
|
64
67
|
throw new Error("Could not find a working container runtime strategy");
|
|
@@ -67,6 +70,7 @@ exports.getContainerRuntimeClient = getContainerRuntimeClient;
|
|
|
67
70
|
async function initStrategy(strategy) {
|
|
68
71
|
const result = await strategy.getResult();
|
|
69
72
|
if (!result) {
|
|
73
|
+
common_1.log.debug(`Container runtime strategy "${strategy.getName()}" is not applicable`);
|
|
70
74
|
return undefined;
|
|
71
75
|
}
|
|
72
76
|
const dockerodeOptions = {
|
|
@@ -74,26 +78,33 @@ async function initStrategy(strategy) {
|
|
|
74
78
|
headers: { ...result.dockerOptions.headers, "User-Agent": `tc-node/${version_1.LIB_VERSION}` },
|
|
75
79
|
};
|
|
76
80
|
const dockerode = new dockerode_1.default(dockerodeOptions);
|
|
81
|
+
common_1.log.trace("Fetching Docker info...");
|
|
77
82
|
const dockerodeInfo = await dockerode.info();
|
|
78
83
|
const indexServerAddress = !(0, common_1.isDefined)(dockerodeInfo.IndexServerAddress) || (0, common_1.isEmptyString)(dockerodeInfo.IndexServerAddress)
|
|
79
84
|
? "https://index.docker.io/v1/"
|
|
80
85
|
: dockerodeInfo.IndexServerAddress;
|
|
86
|
+
common_1.log.trace("Fetching remote container runtime socket path...");
|
|
81
87
|
const remoteContainerRuntimeSocketPath = (0, remote_container_runtime_socket_path_1.getRemoteContainerRuntimeSocketPath)(result, dockerodeInfo.OperatingSystem);
|
|
88
|
+
common_1.log.trace("Resolving host...");
|
|
82
89
|
const host = await (0, resolve_host_1.resolveHost)(dockerode, result, indexServerAddress);
|
|
90
|
+
common_1.log.trace("Fetching Compose info...");
|
|
83
91
|
const composeClient = await (0, compose_client_1.getComposeClient)(result.composeEnvironment);
|
|
84
|
-
const containerClient = result.uri.includes("podman.sock")
|
|
85
|
-
? new podman_container_client_1.PodmanContainerClient(dockerode)
|
|
86
|
-
: new docker_container_client_1.DockerContainerClient(dockerode);
|
|
87
|
-
const imageClient = new docker_image_client_1.DockerImageClient(dockerode, indexServerAddress);
|
|
88
|
-
const networkClient = new docker_network_client_1.DockerNetworkClient(dockerode);
|
|
89
92
|
const nodeInfo = {
|
|
90
93
|
version: process.version,
|
|
91
94
|
architecture: process.arch,
|
|
92
95
|
platform: process.platform,
|
|
93
96
|
};
|
|
97
|
+
common_1.log.trace("Looking up host IPs...");
|
|
98
|
+
const hostIps = await (0, lookup_host_ips_1.lookupHostIps)(host);
|
|
99
|
+
common_1.log.trace("Initialising clients...");
|
|
100
|
+
const containerClient = result.uri.includes("podman.sock")
|
|
101
|
+
? new podman_container_client_1.PodmanContainerClient(dockerode)
|
|
102
|
+
: new docker_container_client_1.DockerContainerClient(dockerode);
|
|
103
|
+
const imageClient = new docker_image_client_1.DockerImageClient(dockerode, indexServerAddress);
|
|
104
|
+
const networkClient = new docker_network_client_1.DockerNetworkClient(dockerode);
|
|
94
105
|
const containerRuntimeInfo = {
|
|
95
106
|
host,
|
|
96
|
-
hostIps
|
|
107
|
+
hostIps,
|
|
97
108
|
remoteSocketPath: remoteContainerRuntimeSocketPath,
|
|
98
109
|
indexServerAddress: indexServerAddress,
|
|
99
110
|
serverVersion: dockerodeInfo.ServerVersion,
|
|
@@ -106,6 +117,7 @@ async function initStrategy(strategy) {
|
|
|
106
117
|
};
|
|
107
118
|
const composeInfo = composeClient.info;
|
|
108
119
|
const info = { node: nodeInfo, containerRuntime: containerRuntimeInfo, compose: composeInfo };
|
|
120
|
+
common_1.log.trace(`Container runtime info:\n${JSON.stringify(info, null, 2)}`);
|
|
109
121
|
return new ContainerRuntimeClient(info, composeClient, containerClient, imageClient, networkClient);
|
|
110
122
|
}
|
|
111
123
|
//# sourceMappingURL=client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/container-runtime/clients/client.ts"],"names":[],"mappings":";;;;;;AAAA,6DAA2E;AAK3E,iFAA6E;AAC7E,6FAAwF;AACxF,6EAAwE;AACxE,+FAAyF;AACzF,+EAA0E;AAE1E,0DAAqD;AACrD,wGAAoG;AACpG,wDAAoD;AACpD,iFAA4E;AAC5E,iFAA4E;AAC5E,qEAAgE;AAChE,2EAAsE;AACtE,8DAAyD;AACzD,yCAA6D;AAC7D,2CAA4C;AAE5C,MAAa,sBAAsB;IAEf;IACA;IACA;IACA;IACA;IALlB,YACkB,IAAU,EACV,OAAsB,EACtB,SAA0B,EAC1B,KAAkB,EAClB,OAAsB;QAJtB,SAAI,GAAJ,IAAI,CAAM;QACV,YAAO,GAAP,OAAO,CAAe;QACtB,cAAS,GAAT,SAAS,CAAiB;QAC1B,UAAK,GAAL,KAAK,CAAa;QAClB,YAAO,GAAP,OAAO,CAAe;IACrC,CAAC;CACL;AARD,wDAQC;AAED,IAAI,sBAA8C,CAAC;AAE5C,KAAK,UAAU,yBAAyB;IAC7C,IAAI,sBAAsB,EAAE;QAC1B,OAAO,sBAAsB,CAAC;KAC/B;IAED,MAAM,UAAU,GAAqC;QACnD,IAAI,yDAA0B,EAAE;QAChC,IAAI,8CAAqB,EAAE;QAC3B,IAAI,yCAAkB,EAAE;QACxB,IAAI,0DAA0B,EAAE;QAChC,IAAI,2CAAmB,EAAE;KAC1B,CAAC;IAEF,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE;QACjC,IAAI;YACF,YAAG,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/container-runtime/clients/client.ts"],"names":[],"mappings":"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"}
|
package/build/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const LIB_VERSION = "10.10.
|
|
1
|
+
export declare const LIB_VERSION = "10.10.2";
|
package/build/version.js
CHANGED