swarm-deploy 0.2.0 → 0.3.1
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/CHANGELOG.md +27 -0
- package/README.md +140 -41
- package/dist/cli.js +113 -13
- package/dist/cli.js.map +1 -1
- package/dist/client.d.ts +15 -0
- package/dist/client.js +58 -0
- package/dist/client.js.map +1 -1
- package/dist/errors.d.ts +2 -0
- package/dist/errors.js +2 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +11 -0
- package/dist/server.js +130 -8
- package/dist/server.js.map +1 -1
- package/dist/storage/commit-store.d.ts +6 -0
- package/dist/storage/commit-store.js +65 -3
- package/dist/storage/commit-store.js.map +1 -1
- package/dist/storage/link-store.d.ts +19 -1
- package/dist/storage/link-store.js +100 -15
- package/dist/storage/link-store.js.map +1 -1
- package/dist/storage/tree-fs.d.ts +22 -1
- package/dist/storage/tree-fs.js +153 -1
- package/dist/storage/tree-fs.js.map +1 -1
- package/dist/storage/types.d.ts +7 -0
- package/dist/symlinks.d.ts +13 -5
- package/dist/symlinks.js +33 -8
- package/dist/symlinks.js.map +1 -1
- package/dist/tar-protocol/controls.d.ts +27 -0
- package/dist/tar-protocol/controls.js +52 -0
- package/dist/tar-protocol/controls.js.map +1 -1
- package/dist/tar-protocol/direct-wire.d.ts +6 -1
- package/dist/tar-protocol/direct-wire.js +12 -1
- package/dist/tar-protocol/direct-wire.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,33 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this package are documented here.
|
|
4
4
|
|
|
5
|
+
## 0.3.1
|
|
6
|
+
|
|
7
|
+
- Normalize verified published artifact permissions before they become visible:
|
|
8
|
+
directory roots and members are `0755`, and regular files (including
|
|
9
|
+
single-file artifacts) are `0644`, independent of restrictive staging modes
|
|
10
|
+
or the server process umask. Storage adapters without descriptor mode support
|
|
11
|
+
now fail closed before publication.
|
|
12
|
+
- **Operator note.** Artifacts published by 0.3.0 are not repaired
|
|
13
|
+
retroactively; apply a one-time manual `chmod` or re-upload them after
|
|
14
|
+
upgrading.
|
|
15
|
+
|
|
16
|
+
## 0.3.0
|
|
17
|
+
|
|
18
|
+
- Add authenticated client-managed symlinks: one-argument
|
|
19
|
+
`--symlink <selector>` rules authorize current managed file or directory
|
|
20
|
+
targets, `Client.link(target, name)` and `swarm-deploy link` create or
|
|
21
|
+
idempotently repoint durable manual links, and `LINKED`/`UNCHANGED` results,
|
|
22
|
+
typed link events, stable policy/target errors, retention pinning, and v2
|
|
23
|
+
mode-aware ledger records preserve fail-closed managed ownership.
|
|
24
|
+
- **Rollback warning.** After an upgraded server creates, repairs, or repoints
|
|
25
|
+
any managed link, its v2 ledger record is unreadable by v0.2.0. Rollback
|
|
26
|
+
requires restoring the complete pre-upgrade storage backup or staying on the
|
|
27
|
+
upgraded server. `swarm-deploy link` also requires an upgraded server.
|
|
28
|
+
- **Type change.** `SymlinkRule` is now a closed union of automatic
|
|
29
|
+
`{ selector, name }` and manual `{ selector }` rule shapes, rather than an
|
|
30
|
+
extendable interface.
|
|
31
|
+
|
|
5
32
|
## 0.2.0
|
|
6
33
|
|
|
7
34
|
- **Behavior change.** A directory upload now commits exactly one recursive managed directory artifact instead of a batch of immediate-child file uploads. `BatchUploadResult`, `BatchUploadFailure`, `SkippedUploadEntry`, `SkippedUploadReason`, and the client `skipped` event are removed, `ClientUploadResult` is now `UploadResult`, and `UploadResult` gains `kind` and, for a directory, `entryCount`. Direct file upload stays byte-compatible. Automation that relied on per-child results must now treat the directory as one artifact.
|
package/README.md
CHANGED
|
@@ -159,7 +159,7 @@ swarm-deploy server \
|
|
|
159
159
|
[--artifact-pattern <template>]... \
|
|
160
160
|
[--max-count <count>] \
|
|
161
161
|
[--max-versions <count> --version-granularity <major|minor>] \
|
|
162
|
-
[--symlink <selector> <link-name>]... \
|
|
162
|
+
[--symlink <selector> [<link-name>]]... \
|
|
163
163
|
[--hooks <module>]
|
|
164
164
|
```
|
|
165
165
|
|
|
@@ -197,11 +197,13 @@ Optional options:
|
|
|
197
197
|
- `--version-granularity <major|minor>`: how versions are grouped for
|
|
198
198
|
`--max-versions`. It is rejected without `--max-versions`, and there is no
|
|
199
199
|
default.
|
|
200
|
-
- `--symlink <selector> <link-name
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
200
|
+
- `--symlink <selector> [<link-name>]`: repeatable managed-symlink policy.
|
|
201
|
+
With two arguments, the server automatically points `<link-name>` at the
|
|
202
|
+
newest matching managed artifact. With one argument, the rule creates no
|
|
203
|
+
link by itself; it authorizes authenticated clients to choose any matching
|
|
204
|
+
current managed artifact as a manual-link target. A selector that begins and
|
|
205
|
+
ends with `/` is an unflagged regular expression matched against managed
|
|
206
|
+
artifact basenames; anything else is an exact managed basename.
|
|
205
207
|
- `--hooks <module>`: JavaScript module (`.js`, `.mjs`, or `.cjs`) exporting
|
|
206
208
|
trusted lifecycle callbacks. The path is resolved against the working
|
|
207
209
|
directory. See [Deployment hooks](#deployment-hooks).
|
|
@@ -256,9 +258,35 @@ If a basename is exactly 64 lowercase hexadecimal characters, pass it with a
|
|
|
256
258
|
directory component such as `./<name>` so the CLI does not treat it as an
|
|
257
259
|
accidentally pasted seed.
|
|
258
260
|
|
|
261
|
+
### `link`
|
|
262
|
+
|
|
263
|
+
```sh
|
|
264
|
+
swarm-deploy link \
|
|
265
|
+
--seed-file <seed-file> \
|
|
266
|
+
--server-key <64-lower-hex> \
|
|
267
|
+
[--idle-timeout <milliseconds>] \
|
|
268
|
+
<target> <link-name>
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
Replace `--seed-file <seed-file>` with `--seed <64-lower-hex>`, or use
|
|
272
|
+
`SWARM_DEPLOY_CLIENT_SEED`, exactly as for `upload`. `--server-key` pins the
|
|
273
|
+
server identity, and `--idle-timeout` has the same 60-second default and
|
|
274
|
+
inactivity semantics as upload.
|
|
275
|
+
|
|
276
|
+
The command asks the authenticated server to point `<link-name>` at the
|
|
277
|
+
existing managed file or directory `<target>`. The target must match a
|
|
278
|
+
one-argument `--symlink` rule. Success prints exactly:
|
|
279
|
+
|
|
280
|
+
```text
|
|
281
|
+
<link-name> -> <target> <LINKED|UNCHANGED>
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
`LINKED` means the link was created or repointed. `UNCHANGED` means the same
|
|
285
|
+
managed link already points at that target; the operation is idempotent.
|
|
286
|
+
|
|
259
287
|
### Seed sources
|
|
260
288
|
|
|
261
|
-
Server and
|
|
289
|
+
Server, upload, and link commands accept exactly one of:
|
|
262
290
|
|
|
263
291
|
- `--seed-file <seed-file>`
|
|
264
292
|
- `--seed <64-lower-hex>`
|
|
@@ -277,7 +305,8 @@ tooling logs is acceptable.
|
|
|
277
305
|
|
|
278
306
|
### CLI exit codes
|
|
279
307
|
|
|
280
|
-
- `0`: the upload committed or was already committed
|
|
308
|
+
- `0`: the upload committed or was already committed, or the link is linked or
|
|
309
|
+
unchanged.
|
|
281
310
|
- `1`: upload, network, protocol, storage, cleanup, or runtime failure.
|
|
282
311
|
- `2`: usage or configuration error.
|
|
283
312
|
|
|
@@ -647,6 +676,17 @@ count or version rotated.
|
|
|
647
676
|
Roll out the server, then the pattern configuration, then clients that stage
|
|
648
677
|
into conforming folders.
|
|
649
678
|
|
|
679
|
+
#### Managed-link rollback warning
|
|
680
|
+
|
|
681
|
+
**Do not roll a server back to v0.2.0 after an upgraded server has created,
|
|
682
|
+
repaired, or repointed any managed link.** Those operations write a v2
|
|
683
|
+
ownership record, which v0.2.0 cannot read. Rollback requires restoring the
|
|
684
|
+
complete pre-upgrade storage backup (including visible links and
|
|
685
|
+
`.swarm-deploy/links`), or keeping the upgraded server in place.
|
|
686
|
+
|
|
687
|
+
`swarm-deploy link` requires an upgraded server; v0.2.0 does not recognize
|
|
688
|
+
link control requests.
|
|
689
|
+
|
|
650
690
|
#### Overlapping retries now get `FILE_BUSY`
|
|
651
691
|
|
|
652
692
|
**Behavior change.** A transfer ID may have only one in-flight commit
|
|
@@ -696,8 +736,8 @@ the release coordinates this version writes is untested.
|
|
|
696
736
|
|
|
697
737
|
## Managed symlinks
|
|
698
738
|
|
|
699
|
-
|
|
700
|
-
|
|
739
|
+
Managed symlinks support both automatic newest-match aliases and explicit
|
|
740
|
+
client promotions. Configure either form with repeatable `--symlink` options:
|
|
701
741
|
|
|
702
742
|
```sh
|
|
703
743
|
swarm-deploy server \
|
|
@@ -706,17 +746,20 @@ swarm-deploy server \
|
|
|
706
746
|
--allow-key <64-lower-hex> \
|
|
707
747
|
--max-file-bytes 1073741824 \
|
|
708
748
|
--max-staging-bytes 4294967296 \
|
|
709
|
-
--symlink '/^\d+\.\d+\.\d+$/'
|
|
710
|
-
--symlink
|
|
749
|
+
--symlink '/^\d+\.\d+\.\d+$/' newest \
|
|
750
|
+
--symlink '/^app-\d+\.\d+\.\d+\.tar\.gz$/'
|
|
711
751
|
```
|
|
712
752
|
|
|
713
|
-
|
|
753
|
+
The two-argument rule automatically reconciles `newest` to the newest matching
|
|
754
|
+
artifact. The one-argument rule is a target allowlist: it creates no link until
|
|
755
|
+
an authenticated client explicitly chooses a matching current artifact:
|
|
714
756
|
|
|
715
|
-
```
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
757
|
+
```sh
|
|
758
|
+
swarm-deploy link --seed-file ./client.seed --server-key "$SERVER_KEY" \
|
|
759
|
+
app-2.4.1.tar.gz latest-app
|
|
760
|
+
|
|
761
|
+
# app-2.4.1.tar.gz is the tested target
|
|
762
|
+
# output: latest-app -> app-2.4.1.tar.gz LINKED
|
|
720
763
|
```
|
|
721
764
|
|
|
722
765
|
Runtime equivalent:
|
|
@@ -729,28 +772,52 @@ const server = new Server({
|
|
|
729
772
|
maxFileBytes: 1024 ** 3,
|
|
730
773
|
maxStagingBytes: 4 * 1024 ** 3,
|
|
731
774
|
symlinks: [
|
|
732
|
-
{ selector: '/^\\d+\\.\\d+\\.\\d+$/', name: '
|
|
733
|
-
{ selector: '
|
|
775
|
+
{ selector: '/^\\d+\\.\\d+\\.\\d+$/', name: 'newest' },
|
|
776
|
+
{ selector: '/^app-\\d+\\.\\d+\\.\\d+\\.tar\\.gz$/' }
|
|
734
777
|
]
|
|
735
778
|
})
|
|
736
779
|
```
|
|
737
780
|
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
781
|
+
Selectors are exact safe managed-artifact basenames or unflagged `/regex/`
|
|
782
|
+
expressions. Automatic selection uses only validated managed commit records.
|
|
783
|
+
The newest `committedAt` wins, tie-broken by transfer ID then name; replacement
|
|
784
|
+
history never matches, and a rule is dormant until a target exists. Automatic
|
|
785
|
+
link names are unique and reserved even while their rule is dormant, so a
|
|
786
|
+
manual request cannot claim one.
|
|
787
|
+
|
|
788
|
+
Manual targets must be current managed top-level files or directories, must
|
|
789
|
+
match a one-argument rule, and cannot be history names. Manual link names are
|
|
790
|
+
safe top-level basenames and cannot equal the target, an automatic link name,
|
|
791
|
+
or any managed artifact name. A missing destination may be created, and an
|
|
792
|
+
existing manual managed link may be repointed. An unmanaged file, directory,
|
|
793
|
+
unrecorded symlink, changed symlink, or foreign ownership record is never
|
|
794
|
+
replaced, moved, or deleted: the operation fails closed.
|
|
795
|
+
|
|
796
|
+
Manual links retain their selected target across restart and automatic
|
|
797
|
+
reconciliation. Removing their authorization rule prevents future requests
|
|
798
|
+
that need that rule but does not remove or rewrite the existing link.
|
|
799
|
+
Automatic and manual targets are pinned against age, count, SemVer, and quota
|
|
800
|
+
retention and still count toward those limits. Reconciliation and manual
|
|
801
|
+
mutation run under the storage-root lease, and uploads cannot claim any
|
|
802
|
+
persisted managed-link name.
|
|
803
|
+
|
|
804
|
+
There is no unlink RPC. To remove a managed link safely, stop the server,
|
|
805
|
+
remove the visible symlink and its matching
|
|
806
|
+
`.swarm-deploy/links/<sha256(link-name)>.json` ownership record, then restart
|
|
807
|
+
the server. Never edit the ledger while the server runs. Removing all automatic
|
|
808
|
+
rules intentionally reconciles proven stale automatic links away; malformed or
|
|
809
|
+
conflicting ledgers still fail closed on the default symlink-capable storage.
|
|
810
|
+
|
|
811
|
+
A safe promotion workflow is:
|
|
812
|
+
|
|
813
|
+
1. Upload a versioned artifact such as `app-2.4.1.tar.gz`.
|
|
814
|
+
2. QA that exact version through its deployed versioned URL.
|
|
815
|
+
3. Run `swarm-deploy link app-2.4.1.tar.gz latest` to point `latest` at the
|
|
816
|
+
tested artifact.
|
|
817
|
+
|
|
818
|
+
The explicit link operation is a control request, not an upload. It supports
|
|
819
|
+
files and directories, is idempotent, and does not invoke deployment hooks.
|
|
820
|
+
`symlinks` requires `StorageAdapter.symlink` and `readlink`; the Node and Bare
|
|
754
821
|
default adapters provide them; a custom adapter without symlink rules stays
|
|
755
822
|
source-compatible.
|
|
756
823
|
|
|
@@ -1038,6 +1105,9 @@ Optional operational limits and policies:
|
|
|
1038
1105
|
- `artifactPatterns?: Iterable<string>`, `maxCount?: number`,
|
|
1039
1106
|
`maxVersions?: number`, and `versionGranularity?: 'major' | 'minor'`; see
|
|
1040
1107
|
[Artifact patterns and rotation](#artifact-patterns-and-rotation).
|
|
1108
|
+
- `symlinks?: Iterable<SymlinkRule>` with automatic
|
|
1109
|
+
`{ selector, name }` and manual-authorization `{ selector }` entries; see
|
|
1110
|
+
[Managed symlinks](#managed-symlinks).
|
|
1041
1111
|
- `hooks?: ServerHooks | null`; see [Deployment hooks](#deployment-hooks).
|
|
1042
1112
|
|
|
1043
1113
|
The root package exports the `ServerHooks`, `BeforeCommitContext`,
|
|
@@ -1092,6 +1162,23 @@ values are `connectTimeout`, `idleTimeout`, `includeSourceParent`, `dht`,
|
|
|
1092
1162
|
[source parent](#source-parent) for every upload the client makes.
|
|
1093
1163
|
Calling `close()` aborts pending work, closes active sockets, and is idempotent.
|
|
1094
1164
|
|
|
1165
|
+
### Link results
|
|
1166
|
+
|
|
1167
|
+
`Client.link(target, name)` resolves to:
|
|
1168
|
+
|
|
1169
|
+
```ts
|
|
1170
|
+
interface ClientLinkResult {
|
|
1171
|
+
target: string
|
|
1172
|
+
name: string
|
|
1173
|
+
status: 'LINKED' | 'UNCHANGED'
|
|
1174
|
+
}
|
|
1175
|
+
```
|
|
1176
|
+
|
|
1177
|
+
The client validates both names before connecting. Link operations share the
|
|
1178
|
+
client's pinned server identity, authenticated client identity, connection and
|
|
1179
|
+
idle timeouts, serialized operation queue, cancellation, and `close()`
|
|
1180
|
+
behavior with uploads.
|
|
1181
|
+
|
|
1095
1182
|
### Upload results
|
|
1096
1183
|
|
|
1097
1184
|
A direct file resolves to:
|
|
@@ -1138,6 +1225,9 @@ Server events:
|
|
|
1138
1225
|
- `retention`: startup, scheduled, manual, commit, or post-commit outcomes,
|
|
1139
1226
|
with `expiredSessions`, `scrubbed`, `ageDeleted`, `countDeleted`,
|
|
1140
1227
|
`versionDeleted`, and `storageDeleted` counters.
|
|
1228
|
+
- `link`: one terminal manual-link outcome with `target`, `name`, client
|
|
1229
|
+
fingerprint, and status `linked`, `unchanged`, `rejected`, or `failed`.
|
|
1230
|
+
Rejected and failed outcomes also include a stable `reason`.
|
|
1141
1231
|
- `failure`: stable failure code and peer fingerprint.
|
|
1142
1232
|
- `listening`: local server-key fingerprint.
|
|
1143
1233
|
- `close`: closed or failed outcome.
|
|
@@ -1150,6 +1240,11 @@ Client events:
|
|
|
1150
1240
|
durable resume offset.
|
|
1151
1241
|
- `verification`, `commit`
|
|
1152
1242
|
- `result`: terminal upload result with artifact `kind`.
|
|
1243
|
+
- `link`: after the request is written, `requested` with `final: false`,
|
|
1244
|
+
followed by exactly one `LINKED`, `UNCHANGED`, or stable error code with
|
|
1245
|
+
`final: true`. A request-write failure after connection can emit only the
|
|
1246
|
+
terminal failed event. Local argument validation, an already closed or
|
|
1247
|
+
cancelled client, and connection failure can reject before any `link` event.
|
|
1153
1248
|
- `failure`, `close`
|
|
1154
1249
|
|
|
1155
1250
|
Use the exported `ServerEventMap`, `ClientEventMap`, `ServerEventName`, and
|
|
@@ -1213,11 +1308,15 @@ Stable codes include authentication and server-key rejection, invalid
|
|
|
1213
1308
|
configuration and protocol records, file and staging limits, disk reserve,
|
|
1214
1309
|
filename and replacement conflicts, checksum failures, connection or upload
|
|
1215
1310
|
timeouts, aborts, commit failures, cleanup failures, and managed-link failures
|
|
1216
|
-
(`
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
`
|
|
1311
|
+
(`LINK_NOT_ALLOWED`, `LINK_TARGET_NOT_FOUND`, `LINK_CONFLICT`, `LINK_FAILED`,
|
|
1312
|
+
`UNSUPPORTED_STORAGE`). Manual requests use `LINK_NOT_ALLOWED` for policy,
|
|
1313
|
+
self-link, and automatic-name rejection; `LINK_TARGET_NOT_FOUND` for an absent
|
|
1314
|
+
current managed target; `LINK_CONFLICT` for managed-namespace or unmanaged-path
|
|
1315
|
+
collisions; and `LINK_FAILED` for other link-operation failures. A link
|
|
1316
|
+
reconciliation failure after a durable commit behaves like other post-commit
|
|
1317
|
+
deployment failures: the artifact stays committed, the client receives a
|
|
1318
|
+
stable failure, and an already-committed retry reruns reconciliation before
|
|
1319
|
+
succeeding. Import `ERRORS` rather than matching exception messages.
|
|
1221
1320
|
|
|
1222
1321
|
## Production operations
|
|
1223
1322
|
|
package/dist/cli.js
CHANGED
|
@@ -17,8 +17,9 @@ const files_js_1 = require("./files.js");
|
|
|
17
17
|
const symlinks_js_1 = require("./symlinks.js");
|
|
18
18
|
const hooks_module_js_1 = require("./hooks-module.js");
|
|
19
19
|
const server_js_1 = require("./server.js");
|
|
20
|
+
const controls_js_1 = require("./tar-protocol/controls.js");
|
|
20
21
|
const client_js_1 = require("./client.js");
|
|
21
|
-
const COMMANDS = new Set(['keygen', 'public-key', 'server', 'upload']);
|
|
22
|
+
const COMMANDS = new Set(['keygen', 'public-key', 'server', 'upload', 'link']);
|
|
22
23
|
const HELP_ARGS = new Set(['--help', '-h']);
|
|
23
24
|
const MS_PER_DAY = 24 * 60 * 60 * 1000;
|
|
24
25
|
const MAX_SEED_FILE_BYTES = 65;
|
|
@@ -28,8 +29,9 @@ const USAGE = [
|
|
|
28
29
|
'Usage:',
|
|
29
30
|
' swarm-deploy keygen --out <seed-file>',
|
|
30
31
|
' swarm-deploy public-key (--seed-file <seed-file> | --seed <64-lower-hex>)',
|
|
31
|
-
' swarm-deploy server (--seed-file <seed-file> | --seed <64-lower-hex>) --storage <dir> --allow-key <64-lower-hex> --max-file-bytes <bytes> --max-staging-bytes <bytes> [--allow-key <64-lower-hex>]... [--max-storage-bytes <bytes>] [--max-age-days <days>] [--replace-name <safe-basename>]... [--artifact-pattern <template>]... [--max-count <count>] [--max-versions <count> --version-granularity <major|minor>] [--symlink <selector> <link-name>]... [--hooks <module>]',
|
|
32
|
+
' swarm-deploy server (--seed-file <seed-file> | --seed <64-lower-hex>) --storage <dir> --allow-key <64-lower-hex> --max-file-bytes <bytes> --max-staging-bytes <bytes> [--allow-key <64-lower-hex>]... [--max-storage-bytes <bytes>] [--max-age-days <days>] [--replace-name <safe-basename>]... [--artifact-pattern <template>]... [--max-count <count>] [--max-versions <count> --version-granularity <major|minor>] [--symlink <selector> [<link-name>]]... [--hooks <module>]',
|
|
32
33
|
' swarm-deploy upload (--seed-file <seed-file> | --seed <64-lower-hex>) --server-key <64-lower-hex> [--idle-timeout <milliseconds>] [--no-source-parent] <file-or-directory>',
|
|
34
|
+
' swarm-deploy link (--seed-file <seed-file> | --seed <64-lower-hex>) --server-key <64-lower-hex> [--idle-timeout <milliseconds>] <target> <link-name>',
|
|
33
35
|
'',
|
|
34
36
|
'Use exactly one seed source. A command-specific environment variable is also accepted.'
|
|
35
37
|
].join('\n');
|
|
@@ -287,7 +289,7 @@ function isCanonicalHexToken(value) {
|
|
|
287
289
|
function rejectUnexpectedSeed() {
|
|
288
290
|
throw usageError('Seed strings must be passed with --seed');
|
|
289
291
|
}
|
|
290
|
-
function parseOptions(args, allowed, repeatable = new Set(), keyValues = new Set(), flags = new Set(), pairs = new Set()) {
|
|
292
|
+
function parseOptions(args, allowed, repeatable = new Set(), keyValues = new Set(), flags = new Set(), pairs = new Set(), allowCanonicalHexPositionals = false) {
|
|
291
293
|
const options = Object.create(null);
|
|
292
294
|
const repeatedOptions = Object.create(null);
|
|
293
295
|
const pairOptions = Object.create(null);
|
|
@@ -295,7 +297,9 @@ function parseOptions(args, allowed, repeatable = new Set(), keyValues = new Set
|
|
|
295
297
|
const positionals = [];
|
|
296
298
|
for (let i = 0; i < args.length; i++) {
|
|
297
299
|
const arg = args[i];
|
|
298
|
-
if (isCanonicalHexToken(arg) &&
|
|
300
|
+
if (isCanonicalHexToken(arg) &&
|
|
301
|
+
!keyValues.has(args[i - 1]) &&
|
|
302
|
+
!(allowCanonicalHexPositionals && !arg.startsWith('-'))) {
|
|
299
303
|
rejectUnexpectedSeed();
|
|
300
304
|
}
|
|
301
305
|
if (arg.startsWith('-')) {
|
|
@@ -316,18 +320,19 @@ function parseOptions(args, allowed, repeatable = new Set(), keyValues = new Set
|
|
|
316
320
|
if (pairs.has(arg)) {
|
|
317
321
|
const first = args[i + 1];
|
|
318
322
|
const second = args[i + 2];
|
|
319
|
-
if (first === undefined ||
|
|
320
|
-
first.startsWith('-') ||
|
|
321
|
-
second === undefined ||
|
|
322
|
-
second.startsWith('-')) {
|
|
323
|
+
if (first === undefined || first.startsWith('-')) {
|
|
323
324
|
throw usageError('Missing option value');
|
|
324
325
|
}
|
|
325
|
-
|
|
326
|
+
const optionalSecond = second === undefined || second.startsWith('-') ? undefined : second;
|
|
327
|
+
if (optionalSecond !== undefined &&
|
|
328
|
+
isCanonicalHexToken(optionalSecond) &&
|
|
329
|
+
!keyValues.has(arg)) {
|
|
326
330
|
rejectUnexpectedSeed();
|
|
331
|
+
}
|
|
327
332
|
const values = pairOptions[arg] || [];
|
|
328
|
-
values.push([first,
|
|
333
|
+
values.push([first, optionalSecond]);
|
|
329
334
|
pairOptions[arg] = values;
|
|
330
|
-
i += 2;
|
|
335
|
+
i += optionalSecond === undefined ? 1 : 2;
|
|
331
336
|
continue;
|
|
332
337
|
}
|
|
333
338
|
const value = args[i + 1];
|
|
@@ -569,7 +574,7 @@ async function runServer(args, env, io) {
|
|
|
569
574
|
}
|
|
570
575
|
}
|
|
571
576
|
const symlinkPairs = pairOptions['--symlink'] || [];
|
|
572
|
-
const symlinks = symlinkPairs.map(([selector, name]) =>
|
|
577
|
+
const symlinks = symlinkPairs.map(([selector, name]) => name === undefined ? { selector } : { selector, name });
|
|
573
578
|
try {
|
|
574
579
|
(0, symlinks_js_1.compileSymlinkRules)(symlinks);
|
|
575
580
|
}
|
|
@@ -643,6 +648,20 @@ function printUploadResult(result, io) {
|
|
|
643
648
|
writeLine(io.stdout, `${result.name} ${result.kind} ${result.status}`);
|
|
644
649
|
return result.status === 'COMMITTED' || result.status === 'ALREADY_COMMITTED' ? 0 : 1;
|
|
645
650
|
}
|
|
651
|
+
function printLinkResult(result, io) {
|
|
652
|
+
writeLine(io.stdout, `${result.name} -> ${result.target} ${result.status}`);
|
|
653
|
+
return result.status === 'LINKED' || result.status === 'UNCHANGED' ? 0 : 1;
|
|
654
|
+
}
|
|
655
|
+
function linkErrorMessage(err) {
|
|
656
|
+
if (err instanceof errors_js_1.SwarmDeployError &&
|
|
657
|
+
(err.code === errors_js_1.ERRORS.LINK_NOT_ALLOWED ||
|
|
658
|
+
err.code === errors_js_1.ERRORS.LINK_TARGET_NOT_FOUND ||
|
|
659
|
+
err.code === errors_js_1.ERRORS.LINK_CONFLICT ||
|
|
660
|
+
err.code === errors_js_1.ERRORS.LINK_FAILED)) {
|
|
661
|
+
return err.code;
|
|
662
|
+
}
|
|
663
|
+
return errorMessage(err);
|
|
664
|
+
}
|
|
646
665
|
async function runUpload(args, env, io) {
|
|
647
666
|
const { options, flagOptions, positionals } = parseOptions(args, new Set(['--seed-file', '--seed', '--server-key', '--idle-timeout', '--no-source-parent']), new Set(), new Set(['--server-key', '--seed']), new Set(['--no-source-parent']));
|
|
648
667
|
const [inputPath] = requirePositionals(positionals, 1, 'upload requires a file or directory');
|
|
@@ -709,6 +728,85 @@ async function runUpload(args, env, io) {
|
|
|
709
728
|
throw runError;
|
|
710
729
|
return code;
|
|
711
730
|
}
|
|
731
|
+
async function runLink(args, env, io) {
|
|
732
|
+
const { options, positionals } = parseOptions(args, new Set(['--seed-file', '--seed', '--server-key', '--idle-timeout']), new Set(), new Set(['--server-key', '--seed']), new Set(), new Set(), true);
|
|
733
|
+
const [target, name] = requirePositionals(positionals, 2, 'link requires a target and link name');
|
|
734
|
+
try {
|
|
735
|
+
(0, controls_js_1.encodeLinkRequestRecord)({ v: 1, kind: 'link', target, name });
|
|
736
|
+
}
|
|
737
|
+
catch {
|
|
738
|
+
throw usageError('Invalid link target or link name');
|
|
739
|
+
}
|
|
740
|
+
const seed = await resolveSeed({
|
|
741
|
+
seedFile: options['--seed-file'],
|
|
742
|
+
seedText: options['--seed'],
|
|
743
|
+
env,
|
|
744
|
+
envName: CLIENT_SEED_ENV,
|
|
745
|
+
role: 'client'
|
|
746
|
+
});
|
|
747
|
+
let serverPublicKey;
|
|
748
|
+
try {
|
|
749
|
+
serverPublicKey = (0, identity_js_1.parsePublicKey)(requireOption(options, '--server-key'));
|
|
750
|
+
}
|
|
751
|
+
catch {
|
|
752
|
+
throw usageError('Invalid --server-key');
|
|
753
|
+
}
|
|
754
|
+
const clientSeedHex = b4a_1.default.toString(seed, 'hex');
|
|
755
|
+
const serverKeyHex = b4a_1.default.toString(serverPublicKey, 'hex');
|
|
756
|
+
if (target === clientSeedHex ||
|
|
757
|
+
target === serverKeyHex ||
|
|
758
|
+
name === clientSeedHex ||
|
|
759
|
+
name === serverKeyHex) {
|
|
760
|
+
throw usageError('Invalid link target or link name');
|
|
761
|
+
}
|
|
762
|
+
const idleTimeout = options['--idle-timeout'] === undefined
|
|
763
|
+
? io.idleTimeout
|
|
764
|
+
: parsePositiveSafeInteger(options['--idle-timeout'], 'idle-timeout');
|
|
765
|
+
const ClientImpl = io.Client || client_js_1.Client;
|
|
766
|
+
let client;
|
|
767
|
+
try {
|
|
768
|
+
client = new ClientImpl({
|
|
769
|
+
seed,
|
|
770
|
+
serverPublicKey,
|
|
771
|
+
dht: io.dht,
|
|
772
|
+
connectTimeout: io.connectTimeout,
|
|
773
|
+
idleTimeout,
|
|
774
|
+
logger: createLogger(io)
|
|
775
|
+
});
|
|
776
|
+
}
|
|
777
|
+
catch (err) {
|
|
778
|
+
throw new CliError(errorMessage(err), 2);
|
|
779
|
+
}
|
|
780
|
+
const proc = io.process || _process_1.default;
|
|
781
|
+
const close = onceClose(client);
|
|
782
|
+
const detach = attachSignals(proc, () => {
|
|
783
|
+
close().then(() => { }, () => { });
|
|
784
|
+
});
|
|
785
|
+
let runError = null;
|
|
786
|
+
let code = 0;
|
|
787
|
+
try {
|
|
788
|
+
try {
|
|
789
|
+
const result = await client.link(target, name);
|
|
790
|
+
code = printLinkResult(result, io);
|
|
791
|
+
}
|
|
792
|
+
catch (err) {
|
|
793
|
+
runError = new CliError(linkErrorMessage(err), 1);
|
|
794
|
+
}
|
|
795
|
+
}
|
|
796
|
+
finally {
|
|
797
|
+
detach();
|
|
798
|
+
try {
|
|
799
|
+
await close();
|
|
800
|
+
}
|
|
801
|
+
catch {
|
|
802
|
+
if (!runError && code === 0)
|
|
803
|
+
runError = new CliError('Cleanup failed', 1);
|
|
804
|
+
}
|
|
805
|
+
}
|
|
806
|
+
if (runError)
|
|
807
|
+
throw runError;
|
|
808
|
+
return code;
|
|
809
|
+
}
|
|
712
810
|
async function dispatch(argv, env, io) {
|
|
713
811
|
if (argv.length === 1 && HELP_ARGS.has(argv[0])) {
|
|
714
812
|
writeLine(io.stdout, USAGE);
|
|
@@ -732,7 +830,9 @@ async function dispatch(argv, env, io) {
|
|
|
732
830
|
}
|
|
733
831
|
if (command === 'server')
|
|
734
832
|
return runServer(args, env, io);
|
|
735
|
-
|
|
833
|
+
if (command === 'upload')
|
|
834
|
+
return runUpload(args, env, io);
|
|
835
|
+
return runLink(args, env, io);
|
|
736
836
|
}
|
|
737
837
|
async function main(argv, env, io = {}) {
|
|
738
838
|
const streams = {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|