I'm running a Clojure service inside a Docker container, and have the SOCKS proxy configured to give me a connection to a Datomic Cloud system. I verified this setup by creating a database successfully yesterday.
Unfortunately, this morning when I added a new dependency to the service I had to rebuild the Docker container, and encountered the following error:
Downloading: com/datomic/ion/0.9.48/ion-0.9.48.jar from datomic-cloud
Error building classpath. Could not find artifact com.datomic:ion:jar:0.9.48 in central (https://repo1.maven.org/maven2/)
ERROR: Service 'clojure' failed to build : The command '/bin/sh -c clojure -A:dev:test:cider-clj:exit' returned a non-zero code: 1
I can aws s3 cp
the JAR from the S3 bucket just fine but Maven isn't as cooperative. I do have an explicit AWS access key exported inside the Docker container (this was necessary to workaround issues with STS and assumed roles) but with the JAR being publicly accessible I wouldn't expect those credentials to cause problems.
I can't easily unset the credentials as they're baked into the container via an env_file
but I could move this configuration into runtime rather than build time if this is the cause.
Has anyone else encountered this issue? If so, I'd massively appreciate any suggested workarounds/fixes.
Thanks!
Update: I've tried moving the AWS credentials from an env_file
into a read-only volume, which means the AWS_ACCESS_KEY_ID
and AWS_SECRET_ACCESS_KEY
vars are no longer exported at build time. This hasn't fixed the issue, which leads me to believe it's not the AWS credentials that are causing the problem. That said, with the AWS credentials in place during build there's a noticeable delay fetching from both the cognitect-dev-tools
and datomic-cloud
repos.
Update 2: I'm seeing the same error inside GitHub actions. Not just inside Docker containers…