rampway 0.5.21 → 0.5.23

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 (34) hide show
  1. package/README.md +28 -6
  2. package/build/src/commands/runtime-boot.d.ts.map +1 -1
  3. package/build/src/commands/runtime-boot.js +34 -5
  4. package/build/src/commands/runtime-boot.js.map +1 -1
  5. package/build/src/core/deploy-runner.d.ts.map +1 -1
  6. package/build/src/core/deploy-runner.js +28 -5
  7. package/build/src/core/deploy-runner.js.map +1 -1
  8. package/build/src/core/runtime-boot-state.d.ts +8 -2
  9. package/build/src/core/runtime-boot-state.d.ts.map +1 -1
  10. package/build/src/core/runtime-boot-state.js +25 -5
  11. package/build/src/core/runtime-boot-state.js.map +1 -1
  12. package/build/src/core/runtime-errors.d.ts +23 -0
  13. package/build/src/core/runtime-errors.d.ts.map +1 -0
  14. package/build/src/core/runtime-errors.js +27 -0
  15. package/build/src/core/runtime-errors.js.map +1 -0
  16. package/build/src/core/runtime-owner-handoff.d.ts +2 -2
  17. package/build/src/core/runtime-owner-handoff.d.ts.map +1 -1
  18. package/build/src/core/runtime-owner-handoff.js +1 -1
  19. package/build/src/runtimes/rollbridge-runtime.d.ts +46 -4
  20. package/build/src/runtimes/rollbridge-runtime.d.ts.map +1 -1
  21. package/build/src/runtimes/rollbridge-runtime.js +314 -22
  22. package/build/src/runtimes/rollbridge-runtime.js.map +1 -1
  23. package/build/src/transports/local-transport.d.ts +19 -0
  24. package/build/src/transports/local-transport.d.ts.map +1 -1
  25. package/build/src/transports/local-transport.js +32 -0
  26. package/build/src/transports/local-transport.js.map +1 -1
  27. package/build/src/transports/ssh-transport.d.ts +38 -0
  28. package/build/src/transports/ssh-transport.d.ts.map +1 -1
  29. package/build/src/transports/ssh-transport.js +68 -0
  30. package/build/src/transports/ssh-transport.js.map +1 -1
  31. package/build/src/types.d.ts +28 -2
  32. package/build/src/types.d.ts.map +1 -1
  33. package/docs/config-reference.md +48 -7
  34. package/package.json +1 -1
@@ -155,14 +155,22 @@ export type RuntimeBootIdentity = {
155
155
  releasePath: string;
156
156
  configPath: string;
157
157
  configIdentity: string;
158
+ snapshotIdentity: string;
158
159
  acceptedAt: string;
159
160
  };
160
161
  export type RuntimeBootState = RuntimeBootIdentity & {
161
- schemaVersion: number;
162
+ schemaVersion: 2;
163
+ application: string;
164
+ stage: string;
165
+ integrityDigest: string;
166
+ };
167
+ export type LegacyRuntimeBootState = Omit<RuntimeBootIdentity, "snapshotIdentity"> & {
168
+ schemaVersion: 1;
162
169
  application: string;
163
170
  stage: string;
164
171
  integrityDigest: string;
165
172
  };
