Store artifact manifests in metadata
Currently when staging things we walk the extracted artifact frequently using system calls.
Since we have a system for reading back metadata that we encode at build time, we should be using that instead.
First, the Element
needs to offer an API for fetching the manifest; calling that API before the element's artifact is in the local cache should cause an error. This API is implemented by storing a new manifest.yaml
in the artifact metadata.
Then, we just use the new API in place of utils.list_relative_paths()
for reading the artifact manifest.