-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
Support for Tasks that require manual "approval" #2159
Comments
For now, the "idea" was to not make this part of the core but rely on multiple pipelines and trigger. Main reason to keep the core "not too complicated". /kind feature |
I think that's related too, isntit ? #233 |
It is indeed |
My 2c, we maybe want taking the complexity out of pipeline but we may end up having the complexity ending up in the user pipeline, which imho is not fair. a simple even if we go to the way of having it tools generated (via cli/dashboard or other) it can be painful to maintain and comprehend... |
It really depends on what is getting "presented" to the user. Should tekton allow to define that easily : yes, should tektoncd/pipeline (aka core) have it : maybe not. (if this means having a higher level of definition for some stuff, maybe that's the way it needs to go).
Right, this is where clearing defining what is the scope for Tekton, and what is the scope of tektoncd/pipeline, and other components is important. |
I'd also be curious what auth would look like for this. Who's allowed to approve? Is it tied to service accounts? Secrets? Is it some kind of token-based mechanism to ensure the person approving also started the pipeline (suggested in #233 as well)? How directly tied to a trigger implementation do we allow ourselves to be? Super interesting; lots of questions. I reckon there's a fair amount of design work we'd need to tackle around this to make it generally useful. |
Those are all good questions. I was going for something ultra-low level where someone able to edit the TaskRun (like an agent in my world) would update a status field. The TaskRun controller would then notice and proceed as normal. e.g. no tokens or triggers or secrets etc. At this point I'm more interested in the low-level mechanism vs. how it might be presented to the user as I feel that is outside the needed scope at this point. |
One "problem" I see with that approach, is that it keeps the object ( |
Ah, I would've considered the stuff I mentioned as "low-level mechanism" and the "which status field do I set?" more of a "high-level" question :D I'd definitely like to see a design doc for this if we pursue it. Really want it to be a general solution and not a thing we tack on for a single use case. Even if we don't build the general solution right away we should definitely be mindful of how this feature could grow in scope over just being a single field in a Run. |
I like the idea with keeping the core simple. But I feel that there are some missing piece here. Consider Pipeline 1 --> Pipeline2
|
I'm pretty sure this is a duplicate of #233 but folks seem to be happier to engage here - should we resolve #233? If it's possible for someone to start gathering the requirements and proposals that are being described above into a doc (and eventually a TEP!) that'd be great! |
I have now created a design doc for this issue and #233 |
Stale issues rot after 30d of inactivity. /lifecycle rotten Send feedback to tektoncd/plumbing. |
Rotten issues close after 30d of inactivity. /close Send feedback to tektoncd/plumbing. |
@tekton-robot: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
My preference is that we pursue solving this via custom tasks #215 - with custom tasks, folks can create manual approval Tasks specific to their needs. |
I wonder if this is still pursued in the light of the last comment? |
Rotten issues close after 30d of inactivity. /close Send feedback to tektoncd/plumbing. |
@tekton-robot: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Going through all the linked issues here, it seems to indicate this was resolved by one of the related tasks, but in reality it was not. there is still no way to pause a pipeline until manual approval. Is this still going to be addressed or perminally in the "wont implement" column. |
@andrei-dascalu and @itewk, we have an issue in the experimental repo to create a manual approval custom task - tektoncd/experimental#728 please can share use cases, ideas or any thoughts in that issue cc @bobcatfish |
Will this ever be implemented? |
In a Pipeline I'd like to be able to declare a Task that requires "approval" that may or may not contains a taskRef. When started, it immediately moves into a "suspend" state until an external API call changes its state to "running". The "approval" Task should have a "timeout" that causes the Task to fail after a set period of time.
Something like this...
The text was updated successfully, but these errors were encountered: