swarm-deploy 0.1.0 → 0.2.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.
Files changed (87) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +680 -49
  3. package/RELEASING.md +2 -2
  4. package/SECURITY.md +2 -3
  5. package/dist/cli.d.ts +2 -0
  6. package/dist/cli.js +79 -22
  7. package/dist/cli.js.map +1 -1
  8. package/dist/client.d.ts +19 -29
  9. package/dist/client.js +46 -55
  10. package/dist/client.js.map +1 -1
  11. package/dist/errors.d.ts +4 -0
  12. package/dist/errors.js +4 -0
  13. package/dist/errors.js.map +1 -1
  14. package/dist/files.d.ts +13 -28
  15. package/dist/files.js +13 -78
  16. package/dist/files.js.map +1 -1
  17. package/dist/hooks-module.d.ts +9 -0
  18. package/dist/hooks-module.js +118 -0
  19. package/dist/hooks-module.js.map +1 -0
  20. package/dist/hooks.d.ts +69 -0
  21. package/dist/hooks.js +88 -0
  22. package/dist/hooks.js.map +1 -0
  23. package/dist/index.d.ts +7 -3
  24. package/dist/index.js +3 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/release.d.ts +26 -0
  27. package/dist/release.js +419 -0
  28. package/dist/release.js.map +1 -0
  29. package/dist/server.d.ts +86 -0
  30. package/dist/server.js +405 -53
  31. package/dist/server.js.map +1 -1
  32. package/dist/storage/commit-journal.d.ts +39 -2
  33. package/dist/storage/commit-journal.js +140 -2
  34. package/dist/storage/commit-journal.js.map +1 -1
  35. package/dist/storage/commit-store.d.ts +69 -8
  36. package/dist/storage/commit-store.js +374 -22
  37. package/dist/storage/commit-store.js.map +1 -1
  38. package/dist/storage/layout.js +7 -1
  39. package/dist/storage/layout.js.map +1 -1
  40. package/dist/storage/link-store.d.ts +70 -0
  41. package/dist/storage/link-store.js +363 -0
  42. package/dist/storage/link-store.js.map +1 -0
  43. package/dist/storage/recovery.d.ts +2 -1
  44. package/dist/storage/recovery.js +8 -1
  45. package/dist/storage/recovery.js.map +1 -1
  46. package/dist/storage/retention.d.ts +41 -21
  47. package/dist/storage/retention.js +162 -8
  48. package/dist/storage/retention.js.map +1 -1
  49. package/dist/storage/tar-session-store.d.ts +36 -5
  50. package/dist/storage/tar-session-store.js +283 -55
  51. package/dist/storage/tar-session-store.js.map +1 -1
  52. package/dist/storage/tree-fs.d.ts +44 -0
  53. package/dist/storage/tree-fs.js +580 -0
  54. package/dist/storage/tree-fs.js.map +1 -0
  55. package/dist/storage/tree-staging.d.ts +9 -0
  56. package/dist/storage/tree-staging.js +64 -0
  57. package/dist/storage/tree-staging.js.map +1 -0
  58. package/dist/storage/types.d.ts +15 -0
  59. package/dist/symlinks.d.ts +36 -0
  60. package/dist/symlinks.js +128 -0
  61. package/dist/symlinks.js.map +1 -0
  62. package/dist/tar-protocol/controls.d.ts +25 -0
  63. package/dist/tar-protocol/controls.js +108 -2
  64. package/dist/tar-protocol/controls.js.map +1 -1
  65. package/dist/tar-protocol/direct-wire.d.ts +3 -3
  66. package/dist/tar-protocol/direct-wire.js +2 -2
  67. package/dist/tar-protocol/direct-wire.js.map +1 -1
  68. package/dist/tar-protocol/manifest.d.ts +13 -1
  69. package/dist/tar-protocol/manifest.js +26 -1
  70. package/dist/tar-protocol/manifest.js.map +1 -1
  71. package/dist/tar-protocol/tree-extract.d.ts +37 -0
  72. package/dist/tar-protocol/tree-extract.js +240 -0
  73. package/dist/tar-protocol/tree-extract.js.map +1 -0
  74. package/dist/tar-protocol/tree-manifest.d.ts +45 -0
  75. package/dist/tar-protocol/tree-manifest.js +277 -0
  76. package/dist/tar-protocol/tree-manifest.js.map +1 -0
  77. package/dist/tar-protocol/tree-path.d.ts +15 -0
  78. package/dist/tar-protocol/tree-path.js +68 -0
  79. package/dist/tar-protocol/tree-path.js.map +1 -0
  80. package/dist/tar-protocol/tree.d.ts +68 -0
  81. package/dist/tar-protocol/tree.js +269 -0
  82. package/dist/tar-protocol/tree.js.map +1 -0
  83. package/dist/tar-protocol/ustar.d.ts +14 -0
  84. package/dist/tar-protocol/ustar.js +81 -1
  85. package/dist/tar-protocol/ustar.js.map +1 -1
  86. package/dist/types.d.ts +3 -0
  87. package/package.json +3 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release.js","sourceRoot":"","sources":["../src/release.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -1,7 +1,10 @@
