This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-08-13
Channels
- # announcements (10)
- # aws (1)
- # babashka (8)
- # babashka-circleci-builds (1)
- # beginners (67)
- # calva (4)
- # cljs-dev (42)
- # clojars (4)
- # clojure (213)
- # clojure-dev (4)
- # clojure-europe (18)
- # clojure-nl (1)
- # clojure-uk (8)
- # clojurescript (13)
- # conjure (6)
- # cursive (63)
- # data-science (5)
- # datomic (11)
- # events (1)
- # graalvm (2)
- # graalvm-mobile (1)
- # honeysql (4)
- # kaocha (3)
- # leiningen (19)
- # lsp (32)
- # malli (3)
- # meander (13)
- # news-and-articles (3)
- # off-topic (8)
- # polylith (5)
- # re-frame (47)
- # reitit (2)
- # shadow-cljs (28)
- # sql (3)
- # tools-build (4)
- # tools-deps (51)
- # uix (9)
- # xtdb (3)
Is there a way to tell lein
which region an S3 bucket as a Maven repo is in? I'm hitting a problem where I need to use credentials from account X to access a Maven repo bucket in account Y, and it's failing. Digging into that, it seems to be because Maven is trying to do a bucket location lookup, and permissions for that cannot be granted cross-account. deps.edn
allows you to manually specify ?region=xxxxx
as part of the repo URL, but the same doesn't seem to be working for project.clj
(See https://clojurians.slack.com/archives/C03S1KBA2/p1628859798359100)
and then I'd try path-style addressing and see if it works, like <s3://s3.us-west-2.amazonaws.com/bucketname|s3://s3.us-west-2.amazonaws.com/bucketname>
My understanding from the docs is that path style addressing is only valid for http:// bucket paths. Is that wrong? Cool if so
I was assuming you were using s3-wagon-private in which case these are the relevant bits https://github.com/s3-wagon-private/s3-wagon-private/blob/master/src/main/java/org/springframework/build/aws/maven/PrivateS3Wagon.java#L119-L128
Everything I can find about s3-wagon-private
is about publishing. I just need to consume what has been published elsewhere. But it's not a public bucket and I don't have a user in the bucket account
The issue seems to be that the permissions for GetBucketLocation
can only be granted to users/roles in the same account, not cross account like every other API call... So I can ListObjects
and GetObject
, but if my calls need to look up the location, it fails
That's why I can get clj
to work, because it provides a param to override the location so the lookup isn't needed
https://clojure.org/reference/deps_and_cli Have you read the docs about bucket regions?
This works fine for clj
/`deps.edn`, but not for lein
. We still need lein
for bits of our build and deployment pipeline
I guess I could hack something together where I invoke clj
to populate my local Maven cache and then launch lein
, which finds the relevant files locally, but... eww