feat(admin): classify RustFS diagnostic capabilities - #298
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related issue
Closes rustfs/backlog#1403
Parent: rustfs/backlog#1383
Roadmap: rustfs/backlog#1361
Replaces closed #282 after its obsolete stacked base was removed.
Background and user impact
RustFS 1.0.0-beta.10 registers several diagnostic routes that are placeholders rather than real measurements. Route presence and HTTP 200 responses are therefore not sufficient evidence of support. Without probe-specific truth, rc could advertise or execute object, network, site, or site-replication performance tests that return misleading success.
The existing
/v3/inspect-dataendpoint returns reconstructed object bytes and is not an inspect archive.Root cause
Runtime discovery exposed broad server capabilities but did not normalize individual diagnostic probe states or provide a reusable fail-closed guard. Unknown future server versions could not be distinguished safely from the pinned beta.10 contract.
Solution
CapabilityReportguard that permits only explicitly available diagnosticsValidation
Passed locally at exact head
18c2fb5synchronized with currentmain:cargo fmt --all --checkCARGO_BUILD_JOBS=2 cargo clippy --workspace -- -D warningsCARGO_BUILD_JOBS=2 cargo test --workspaceHistorical and current thread-aware audits found no reviews or unresolved review threads.
Review notes
This PR adds no diagnostic command and performs no active probe. Unknown versions remain fail-closed until a server-owned per-probe contract is available through rustfs/backlog#1402. Relative to current
main, the implementation changes only core/S3 capability code and does not modify protected contracts.