@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 CHANGED
@@ -1,27 +1,33 @@
1
1
  # openclaw-aws
2
2
 
3
- [![CI](https://github.com/salza80/openclaw-aws/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/salza80/openclaw-aws/actions/workflows/ci.yml)
3
+ [![CI](https://github.com/salza80/openclaw-aws/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/salza80/openclaw-aws/actions/workflows/ci.yml) [![Coverage](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/salza80/openclaw-aws/badges/coverage-badge.json)](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: local install in your bot folder
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
- # Alternative: run directly with npx (no install)
18
- npx @salza80/openclaw-aws --help
16
+ # Run the CLI with npx
17
+ npx openclaw-aws --help
19
18
 
20
- # Alternative: install globally
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
- # Deploy. -- That's it!
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
- If you installed locally, prefix commands with `npx openclaw-aws`.
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.micro",
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.micro (or your chosen type)
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 20+
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 20+** (required by AWS SDK v3)
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`
@@ -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 = 20;
62
+ export declare const MIN_NODE_VERSION = 22;
63
63
  //# sourceMappingURL=constants.d.ts.map
@@ -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 = 20;
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.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": "./dist/cli/index.js"
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": ">=20.0.0"
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": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
97
+ "packageManager": "npm@10.9.3"
96
98
  }
@@ -1,11 +1,10 @@
1
1
  {
2
2
  "version": "1.0",
3
3
  "aws": {
4
- "region": "us-east-1",
5
- "profile": "default"
4
+ "region": "us-east-1"
6
5
  },
7
6
  "instance": {
8
- "type": "t3.micro",
7
+ "type": "t3.small",
9
8
  "name": "openclaw-my-bot"
10
9
  },
11
10
  "network": {