This PR adds two properties to a STAC item, and in doing so helps describe aspects of the data or the STAC catalog that are useful on the Marble network: mrbl:is_replica and mrbl:host_node.
mrbl:host_node, specifies the name of the Marble node on which the data is stored. Valid values for this (validity is not checked in this PR) are the values of the keys in the Marble node registry.
mrbl:is_replica is set to false in the STAC entry for an item when both the item and the catalog are on mrbl:host_node, and is true in any replicated STAC entries on any other node in the network (the purpose is very similar to the ESGF replica attribute, except on Marble the data is not replicated, only the catalog).
The purpose of this PR is to get a sense of what others think about this, and to solicit useful feedback. "Implementation" itself is not critical for this PR, ideally, down the line, we would write a "Marble STAC extension" to add these properties and/or other future Marble related properties. Right now, we can just do it in a hack-ish way.
This PR adds two properties to a STAC item, and in doing so helps describe aspects of the data or the STAC catalog that are useful on the Marble network:
mrbl:is_replica
andmrbl:host_node
.mrbl:host_node
, specifies the name of the Marble node on which the data is stored. Valid values for this (validity is not checked in this PR) are the values of the keys in the Marble node registry.mrbl:is_replica
is set tofalse
in the STAC entry for an item when both the item and the catalog are onmrbl:host_node
, and istrue
in any replicated STAC entries on any other node in the network (the purpose is very similar to the ESGFreplica
attribute, except on Marble the data is not replicated, only the catalog).The purpose of this PR is to get a sense of what others think about this, and to solicit useful feedback. "Implementation" itself is not critical for this PR, ideally, down the line, we would write a "Marble STAC extension" to add these properties and/or other future Marble related properties. Right now, we can just do it in a hack-ish way.