Novij Storage

0.6.10.051718

Package site

Novij Storage

Stable readiness and current Relay bootstrap

  • Package-managed Nginx and Traefik edges now route the exact public node

challenge endpoint to the status sidecar instead of the PHP login page.

  • Canonical inventory refresh now starts before the strict TTL expires, so an

unchanged node no longer enters a periodic `syncing` window during scheduled

refresh.

  • The full canonical cache now warms at startup and refreshes halfway through its

TTL, leaving enough headroom when background sync is also using the disk.

  • Bounded `sync repair all` persists the next divergent prefix and resumes from

it in the following systemd cycle instead of starving the end of the range.

  • An incomplete prefix comparison with an unavailable peer now remains

`degraded` instead of treating zero partial counters as success.

  • Built-in bootstrap moved from the retiring INO node to active SPB/MNS Relays;

authoritative membership still comes from the Network Registry.

P30-P32 package/sync foundation

  • Added read-only sync/status foundation: `/sync/status`, `/sync/peers`,

`/sync/inventory`, `/sync/block/{block_id}/chunks`, `/sync/conflicts`, `/sync/lag`.

  • Added `novij-storagectl` for audit dry-run, safe pull-missing, peer visibility,

install auth, and first-run setup.

  • Added Debian packaging configuration for `novij-storage`.
  • Added package smoke and package-site publish flow for `packages.novij.tech/storage`.
  • Package services require owner-signed install authorization before startup.
  • `novij-storage-sync.timer` runs missing-only sync with caps and no overwrite/delete.

Live write/append, fake billing source, and payout settlement were not added.