#How to find out why cache export had failed?

1 messages · Page 1 of 1 (latest)

void tapir
#

I get this error, but no explanation. I am exporting to ECR. I think I have all of the necessary push and pull permissions.

#

Ah, no wait, I totally didn't think it thru. I think I need to somehow provide ECR credentials to Dagger Engine, but also JIT, as ECR has only temporary credentials.

#

Or do I just need them for the Docker engine, which might be easier as there's a special provider that's available 🤔

void tapir
#

Hm, I am able to publish from the host using docker push ... but Dagger client still fails. Does Dagger client assume the credentials, or is it the Docker server? Or is there a DinD situation going on inside Dagger that it needs auth?

void tapir
#

Ok, I provided the Dagger client-side Docker config as well, just in case. But also no cigar.

void tapir
#

oh wow:

unsupported: Invalid parameter at 'ImageManifest' failed to satisfy constraint:
'Limit on number of layers per image exceeded'"

This is actually progress! The authentication worked this time:

  1. It uploaded cache blobs for ~2 minutes (19:55:04 → 19:57:17)
  2. Failed only when committing the manifest

Root cause: ECR has a 127-layer limit per image manifest. Dagger's cache manifest exceeds this limit.

#

This is CC analysis 😄 It might be lying

#

But the error is correct

digital ridge
#

one of the many reasons we're not pursuing buildkit layer export as the foundation for dagger scaleout

void tapir
#

Replaced it with S3 cache and it works. 🤷‍♂️

#

ECR would have been better of course as then the layers can be reused across stages