@clawops/cli 1.5.0 → 1.7.0
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/{apply-5RREMN3L.js → apply-BTZFFGAD.js} +2 -2
- package/dist/{aws-FRE2JVAZ.js → aws-D7Y6LCGK.js} +52 -90
- package/dist/{azure-PVC3AQVC.js → azure-JQAMNVHN.js} +15 -56
- package/dist/{bootstrap-G4UZ2FKH.js → bootstrap-RY4VOSDJ.js} +2 -2
- package/dist/{chunk-T5EX55GP.js → chunk-3MFZ7E74.js} +3 -3
- package/dist/{chunk-IVX62LFO.js → chunk-7KLLWDBA.js} +2 -2
- package/dist/{chunk-R5S6IXBE.js → chunk-CG3Y7Y2R.js} +41 -71
- package/dist/{chunk-4U3LTLWZ.js → chunk-GJEF6UQA.js} +1 -0
- package/dist/{chunk-ZONXY3C6.js → chunk-ISFHLA4G.js} +4 -4
- package/dist/{chunk-ZVOEQCNW.js → chunk-LCKD7L7X.js} +1 -1
- package/dist/chunk-Q7NQY5HV.js +37 -0
- package/dist/chunk-XKT42M34.js +72 -0
- package/dist/cli.js +410 -58
- package/dist/{context-PSGEX2D7.js → context-ALSJMTHE.js} +1 -1
- package/dist/firewall-XQGO7HWK.js +51 -0
- package/dist/{gcp-BXDTC6EK.js → gcp-6FT2A45S.js} +14 -63
- package/dist/{generate-2QGKYR42.js → generate-ZTD4BVVI.js} +2 -2
- package/dist/harden-BDVYW567.js +748 -0
- package/dist/human-Z44CW7TR.js +21 -0
- package/dist/{package-QLDA65A3.js → package-7WOZMHSO.js} +5 -1
- package/dist/{pool-FBFHATDG.js → pool-JZGKPP6K.js} +2 -2
- package/dist/{server-LOL2NUJ2.js → server-EXBOOIEP.js} +11 -10
- package/dist/{ssh-IQXNME3D.js → ssh-E2AMBPZY.js} +1 -1
- package/package.json +5 -1
- package/dist/firewall-YYDOWDDP.js +0 -36
|
@@ -8,15 +8,15 @@ import {
|
|
|
8
8
|
import {
|
|
9
9
|
resolveSecrets
|
|
10
10
|
} from "./chunk-BOPSG2LI.js";
|
|
11
|
-
import {
|
|
12
|
-
buildContext
|
|
13
|
-
} from "./chunk-T5EX55GP.js";
|
|
14
11
|
import {
|
|
15
12
|
atomicWriteConfig,
|
|
16
13
|
deepMerge,
|
|
17
14
|
readRemoteConfig,
|
|
18
15
|
restartGateway
|
|
19
16
|
} from "./chunk-ZFNPM2WG.js";
|
|
17
|
+
import {
|
|
18
|
+
buildContext
|
|
19
|
+
} from "./chunk-3MFZ7E74.js";
|
|
20
20
|
import {
|
|
21
21
|
UsageError
|
|
22
22
|
} from "./chunk-KGXPLI7W.js";
|
|
@@ -86,7 +86,7 @@ The diff you reviewed may no longer reflect what will be applied.
|
|
|
86
86
|
};
|
|
87
87
|
}
|
|
88
88
|
async function applyConfigOverlay(plan, outputs, ctx, signal) {
|
|
89
|
-
const { connect } = await import("./ssh-
|
|
89
|
+
const { connect } = await import("./ssh-E2AMBPZY.js");
|
|
90
90
|
const connInfo = ctx.adapter.getConnectionInfo(outputs);
|
|
91
91
|
const session = await connect({
|
|
92
92
|
host: connInfo.host,
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
// src/output/human.ts
|
|
4
|
+
import chalk from "chalk";
|
|
5
|
+
import ora from "ora";
|
|
6
|
+
function success(msg) {
|
|
7
|
+
console.log(chalk.green("\u2713") + " " + msg);
|
|
8
|
+
}
|
|
9
|
+
function failure(msg) {
|
|
10
|
+
console.error(chalk.red("\u2717") + " " + msg);
|
|
11
|
+
}
|
|
12
|
+
function warn(msg) {
|
|
13
|
+
console.warn(chalk.yellow("\u26A0") + " " + msg);
|
|
14
|
+
}
|
|
15
|
+
function info(msg) {
|
|
16
|
+
console.log(chalk.blue("\u2139") + " " + msg);
|
|
17
|
+
}
|
|
18
|
+
function spinner(text) {
|
|
19
|
+
return ora(text).start();
|
|
20
|
+
}
|
|
21
|
+
var REPO_URL = "https://github.com/dfridkin/clawops";
|
|
22
|
+
function printCta() {
|
|
23
|
+
process.stdout.write(
|
|
24
|
+
"\n" + chalk.dim(" Thank you for using clawops! If it has been useful, star the project:") + "\n" + chalk.dim(" " + REPO_URL) + "\n\n" + chalk.dim(" Found a bug? Open an issue:") + "\n" + chalk.dim(" " + REPO_URL + "/issues") + "\n\n"
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export {
|
|
29
|
+
chalk,
|
|
30
|
+
success,
|
|
31
|
+
failure,
|
|
32
|
+
warn,
|
|
33
|
+
info,
|
|
34
|
+
spinner,
|
|
35
|
+
REPO_URL,
|
|
36
|
+
printCta
|
|
37
|
+
};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
// src/providers/startup.ts
|
|
4
|
+
function makeStartupScript(opts) {
|
|
5
|
+
const { openclawVersion, os, bedrockEnabled = false } = opts;
|
|
6
|
+
const dockerDistro = os === "ubuntu" ? "ubuntu" : "debian";
|
|
7
|
+
const bedrockEnvBlock = bedrockEnabled ? makeBedrockEnvBlock() : "";
|
|
8
|
+
return `#!/bin/bash
|
|
9
|
+
set -euo pipefail
|
|
10
|
+
|
|
11
|
+
# \u2500\u2500 User setup \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
|
|
12
|
+
id -u clawops &>/dev/null || useradd -m -s /bin/bash clawops
|
|
13
|
+
mkdir -p /home/clawops/.ssh
|
|
14
|
+
chmod 700 /home/clawops/.ssh
|
|
15
|
+
chown clawops:clawops /home/clawops/.ssh
|
|
16
|
+
|
|
17
|
+
# \u2500\u2500 Docker installation \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
|
|
18
|
+
if ! command -v docker &>/dev/null; then
|
|
19
|
+
export DEBIAN_FRONTEND=noninteractive
|
|
20
|
+
apt-get update -q
|
|
21
|
+
apt-get install -y -q ca-certificates curl gnupg lsb-release
|
|
22
|
+
install -m 0755 -d /etc/apt/keyrings
|
|
23
|
+
curl -fsSL https://download.docker.com/linux/${dockerDistro}/gpg \\
|
|
24
|
+
-o /etc/apt/keyrings/docker.asc
|
|
25
|
+
chmod a+r /etc/apt/keyrings/docker.asc
|
|
26
|
+
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \\
|
|
27
|
+
https://download.docker.com/linux/${dockerDistro} $(lsb_release -cs) stable" \\
|
|
28
|
+
> /etc/apt/sources.list.d/docker.list
|
|
29
|
+
apt-get update -q
|
|
30
|
+
apt-get install -y -q \\
|
|
31
|
+
docker-ce \\
|
|
32
|
+
docker-ce-cli \\
|
|
33
|
+
containerd.io \\
|
|
34
|
+
docker-buildx-plugin \\
|
|
35
|
+
docker-compose-plugin
|
|
36
|
+
systemctl enable --now docker
|
|
37
|
+
fi
|
|
38
|
+
|
|
39
|
+
usermod -aG docker clawops
|
|
40
|
+
|
|
41
|
+
# \u2500\u2500 OpenClaw image \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
|
|
42
|
+
OPENCLAW_VERSION="${openclawVersion}"
|
|
43
|
+
docker pull ghcr.io/openclaw/openclaw:\${OPENCLAW_VERSION}
|
|
44
|
+
|
|
45
|
+
# \u2500\u2500 Default config (apply.ts will overwrite with plan overlay) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
|
|
46
|
+
OPENCLAW_CONFIG=/home/clawops/openclaw.json
|
|
47
|
+
if [ ! -f "\${OPENCLAW_CONFIG}" ]; then
|
|
48
|
+
cat > "\${OPENCLAW_CONFIG}" <<'OPENCLAWJSON'
|
|
49
|
+
{"meta":{"lastTouchedVersion":"2026.4"},"gateway":{"port":18789,"auth":{"mode":"token"}},"models":{},"channels":{}}
|
|
50
|
+
OPENCLAWJSON
|
|
51
|
+
chown clawops:clawops "\${OPENCLAW_CONFIG}"
|
|
52
|
+
fi
|
|
53
|
+
|
|
54
|
+
# \u2500\u2500 Start OpenClaw container \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500
|
|
55
|
+
docker stop openclaw 2>/dev/null || true
|
|
56
|
+
docker rm openclaw 2>/dev/null || true
|
|
57
|
+
docker run -d \\
|
|
58
|
+
--name openclaw \\
|
|
59
|
+
--restart unless-stopped \\
|
|
60
|
+
-p 18789:18789 \\
|
|
61
|
+
-v "\${OPENCLAW_CONFIG}":/app/config.json:ro \\
|
|
62
|
+
${bedrockEnvBlock} ghcr.io/openclaw/openclaw:\${OPENCLAW_VERSION} \\
|
|
63
|
+
node openclaw.mjs gateway run --allow-unconfigured
|
|
64
|
+
`;
|
|
65
|
+
}
|
|
66
|
+
function makeBedrockEnvBlock() {
|
|
67
|
+
return ' -e AWS_DEFAULT_REGION=$( \\\n IMDS_TOKEN=$(curl -sf -X PUT \\\n "http://169.254.169.254/latest/api/token" \\\n -H "X-aws-ec2-metadata-token-ttl-seconds: 60") && \\\n curl -sf \\\n -H "X-aws-ec2-metadata-token: ${IMDS_TOKEN}" \\\n "http://169.254.169.254/latest/meta-data/placement/region" \\\n || echo us-east-1) \\\n';
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export {
|
|
71
|
+
makeStartupScript
|
|
72
|
+
};
|