-
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
Idea: Tekton Generators #2590
Comments
We're going to go ahead and start working on this in experimental. Milestones we're going to focus on:
I suspect this may have overlap with the Custom Tasks proposal in the future. :) /cc @YolandaDu1997 |
I have created a CLI tool for the initial GitHub type of Tekton Generators.
Implementation:
Results: The next step of Tekton generators would be the #extensibility. It needs to allows users to define their own generators, or even invoke the generator directly to expose the underlying pipeline to modify the contents. |
Just to add our two cents. |
Issues go stale after 90d of inactivity. /lifecycle stale Send feedback to tektoncd/plumbing. |
Stale issues rot after 30d of inactivity. /lifecycle rotten Send feedback to tektoncd/plumbing. |
Thanks @dbazhal - I discovered your comment only now. Is the work you've been doing something that you'd be willing to share? |
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. |
/kind feature
/kind design
Creating in pipelines, since I think this is more of a discussion on our approach to Pipeline and Task configuration.
Problem
Currently it's not an easy for users to bootstrap common workflows. e.g. "run a simple build and test workflow on this GitHub repo".
Feedback I'm looking for
Ideas
Goals:
Simplified spec for common workflows
Ideally, it should be very easy for users to get started with only their repo and build steps. e.g. imagine a world where you configure just the following:
(Note: this looks CRD-y, since this is how the idea started out, but I switched to a CLI approach based on feedback from Scott and other Googlers. API Version / Kind / Metadata still seem like useful identifiers, so I left this in.)
A CLI tool (likely tkn, but doesn't need to be) should be able to take this spec and when applied, should generate:
steps
in a Taskfinally
All resources created should be labeled with the generator that created it, to facilitate bulk queries / deletion / modification.
Users should be able to specify the runtime configuration however they want. This means generators should support users providing one of:
Extensibility
To allow users to provide their own generators, I think the easiest approach would be to follow the model of Git credential helpers.
tl;dr of this approach is when given a configuration, we should look for a binary on the user's path matching
tekton-generator-<generator kind>
, i.e.tekton-generator-github
. The generator configuration is piped in to the binary via STDIN, and the generated response is provided from STDOUT.This allows users to define their own generators, or even invoke the generator directly to expose the underlying pipeline to modify the contents.
Ease of use
We should probably have some utilities to help interacting with generators. Some that come to mind:
show
: Print generated configuration.write
: Write generated configuration to disk.apply
: Apply generated configuration to Kubernetes (based on local k8s context).delete
: Delete generated resources.Example
I've been hacking on a really rough concept of this at https://github.com/wlynch/tekton-demo/tree/master/bundle.
The text was updated successfully, but these errors were encountered: