11.1 What rs2 migrate carries over

If you're coming from v1 Restspace, rs2 migrate converts an existing services.json into an RS2 tenant config. It does as much as it safely can automatically, and tells you about everything it couldn't — so the result is a validated starting point, not a black box.

rs2 migrate services.json -o tenant.json

The output is validated by dry-building the tenant (10.4), so a config that comes out the other side is structurally sound.

Carried over automatically

  • MountsbasePathpath; v1 service sources map to RS2 prebuilts:
    • file/filesfile
    • data/datasetdata
    • pipelinepipeline
    • queryquery
    • auth/user-data/user-filterauth
    • servicesservices
  • Access — role-spec strings are unchanged (same grammar as v1).
  • Retry — policies carry over unchanged (same shape).
  • Caching — translated: {cache, maxAge}{mode, maxAgeSeconds}; sendETag is dropped because RS2 stores always emit ETags.
  • Pipelines — converted from the v1 string DSL into typed envelopes, and printed with instructions to PUT each to <path>/.pipelines/.root. A v1 single-pipeline mount maps to the .root spec, preserving its any-verb surface exactly (7.1).

Why pipelines need a manual PUT

In v1, pipeline specs lived in the service config. In RS2 they're authored into the instruction plane (3.6) — the .pipelines/ store subtree — not the tenant config. So the migrator converts the spec and hands you the PUT to install it, rather than inlining it. The conversion is done; the placement is one explicit step you run.

The shape of the result

You get a tenant.json with the mounts, access, retry, and caching translated, plus a set of printed instructions for the pieces that live outside tenant config (pipelines, queries — 11.2). Read those instructions; they're the difference between a config that loads and an application that works.

The next section covers what the migrator warns about — the things it adjusts or can't bring across — and 11.3 is the post-migration checklist.


Part 10 — Operating a Node · Manual home · Next: 11.2 What's warned, adjusted, or skipped →