argo-workflows icon indicating copy to clipboard operation
argo-workflows copied to clipboard

Remote template refs

Open adace123 opened this issue 3 years ago • 0 comments

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 👍.

adace123 avatar Sep 25 '22 17:09 adace123