Skip to content

docs: add Veeam backup repository integration guide - #190

Merged
majinghe merged 2 commits into
rustfs:mainfrom
majinghe:docs/add-veeam-integration
Oct 31, 2026
Merged

majinghe merged 2 commits into
rustfs:mainfrom
majinghe:docs/add-veeam-integration

Conversation

@majinghe

@majinghe majinghe commented Oct 31, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Add a Veeam Backup & Replication integration guide under developer/integration/backup/veeam.md in all five locales (en, zh, de, fr, ja), including navigation and four screenshots per locale.

The guide covers:

  • Dedicated bucket preparation with versioning and Object Lock, plus a bucket-scoped starting IAM policy. Multipart upload listing is correctly bucket-scoped; Object Lock configuration can be queried. The lab policy's legal-hold and governance-bypass privileges are explicitly not presented as proven least privilege.
  • Official Veeam downloads and the 30-day Data Platform trial application. Production requires an Enterprise edition or another paid license that includes S3 object storage backup; downloading Community Edition alone does not enable that feature.
  • Repository registration over HTTPS, Direct versus gateway data paths, Agent repository access settings, prefix preparation, and the expected automatic bucket provisioning Access Denied prompt.
  • Agent enrollment through a protection group, with conditional UAC remote-filtering guidance, its security consequences, and rollback considerations rather than an unconditional registry workaround.
  • Backup execution, object inspection, and file-level restore. Object Lock capability is distinguished from enabled backup immutability and verified retention.
  • Version-specific official sizing guidance, trusted certificate chains for data-path hosts, and the requirement to keep conflicting lifecycle rules off the backup bucket.
  • Troubleshooting and next-step references, including SOSAPI capacity reporting tracked in Veeam SOSAPI Support rustfs#1511.

Localized titles and descriptions now name the Veeam/RustFS integration. Screenshot alt text describes visible evidence rather than claiming detected versioning or Object Lock. The 20 oversized PNGs are replaced by readable WebP images, each 22,044–59,188 bytes.

Validation

  • npm run docs:check — passed: relative links, navigation, code fences, prohibited strings, screenshot limits, locale tree parity, and non-Mermaid technical code parity.
  • git diff --check and git diff --cached --check — passed.
  • npm run test:search — passed, 21/21 tests against the final generated multilingual indexes.
  • Five-locale source assertions — passed: official download/trial links, equivalent technical examples, heading structure, warning types, bucket-level IAM action scope, and all 20 screenshot byte limits.
  • Five-locale exported HTML assertions — passed: localized titles/H1, final revised prose, official links, canonical/hreflang metadata, sitemap entries, and bundled image files.
  • All four compressed screenshot types — visually inspected; the relevant UI labels and backup/restore results remain readable.
  • npm run types:check — failed with 18 existing TS7006 diagnostics in scripts/add-language-redirects.mjs, scripts/worker-redirects.test.mjs, and worker.mjs. The identical errors were reproduced at the unchanged original PR head 4a4fb12fc69fcacd2721fe2fb913459b9534170a; no unrelated script changes are included.
  • Locale audit — the affected-page errors are localized Mermaid-label comparisons, not executable-code mismatches. A German warning concerns intentionally preserved Veeam UI labels. Non-Mermaid code equality passed the repository docs gate; unrelated repository-wide audit findings were not changed.
  • npm run build — passed on the final diff: 3,925 static files generated and 268 Cloudflare language redirect rules written. An earlier build was stopped after subsequent prose edits to avoid using a stale artifact.

The author's reported integration test used VBR 13.1.2.57 and RustFS 1.0.1: 87.4 GB processed, 63 GB stored, no backup errors, and a successful file-level restore. This repair did not rerun that Windows/S3 test. The report selects Direct at repository setup but does not record the Security selection, so it does not independently prove a gateway-free data path. It does not establish Veeam certification, immutable-retention enforcement, bare-metal recovery, or all restore paths.

Locales covered

en, zh, de, fr, ja

Add a Veeam Backup & Replication integration guide under
developer/integration/backup/ covering bucket preparation with
versioning and Object Lock, a least-privilege IAM policy, repository
registration with TLS, agent enrollment via a protection group,
backup job execution, and file-level restore, plus a troubleshooting
table for the license gate, UAC agent push, and SOSAPI capacity
reporting (rustfs#1511).

Verified with VBR 13.1.2.57 against RustFS 1.0.1: 87.4 GB processed,
63 GB stored, 0 errors, file-level restore successful.
Locales covered: en, zh, de, fr, ja.
@vercel

vercel Bot commented Oct 31, 2026

Copy link
Copy Markdown

@majinghe is attempting to deploy a commit to the overtrue's projects Team on Vercel.

A member of the Team first needs to authorize it.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 31, 2026 •

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
rustfs-docs 4a4fb12 Commit Preview URL

Branch Preview URL
Oct 31 2026, 06:38 AM

Clarify licensing, data paths, retention boundaries, and Windows setup. Link official downloads and trials, correct IAM action scopes, and compress screenshots to meet the documentation gate.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@majinghe
majinghe merged commit 27c3048 into rustfs:main Oct 31, 2026
2 of 3 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