173
+ export type ReadRuntimeBootState = RuntimeBootState | LegacyRuntimeBootState;
166
174
  export type RuntimeSnapshot = {
167
175
  schemaVersion?: number | undefined;
168
176
  type: string;
@@ -182,6 +190,14 @@ export type RuntimeSnapshot = {
182
190
  versionPath?: string | undefined;
183
191
  envNames?: string[] | undefined;
184
192
  composeRoot?: string | undefined;
193
+ daemonRuntime?: {
194
+ format: number;
195
+ digest: string;
196
+ path: string;
197
+ version: string;
198
+ } | undefined;
199
+ daemonRuntimeManifestPath?: string | undefined;
200
+ foregroundIdentityDigest?: string | undefined;
185
201
  };
186
202
  export type RuntimeRelease = {
187
203
  releaseId: string;
@@ -383,7 +399,9 @@ export type Transport = {
383
399
  writeFileExclusive: (filePath: string, content: string) => Promise<boolean>;
384
400
  removeFileIfContent: (filePath: string, expectedContent: string) => Promise<boolean>;
385
401
  readFile: (filePath: string) => Promise<string>;
402
+ readFileBuffer?: ((filePath: string) => Promise<Buffer>) | undefined;
386
403
  list: (targetPath: string) => Promise<string[]>;
404
+ listDirectory?: ((targetPath: string) => Promise<string[]>) | undefined;
387
405
  copyDir: (from: string, to: string) => Promise<void>;
388
406
  run: (command: string, opts?: {
389
407
  cwd?: string;
@@ -395,6 +413,8 @@ export type Transport = {
395
413
  }>;
396
414
  stat?: ((targetPath: string) => Promise<{
397
415
  isDirectory?: () => boolean;
416
+ isFile?: () => boolean;
417
+ isSymbolicLink?: () => boolean;
398
418
  } | undefined>) | undefined;
399
419
  };
400
420
  export type RuntimeAdapter = {
@@ -421,6 +441,11 @@ export type RuntimeAdapter = {
421
441
  releasePath: string;
422
442
  runtimePath: string;
423
443
  }) => Promise<RuntimeSnapshot>) | undefined;
444
+ acceptSnapshot?: ((transport: Transport, opts: {
445
+ snapshot: RuntimeSnapshot;
446
+ runtimePath: string;
447
+ runtimeResult: any;
448
+ }) => Promise<RuntimeSnapshot>) | undefined;
424
449
  verifySnapshot?: ((transport: Transport, opts: {
425
450
  snapshot: RuntimeSnapshot;
426
451
  runtimePath: string;
@@ -462,7 +487,7 @@ export type RuntimeAdapter = {
462
487
  revision: string;
463
488
  acceptedAt: string;
464
489
  }) => RuntimeBootIdentity | undefined) | undefined;
465
- verifyForegroundBootMaterial?: ((transport: Transport, state: RuntimeBootState) => Promise<void>) | undefined;
490
+ verifyForegroundBootMaterial?: ((transport: Transport, state: ReadRuntimeBootState) => Promise<void>) | undefined;
466
491
  foregroundBoot?: ((opts: {
467
492
  releasePath: string;
468
493
  releaseId: string;
@@ -470,6 +495,7 @@ export type RuntimeAdapter = {
470
495
  configPath: string;
471
496
  configIdentity: string;
472
497
  bootAttestation: string;
498
+ snapshot: RuntimeSnapshot;
473
499
  onStarted: () => Promise<void>;
474
500
  }) => Promise<{
475
501
  code?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.js"],"names":[],"mappings":"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"}
@@ -500,7 +500,7 @@ Rollbridge runtime adapter. Handles `deploy`, `validate`, `status`, `logs`, and
500
500
  | `socketPath` | string | no | Path to the Rollbridge Unix socket. |
501
501
  | `versionPath` | string | no | Path to a version file used for stale-daemon detection. |
502
502
  | `env` | object | no | String environment values passed to Rollbridge. Secret-like values are transported and redacted separately. |
503
- | `externalOwner` | object | no | Opt in to a persistent external foreground owner with `{type: "foreground"}`. Requires `config`, `socketPath`, and Rollbridge 0.1.21 or newer; upgrading a retained owner running an older Rollbridge fails closed (see below). |
503
+ | `externalOwner` | object | no | Opt in to a persistent external foreground owner with `{type: "foreground"}`. Requires `config`, `socketPath`, and Rollbridge 0.1.38 or newer so Rampway can accept its exact content-addressed daemon runtime; upgrading a retained owner running an older Rollbridge fails closed (see below). |
504
504
 
505
505
  ```js
506
506
  runtime: {
@@ -539,6 +539,23 @@ must release ownership and return without waiting for retained generations or
539
539
  connections to drain. Success removes the request; timeout preserves the
540
540
  accepted boot state and request for recovery.
541
541
 
542
+ Runtime replacement capability is selected only from the target snapshot's
543
+ Rollbridge package version. With a Rollbridge 0.1.29-or-newer candidate,
544
+ `rollbridge deploy --ensure-daemon` owns atomic replacement of an incompatible
545
+ config, socket, package, or runtime owner. Rampway neither pre-shuts down the
546
+ incumbent nor applies its destructive legacy shutdown/retry fallback if that
547
+ candidate fails closed. A typed replacement refusal also tells the deploy and
548
+ rollback lifecycles that the incumbent remains authoritative, so they preserve
549
+ the failed result and original cause without automatically redeploying the
550
+ previous snapshot. `current` and accepted runtime state remain unchanged, while
551
+ normal pre-publish failure hooks and release diagnostics still run. Candidates
552
+ before 0.1.29 keep the legacy compatibility path: Rampway shuts down a responsive
553
+ daemon before deploying a changed runtime contract and can retry once after a
554
+ reported legacy runtime mismatch. The first upgrade from a pre-split owner to
555
+ 0.1.29+ may still be disruptive under Rollbridge's documented, narrowly
556
+ authorized one-time pre-split bridge, even though Rampway leaves that replacement
557
+ transaction and guardian-owned process state to Rollbridge.
558
+
542
559
  Deploy success and deploy-lock release follow healthy activation and replacement
543
560
  owner readiness. They must not wait for retired jobs generations, workers, jobs,
544
561
  HTTP/WebSocket connections, or other retained services to finish. Rollbridge
@@ -557,7 +574,8 @@ authenticated `retire-owner` contract, so replacing them requires a full
557
574
  shutdown that interrupts service while long-running workers drain. Stage the
558
575
  migration through an intermediate 0.1.21+ release with `runtime.externalOwner`
559
576
  disabled in an explicitly planned maintenance restart, scheduled only after
560
- accepted long-running workers have drained, then re-enable it.
577
+ accepted long-running workers have drained, then upgrade to Rollbridge 0.1.38+
578
+ before re-enabling it.
561
579
 
562
580
  Rolling back to a retained release whose runtime snapshot predates the
563
581
  `runtime.socketPath` requirement also fails closed, before any runtime
@@ -584,6 +602,22 @@ restart an active daemon; a matching digest preserves it. `versionPath` remains
584
602
  supported for package version compatibility and is updated only when the
585
603
  lifecycle commits health.
586
604
 
605
+ Rampway also records the accepted deploy command in that release snapshot. A
606
+ later stable local `runtime-boot` config may therefore use a different command
607
+ for staging or supervisor integration without changing the already accepted
608
+ contract. This does not relax config, environment, package, or runtime identity:
609
+ new external-owner snapshots bind the exact `daemonRuntime` reported by
610
+ Rollbridge, copy its manifest into immutable
611
+ `shared/rampway/runtime/rollbridge-daemon/<digest>/runtime.json`, and verify both
612
+ that copy and Rollbridge's original content-addressed runtime before acceptance
613
+ and every boot. The foreground command is always the accepted runtime's
614
+ `bin/rollbridge`; it never resolves through `current`, a release package, `npx`,
615
+ or a package cache. Malformed, redirected, missing, changed, or differently
616
+ reported runtime material fails closed. Verification independently reproduces
617
+ Rollbridge daemon-runtime format 1's raw-byte digest without executing the
618
+ candidate runtime. Executable bytes, source/dependency bytes, symlinks, special
619
+ filesystem entries, and package-version mismatches are rejected before spawn.
620
+
587
621
  Keep the configured Rollbridge file self-contained. Rampway snapshots that file,
588
622
  not arbitrary imports from an application checkout. Do not put secrets in the
589
623
  file or command; use `env` or shared application secret files. A Rollbridge
@@ -595,7 +629,8 @@ Set `rollbackCompatibility` when an application runtime protocol changes
595
629
  persisted work that older workers cannot safely consume. Rampway records the
596
630
  identifier in each successful release snapshot and rejects a rollback whose
597
631
  identifier does not exactly match the currently configured value. The same
598
- check protects automatic restoration after a failed deployment or rollback.
632
+ check protects automatic restoration after a failed deployment or rollback and
633
+ foreground `runtime-boot` of the accepted current release.
599
634
  Releases without an identifier remain mutually compatible, preserving existing
600
635
  behavior.
601
636
 
@@ -670,14 +705,20 @@ aliases.
670
705
  foreground boot entrypoint intended for a host service manager. It reads only
671
706
  Rampway's digest-protected `shared/rampway/runtime-boot.json`, requires its
672
707
  accepted release to be the exact retained `current` release, verifies release
673
- metadata, revision, and immutable runtime config identity, and then calls the
674
- adapter's foreground boot contract. It uses only the local transport and
708
+ metadata, revision, identical active and retained runtime snapshots, their full
709
+ contract identity and rollback compatibility, and immutable runtime config
710
+ identity, and then calls the adapter's foreground boot contract. A valid
711
+ schema-1 boot record is atomically upgraded using that verified matching
712
+ snapshot before the foreground process starts. An exact lock-bound
713
+ external-owner handoff instead preserves the schema-1 record and attestation;
714
+ the next unlocked restart performs the migration. Other unsupported schemas
715
+ fail closed. It uses only the local transport and
675
716
  coordinates with the deploy lock; it does no source preparation, tasks, hooks,
676
- migration, publication, cleanup, or fallback selection. Rollbridge support
717
+ application migration, publication, cleanup, or fallback selection. Rollbridge support
677
718
  requires an explicit `runtime.config` and Rollbridge 0.1.17 or newer; a
678
719
  successful deploy without stable config remains supported but cannot seed
679
720
  runtime boot state. The optional external-owner handoff requires Rollbridge
680
- 0.1.21 or newer and passes the accepted boot-state digest as
721
+ 0.1.38 or newer and passes the accepted boot-state digest as
681
722
  `--boot-attestation` on an ordinary foreground daemon boot. A matching owner is
682
723
  a no-op; a stale or absent bootstrap on the exact accepted release/runtime
683
724
  receives one authenticated `retire-owner` control command through the
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rampway",
3
- "version": "0.5.21",
3
+ "version": "0.5.23",
4
4
  "description": "JS-native Capistrano-style release-directory deployments with Rollbridge integration.",
5
5
  "type": "module",
6
6
  "private": false,