13 comments

  • mdaniel 3 days ago ago

    Congratulations, and how shameful for AWS not to meet developers where they are

    • jit_hacker 2 days ago ago

      MSK IAM support has long mystified me. I think they only supported Java for the first 9 months or so. Even then they still don't have GO or PHP support. It's not a ton of work, they're reusing request signer code anyways.

      • jovezhong 2 days ago ago

        According to my teammate who actually wrote the C++ code for this, there are lack of documentations of how the AWS_MSK_IAM is supposed to work. He has to check the Java/Python implementation line by line to avoid those guesswork

        • mdaniel 2 days ago ago

          Well, there's precedent for that since the $(aws eks get-token) is just a base64 pre-signed GetCallerIdentity URL but I don't think that's documented anywhere, either, but can be spotted by squinting at aws-iam-authenticator source

          My suspicion is that if they didn't want to bother to write a C++ client, they for sure wouldn't have the empathy(?) to document how anyone else could, too. I said empathy but I kind of wonder if by publishing how something works they're committing to it, versus they're currently only one commit away from changing it in their clients, without having to notify anyone

        • coredog64 2 days ago ago

          That’s how it works when writing CDK outside of TypeScript. You have to review the TS docs to get anywhere.

      • zliang 2 days ago ago

        Exactly, once figured out how it works, the implementation is quite straightforward.

  • anitil 2 days ago ago

    It's interesting that AWS chose(?) not to support this. Can you think of any reason why they wouldn't have? Perhaps it's harder to predict use cases in C++?

    • jovezhong 2 days ago ago

      I don't know exactly why AWS didn't include C++ SDK when they announced all languages are supported. Maybe it's more common today to use Java/Rust/Python to build data products, but C++ is still such a solid case. Anyway, I will try to reach out AWS team to see whether they are open to put this into the AWS SDK for C++

      • anitil 2 days ago ago

        It's great that you're contributing back like that

  • tuananh 2 days ago ago

    surprised since aws has sdk for c++ https://github.com/aws/aws-sdk-cpp

    • jovezhong 2 days ago ago

      I tried to find related code with iam and msk in the file names and failed. To get authenticated with MSK, need to get proper signed and pass to the MSK endpoints. Maybe AWS SDK team are just too busy or not get enough customer ask(escalations?) for using C++ to access MSK cluster with IAM only auth.

    • zliang 2 days ago ago

      Having a SDK and supporting IAM auth for MSK are different stories though. I mean, for supporting IAM auth for MAK for Java, AWS has a separate library instead of putting the code in their Java AWS SDK: https://github.com/aws/aws-msk-iam-auth.

      • tuananh a day ago ago

        yeah what i meant is that it's weird that they consider cpp is first class supported language but not having iam auth for msk - cpp.