-
Notifications
You must be signed in to change notification settings - Fork 9
Description
When docking a manifest using nostromo dock it pulls down one or more manifests locally. Now that we have support for multiple manifests, it will be likely that users will split functionality up with more granularity. In some cases, it could be that a manifest command may depend on another that isn't in the same manifest.
To be able to build composable manifests, we can add a dependencies field that includes sources for other manifests. On sync functionality (sync, dock, undock) we can automatically ingest or delete these additional manifests.
Proposed model.Manifest updates:
struct LinkedManifest {
UUID string
Name string
Source string
}
struct Manifest {
...
links []*LinkedManifest
}Store the UUID for now in case we can support versioning in the future.
Add a new command to link manifests together:
nostromo link <source> <target>This command, similar to dock, should download the manifest, parse it, store it, and add the dependency record in the target manifest.
Note that care should be taken with collision detection and circular references. Need a solution to avoid problems with these scenarios.