@task-handoff/node-agent 0.0.31 → 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.31-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.31-linux-universal.tar.gz +0 -0
- package/runtime-artifacts/controlled-instance-runtime-0.0.31-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
|
-
c2537f952358765c3477dc8b19ae0fa5509ea06d5db581be3f8d480233b5c0ba controlled-instance-runtime-0.0.31-linux-universal.tar.gz
|