Remote template refs
Summary
This would add the ability to reference workflow templates from remote sources via URL without needing to have them applied into a cluster, thus reducing maintenance burden.
I already have a partially working PoC of this running locally. The implementation thus far attempts to fetch the raw YAML from the URL, parse it into a WorkflowTemplate and then extract the indicated template from it.
For the sake of simplicity, I am storing the URL in a new RemoteTemplateRef struct, though it would certainly be possible to add it to the existing TemplateRef struct instead if that is preferred.
example:
remoteTemplateRef:
url: https://github.com/codefresh-io/argo-hub/raw/main/workflows/argo-workflows-utils/versions/0.0.1/workflowTemplate.yaml
template: echo
I have also not yet considered HTTP-related enhancements such as response caching, retries, timeouts etc., which may be desired for production usage. I would appreciate any feedback on that.
Assuming others are interested in this feature, I would very much like to continue building it out.
Use Cases
- This would enable the ability to quickly use a utility template from a remote source (e.g. CodeFresh's Argo Hub repo) without needing to pre-install it. Would be interested in discovering what other potential use cases folks have for this feature.
Message from the maintainers:
Love this enhancement proposal? Give it a 👍. We prioritise the proposals with the most 👍.