testcontainers 8.9.0 → 8.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.
- package/README.md +2 -0
- package/dist/dockerfile-parser.js +2 -2
- package/dist/port-forwarder.js +4 -1
- package/dist/reaper.js +4 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -40,6 +40,8 @@ The following environment variables are supported:
|
|
|
40
40
|
|
|
41
41
|
- `TESTCONTAINERS_RYUK_PRIVILEGED=true` Run [ryuk](#ryuk) as a privileged container
|
|
42
42
|
- `TESTCONTAINERS_RYUK_DISABLED=true` Disable [ryuk](#ryuk)
|
|
43
|
+
- `TESTCONTAINERS_RYUK_PORT=65515` Explicitly set [ryuk](#ryuk) host port (not recommended)
|
|
44
|
+
- `TESTCONTAINERS_SSHD_PORT=65515` Explicitly set [SSHd](#SSHd) host port (not recommended)
|
|
43
45
|
- `RYUK_CONTAINER_IMAGE=registry.mycompany.com/mirror/ryuk:0.3.0` Custom image for [ryuk](#ryuk)
|
|
44
46
|
- `SSHD_CONTAINER_IMAGE=registry.mycompany.com/mirror/sshd:1.0.0` Custom image for [SSHd](#SSHd)
|
|
45
47
|
|
|
@@ -20,8 +20,8 @@ const getDockerfileImages = (dockerfile) => __awaiter(void 0, void 0, void 0, fu
|
|
|
20
20
|
.split(os_1.EOL)
|
|
21
21
|
.filter((line) => line.toUpperCase().startsWith("FROM"))
|
|
22
22
|
.map((line) => {
|
|
23
|
-
const parts = line.split(" ");
|
|
24
|
-
return parts[
|
|
23
|
+
const parts = line.split(" ").filter((part) => part !== "");
|
|
24
|
+
return parts[1];
|
|
25
25
|
})
|
|
26
26
|
.reduce((prev, next) => prev.add(next), new Set())
|
|
27
27
|
.values()).map((image) => docker_image_name_1.DockerImageName.fromString(image));
|
package/dist/port-forwarder.js
CHANGED
|
@@ -56,9 +56,12 @@ class PortForwarderInstance {
|
|
|
56
56
|
logger_1.log.debug(`Creating new Port Forwarder`);
|
|
57
57
|
const username = "root";
|
|
58
58
|
const password = new uuid_1.RandomUuid().nextUuid();
|
|
59
|
+
const containerPort = process.env["TESTCONTAINERS_SSHD_PORT"]
|
|
60
|
+
? { container: 22, host: Number(process.env["TESTCONTAINERS_SSHD_PORT"]) }
|
|
61
|
+
: 22;
|
|
59
62
|
const container = yield new generic_container_1.GenericContainer(images_1.SSHD_IMAGE)
|
|
60
63
|
.withName(`testcontainers-port-forwarder-${session_id_1.sessionId}`)
|
|
61
|
-
.withExposedPorts(
|
|
64
|
+
.withExposedPorts(containerPort)
|
|
62
65
|
.withEnv("PASSWORD", password)
|
|
63
66
|
.withCmd([
|
|
64
67
|
"sh",
|
package/dist/reaper.js
CHANGED
|
@@ -81,10 +81,13 @@ class ReaperInstance {
|
|
|
81
81
|
var _a;
|
|
82
82
|
return __awaiter(this, void 0, void 0, function* () {
|
|
83
83
|
const dockerSocket = (_a = process.env["TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE"]) !== null && _a !== void 0 ? _a : "/var/run/docker.sock";
|
|
84
|
+
const containerPort = process.env["TESTCONTAINERS_RYUK_PORT"]
|
|
85
|
+
? { container: 8080, host: Number(process.env["TESTCONTAINERS_RYUK_PORT"]) }
|
|
86
|
+
: 8080;
|
|
84
87
|
logger_1.log.debug(`Creating new Reaper for session: ${session_id_1.sessionId}`);
|
|
85
88
|
const container = new generic_container_1.GenericContainer(images_1.REAPER_IMAGE)
|
|
86
89
|
.withName(`testcontainers-ryuk-${session_id_1.sessionId}`)
|
|
87
|
-
.withExposedPorts(
|
|
90
|
+
.withExposedPorts(containerPort)
|
|
88
91
|
.withBindMount(dockerSocket, "/var/run/docker.sock")
|
|
89
92
|
.withWaitStrategy(wait_1.Wait.forLogMessage(/.+ Started!/));
|
|
90
93
|
if (this.isPrivileged()) {
|