Skip to content

feat(storage): add phase 3 kouja driver and reclaimer - #35

Open
msdmazvoid wants to merge 3 commits into
feat/kouja-storage-backend-phase2from
feat/kouja-storage-backend-phase3
Open

msdmazvoid wants to merge 3 commits into
feat/kouja-storage-backend-phase2from
feat/kouja-storage-backend-phase3

Conversation

@msdmazvoid

Copy link
Copy Markdown
Contributor

Summary

Phase 3 of the kouja storage backend, stacked on feat/kouja-storage-backend-phase2.

This adds the storage driver layer and VM start planner. Gateway/API/UI wiring follows in Phase 4 and 5.

What changed

  • Add internal/storage Driver/Health/Create results plus optional StartPreparer and OrphanCleaner capabilities.
  • Add the kouja driver: create/export, unexport/delete, orphan cleanup, start preparation, and health.
  • Add a driver registry keyed by Driver.Kind().
  • Add the deletion reclaimer with claim/lease, bounded attempts, backoff, terminal failure, and orphan handling.
  • Add internal/vmstart.Planner to build a QEMU StartPlan for remote disks.
  • Add tests for kouja create/delete/prepare/health, reclaimer success/retry/terminal/orphan behavior, and planner local/remote plans.

Verification

  • go test ./... -count=1
  • go vet ./...
  • gofmt clean

Chain

Base PR: #34 (feat/kouja-storage-backend-phase2). Merge order: #32 → #33 → #34 → this PR.

Review-artifact scratch files are intentionally excluded.

Add the kouja storage driver, driver registry, deletion reclaimer, and VM start planner. The existing LVM gateway path remains intact for now.
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