feat(openstack): Add Keystone v3 authentication support#691
Closed
benroeder wants to merge 1 commit intoapache:v0.16.xfrom
Closed
feat(openstack): Add Keystone v3 authentication support#691benroeder wants to merge 1 commit intoapache:v0.16.xfrom
benroeder wants to merge 1 commit intoapache:v0.16.xfrom
Conversation
Adds OpenStack Keystone v3 password authentication as a new services-openstack feature, enabling token-based request signing for OpenStack services like Swift.
Member
|
Thank you! But we don't need to backport to v0.16 for new features. |
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
services-openstackfeature with Keystone v3 password authenticationOpenstackConfig— loads auth_url, username, password, domain/projectsettings from env vars or fields
OpenstackLoader— authenticates against Keystone, caches tokens with2-minute expiry grace, parses service catalog
OpenstackCredential— token + expiry + service catalog with endpointlookup by service type, interface, and region
OpenstackSigner— signs requests by insertingX-Auth-Tokenheaderand request signing
services-openstackto CIbuild_single_featurematrixContext
Companion to #690 (main branch). This backport targets v0.16.x which
is the version OpenDAL currently depends on. Tested against a real
OpenStack Keystone cluster.
Related: #685
Files
New (790 lines):
src/openstack/mod.rs— module re-exportssrc/openstack/config.rs— Config + from_env()src/openstack/credential.rs— Credential, Loader, CatalogEntry, Endpointsrc/openstack/signer.rs— SignerModified:
Cargo.toml— addservices-openstackfeaturesrc/lib.rs— add feature-gated module.github/workflows/ci.yml— add to build matrixTest plan
cargo fmt --all -- --checkpassescargo test --no-fail-fast— 81 unit + 32 integration + 7 doc-tests all passcargo check --all-featurescompiles clean (only pre-existing warnings)