Skip to content

adds: file protocol for snapshot and restore#3928

Open
jjaferson wants to merge 2 commits into
loft-sh:mainfrom
jjaferson:ENGCP-427
Open

adds: file protocol for snapshot and restore#3928
jjaferson wants to merge 2 commits into
loft-sh:mainfrom
jjaferson:ENGCP-427

Conversation

@jjaferson
Copy link
Copy Markdown
Contributor

What issue type does this pull request address? (keep at least one, remove the others)
kind enhancement

What does this pull request do? Which issues does it resolve? (use resolves #<issue_number> if possible)
resolves ENGCP-427

Please provide a short message that should be published in the vcluster release notes
Adds a file protocol for snapshot and restore feature to enable users to use the filesystem as a backing storage

What else do we need to know?

E2E Tests

Default Test Execution

The mandatory PR suite runs automatically. Only specify additional test suites below if needed.

Adding New Test Suites

When adding a new ginkgo test suite:

  • Add labels to the test suite
  • Update label-filter section below to execute the new test suite
  • Verify test suite runs in CI/CD pipeline

Additional test suites

Additional test suite(s) that will be executed before the mandatory PR suite:

snapshots

@jjaferson jjaferson requested a review from a team as a code owner May 11, 2026 19:52
@jjaferson
Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector
Copy link
Copy Markdown

To use Codex here, create a Codex account and connect to github.

@jjaferson
Copy link
Copy Markdown
Contributor Author

@codex review

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7233cc1034

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread pkg/cli/snapshot_local.go
Comment thread pkg/cli/snapshot_local.go Outdated
@jjaferson jjaferson marked this pull request as draft May 12, 2026 09:25
@jjaferson
Copy link
Copy Markdown
Contributor Author

@codex review

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6238a83ace

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread pkg/cli/snapshot_local.go
Comment on lines +106 to +107
// Stream the local file into the syncer PVC via exec before pausing.
// The PVC (and the staged file) persist through scale-to-zero.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Preserve local restore uploads across pause

When restoring a file:// snapshot for a non-standalone vCluster whose /data volume is not a PVC, this upload is lost before the restore pod starts: runRestorePod pauses/scales the vCluster after the file is written, and the chart can render the control plane as a Deployment without persistence (chart/templates/_persistence.tpl lines 4-5) where data is an emptyDir (chart/templates/statefulset.yaml lines 119-121). In that environment the subsequent restore pod gets a fresh /data, so file:///data/vcluster-restore-...tar.gz does not exist and local-file restore fails; stage the file somewhere that survives the pause or stream it into the restore pod instead.

Useful? React with 👍 / 👎.

@jjaferson jjaferson marked this pull request as ready for review May 14, 2026 16:36
@jjaferson jjaferson requested a review from a team as a code owner May 15, 2026 10:56
@jjaferson jjaferson force-pushed the ENGCP-427 branch 2 times, most recently from e606f97 to 6fe5d13 Compare May 15, 2026 12:56
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