tosca-community-contributions
tosca-community-contributions copied to clipboard
Explain `$get_artifact`
It is currently unclear what exactly the $get_artifact function returns.
Assuming it does return a URL or path to access the artifact (which I think is most logical), it does not specify what component would be accessing it and how. For example, if it is a file path, is it something that the node would have to access, e.g. on its local host or in cloud storage? Or is it something for the "orchestrator" to access? URLs can have the same problem, because the orchestration/management control pane could be different from the node's various data planes.
I don't have a clear proposal on what we should do. Perhaps it is best left to the implementation to do whatever makes sense. Or maybe the function could have an extra argument to provide a "directive" of some sort. Or perhaps these directives should be in the artifact definition. Whatever we decide, it would help if the spec had some description of possible results.
My interpretation is that the 'get_attribute' function is strictly for the orchestrator to access the artifact. If the intent is for the orchestrator to "deploy" that artifact onto a remote node, then that would be done using an operation implementation (as provided using some other artifact).