You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by tu...@apache.org on 2023/05/26 12:30:40 UTC

[arrow-rs] branch master updated: Set ECS specific metadata endpoint if AWS_CONTAINER_CREDENTIALS_RELATIVE_URI is set (#4288)

This is an automated email from the ASF dual-hosted git repository.

tustvold pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/arrow-rs.git


The following commit(s) were added to refs/heads/master by this push:
     new 18f91a20a Set ECS specific metadata endpoint if AWS_CONTAINER_CREDENTIALS_RELATIVE_URI is set (#4288)
18f91a20a is described below

commit 18f91a20ab7078f82434cab45e2ae0791d639c5e
Author: Johann Fuechsl <jf...@users.noreply.github.com>
AuthorDate: Fri May 26 14:30:34 2023 +0200

    Set ECS specific metadata endpoint if AWS_CONTAINER_CREDENTIALS_RELATIVE_URI is set (#4288)
    
    Co-authored-by: Johann Fuechsl <fu...@amazon.at>
---
 object_store/src/aws/mod.rs | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/object_store/src/aws/mod.rs b/object_store/src/aws/mod.rs
index 4c6d34660..fac6165b5 100644
--- a/object_store/src/aws/mod.rs
+++ b/object_store/src/aws/mod.rs
@@ -84,7 +84,10 @@ pub type AwsCredentialProvider = Arc<dyn CredentialProvider<Credential = AwsCred
 pub use credential::{AwsAuthorizer, AwsCredential};
 
 /// Default metadata endpoint
-static METADATA_ENDPOINT: &str = "http://169.254.169.254";
+static DEFAULT_METADATA_ENDPOINT: &str = "http://169.254.169.254";
+
+/// ECS metadata endpoint
+static ECS_METADATA_ENDPOINT: &str = "http://169.254.170.2";
 
 /// A specialized `Error` for object store-related errors
 #[derive(Debug, Snafu)]
@@ -607,7 +610,7 @@ impl AmazonS3Builder {
             std::env::var("AWS_CONTAINER_CREDENTIALS_RELATIVE_URI")
         {
             builder.metadata_endpoint =
-                Some(format!("{METADATA_ENDPOINT}{metadata_relative_uri}"));
+                Some(format!("{ECS_METADATA_ENDPOINT}{metadata_relative_uri}"));
         }
 
         builder
@@ -983,7 +986,7 @@ impl AmazonS3Builder {
                 imdsv1_fallback: self.imdsv1_fallback.get()?,
                 metadata_endpoint: self
                     .metadata_endpoint
-                    .unwrap_or_else(|| METADATA_ENDPOINT.into()),
+                    .unwrap_or_else(|| DEFAULT_METADATA_ENDPOINT.into()),
             };
 
             Arc::new(TokenCredentialProvider::new(
@@ -1177,7 +1180,8 @@ mod tests {
 
         assert_eq!(builder.endpoint.unwrap(), aws_endpoint);
         assert_eq!(builder.token.unwrap(), aws_session_token);
-        let metadata_uri = format!("{METADATA_ENDPOINT}{container_creds_relative_uri}");
+        let metadata_uri =
+            format!("{ECS_METADATA_ENDPOINT}{container_creds_relative_uri}");
         assert_eq!(builder.metadata_endpoint.unwrap(), metadata_uri);
         assert_eq!(
             builder.checksum_algorithm.unwrap().get().unwrap(),