-
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
Add more supported Tekton variables #2322
Comments
Hey @Tomcli ! Potentially we would be interested in adding more contextual information - we already have a need to add more metadata for features like #1684 but it would really help if you could specifically list what extra info you need and what your use cases are for it. Or it doesn't have to be you - basically it looks like the next step here is to go through each of the variables in https:/argoproj/argo/blob/master/docs/variables.md and see how they compare to what we have in Tekton. But understanding your specific use cases for them and which ones are high priority for you would really help us @Tomcli |
Thanks @bobcatfish. We would love to find out a list of variable substitution supported in Tekton #2267. If you could point us to all the docs on the different kinds of Tekton variable substitution then that will be great. Right now we only found input/output parameters and path for variable substitution in task, pipeline, condition, and pipeline resource. Is there other type of variable substitution in Tekton? |
I think you covered pretty much everything, a couple others that come to mind are workspaces and results. I'm wondering if it would make sense to break those out into one doc so you can see all the substitutions available at a glance like you can with argo! ( + @sergetron ) Also + @sbwsg who might know of some substitutions and/or existing docs that I'm missing. |
Egads, I just went through to confirm the ones I could remember. Here's what I found: Available in Tasks
Each PipelineResource type also defines its own variables that I believe are available in Tasks:
(These are all accessed through Available in Pipelines
I wonder if I missed any |
OK, I think I've collected them all together here: https:/tektoncd/pipeline/pull/2358/files |
@Tomcli can you be specific around which of the variables are currently needed for supporting Kubeflow, and what are alternatives? |
@animeshsingh We would love to have variable substitutions for pipelinerun name, taskrun name, and pod name because these variables are often used in Kubeflow. Right now we have workaround to get those values from the metadata labels and pass them as environment variables. But if Tekton can also support it as variable substitutions, then the integration will be a lot smoother. |
Oh perfect @Tomcli we've actually got #1522 to add pipelinerunname and taskrun name (I was even talking about that with @jerop today in case she gets to it 😉 ) pod name is a bit trickier because that would mean having a kubernetes specific variable replacement - in theory we like to limit the amount of k8s specific stuff we have in the API as much as we can. Could you talk a bit more about your use case around needing the pod name? |
Many of the pod name use cases in Kubeflow is for referencing a task run because Argo doesn't have names for task run. Therefore, some API logic assumes the task run name is the pod name. Also, some users take advantage of the pod name variable substitutions and use it in their tasks to do additional work using the k8s api, so that also created some edge cases for the translation. |
Tekton labels pods with the name of the TaskRun/PipelineRun that own it. These labels take the form of I guess all of this is to say: if we are going to expose the Pod name as a variable inside a Step we probably need to look at the specific usecases and ensure they make sense for Tekton. |
@skaegi @afrittoli please take a look |
Ha! I just had someone over the week-end bring up the need for seeing the current |
Also see #1522 |
It seems like we're adding (or planning to add) more variables which is great! And now we actually have docs on what is available which is super useful. As people discover more variables they'd like to see, it's probably easier to detail with them one at a time - any objections if I close this issue and folks can open new issues as they discover specific values they'd like to be able to use? |
We want to convert some of the Argo pipeline into Tekton. Below is the variables that Argo support, what variables would make sense for us to implement it to Tekton? We would like to at least have variable to refer to global pipeline parameters and metadata from the pipelinerun.
https:/argoproj/argo/blob/master/docs/variables.md
The text was updated successfully, but these errors were encountered: