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
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.
Update: I've tried moving the AWS credentials from an
env_file into a read-only volume, which means the
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
Update 2: I'm seeing the same error inside GitHub actions. Not just inside Docker containers…