testcontainers 10.10.0 → 10.10.1
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,8 @@ 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
62
|
}
|
|
63
63
|
}
|
|
64
64
|
throw new Error("Could not find a working container runtime strategy");
|
|
@@ -67,6 +67,7 @@ exports.getContainerRuntimeClient = getContainerRuntimeClient;
|
|
|
67
67
|
async function initStrategy(strategy) {
|
|
68
68
|
const result = await strategy.getResult();
|
|
69
69
|
if (!result) {
|
|
70
|
+
common_1.log.debug(`Container runtime strategy "${strategy.getName()}" is not applicable`);
|
|
70
71
|
return undefined;
|
|
71
72
|
}
|
|
72
73
|
const dockerodeOptions = {
|
|
@@ -74,26 +75,33 @@ async function initStrategy(strategy) {
|
|
|
74
75
|
headers: { ...result.dockerOptions.headers, "User-Agent": `tc-node/${version_1.LIB_VERSION}` },
|
|
75
76
|
};
|
|
76
77
|
const dockerode = new dockerode_1.default(dockerodeOptions);
|
|
78
|
+
common_1.log.trace("Fetching Docker info...");
|
|
77
79
|
const dockerodeInfo = await dockerode.info();
|
|
78
80
|
const indexServerAddress = !(0, common_1.isDefined)(dockerodeInfo.IndexServerAddress) || (0, common_1.isEmptyString)(dockerodeInfo.IndexServerAddress)
|
|
79
81
|
? "https://index.docker.io/v1/"
|
|
80
82
|
: dockerodeInfo.IndexServerAddress;
|
|
83
|
+
common_1.log.trace("Fetching remote container runtime socket path...");
|
|
81
84
|
const remoteContainerRuntimeSocketPath = (0, remote_container_runtime_socket_path_1.getRemoteContainerRuntimeSocketPath)(result, dockerodeInfo.OperatingSystem);
|
|
85
|
+
common_1.log.trace("Resolving host...");
|
|
82
86
|
const host = await (0, resolve_host_1.resolveHost)(dockerode, result, indexServerAddress);
|
|
87
|
+
common_1.log.trace("Fetching Compose info...");
|
|
83
88
|
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
89
|
const nodeInfo = {
|
|
90
90
|
version: process.version,
|
|
91
91
|
architecture: process.arch,
|
|
92
92
|
platform: process.platform,
|
|
93
93
|
};
|
|
94
|
+
common_1.log.trace("Looking up host IPs...");
|
|
95
|
+
const hostIps = await (0, lookup_host_ips_1.lookupHostIps)(host);
|
|
96
|
+
common_1.log.trace("Initialising clients...");
|
|
97
|
+
const containerClient = result.uri.includes("podman.sock")
|
|
98
|
+
? new podman_container_client_1.PodmanContainerClient(dockerode)
|
|
99
|
+
: new docker_container_client_1.DockerContainerClient(dockerode);
|
|
100
|
+
const imageClient = new docker_image_client_1.DockerImageClient(dockerode, indexServerAddress);
|
|
101
|
+
const networkClient = new docker_network_client_1.DockerNetworkClient(dockerode);
|
|
94
102
|
const containerRuntimeInfo = {
|
|
95
103
|
host,
|
|
96
|
-
hostIps
|
|
104
|
+
hostIps,
|
|
97
105
|
remoteSocketPath: remoteContainerRuntimeSocketPath,
|
|
98
106
|
indexServerAddress: indexServerAddress,
|
|
99
107
|
serverVersion: dockerodeInfo.ServerVersion,
|
|
@@ -106,6 +114,7 @@ async function initStrategy(strategy) {
|
|
|
106
114
|
};
|
|
107
115
|
const composeInfo = composeClient.info;
|
|
108
116
|
const info = { node: nodeInfo, containerRuntime: containerRuntimeInfo, compose: composeInfo };
|
|
117
|
+
common_1.log.trace(`Container runtime info:\n${JSON.stringify(info, null, 2)}`);
|
|
109
118
|
return new ContainerRuntimeClient(info, composeClient, containerClient, imageClient, networkClient);
|
|
110
119
|
}
|
|
111
120
|
//# 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.1";
|
package/build/version.js
CHANGED