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

Design for cron triggering #69

Closed
bobcatfish opened this issue Aug 12, 2019 · 5 comments
Closed

Design for cron triggering #69

bobcatfish opened this issue Aug 12, 2019 · 5 comments
Assignees
Milestone

Comments

@bobcatfish
Copy link
Collaborator

Expected Behavior

Folks will want to run Pipelines periodically, e.g. very night or every few hours they may want to trigger CI. Some use cases:

  • To run long running Pipelines that take too long to run on every commit
  • To pull in external changes on a regular basis (e.g. new versions of dependencies)
  • To do nightly releases

Actual Behavior

We've been discussing and designing solutions for event based triggering where the event comes from an external system like GitHub.

Hopefully this design will be super similar :D

Additional Info

Definitely not something we need for our first milestone but ppl have been asking for it so we can track it here and ppl can add details if needed :D

@EliZucker
Copy link
Member

Considering our current design is focused around HTTP requests, and all events don't necessarily come in that format, my understanding is that we will eventually end up having a separate event-adapter library (or will recommend lightweight adapter(s) that already exist; for example vincent's github adapter).

With this in mind, I think the best way to approach this is to have an adapter that will produce an HTTP event or CloudEvent when the cronjob is supposed to execute. Knative eventing has something similar here, although it isn't as light on dependencies as we would like.

@vincent-pli
Copy link
Member

Agree with @EliZucker , this part should not in the scope of Trigger.
Any reason we don't leverage Knative eventing or Knative contrib? not light enough?
if so i guess we need consider to create tekton's event source repo.

@bobcatfish
Copy link
Collaborator Author

The solution could be that we recommend Knative eventing, I don't want to jump to any conclusions just yet!

Basically if I wanted to use Tekton as a complete CI solution (and I do! :D tektoncd/pipeline#267) then I would need to be able to setup cron triggering somehow. And if I found the "triggering" part of the project but found no guidance about how to setup triggering based on the passage of time (i.e. cron) I'd be very frustrated.

So this issue is just to track that at the very least we should have docs to help users set this up - but we should also do some investigation and make sure we're happy with whatever we suggest (and decide what and if we want to implement anything ourselves).

@jasonsmithio
Copy link

jasonsmithio commented Sep 7, 2019

One thing we could do is recommend third party sources such as Google Cloud Scheduler, or easy cron.

also, you can declare cron jobs within Kubernetes.

I wouldn't mind taking a stab at it

@dibyom dibyom added this to the Triggers 0.2 milestone Oct 1, 2019
wlynch added a commit to wlynch/triggers that referenced this issue Oct 10, 2019
wlynch added a commit to wlynch/triggers that referenced this issue Oct 10, 2019
tekton-robot pushed a commit that referenced this issue Oct 10, 2019
@vtereso
Copy link

vtereso commented Oct 15, 2019

Closing for now thanks to #162

@vtereso vtereso closed this as completed Oct 15, 2019
vdemeester referenced this issue in openshift/tektoncd-triggers Nov 7, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants