-
Notifications
You must be signed in to change notification settings - Fork 746
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
Argo-events should not require workflows to be in an S3 bucket #41
Comments
Requirements: ArtifactLocation is a yaml map. The only key currently allowed being "s3":
Users should be able to specify various types of locations for the K8s resources in the trigger. Possible options: Inline:
file: Users could have the workflow yamls in a config map that is mounted at some path in the sensor-controller as a volume. Users could have the workflow yamls in a dedicated volume that is mounted in the sensor-controller.
url:
Design: Changes to types.go Currently, "Trigger" -> "ResourceObject" -> "ArtifactLocation". ArtifactLocation only has one member of type S3Artifact.
Change ArtifactLocation to include three other types:
The "store" package has the ArtifactReader interface. There will have to be additional implementations for Inline, File and Url Say Implementing the ArtifactReader interface requires implementing the following method:
For inline: For file: For url: The following code is executed when a trigger is fired:
• The first step of getting credentials today requires credentials to be present. Will have to make it optional for inline, file and url • The call to store.GetArtifactReader will return the appropriate ArtifactReader object based on whether it is S3, inline, file or url • store.FetchArtifact will call reader.Read() which should return the byte array of the k8s resource to create. • Call to soc.createResourceObject and everything onwards remains unchanged. Comments/suggestions welcome! |
Your proposal is very thorough! I like the idea of having Looking forward to this contribution! |
Artifacts can now be inline with the sensor yaml. See ./examples/inline-sensor.yaml as an example. Refs argoproj#41
Artifacts can now be inline with the sensor yaml. See ./examples/inline-sensor.yaml as an example. Refs argoproj#41
* Support inline artifacts. Artifacts can now be inline with the sensor yaml. See ./examples/inline-sensor.yaml as an example. Refs #41 * Use correct protobuf offset for inline artifacts.
With this change, sensor yamls can have a trigger in which the workflow yaml is specified as a file path. This will enable cases where workflow yamls are in config-maps and/or in some persistent volumes. Refs argoproj#41
Sensor yamls can now specify the workflow location as a url path with this change. Refs argoproj#41
With this change, sensor yamls can have a trigger in which the workflow yaml is specified as a file path. This will enable cases where workflow yamls are in config-maps and/or in some persistent volumes. Refs #41
Sensor yamls can now specify the workflow location as a url path with this change. Refs argoproj#41
Sensor yamls can now specify the workflow location as a url path with this change. Refs #41
Testing Done: 1. Created a sensor with verifycert explicitly set to false. It succeeded. 2. Created a sensor without verifycert. It succeeded. Refs argoproj#41
* Add verifycert as an argument to URL trigger source Testing Done: 1. Created a sensor with verifycert explicitly set to false. It succeeded. 2. Created a sensor without verifycert. It succeeded. Refs #41 * Remove panic() in url.go and file.go. Return appropriate errors instead.
Add info about inlined, file and url sources for trigger workflows in the docs as well as changelog. Refs argoproj#41.
Add info about inlined, file and url sources for trigger workflows in the docs as well as changelog. Refs #41.
closing this as this has been fully implemented now. thanks @shrinandj great job here! |
* Support inline artifacts. Artifacts can now be inline with the sensor yaml. See ./examples/inline-sensor.yaml as an example. Refs argoproj#41 * Use correct protobuf offset for inline artifacts.
With this change, sensor yamls can have a trigger in which the workflow yaml is specified as a file path. This will enable cases where workflow yamls are in config-maps and/or in some persistent volumes. Refs argoproj#41
Sensor yamls can now specify the workflow location as a url path with this change. Refs argoproj#41
* Add verifycert as an argument to URL trigger source Testing Done: 1. Created a sensor with verifycert explicitly set to false. It succeeded. 2. Created a sensor without verifycert. It succeeded. Refs argoproj#41 * Remove panic() in url.go and file.go. Return appropriate errors instead.
Add info about inlined, file and url sources for trigger workflows in the docs as well as changelog. Refs argoproj#41.
Is your feature request related to a problem? Please describe.
Currently,
argo-events
requires andartifactLocation
in the Trigger. ThisartifactLocation
has the details of the workflow to run when the trigger is fired. This is cumbersome to setup (even if it is with minio).Describe the solution you'd like
It will be better if there is no need for the S3 bucket. Ideally, the workflow to run could be inlined with the Sensor yaml. If not, there could be other options of have the workflow yaml in a config-map.
Describe alternatives you've considered
None
The text was updated successfully, but these errors were encountered: