Giter VIP home page Giter VIP logo

Comments (1)

kggilmer avatar kggilmer commented on September 24, 2024

I'm not entirely sure what this means, but as the only ticket we have for IMDS I'll put my recent findings here...

IMDS is a local "service" which yields credentials and other host information via an unmodeled and unstructured service IMDS. See these SEPs for additional info:
1. /seps/accepted/shared/imds-client.md
2./seps/accepted/shared/imds-credentials.md

AWS SDKs have sometimes bundled clients so that in cases where programs using a given AWS SDK are running on an EC2 host, those credientials and other information can be retrieved without adding another dependency, however there is nothing in common between generated AWS service clients and a IMDS client [1].

As CRT has implemented IMDS client internally, it does not make sense to build a pure Kotlin version unless there is some serious fault with the CRT provided client. Additionally, I believe a case could be made to ship this client as a discrete dependency as this functionality is only usable when running on EC2 hosts.

--

1: The Go V2 SDK's hand-written IMDS client reuses some existing middleware from it's SDK for retries but otherwise does not integrate with the service clients. Comments from the Go team regarding their implementation:

 if you're curious, here is the code for the IMDS client, https://github.com/aws/aws-sdk-go-v2/tree/main/feature/ec2/imds
[api_client.go](https://github.com/aws/aws-sdk-go-v2/blob/main/feature/ec2/imds/api_client.go)  and [api_op_GetMetadata.go](https://github.com/aws/aws-sdk-go-v2/blob/main/feature/ec2/imds/api_op_GetMetadata.go) are probably the most interesting, The middleware stuff is all based on [requiest_middleware.go](https://github.com/aws/aws-sdk-go-v2/blob/main/feature/ec2/imds/request_middleware.go)

from aws-sdk-kotlin.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.