Skip to content

fixes to operator restore flow#296

Merged
v0lkan merged 3 commits into
mainfrom
fix/operator-restore
Jul 16, 2026
Merged

fixes to operator restore flow#296
v0lkan merged 3 commits into
mainfrom
fix/operator-restore

Conversation

@v0lkan

@v0lkan v0lkan commented Jul 16, 2026

Copy link
Copy Markdown
Member

No description provided.

v0lkan added 3 commits July 16, 2026 08:44
RouteRestore short-circuited in in-memory mode by returning nil without
writing a response, so the Pilot received an empty 200 and reported the
misleading "Failed to communicate with SPIKE Nexus." RouteRecover had no
memory-mode check at all and failed later with an equally misleading
"not enough shards" internal error.

Both routes now reject the request up front with a 400 and a message
stating that recovery does not apply to the in-memory backend, which
keeps no persistent state to recover or restore. The memory-mode test
for restore is updated to the new contract, and recover gains the
symmetric test.

Spec: TBD
Signed-off-by: Volkan Özçelik <volkan.ozcelik@broadcom.com>
`spike operator restore` read the recovery shard exclusively through
term.ReadPassword, which fails on a non-TTY stdin. That made the restore
flow impossible to script, blocking the planned bare-metal recovery
drill (TASKS.md, Phase 3).

Extract the prompt into readShardInput: interactive callers keep the
hidden-input behavior, while piped or redirected stdin is read to EOF
and trimmed. The non-interactive path is covered by a unit test; the
doc comment notes that scripted restore leaves a shard copy with the
calling process and is meant for development and drills.

Spec: TBD
Signed-off-by: Volkan Özçelik <volkan.ozcelik@broadcom.com>
Close the cipher stream-mode task (both cipher modes verified passing
via the make start checks on 2026-07-15) and the CI integration-test
task (CI has been green for several weeks). File the scripted live
recovery/restore drill under Phase 3 with the rationale from the
2026-07-16 code review of the flow, and annotate the Phase 1
recovery/restore task to point at it.

Spec: TBD
Signed-off-by: Volkan Özçelik <volkan.ozcelik@broadcom.com>
@v0lkan v0lkan self-assigned this Jul 16, 2026
@v0lkan
v0lkan merged commit 9a2d22f into main Jul 16, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant