Skip to content

feat(admin): add safe IAM archive round trips#325

Merged
cxymds merged 1 commit into
mainfrom
cxymds/feat-iam-archive
Jul 24, 2026
Merged

feat(admin): add safe IAM archive round trips#325
cxymds merged 1 commit into
mainfrom
cxymds/feat-iam-archive

Conversation

@cxymds

@cxymds cxymds commented Jul 24, 2026

Copy link
Copy Markdown
Member

Summary

  • add typed bounded rc admin iam export and rc admin iam import workflows for RustFS IAM archives
  • emit deterministic versioned ZIPs with canonical JSON, 10 MiB compressed/expanded limits, and duplicate/unknown/ZIP-bomb rejection
  • use atomic mode-0600 no-clobber exports and protected regular-file or stdin imports
  • add mutation-free dry-run, explicit confirmation, fail/overwrite conflict policy, and destination preflight
  • retry only safe export reads; report unknown mutation outcome after import transport loss without retrying or exposing server bodies

BREAKING contract update

The protected command and output references are extended with IAM archive commands and output-v3 records. Existing commands and schemas remain backward compatible.

Validation

  • cargo fmt --all --check
  • cargo clippy --workspace --all-targets -- -D warnings
  • cargo test --workspace
  • focused IAM CLI/HTTP/help/output-schema tests
  • git diff --check

Closes rustfs/backlog#1493
Refs rustfs/backlog#1380

@cxymds
cxymds force-pushed the cxymds/feat-iam-archive branch from f13c053 to 473238e Compare July 24, 2026 13:42
@cxymds
cxymds merged commit 62f66f6 into main Jul 24, 2026
17 checks passed
@cxymds
cxymds deleted the cxymds/feat-iam-archive branch July 24, 2026 13:52
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