Added docs covering VMinstance and VMDisk backups by myasnikovdaniil · Pull Request #456 · cozystack/website

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Kubernetes-level backup doc removed and replaced with a virtualization-focused backup-and-recovery guide for VMInstance and VMDisk; Velero backup configuration updated with separate vminstance/vmdisk strategies, strategy parameter changes, restoreSpec updates, selectors, TTLs/timeouts, and links adjusted to virtualization docs.

Changes

Cohort / File(s) Summary
Removed Kubernetes doc / Added virtualization doc
content/en/docs/v1/kubernetes/backup-and-recovery.md, content/en/docs/v1/virtualization/backup-and-recovery.md
Deleted the tenant Kubernetes backup-and-recovery page and added a virtualization-specific guide covering BackupClass discovery, one-off BackupJob and scheduled Plan workflows for VMInstance and VMDisk, BackupJobBackup mappings, RestoreJob restores (in-place and target), status checks, and troubleshooting.
Velero backup configuration updates
content/en/docs/v1/operations/services/velero-backup-configuration.md
Repointed links to virtualization docs; replaced single example strategy with vminstance-strategy and vmdisk-strategy; added template.restoreSpec.existingResourcePolicy: update, orLabelSelectors, changed included resources (removed services, added pods and controllerrevisions.apps), set includeClusterResources: false, added ttl and itemOperationTimeout, added application.apiGroup: apps.cozystack.io and parameters.backupStorageLocationName: default, and updated BackupClass YAML and restore guidance to use RestoreJob.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  participant User as User
  participant K8s as Kubernetes API
  participant BackupClass as BackupClass (Config)
  participant Velero as Velero
  participant CSI as CSI / Snapshot Provider

  User->>K8s: create BackupJob / Plan (refs BackupClass)
  K8s->>Velero: schedule/trigger backup (VMInstance / VMDisk)
  Velero->>CSI: create VolumeSnapshot(s)
  CSI-->>Velero: snapshot(s) ready
  Velero->>K8s: create Backup object / store metadata
  Velero-->>User: update backup status (Pending→Running→Succeeded/Failed)

  alt Restore in-place or target
    User->>K8s: create RestoreJob (refs Backup)
    K8s->>Velero: trigger restore
    Velero->>CSI: restore volumes
    CSI-->>Velero: volumes restored
    Velero->>K8s: reconcile resources (existingResourcePolicy: update)
    Velero-->>User: restore status
  end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 I hopped through YAML, neat and fleet,
Swapped kube pages for VM-backed beats.
Velero snaps, RestoreJob hums the tune,
Disks and instances safe by noon,
A rabbit claps—backups snug as a sheet!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: adding documentation for VMInstance and VMDisk backup operations, which is the primary focus of the new virtualization/backup-and-recovery.md file and related updates.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch backups
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.