@salza80/openclaw-aws 0.1.1 → 0.1.2
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 +79 -62
- package/dist/cli/constants.d.ts +1 -1
- package/dist/cli/constants.js +1 -1
- package/package.json +6 -4
- package/templates/openclaw.config.json.template +2 -3
package/README.md
CHANGED
|
@@ -1,27 +1,33 @@
|
|
|
1
1
|
# openclaw-aws
|
|
2
2
|
|
|
3
|
-
[](https://github.com/salza80/openclaw-aws/actions/workflows/ci.yml)
|
|
3
|
+
[](https://github.com/salza80/openclaw-aws/actions/workflows/ci.yml) [](https://github.com/salza80/openclaw-aws/actions/workflows/ci.yml)
|
|
4
4
|
|
|
5
5
|
OpenClaw AWS is a CLI that makes it simple to provision and manage OpenClaw bots on AWS. It creates a minimal Ubuntu EC2 setup with secure SSM-only access.
|
|
6
6
|
|
|
7
7
|
## Install
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
# Recommended:
|
|
10
|
+
# Recommended: install in your bot folder
|
|
11
11
|
mkdir my-openclaw-bot
|
|
12
12
|
cd my-openclaw-bot
|
|
13
13
|
npm init -y
|
|
14
14
|
npm install @salza80/openclaw-aws
|
|
15
|
-
npx openclaw-aws --help
|
|
16
15
|
|
|
17
|
-
#
|
|
18
|
-
npx
|
|
16
|
+
# Run the CLI with npx
|
|
17
|
+
npx openclaw-aws --help
|
|
19
18
|
|
|
20
|
-
#
|
|
19
|
+
# Optional: install globally if you prefer not to use npx
|
|
21
20
|
npm install -g @salza80/openclaw-aws
|
|
22
21
|
openclaw-aws --help
|
|
23
22
|
```
|
|
24
23
|
|
|
24
|
+
## Prerequisites
|
|
25
|
+
|
|
26
|
+
- **Node.js 22+**
|
|
27
|
+
- **AWS CLI v2 installed and authenticated** (SSO recommended)
|
|
28
|
+
- Install AWS CLI v2: [AWS CLI install guide](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html)
|
|
29
|
+
- Configure SSO: [AWS CLI SSO setup guide](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html)
|
|
30
|
+
|
|
25
31
|
## Quick Start
|
|
26
32
|
|
|
27
33
|
```bash
|
|
@@ -29,24 +35,28 @@ openclaw-aws --help
|
|
|
29
35
|
# This will generate a config file
|
|
30
36
|
npx openclaw-aws init
|
|
31
37
|
|
|
32
|
-
#
|
|
38
|
+
# Set the API key required by your selected provider
|
|
39
|
+
# Default provider from init is Anthropic unless you choose another one
|
|
40
|
+
export ANTHROPIC_API_KEY=your-api-key
|
|
41
|
+
|
|
42
|
+
# Deploy
|
|
33
43
|
npx openclaw-aws deploy
|
|
34
44
|
|
|
35
45
|
# Wait for deploy to finish. View the status of your bot
|
|
36
46
|
npx openclaw-aws status
|
|
37
47
|
```
|
|
38
48
|
|
|
39
|
-
|
|
49
|
+
The examples below use the recommended local-install workflow with `npx openclaw-aws`.
|
|
40
50
|
|
|
41
51
|
To access your bot:
|
|
42
52
|
|
|
43
53
|
```bash
|
|
44
54
|
# Open the dashboard to view in your browser (port forwarded via secure SSM - not public access)
|
|
45
|
-
openclaw-aws dashboard
|
|
55
|
+
npx openclaw-aws dashboard
|
|
46
56
|
# Opens http://localhost:18789 in your browser - short delay before it works - refresh browser after 5 seconds
|
|
47
57
|
|
|
48
58
|
# Or connect to the instance via SSM - for full terminal access
|
|
49
|
-
openclaw-aws connect
|
|
59
|
+
npx openclaw-aws connect
|
|
50
60
|
```
|
|
51
61
|
|
|
52
62
|
See the OpenClaw docs for ongoing configuration and usage guidance for your bot: [OpenClaw Documentation](https://docs.openclaw.ai/)
|
|
@@ -55,38 +65,31 @@ Managing multiple bots / instances:
|
|
|
55
65
|
|
|
56
66
|
```bash
|
|
57
67
|
# This will generate another config file
|
|
58
|
-
openclaw-aws init
|
|
68
|
+
npx openclaw-aws init
|
|
59
69
|
# deploy it
|
|
60
|
-
openclaw-aws deploy
|
|
70
|
+
npx openclaw-aws deploy
|
|
61
71
|
|
|
62
72
|
# List all bot configs
|
|
63
|
-
openclaw-aws list
|
|
73
|
+
npx openclaw-aws list
|
|
64
74
|
|
|
65
75
|
# View status of the currently selected config
|
|
66
|
-
openclaw-aws status
|
|
76
|
+
npx openclaw-aws status
|
|
67
77
|
# View status of all configs
|
|
68
|
-
openclaw-aws status --all
|
|
78
|
+
npx openclaw-aws status --all
|
|
69
79
|
|
|
70
80
|
# See the currently selected config.
|
|
71
81
|
# Commands default to this config.
|
|
72
|
-
openclaw-aws current
|
|
82
|
+
npx openclaw-aws current
|
|
73
83
|
|
|
74
84
|
# Select another config
|
|
75
|
-
openclaw-aws use <name>
|
|
85
|
+
npx openclaw-aws use <name>
|
|
76
86
|
|
|
77
87
|
# Run any command against a specific config or all configs with --name <name> or --all
|
|
78
88
|
|
|
79
89
|
# get help with commands
|
|
80
|
-
openclaw-aws --help
|
|
90
|
+
npx openclaw-aws --help
|
|
81
91
|
```
|
|
82
92
|
|
|
83
|
-
## Prerequisites
|
|
84
|
-
|
|
85
|
-
- **Node.js 20+**
|
|
86
|
-
- **AWS CLI v2 installed and authenticated** (SSO recommended)
|
|
87
|
-
- Install AWS CLI v2: [AWS CLI install guide](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html)
|
|
88
|
-
- Configure SSO: [AWS CLI SSO setup guide](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html)
|
|
89
|
-
|
|
90
93
|
## Commands
|
|
91
94
|
|
|
92
95
|
### `openclaw-aws init`
|
|
@@ -96,7 +99,7 @@ Interactive setup wizard to create a config.
|
|
|
96
99
|
**Example:**
|
|
97
100
|
|
|
98
101
|
```bash
|
|
99
|
-
openclaw-aws init
|
|
102
|
+
npx openclaw-aws init
|
|
100
103
|
```
|
|
101
104
|
|
|
102
105
|
### `openclaw-aws deploy`
|
|
@@ -106,9 +109,9 @@ Deploy infrastructure to AWS.
|
|
|
106
109
|
**Example:**
|
|
107
110
|
|
|
108
111
|
```bash
|
|
109
|
-
openclaw-aws deploy
|
|
110
|
-
openclaw-aws deploy --name my-bot
|
|
111
|
-
openclaw-aws deploy --all
|
|
112
|
+
npx openclaw-aws deploy
|
|
113
|
+
npx openclaw-aws deploy --name my-bot
|
|
114
|
+
npx openclaw-aws deploy --all
|
|
112
115
|
```
|
|
113
116
|
|
|
114
117
|
### `openclaw-aws status`
|
|
@@ -118,8 +121,8 @@ Check deployment and instance status.
|
|
|
118
121
|
**Example:**
|
|
119
122
|
|
|
120
123
|
```bash
|
|
121
|
-
openclaw-aws status
|
|
122
|
-
openclaw-aws status --all
|
|
124
|
+
npx openclaw-aws status
|
|
125
|
+
npx openclaw-aws status --all
|
|
123
126
|
```
|
|
124
127
|
|
|
125
128
|
### `openclaw-aws dashboard`
|
|
@@ -129,7 +132,7 @@ Forward port 18789 to access the OpenClaw dashboard locally.
|
|
|
129
132
|
**Example:**
|
|
130
133
|
|
|
131
134
|
```bash
|
|
132
|
-
openclaw-aws dashboard
|
|
135
|
+
npx openclaw-aws dashboard
|
|
133
136
|
```
|
|
134
137
|
|
|
135
138
|
### `openclaw-aws connect`
|
|
@@ -139,7 +142,7 @@ Connect to your EC2 instance via SSM.
|
|
|
139
142
|
**Example:**
|
|
140
143
|
|
|
141
144
|
```bash
|
|
142
|
-
openclaw-aws connect
|
|
145
|
+
npx openclaw-aws connect
|
|
143
146
|
```
|
|
144
147
|
|
|
145
148
|
### `openclaw-aws start`
|
|
@@ -149,7 +152,7 @@ Start a stopped instance.
|
|
|
149
152
|
**Example:**
|
|
150
153
|
|
|
151
154
|
```bash
|
|
152
|
-
openclaw-aws start
|
|
155
|
+
npx openclaw-aws start
|
|
153
156
|
```
|
|
154
157
|
|
|
155
158
|
### `openclaw-aws stop`
|
|
@@ -159,7 +162,7 @@ Stop a running instance to save costs.
|
|
|
159
162
|
**Example:**
|
|
160
163
|
|
|
161
164
|
```bash
|
|
162
|
-
openclaw-aws stop
|
|
165
|
+
npx openclaw-aws stop
|
|
163
166
|
```
|
|
164
167
|
|
|
165
168
|
### `openclaw-aws restart`
|
|
@@ -169,7 +172,7 @@ Reboot the instance.
|
|
|
169
172
|
**Example:**
|
|
170
173
|
|
|
171
174
|
```bash
|
|
172
|
-
openclaw-aws restart
|
|
175
|
+
npx openclaw-aws restart
|
|
173
176
|
```
|
|
174
177
|
|
|
175
178
|
### `openclaw-aws outputs`
|
|
@@ -179,7 +182,20 @@ Show CloudFormation stack outputs.
|
|
|
179
182
|
**Example:**
|
|
180
183
|
|
|
181
184
|
```bash
|
|
182
|
-
openclaw-aws outputs --name my-bot
|
|
185
|
+
npx openclaw-aws outputs --name my-bot
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### `openclaw-aws logs`
|
|
189
|
+
|
|
190
|
+
Fetch instance logs (cloud-init and OpenClaw services).
|
|
191
|
+
|
|
192
|
+
**Example:**
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
npx openclaw-aws logs
|
|
196
|
+
npx openclaw-aws logs --init
|
|
197
|
+
npx openclaw-aws logs --service --tail 100
|
|
198
|
+
npx openclaw-aws logs --service --follow
|
|
183
199
|
```
|
|
184
200
|
|
|
185
201
|
### `openclaw-aws destroy`
|
|
@@ -196,11 +212,11 @@ Delete all AWS resources.
|
|
|
196
212
|
**Example:**
|
|
197
213
|
|
|
198
214
|
```bash
|
|
199
|
-
openclaw-aws destroy --name my-bot
|
|
200
|
-
openclaw-aws destroy --all
|
|
215
|
+
npx openclaw-aws destroy --name my-bot
|
|
216
|
+
npx openclaw-aws destroy --all
|
|
201
217
|
|
|
202
218
|
# Force delete without confirmation
|
|
203
|
-
openclaw-aws destroy --name my-bot --force
|
|
219
|
+
npx openclaw-aws destroy --name my-bot --force
|
|
204
220
|
```
|
|
205
221
|
|
|
206
222
|
### `openclaw-aws list`
|
|
@@ -210,7 +226,7 @@ List configs.
|
|
|
210
226
|
**Example:**
|
|
211
227
|
|
|
212
228
|
```bash
|
|
213
|
-
openclaw-aws list
|
|
229
|
+
npx openclaw-aws list
|
|
214
230
|
```
|
|
215
231
|
|
|
216
232
|
### `openclaw-aws current`
|
|
@@ -220,7 +236,7 @@ Show the current config.
|
|
|
220
236
|
**Example:**
|
|
221
237
|
|
|
222
238
|
```bash
|
|
223
|
-
openclaw-aws current
|
|
239
|
+
npx openclaw-aws current
|
|
224
240
|
```
|
|
225
241
|
|
|
226
242
|
### `openclaw-aws use`
|
|
@@ -230,7 +246,7 @@ Select a config.
|
|
|
230
246
|
**Example:**
|
|
231
247
|
|
|
232
248
|
```bash
|
|
233
|
-
openclaw-aws use my-bot
|
|
249
|
+
npx openclaw-aws use my-bot
|
|
234
250
|
```
|
|
235
251
|
|
|
236
252
|
## Configuration
|
|
@@ -244,11 +260,10 @@ The current selection is stored in `.openclaw-aws/current.json`.
|
|
|
244
260
|
{
|
|
245
261
|
"version": "1.0",
|
|
246
262
|
"aws": {
|
|
247
|
-
"region": "us-east-1"
|
|
248
|
-
"profile": "default"
|
|
263
|
+
"region": "us-east-1"
|
|
249
264
|
},
|
|
250
265
|
"instance": {
|
|
251
|
-
"type": "t3.
|
|
266
|
+
"type": "t3.small",
|
|
252
267
|
"name": "openclaw-my-bot"
|
|
253
268
|
},
|
|
254
269
|
"network": {
|
|
@@ -266,16 +281,18 @@ The current selection is stored in `.openclaw-aws/current.json`.
|
|
|
266
281
|
}
|
|
267
282
|
```
|
|
268
283
|
|
|
284
|
+
If you want to use a named AWS CLI profile, you can add an optional `aws.profile` field manually.
|
|
285
|
+
|
|
269
286
|
## Multiple Bots (Configs)
|
|
270
287
|
|
|
271
288
|
To manage multiple bots, create one config per bot and switch between them:
|
|
272
289
|
|
|
273
290
|
```bash
|
|
274
|
-
openclaw-aws init --name bot-a
|
|
275
|
-
openclaw-aws init --name bot-b
|
|
276
|
-
openclaw-aws list
|
|
277
|
-
openclaw-aws use bot-b
|
|
278
|
-
openclaw-aws current
|
|
291
|
+
npx openclaw-aws init --name bot-a
|
|
292
|
+
npx openclaw-aws init --name bot-b
|
|
293
|
+
npx openclaw-aws list
|
|
294
|
+
npx openclaw-aws use bot-b
|
|
295
|
+
npx openclaw-aws current
|
|
279
296
|
```
|
|
280
297
|
|
|
281
298
|
## Start/Stop (Cost Control)
|
|
@@ -283,8 +300,8 @@ openclaw-aws current
|
|
|
283
300
|
Use `stop` to save costs when you don’t need the bot running, and `start` to resume.
|
|
284
301
|
|
|
285
302
|
```bash
|
|
286
|
-
openclaw-aws stop --name my-bot
|
|
287
|
-
openclaw-aws start --name my-bot
|
|
303
|
+
npx openclaw-aws stop --name my-bot
|
|
304
|
+
npx openclaw-aws start --name my-bot
|
|
288
305
|
```
|
|
289
306
|
|
|
290
307
|
## Benefits & Setup
|
|
@@ -298,7 +315,7 @@ openclaw-aws start --name my-bot
|
|
|
298
315
|
|
|
299
316
|
The deployment creates:
|
|
300
317
|
|
|
301
|
-
- **EC2 Instance** - Ubuntu 24.04 LTS, t3.
|
|
318
|
+
- **EC2 Instance** - Ubuntu 24.04 LTS, t3.small by default (or your chosen type)
|
|
302
319
|
- IMDSv2 enforced (SSRF protection)
|
|
303
320
|
- Encrypted EBS volume (data at rest encryption)
|
|
304
321
|
- Public IP assigned (required for outbound connectivity)
|
|
@@ -318,7 +335,7 @@ The deployment creates:
|
|
|
318
335
|
Wait 2-3 minutes after deployment. Check status:
|
|
319
336
|
|
|
320
337
|
```bash
|
|
321
|
-
openclaw-aws status
|
|
338
|
+
npx openclaw-aws status
|
|
322
339
|
```
|
|
323
340
|
|
|
324
341
|
### "Config file not found"
|
|
@@ -326,9 +343,9 @@ openclaw-aws status
|
|
|
326
343
|
Run the init command first:
|
|
327
344
|
|
|
328
345
|
```bash
|
|
329
|
-
openclaw-aws init
|
|
330
|
-
openclaw-aws list
|
|
331
|
-
openclaw-aws use my-bot
|
|
346
|
+
npx openclaw-aws init
|
|
347
|
+
npx openclaw-aws list
|
|
348
|
+
npx openclaw-aws use my-bot
|
|
332
349
|
```
|
|
333
350
|
|
|
334
351
|
### Deployment fails
|
|
@@ -344,13 +361,13 @@ aws sts get-caller-identity
|
|
|
344
361
|
Ensure SSM plugin is installed and instance is ready:
|
|
345
362
|
|
|
346
363
|
```bash
|
|
347
|
-
openclaw-aws status
|
|
364
|
+
npx openclaw-aws status
|
|
348
365
|
```
|
|
349
366
|
|
|
350
367
|
Restart instance if the gateway or SSM has crashed:
|
|
351
368
|
|
|
352
369
|
```bash
|
|
353
|
-
openclaw-aws restart
|
|
370
|
+
npx openclaw-aws restart
|
|
354
371
|
```
|
|
355
372
|
|
|
356
373
|
## Development
|
|
@@ -364,7 +381,7 @@ For developers contributing to openclaw-aws:
|
|
|
364
381
|
git clone https://github.com/salza80/openclaw-aws.git
|
|
365
382
|
cd openclaw-aws
|
|
366
383
|
|
|
367
|
-
# 2. Use Node
|
|
384
|
+
# 2. Use Node 22+
|
|
368
385
|
nvm use
|
|
369
386
|
|
|
370
387
|
# 3. Install dependencies
|
|
@@ -386,7 +403,7 @@ npm run watch
|
|
|
386
403
|
|
|
387
404
|
### Requirements for Development
|
|
388
405
|
|
|
389
|
-
- **Node.js
|
|
406
|
+
- **Node.js 22+**
|
|
390
407
|
- **AWS CLI** with configured credentials
|
|
391
408
|
- **AWS account** with CDK bootstrapped
|
|
392
409
|
- All dependencies install automatically via `npm install`
|
package/dist/cli/constants.d.ts
CHANGED
|
@@ -59,5 +59,5 @@ export declare const API_PROVIDERS: readonly [{
|
|
|
59
59
|
readonly value: "opencode-zen-api-key";
|
|
60
60
|
readonly description: "Opencode Zen API";
|
|
61
61
|
}];
|
|
62
|
-
export declare const MIN_NODE_VERSION =
|
|
62
|
+
export declare const MIN_NODE_VERSION = 22;
|
|
63
63
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/cli/constants.js
CHANGED
|
@@ -33,5 +33,5 @@ export const API_PROVIDERS = [
|
|
|
33
33
|
{ title: 'Opencode Zen', value: 'opencode-zen-api-key', description: 'Opencode Zen API' },
|
|
34
34
|
];
|
|
35
35
|
// Minimum supported Node.js major version
|
|
36
|
-
export const MIN_NODE_VERSION =
|
|
36
|
+
export const MIN_NODE_VERSION = 22;
|
|
37
37
|
//# sourceMappingURL=constants.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salza80/openclaw-aws",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Deploy OpenClaw AI agents on AWS with a simple CLI",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"openclaw",
|
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
"telegram",
|
|
15
15
|
"discord",
|
|
16
16
|
"claude",
|
|
17
|
+
"installation",
|
|
18
|
+
"setup",
|
|
17
19
|
"infrastructure"
|
|
18
20
|
],
|
|
19
21
|
"author": "Sally Mclean <smclean17@gmail.com>",
|
|
@@ -28,7 +30,7 @@
|
|
|
28
30
|
},
|
|
29
31
|
"type": "module",
|
|
30
32
|
"bin": {
|
|
31
|
-
"openclaw-aws": "
|
|
33
|
+
"openclaw-aws": "dist/cli/index.js"
|
|
32
34
|
},
|
|
33
35
|
"files": [
|
|
34
36
|
"dist/",
|
|
@@ -86,11 +88,11 @@
|
|
|
86
88
|
"vitest": "^3.2.0"
|
|
87
89
|
},
|
|
88
90
|
"engines": {
|
|
89
|
-
"node": ">=
|
|
91
|
+
"node": ">=22.0.0"
|
|
90
92
|
},
|
|
91
93
|
"publishConfig": {
|
|
92
94
|
"registry": "https://registry.npmjs.org/",
|
|
93
95
|
"access": "public"
|
|
94
96
|
},
|
|
95
|
-
"packageManager": "
|
|
97
|
+
"packageManager": "npm@10.9.3"
|
|
96
98
|
}
|