Open KineticCookie opened 2 years ago
Thanks, sounds like a good idea!
Are there other use cases?
What if you are accessing another service deployed on your Kubernetes cluster that acts as a proxy to an AWS service? Would you not want to retain the ability to use a URI?
The Java SdkClientBuilder interface expects a URI as well: B endpointOverride(URI endpointOverride);
. Easy enough to widen it again in AwsConfig.configured()
before invoking, but it does make you wonder about the intent.
[https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/](k8s dns-pod-service)
@etherline I'm not sure if I can recall the details exactly š
I was under impression that java SDK indeed expects URI. But there is a code that parses the URI, and if it can't convert it to URL, the it throws an exception as displayed above.
After filling out this issue I did a little more digging and found out that java URL is badly designed (because of DNS queries) and that's why people prefer to use URIs instead. But the problem here (as I see it) is that this specific java design choice led to URI usage, where developer expects it to be URL.
Maybe the issues is deeper that I anticipated š¤
Hi! I got a strange exception trying to connect s3 client to local minio.
After some experiments, I found that the type of
endpointOverride
defined here: https://github.com/vigoo/zio-aws/blob/master/zio-aws-core/src/main/scala/io/github/vigoo/zioaws/core/config/package.scala#L237-L239 allows for incorrect URIs to be passed to underlying aws sdk.In my case it was
minio:9000
instead of correcthttp://minio:9000
In my semi-educated guess, it would be better to change
endpointOverride
descriptor tourl
to enforce type safety.