Skip to main content

ConfigImportReport

restored object[]required

One entry per category, in a fixed order.

  • Array [
  • categorystringrequired

    The categories of ConfigImportGroup, and stack_env, the stacks' .env files, counted by stack, of which removed is always 0.

    Possible values: [shares, accounts, schedules, notifications, backup, system, custom_config, templates, stacks, stack_env]

    addedinteger<int64>required
    changedinteger<int64>required
    removedinteger<int64>required
  • ]
  • notRestored object[]required

    Everything the import did not restore, each with why. Empty when everything in the archive was restored.

  • Array [
  • kindstringrequired

    Possible values: [stack_env, disk, database_secret, backup_recipient]

    namestringrequired

    The stack whose .env file it is (stack_env), the array disk by its ConfigImportDisk.name (disk), the table and column of a database secret cleared by a bare-metal restore, with the row it was in (database_secret), or backup_recipient, the archive's backup recipient, which a bare-metal restore adopts only when identity.age opens and otherwise leaves this box's own in place.

    reasonstringrequired

    no_secrets, no_passphrase and passphrase_incorrect: the archive's passphrase-protected section could not be opened (see ConfigImportSecretsStatus; for backup_recipient, its identity.age). stack_not_in_archive: that section holds an .env for a stack the archive has no files of. left_in_place: the .env on this machine was kept because the archive holds none for that stack. disk_absent, disk_replaced and disk_ambiguous: a bare-metal restore did not match the array disk (see ConfigImportDiskState), so it stays a row of the restored array, unmounted, and the array is degraded: nothing mounts, matched disks included, until the degraded array is acknowledged or the replace flow adopts a replacement disk. sealed_under_other_key: the secret was sealed under the machine key of the installation the archive came from, which this machine does not have, and the archive holds no copy of it it could be sealed again from (no passphrase opened its secrets.age, or it never carried this secret, like TOTP), so a bare-metal restore cleared it.

    Possible values: [no_secrets, no_passphrase, passphrase_incorrect, stack_not_in_archive, left_in_place, disk_absent, disk_replaced, disk_ambiguous, sealed_under_other_key]

    messagestringrequired
  • ]
  • secretsConfigImportSecretsStatusrequired

    The status of the imported archive's secrets.age.

    Possible values: [none, opened, no_passphrase, passphrase_incorrect]

    preImportArchivestringrequired

    The name of the archive of the configuration as it was before the import, which a restore can go back to. Empty when no backup destination was written to.

    preImportSecretsConfigImportPreImportSecretsrequired

    Which passphrase the pre-import archive's secrets.age is sealed with. request: the one given with the import, which opened the imported archive's secrets. configured: the configured backup passphrase. none: the pre-import archive has no secrets.age.

    Possible values: [none, request, configured]

    ConfigImportReport
    {
    "restored": [
    {
    "category": "shares",
    "added": 0,
    "changed": 0,
    "removed": 0
    }
    ],
    "notRestored": [
    {
    "kind": "stack_env",
    "name": "string",
    "reason": "no_secrets",
    "message": "string"
    }
    ],
    "secrets": "none",
    "preImportArchive": "string",
    "preImportSecrets": "none"
    }