1
1
  import events from '#events';
2
2
  import { type DirectDhtFactory, type DirectDhtNode } from './direct-dht.js';
3
3
  import { type ErrorCode } from './errors.js';
4
+ import { type ServerHooks } from './hooks.js';
5
+ import { type VersionGranularity } from './release.js';
4
6
  import type { StorageAdapter } from './storage/types.js';
7
+ import { type CompiledSymlinkRule, type SymlinkRule } from './symlinks.js';
5
8
  import type { AuthenticationEvent, FingerprintEvent, Logger, PublicKey, PublicKeyInput, SeedInput, ServerScheduler, TransferEvent, TransferLifecycleEvent } from './types.js';
6
9
  declare const EventEmitter: typeof events;
7
10
  declare const DEFAULT_MAX_CONNECTIONS = 64;
@@ -10,6 +13,15 @@ declare const DEFAULT_MIN_FREE_BYTES: number;
10
13
  declare const MAX_CONNECTIONS = 1024;
11
14
  declare const MAX_ACTIVE_UPLOADS = 1024;
12
15
  declare const FINGERPRINT_LENGTH = 12;
16
+ /**
17
+ * How many transfers may owe a deferred post-commit retention pass at once.
18
+ *
19
+ * The set grows only when an `afterCommit` hook fails after a durable commit,
20
+ * and entries are removed as soon as a retry succeeds, so reaching the bound
21
+ * means a persistently failing hook. Capping it at the connection ceiling
22
+ * keeps a broken deployment step from growing server memory without limit.
23
+ */
24
+ export declare const MAX_OWED_POST_COMMIT_RETENTION = 1024;
13
25
  export type ServerLogger = Logger;
14
26
  export type AllowlistKey = PublicKeyInput | string;
