Add tenants: show who owns what before deciding how to unblock a migration

preflight refuses a layout v0.16 cannot represent, but it reports the problem
rather than the shape of the instance around it. Choosing between giving a
tenant its own domains, moving accounts, or collapsing everything into one
tenant needs the whole picture: which domains have an owner, which accounts
reach across to somebody else's, and which of those the converter would have
repaired by itself.

Read-only, and it names the offending domain against each account that
touches it rather than making the reader join the two lists by eye.
This commit is contained in:
2026-08-24 15:33:57 -07:00
parent b786e89b42
commit 0332f40b25
2 changed files with 124 additions and 0 deletions
+3
View File
@@ -27,6 +27,8 @@ func main() {
err = runRehearse(os.Args[2:])
case "run":
err = runRun(os.Args[2:])
case "tenants":
err = runTenants(os.Args[2:])
case "status":
err = runStatus(os.Args[2:])
case "report":
@@ -49,6 +51,7 @@ commands:
preflight run read-only checks and print the migration plan
rehearse convert this instance's settings and report what will NOT carry over (read-only)
run perform the migration (needs --yes and --recovery-point-confirmed)
tenants show which tenant owns which domain, and what blocks a migration (read-only)
status show the state of an in-progress or completed run
report print the validation report for a run`)
}