Adding (AWS /OCI ) Cloud SDK for Go into K6

Hi,
For OCI, we need to sign the http request before being sent and there is a library available in OCI SDK (https://github.com/oracle/oci-go-sdk/blob/master/common/http_signer.go).

How can I sign the http request before being sent by K6? Can we import the Library in K6?

Regards,
Vinay

Any help on how the OCI SDK can be embedded into k6? I need to sign the request for calling OCI APIs by passing the tenancy information and finger print etc.

Hi @vinzy,

I looked at it on friday and forgot to wrote to you :man_facepalming:, sorry.

As I just outlined in the other question you had, you might be able to write it in pure JS but you will need to use some unsupported things, merge some PRs we decided we won’t merge and even than it’s not certain.

If you have the ability to use custom k6 builds and are willing to invest the time you are much better off to just add them as internal k6 modules. See this commit adding encoding .

I would have to tell you though that adding any of those to the official k6 is … unlikely :(. I myself am of the opinion that for the majority of those it’s MUCH better if we have a good crypto API that is standard(ish) and you can just use a JS implementation for the majority of things instead of k6 having to have every possible way of authorization.

Thanks much @mstoykov for giving a detailed explanation. Really appreciate your efforts in trying to solve most of our queries.

I can do custom k6 builds. Could you please suggest on what all modules can be added (in our other message, you referred to 1025. I will see how best I can implement our use case.

If you are going down the custom-builds road. I would recommend just using golang packages for everything instead of trying to get the k6/crypto library to have the functionality that you need. So 1025 can be skipped.

I didn’t quite get what you meant by:

You will need to find either golang implementation (as the sdk you linked) for everything or write them yourself and then expose it in a way similar to the commit I linked above.`