15
27
  export interface ServerOptions {
@@ -26,12 +38,21 @@ export interface ServerOptions {
26
38
  minFreeBytes?: number;
27
39
  maxAge?: number;
28
40
  maxStorageBytes?: number;
41
+ /** Ordered release templates; when non-empty every new offer must match one. */
42
+ artifactPatterns?: Iterable<string>;
43
+ maxCount?: number;
44
+ maxVersions?: number;
45
+ versionGranularity?: VersionGranularity;
29
46
  dht?: DirectDhtNode;
30
47
  dhtFactory?: DirectDhtFactory;
31
48
  storage?: StorageAdapter;
32
49
  scheduler?: ServerScheduler;
33
50
  logger?: Logger | null;
34
51
  replaceNames?: Iterable<string>;
52
+ /** Optional deployment lifecycle callbacks; snapshotted at construction. */
53
+ hooks?: ServerHooks | null;
54
+ /** Repeatable managed-symlink rules; snapshotted and validated at construction. */
55
+ symlinks?: Iterable<SymlinkRule>;
35
56
  }
36
57
  export interface ServerConnectionEvent extends FingerprintEvent {
37
58
  connections: number;
@@ -64,6 +85,8 @@ export interface RetentionEvent {
64
85
  expiredSessions?: number;
65
86
  scrubbed?: number;
66
87
  ageDeleted?: number;
88
+ countDeleted?: number;
89
+ versionDeleted?: number;
67
90
  storageDeleted?: number;
68
91
  }
69
92
  export interface ServerCloseEvent {
@@ -108,6 +131,11 @@ export declare class Server extends EventEmitter {
108
131
  readonly minFreeBytes: number;
109
132
  readonly maxAge: number | undefined;
110
133
  readonly maxStorageBytes: number | undefined;
134
+ readonly artifactPatterns: readonly string[];
135
+ readonly maxCount: number | undefined;
136
+ readonly maxVersions: number | undefined;
137
+ readonly versionGranularity: VersionGranularity | undefined;
138
+ private readonly releaseMatcher;
111
139
  private readonly allowedKeySnapshot;
112
140
  readonly logger: SafeLogger;
113
141
  readonly dht: DirectDhtNode | undefined;
@@ -115,6 +143,10 @@ export declare class Server extends EventEmitter {
115
143
  readonly storage: StorageAdapter;
116
144
  readonly scheduler: ServerScheduler;
117
145
  readonly replaceNames: ReadonlySet<string>;
146
+ readonly hooks: Readonly<ServerHooks>;
147
+ readonly symlinks: readonly CompiledSymlinkRule[];
148
+ readonly linkNames: ReadonlySet<string>;
149
+ private links;
118
150
  listening: boolean;
119
151
  closed: boolean;
120
152
  private readonly keyPair;
@@ -122,6 +154,24 @@ export declare class Server extends EventEmitter {
122
154
  private readonly abort;
123
155
  private readonly active;
124
156
  private readonly activeUploads;
157
+ /**
158
+ * Transfer IDs this process committed but whose deferred post-commit
159
+ * retention is still owed because `afterCommit` has not yet succeeded. Only
160
+ * these may start a retention pass from an already-committed retry, so an
161
+ * ordinary duplicate offer cannot be used to force repeated full passes.
162
+ * The set is in-memory only and bounded by `MAX_OWED_POST_COMMIT_RETENTION`;
163
+ * a restart or an eviction loses an entry, and the documented fallback is the
164
+ * next startup, scheduled, or commit-triggered pass.
165
+ */
166
+ private readonly pendingAfterCommit;
167
+ /**
168
+ * Authenticated transfer IDs a connection currently owns. One connection
169
+ * holds at most one entry and releases it in a `finally`, so the set is
170
+ * bounded by `maxConnections`. A second connection offering the same
171
+ * transfer is rejected with `FILE_BUSY` rather than running the lifecycle
172
+ * and its hooks concurrently against one staging and commit identity.
173
+ */
174
+ private readonly activeTransfers;
125
175
  private readonly receives;
126
176
  private layout;
127
177
  private sessions;
@@ -132,10 +182,46 @@ export declare class Server extends EventEmitter {
132
182
  private listenPromise;
133
183
  private closePromise;
134
184
  constructor(options: ServerOptions);
185
+ private artifactKind;
186
+ private payloadBytes;
187
+ private payloadDigest;
135
188
  private emitSafe;
136
189
  private allowed;
137
190
  private transfer;
191
+ private rejectOffer;
192
+ private hookArtifact;
193
+ /**
194
+ * Computes and converges the desired links from durable commit records.
195
+ * Called with the root lease already held.
196
+ */
197
+ private reconcileLinksUnlocked;
198
+ /** Pins link targets when reconciliation fails but retention must continue. */
199
+ private linkPinsFallbackUnlocked;
200
+ /** Reconciles after a durable commit; this is the only caller that leases the root. */
201
+ private reconcileAfterCommit;
202
+ /** Runs a gating callback; only callback exceptions become HOOK_FAILED. */
203
+ private runHook;
204
+ /** Runs onFailure once; its own failure is logged and never replaces the original. */
205
+ private runFailureHook;
138
206
  private receive;
207
+ /**
208
+ * Records that a transfer still owes its deferred post-commit retention
209
+ * pass, keeping at most `MAX_OWED_POST_COMMIT_RETENTION` entries.
210
+ *
211
+ * `Set` preserves insertion order, so the oldest owed transfer is evicted
212
+ * first and eviction is deterministic. An evicted transfer loses nothing
213
+ * durable: its artifact is already committed and its rotation falls back to
214
+ * the next startup, scheduled, or commit-triggered pass.
215
+ */
216
+ private owePostCommitRetention;
217
+ /**
218
+ * Runs the post-commit retention pass that a configured `afterCommit` hook
219
+ * deferred, only after that hook succeeded, and then stops owing it. The
220
+ * retention manager already reports its own failures as non-fatal, so
221
+ * nothing here can fail the upload; the pass is attempted exactly once per
222
+ * successful hook, which is why the transfer is cleared either way.
223
+ */
224
+ private settleDeferredRetention;
139
225
  /**
140
226
  * Retires a committed session without letting cleanup undo a durable commit.
141
227
  *