Skip to content

Document moving workloads between self-hosted Server deployments and Cloud #328

Open

Description

@rmcdaniel

Current source: #405 at a507bcdaf6ed1d954437d37b3668ed27c4d1d636 integrates current main. Supported Node 24 checks pass all 106 current guides in all seven other locales and all thirty-five changed source-hash/code comparisons. The original published-worker HTTP timeout remains unsuccessful with no cause established. Fresh exact-head CI/Sonar, actual Pages and live navigation acceptance remain required; no customer migration or Cloud operation ran.

Problem

Drain-and-cutover guidance exists only for v1 and embedded sources (Laravel adoption). There is no procedure for:

  • moving a self-hosted Server to new infrastructure;
  • moving from a self-hosted Server to Cloud;
  • leaving Cloud for a self-hosted Server.

Cloud deprovisioning deletes runtime data without pointing to history export first. The Server import accepts only embedded-sourced bundles, and the docs don't say so for these paths. Users who want to leave Cloud have no documented way out.

Acceptance criteria

  • A guide covers all three moves. For the drain paths it shows running the destination beside the source, a canary, switching new starts one workflow family at a time, routing commands to the owning runtime, and confirming that the source has no open runs before retiring it.
  • It states that Server-sourced runs cannot be imported as live state, and that history export is for audit and retention.
  • Before Cloud deprovisioning, it tells users to export the history they must keep, and says that capacity billing continues while a Cloud source drains.
  • The Cloud, deployment, deployment-modes and Laravel adoption pages link to it.

Activity

  1. added
    documentationImprovements or additions to documentation
    kind:defectA public product behavior is incorrect
    priority:P3Lower-priority product improvement
    on Oct 20, 2026
  2. rmcdaniel commented on Oct 23, 2026

    @rmcdaniel
    MemberAuthor

    Product review: the accepted need is a safe move between independently operated runtimes. Existing new-start routing and source draining provide that path; this issue does not accept or claim a new live-state transfer capability. Server-sourced runs cannot be imported through the embedded-v2 import contract. Existing runs and their commands stay with the source until terminal, while canary-tested new starts move by workflow family.

    The guide will cover self-hosted to self-hosted, self-hosted to Cloud and Cloud to self-hosted, including workers, schedules/other start producers, endpoint/namespace ownership and rollback after destination starts have been accepted. Long-lived runs that do not terminate do not become safely movable by exporting history.

    Before source retirement or Cloud deprovisioning, require complete retained history and original payload evidence, verified with the actual producer and consumer. Core2.11.4 alone does not qualify Server/Cloud HTTP exports: Server692 remains a separate producer/image/transport delivery, and old lossy bundles remain invalid. Document the preservation gate without claiming that pending fix is shipped. Existing Cloud capacity billing continues while the source remains provisioned; this changes no terms or Cloud operations.

    Website-only implementation will ship all eight locales together and link from Cloud, deployment, deployment modes and Laravel adoption. No competing Website PR covers these files.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationkind:defectA public product behavior is incorrectpriority:P3Lower-priority product improvement

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions