Force the Pipeline to resolve the canonical Cue value before computing.
This ensures that `.Path()` gives a constant result even on references.
Fixes#399
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
HACK: the way buildkit works, we can only supply an Auth Provider for the entirety of the build session (`dagger up`). Therefore, we start by scanning all auth in the entire Cue tree and supply an auth provider for all of them.
Drawbacks:
- As soon as you add `auth` in a Pipeline for a registry, all other Pipelines have access to the same registry
- You can't use different credentials for the same registry
Fixes#301
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>