feat(providers): add credential refresh foundation#1349
Draft
johntmyers wants to merge 1 commit into
Draft
Conversation
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
043004c to
1b9aea7
Compare
|
🌿 Preview your docs: https://nvidia-preview-pr-1349.docs.buildwithfern.com/openshell |
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.
Summary
Adds the first provider credential refresh foundation slice for #1306. This PR wires refresh metadata through profiles, providers, gateway APIs, provider environment resolution, and sandbox placeholder resolution without enabling a gateway token-minting worker yet.
Related Issue
Refs #1306
Changes
openshell provider refresh-status NAME [--credential-key KEY]openshell provider refresh-config NAME --credential-key KEY --strategy STRATEGY --material KEY=VALUE --secret-material-key KEY --credential-expires-at TIMESTAMP_MSopenshell provider rotate NAME --credential-key KEYopenshell provider update NAME --credential-expires-at KEY=TIMESTAMP_MSobjectstable usingscope = provider_id.UX Changes
Static credential flows continue to work. Users can now annotate provider credentials with expiration timestamps:
Users can configure and inspect gateway-owned refresh metadata for a provider credential:
openshell provider rotaterecords a refresh request/status today, but token minting is intentionally not implemented in this first slice.Current Behavior
Testing
RUSTC_WRAPPER= cargo check -p openshell-server -p openshell-sandbox -p openshell-providers -p openshell-cliRUSTC_WRAPPER= cargo test -p openshell-server -p openshell-sandbox -p openshell-providers -p openshell-cli --no-runRUSTC_WRAPPER= cargo test -p openshell-providers profile_refresh_metadata_round_trips_through_proto_and_yamlRUSTC_WRAPPER= cargo test -p openshell-sandbox expired_retained_generation_does_not_resolveRUSTC_WRAPPER= cargo test -p openshell-cli provider_update_accepts_credential_expiryRUSTC_WRAPPER= cargo test -p openshell-server resolve_provider_env_skips_expired_credentials_and_returns_expiry_metadataRUSTC_WRAPPER= cargo test -p openshell-server -p openshell-sandbox -p openshell-providers -p openshell-cli provider_refresh -- --nocapturemise run pre-commitChecklist