Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AWS credentials exception for Cantaloupe 6.0.0 build on ARM64 #39

Open
aksm opened this issue Jun 3, 2022 · 1 comment
Open

AWS credentials exception for Cantaloupe 6.0.0 build on ARM64 #39

aksm opened this issue Jun 3, 2022 · 1 comment
Labels
esmero-cantaloupe IIIF goodness in docker package
Milestone

Comments

@aksm
Copy link

aksm commented Jun 3, 2022

WHAT?

After running a multiarch build with

docker buildx build --platform linux/amd64,linux/arm64 -t user/repo:tag --push

e.g. https://hub.docker.com/layers/archipelago/aminmetro/archipelago/cantaloupe-6.0-multiarch/images/sha256-038d9f1c5438b9ec770187a3b76723958d14354be91b0e4e90861eca9c23bc68

everything seems to run fine on ARM64 except for a small exception in the debug logs:

19:30:27.028 [qtp1449263511-36] DEBUG e.i.l.c.s.S3Source - Requesting [endpoint: null] [region: null] [accessKeyID: null] [secretAccessKey: null] [bucket: esmero] [key: media/1e3/image-service-pnp-jpd-01500-01578v-fdc9b3f2-262e-420c-9148-f99685eaba77.jpg]
19:30:27.029 [qtp1449263511-36] DEBUG s.a.a.a.c.AwsCredentialsProviderChain - Unable to load credentials from SystemPropertyCredentialsProvider(): Unable to load credentials from system settings. Access key must be specified either via environment variable (AWS_ACCESS_KEY_ID) or system property (aws.accessKeyId).
software.amazon.awssdk.core.exception.SdkClientException: Unable to load credentials from system settings. Access key must be specified either via environment variable (AWS_ACCESS_KEY_ID) or system property (aws.accessKeyId).
	at software.amazon.awssdk.core.exception.SdkClientException$BuilderImpl.build(SdkClientException.java:98)
	at software.amazon.awssdk.auth.credentials.internal.SystemSettingsCredentialsProvider.resolveCredentials(SystemSettingsCredentialsProvider.java:58)
	at software.amazon.awssdk.auth.credentials.AwsCredentialsProviderChain.resolveCredentials(AwsCredentialsProviderChain.java:91)
	at software.amazon.awssdk.awscore.client.handler.AwsClientHandlerUtils.createExecutionContext(AwsClientHandlerUtils.java:76)
	at software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler.createExecutionContext(AwsSyncClientHandler.java:68)
	at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.lambda$execute$0(BaseSyncClientHandler.java:74)
	at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.measureApiCallSuccess(BaseSyncClientHandler.java:167)
	at software.amazon.awssdk.core.internal.handler.BaseSyncClientHandler.execute(BaseSyncClientHandler.java:62)
	at software.amazon.awssdk.core.client.handler.SdkSyncClientHandler.execute(SdkSyncClientHandler.java:52)
	at software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler.execute(AwsSyncClientHandler.java:62)
	at software.amazon.awssdk.services.s3.DefaultS3Client.getObject(DefaultS3Client.java:4361)
	at software.amazon.awssdk.services.s3.S3Client.getObject(S3Client.java:7635)
	at edu.illinois.library.cantaloupe.source.S3Source.newObjectInputStream(S3Source.java:294)
	at edu.illinois.library.cantaloupe.source.S3Source.newObjectInputStream(S3Source.java:265)
	at edu.illinois.library.cantaloupe.source.S3StreamFactory.newInputStream(S3StreamFactory.java:36)
	at edu.illinois.library.cantaloupe.processor.TurboJpegProcessor.setStreamFactory(TurboJpegProcessor.java:139)
	at edu.illinois.library.cantaloupe.processor.ProcessorConnector.connect(ProcessorConnector.java:213)
	at edu.illinois.library.cantaloupe.resource.ImageRequestHandler.handle(ImageRequestHandler.java:389)
	at edu.illinois.library.cantaloupe.resource.iiif.v2.ImageResource.doGET(ImageResource.java:136)
	at edu.illinois.library.cantaloupe.resource.HandlerServlet.handle(HandlerServlet.java:97)
	at edu.illinois.library.cantaloupe.resource.HandlerServlet.doGet(HandlerServlet.java:35)
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:500)
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:587)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:764)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:508)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:221)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1370)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:176)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:463)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:174)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1292)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:129)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:122)
	at org.eclipse.jetty.server.Server.handle(Server.java:562)
	at org.eclipse.jetty.server.HttpChannel.lambda$handle$0(HttpChannel.java:399)
	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:656)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:391)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:282)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:319)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:100)
	at org.eclipse.jetty.io.SocketChannelEndPoint$1.run(SocketChannelEndPoint.java:101)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:378)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:894)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1038)
	at java.base/java.lang.Thread.run(Thread.java:832)
19:30:27.029 [qtp1449263511-36] DEBUG s.a.a.a.c.AwsCredentialsProviderChain - Loading credentials from EnvironmentVariableCredentialsProvider()

Maybe a config issue? Bug? Loads right after as the last line shows.

@aksm aksm added the esmero-cantaloupe IIIF goodness in docker package label Jun 3, 2022
@aksm aksm added this to the 1.0.0 milestone Jun 3, 2022
@aksm aksm self-assigned this Jun 3, 2022
@aksm
Copy link
Author

aksm commented Jun 3, 2022

Closing this because I misunderstood how things work. As Diego pointed out, this is due to local credentials being checked and isn't a problem.

@aksm aksm closed this as completed Jun 3, 2022
@aksm aksm reopened this Jun 3, 2022
@aksm aksm removed their assignment Sep 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
esmero-cantaloupe IIIF goodness in docker package
Projects
None yet
Development

No branches or pull requests

1 participant