Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Custom artifact repository plugins #5862

Open
Tracked by #6943
jalberti opened this issue May 7, 2021 · 2 comments
Open
Tracked by #6943

Custom artifact repository plugins #5862

jalberti opened this issue May 7, 2021 · 2 comments
Labels
area/artifacts S3/GCP/OSS/Git/HDFS etc area/plugins type/feature Feature request

Comments

@jalberti
Copy link

jalberti commented May 7, 2021

Summary

There are several Github issues that discuss volumes and how they can and do relate to artifact management, e.g. #1024, #1349. Today the supported artifact repository types are fixed, and extensions are only feasible in-tree, if I understand this correctly? I’m wondering if there were any specific thoughts on how CSI could be used, or a CSI like concept, to allow artifact repositories to be provided as plugins?

The problem at the moment is, unless I overlooked something, that while I can get volumes into the pod, into my workflow, and I can also write arbitrary code, and can even have side cars as demonstrated here #4988, ... if my input or output does not fit into the standard supported artifact repository set, I'm not able to use the concept of artifact declaration. Essential the "declaration" of "input/output" is lost. If one would be able to bring their own repository, then we can use the concept of artifacts together with custom code, i.e. we would have extensibility and declarative artifacts.

E.g. we could define a stable JSON-RPC interface, and allow community provided artifact repositories in form of a side car container? The artifact repository provider would create the container image with the JSON-RPC server, Argo would act as the JSON-RPC client. The Argo workflow would define an artifact repository of type jsonrpc, the artifact repository driver container and the workflow step container would share a common volumeMount such that artifact content does not need to pass the json-rpc pipe.

Use Cases

This would be useful to add support for custom community supported artifact repositories.


Message from the maintainers:

Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.

@jalberti jalberti added the type/feature Feature request label May 7, 2021
@alexec alexec changed the title Custom artifact repository integrations Custom artifact repository plugins Oct 21, 2021
@alexec alexec mentioned this issue Oct 21, 2021
15 tasks
@alexec alexec added area/artifacts S3/GCP/OSS/Git/HDFS etc area/plugins labels Feb 7, 2022
@alexec
Copy link
Contributor

alexec commented Apr 18, 2022

This fits in well with our plugin architecture. I'm not sure if the best way to do this is sidecar, or if it should be done using binaries embedded on the image.

@alexec
Copy link
Contributor

alexec commented Apr 18, 2022

This would fix the #1540 support.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/artifacts S3/GCP/OSS/Git/HDFS etc area/plugins type/feature Feature request
Projects
None yet
Development

No branches or pull requests

2 participants