warpmetal 0.2.1 → 0.2.3
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
|
@@ -65,6 +65,9 @@ alternate state directory.
|
|
|
65
65
|
permissions where the platform supports POSIX modes.
|
|
66
66
|
- The CLI passes an SSH private-key path directly to `ssh-keygen`; it never
|
|
67
67
|
reads the private key.
|
|
68
|
+
- WarpMetal applies key-only OpenSSH configuration on initial provisioning and
|
|
69
|
+
every OS reload. Password and keyboard-interactive login are disabled; never
|
|
70
|
+
request, store, or expect a VPS login password.
|
|
68
71
|
- The CLI accepts an externally produced x402 `PAYMENT-SIGNATURE` from a file.
|
|
69
72
|
Wallet key management and signing remain outside this package.
|
|
70
73
|
- Destructive or state-changing commands require explicit confirmations and
|
package/package.json
CHANGED
|
@@ -26,6 +26,11 @@ Never read, print, summarize, upload, or commit the WarpMetal state file. Never
|
|
|
26
26
|
read an SSH private-key file. Pass its path only to a command designed to use
|
|
27
27
|
it. Never request or handle a wallet seed phrase or private key.
|
|
28
28
|
|
|
29
|
+
WarpMetal provisions and reloads servers with key-only OpenSSH access. Password
|
|
30
|
+
and keyboard-interactive login are disabled, including for root. Never request,
|
|
31
|
+
store, invent, or expect a VPS login password; use the submitted public key and
|
|
32
|
+
its matching private-key path.
|
|
33
|
+
|
|
29
34
|
## Discover before acting
|
|
30
35
|
|
|
31
36
|
Run:
|
|
@@ -88,6 +93,11 @@ Poll a prepared or paid order with:
|
|
|
88
93
|
warpmetal order status --task <taskId> --wait --json
|
|
89
94
|
```
|
|
90
95
|
|
|
96
|
+
After initial provisioning and every OS reload, WarpMetal reapplies the same
|
|
97
|
+
key-only policy: `PasswordAuthentication no`,
|
|
98
|
+
`KbdInteractiveAuthentication no`, `PermitRootLogin prohibit-password`, and
|
|
99
|
+
`AuthenticationMethods publickey`.
|
|
100
|
+
|
|
91
101
|
For routine management, prove possession of the installed SSH key without
|
|
92
102
|
reading it:
|
|
93
103
|
|
|
@@ -110,7 +120,11 @@ warpmetal server power \
|
|
|
110
120
|
|
|
111
121
|
Do not fall back to raw API calls for reload, deletion, networking, renewal,
|
|
112
122
|
or another unsupported mutation. Explain that the installed CLI version does
|
|
113
|
-
not yet expose that guarded operation.
|
|
123
|
+
not yet expose that guarded operation. The public reload contract requires
|
|
124
|
+
both `confirm: "ERASE"` and `powerOffFirst: true`; the latter authorizes the
|
|
125
|
+
same lifecycle operation to shut down the server and wait for provider power
|
|
126
|
+
off before erasing it. This contract knowledge is not permission to bypass the
|
|
127
|
+
CLI restriction.
|
|
114
128
|
|
|
115
129
|
## Use Agent Runtime
|
|
116
130
|
|
|
@@ -75,6 +75,11 @@ warpmetal operation get \
|
|
|
75
75
|
--json
|
|
76
76
|
```
|
|
77
77
|
|
|
78
|
+
This CLI version does not expose reload. The public reload API requires both
|
|
79
|
+
`confirm: "ERASE"` and `powerOffFirst: true`, with shutdown, powered-off
|
|
80
|
+
verification, and reload handled by one lifecycle operation. Do not call that
|
|
81
|
+
endpoint with raw HTTP; wait for a guarded CLI command.
|
|
82
|
+
|
|
78
83
|
Use `--token-file` only for recovery when local state is unavailable. Prefer
|
|
79
84
|
`WARPMETAL_OWNER_TOKEN` or `WARPMETAL_ACCESS_TOKEN` for a single command over a
|
|
80
85
|
shell argument, because command-line arguments can be recorded in history and
|
|
@@ -25,6 +25,10 @@
|
|
|
25
25
|
- Never read or transmit an SSH private key. Pass only its filesystem path to
|
|
26
26
|
`warpmetal server login`, `warpmetal runtime install`,
|
|
27
27
|
`warpmetal sandbox connect`, or `ssh-keygen`.
|
|
28
|
+
- WarpMetal disables VPS password and keyboard-interactive SSH login after
|
|
29
|
+
initial provisioning and every OS reload. Never request, store, invent, or
|
|
30
|
+
expect a VPS login password; use the submitted public key and matching
|
|
31
|
+
private-key path.
|
|
28
32
|
- Never place the owner SSH key, owner token, management access token, runtime
|
|
29
33
|
bootstrap, supervisor node token, or state file inside a sandbox.
|
|
30
34
|
- Give each agent a distinct sandbox-specific SSH key and grant. Never reuse
|
|
@@ -47,6 +51,12 @@ Obtain explicit user approval immediately before:
|
|
|
47
51
|
- revoking a sandbox access grant; and
|
|
48
52
|
- any destructive reload, sandbox deletion, or replacement-key operation.
|
|
49
53
|
|
|
54
|
+
A reload requires both `confirm: "ERASE"` and `powerOffFirst: true`. Treat
|
|
55
|
+
`powerOffFirst` as explicit authorization for WarpMetal to shut down the
|
|
56
|
+
server, wait until it is powered off, and then erase and reinstall it inside
|
|
57
|
+
one lifecycle operation. Do not reconstruct this flow with raw HTTP while the
|
|
58
|
+
installed CLI lacks a guarded reload command.
|
|
59
|
+
|
|
50
60
|
An order preparation is unpaid but consumes a limited prepared-order slot.
|
|
51
61
|
Confirm the plan, hostname, OS, and public key before preparing it.
|
|
52
62
|
|