fix(config): prevent custom endpoint slug collisions from cross-routing API credentials - #71178
Open
Drexuxux wants to merge 1 commit into
Open
fix(config): prevent custom endpoint slug collisions from cross-routing API credentials#71178Drexuxux wants to merge 1 commit into
Drexuxux wants to merge 1 commit into
Conversation
Contributor
|
Thanks for isolating this credential-routing bug. The current implementation still has the reported collision: The digest-based slot in This is an automated hermes-sweeper review. |
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.
What?
Distinct custom endpoint IDs such as
acme-prodandacme_prodwere mapped to the same.envvariable.Saving the second endpoint overwrote the first credential, causing runtime resolution to pair Endpoint A's URL with Endpoint B's API key.
Fix
Custom endpoint credential slots now include a stable SHA-256 digest, preserving identity differences that the readable slug removes.
Legacy slots remain supported during rotation, clearing, and deletion. Active model mirrors are migrated before old credentials are removed, and shared legacy slots are retained until their final reference is gone.
Related work
.envstorage for custom endpoint credentials.These changes moved secrets out of
config.yaml, but did not prevent punctuation-normalization collisions between distinct endpoint identities.No matching open or closed issue/PR was found. #45481 concerns provider entries overwriting by shared base URL and is a different code path.
Tests
upstream/main.