UI: submit object storage creation using POST - #13768
Open
Dogface2k wants to merge 3 commits into
Open
Conversation
Dogface2k
marked this pull request as ready for review
August 2, 2026 13:18
Dogface2k
marked this pull request as draft
August 2, 2026 13:53
Dogface2k
marked this pull request as ready for review
August 2, 2026 14:02
Dogface2k
marked this pull request as draft
August 2, 2026 15:36
Dogface2k
marked this pull request as ready for review
August 2, 2026 15:58
Dogface2k
force-pushed
the
fix/object-storage-post
branch
from
August 2, 2026 17:04
f5a58ef to
fe572b3
Compare
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.
Description
This PR fixes object storage creation from the UI by submitting
addObjectStoragePoolas a form-encoded POST request instead of a GET request.The object-storage form carries provider access and secret keys in indexed
detailsparameters. Sending those parameters with GET both fails when POST enforcement is enabled and places credentials in the request URL. The UI now uses the existingpostAPItransport, preserving the command and parameter names while moving them into the request body.Credential handling is hardened across this request's failure and diagnostic paths as part of the same fix:
addObjectStoragePoolis classified as carrying sensitive request information;Ordinary non-sensitive API request logging is unchanged. Requests containing user data continue to receive the same parameter suppression. Object-store discovery, provider behavior, persistence, responses and authorization are unchanged.
Fixes #13679
Types of changes
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
Bug Severity
Screenshots (if appropriate):
Not applicable.
How Has This Been Tested?
Regression coverage exercises the request transport and each changed diagnostic boundary:
/, no query-parameter payload, preservation of indexed access-key and secret-key fields (including URL-sensitive characters) in the form body, failure propagation, and password masking;console.error;The patch passes
git diff --check. It was tested locally with Temurin Java 17 and Node 16.20.2.How did you try to break this feature and the system with this change?
The transport test uses the real indexed credential parameter names, includes
+,&and=in the secret, and asserts that Axios receives noparamsobject, preventing fallback to a URL query string. A rejected request verifies that backend failures are still propagated.Synthetic credential sentinels were placed in Axios POST bodies, GET parameters and response bodies; none appear in the emitted browser diagnostic. Nested object values were also supplied in fields intended for scalar diagnostics and were dropped rather than serialized. The management-server controls cover a sensitive legacy query string, a user-data request, and ordinary POST/query requests. Sensitive object-storage requests retain correlation metadata without their parameters; ordinary commands retain their normal diagnostics.