@task-handoff/node-agent 0.0.32 → 0.0.33
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/dist/cli.js +1 -1
- package/dist/node-update-worker.js +1 -1
- package/docker/entrypoint.sh +10 -0
- package/docker/node-agent-unix-proxy.mjs +26 -0
- package/package.json +1 -1
- package/runtime-artifacts/{controlled-instance-runtime-0.0.32-linux-universal.manifest.json → controlled-instance-runtime-0.0.33-linux-universal.manifest.json} +2 -2
- package/runtime-artifacts/controlled-instance-runtime-0.0.33-linux-universal.tar.gz +0 -0
- package/runtime-artifacts/controlled-instance-runtime-0.0.33-linux-universal.tar.gz.sha256 +1 -0
- package/runtime-artifacts/controlled-instance-runtime-0.0.32-linux-universal.tar.gz +0 -0
- package/runtime-artifacts/controlled-instance-runtime-0.0.32-linux-universal.tar.gz.sha256 +0 -1
package/docker/entrypoint.sh
CHANGED
|
@@ -33,6 +33,15 @@ load_private_config() {
|
|
|
33
33
|
fi
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
+
start_node_agent_unix_proxy() {
|
|
37
|
+
if [ -z "${TASK_HANDOFF_NODE_AGENT_SOCKET_PATH:-}" ]; then
|
|
38
|
+
return
|
|
39
|
+
fi
|
|
40
|
+
node /run/task-handoff/bootstrap/node-agent-unix-proxy.mjs \
|
|
41
|
+
"${TASK_HANDOFF_NODE_AGENT_SOCKET_PATH}" \
|
|
42
|
+
"${TASK_HANDOFF_NODE_AGENT_PROXY_PORT:-19001}" &
|
|
43
|
+
}
|
|
44
|
+
|
|
36
45
|
if [ -n "${TASK_HANDOFF_WORKSPACE_SUBDIRECTORY:-}" ]; then
|
|
37
46
|
export TASK_HANDOFF_WORKSPACE="${TASK_HANDOFF_WORKSPACE:-/workspace}/${TASK_HANDOFF_WORKSPACE_SUBDIRECTORY}"
|
|
38
47
|
unset TASK_HANDOFF_WORKSPACE_SUBDIRECTORY
|
|
@@ -40,6 +49,7 @@ fi
|
|
|
40
49
|
|
|
41
50
|
if [ "$(id -u)" = "0" ] && [ "${TASK_HANDOFF_PRIVILEGE_DROPPED:-0}" != "1" ]; then
|
|
42
51
|
load_private_config
|
|
52
|
+
start_node_agent_unix_proxy
|
|
43
53
|
mkdir -p /data /home/agent
|
|
44
54
|
chown agent:agent /data /home/agent
|
|
45
55
|
if [ "${TASK_HANDOFF_WORKSPACE_MODE:-}" = "git-clone" ]; then
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import http from "node:http";
|
|
2
|
+
|
|
3
|
+
const socketPath = process.argv[2];
|
|
4
|
+
const port = Number(process.argv[3] || "19001");
|
|
5
|
+
if (!socketPath || !Number.isInteger(port) || port < 1 || port > 65535) {
|
|
6
|
+
throw new Error("Usage: node-agent-unix-proxy.mjs <socket-path> [port]");
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
const server = http.createServer((request, response) => {
|
|
10
|
+
const upstream = http.request({
|
|
11
|
+
socketPath,
|
|
12
|
+
method: request.method,
|
|
13
|
+
path: request.url,
|
|
14
|
+
headers: request.headers,
|
|
15
|
+
}, (upstreamResponse) => {
|
|
16
|
+
response.writeHead(upstreamResponse.statusCode || 502, upstreamResponse.headers);
|
|
17
|
+
upstreamResponse.pipe(response);
|
|
18
|
+
});
|
|
19
|
+
upstream.on("error", (error) => {
|
|
20
|
+
if (!response.headersSent) response.writeHead(502, { "content-type": "application/json" });
|
|
21
|
+
response.end(JSON.stringify({ error: { code: "NODE_AGENT_CONTAINER_IPC_UNAVAILABLE", message: error.message } }));
|
|
22
|
+
});
|
|
23
|
+
request.pipe(upstream);
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
server.listen(port, "127.0.0.1");
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"packageName": "@task-handoff/controlled-instance",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.33",
|
|
4
4
|
"platform": "linux",
|
|
5
5
|
"arch": "universal",
|
|
6
6
|
"formatVersion": 1,
|
|
7
7
|
"launcherAbi": 1,
|
|
8
8
|
"entrypoint": "dist/controlled-instance-cli.js",
|
|
9
|
-
"sha256": "
|
|
9
|
+
"sha256": "433e6ee69d3e4b7dd14891386fc5915453aef8f043be1000c77be9eafea85d6a"
|
|
10
10
|
}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
a10033fa7c4e158f25cf2377682ba302a33839a45f6aaf15a596a09eaeb85d05 controlled-instance-runtime-0.0.33-linux-universal.tar.gz
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
5e54fc3a6d09361b00f96d0acc9874bde412c5399d5272523106253a23e12ebe controlled-instance-runtime-0.0.32-linux-universal.tar.gz
|