As part of #1160 - We discussed certain differences / naming conventions from what Weaver has today vs. what we want in the OTEP. A few points to nail down and change:
- Migrating from
registry_manifest.yaml to just manifest.yaml. We should (in a non-breaking way) move to the simpler named file.
- Consistency in referencing registries. We have
_id, _uri and _name today, we need to sort out what these mean.
- Dependency Resolution needs to understand if we have a "diamond dependency". This means we need to see if we're depending on "the same" registry but two different versions.
A set of principles:
- We need a
name for a registry. This should be unique across all registries, and can be used to denote if we have a dependency chain with two versions of the "same" registry.
- We need a
uri for a registry. This should denote the Manifest file or the directory where the manifest file can be found.
- We need a
uri for where to find resolved schema. This should denote where we load the resolved schema and will be a VirtualDirectoryRef. (Note: VirtualDirectoryRef can be a file in a virtual directory, e.g. a file in a git repo or a file inside a zip archive).
Strawman Proposal:
- Allow
registry_manfiest.yaml or manfiest.yaml to be the name of a registry manifest.
- Prefer
manifest.yaml if it exists.
- Issue a warning if we see
registry_manifest.yaml is used.
- We consistently use "Weaver URI" in documentation and code to represent
VirtualDirectoryRef strings.
- Change
RegistryManifest as follows:
resolved_schema_url becomes resolved_schema_uri.
name is removed.
repository_url is changed to be schema_url - I.e. this is the schema_url this registry will fill in telemetry.
name of a registry will be inferred from schema_url - We drop the "version" component of the URL, and we get a unique name we can use to identify version conflicts in dependencies.
As part of #1160 - We discussed certain differences / naming conventions from what Weaver has today vs. what we want in the OTEP. A few points to nail down and change:
registry_manifest.yamlto justmanifest.yaml. We should (in a non-breaking way) move to the simpler named file._id,_uriand_nametoday, we need to sort out what these mean.A set of principles:
namefor a registry. This should be unique across all registries, and can be used to denote if we have a dependency chain with two versions of the "same" registry.urifor a registry. This should denote the Manifest file or the directory where the manifest file can be found.urifor where to find resolved schema. This should denote where we load the resolved schema and will be aVirtualDirectoryRef. (Note:VirtualDirectoryRefcan be a file in a virtual directory, e.g. a file in a git repo or a file inside a zip archive).Strawman Proposal:
registry_manfiest.yamlormanfiest.yamlto be the name of a registry manifest.manifest.yamlif it exists.registry_manifest.yamlis used.VirtualDirectoryRefstrings.RegistryManifestas follows:resolved_schema_urlbecomesresolved_schema_uri.nameis removed.repository_urlis changed to beschema_url- I.e. this is the schema_url this registry will fill in telemetry.nameof a registry will be inferred fromschema_url- We drop the "version" component of the URL, and we get a unique name we can use to identify version conflicts in dependencies.