-
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
Problems with images that assume a particular workingDir and/or HOME environment variable #1836
Comments
I'm surprised that Tekton overrides the workingDir - can you provide an example of this happening? If that's the case I agree that we shouldn't be arbitrarily setting it (what is it getting set to?) |
Sure, any task will do -- just https://github.com/tektoncd/pipeline/blob/master/pkg/pod/pod.go#L159 |
Indeed, we are setting it to Also, maybe it should be the other way around, by default we do not set it if empty, but we have an option somewhere that tells Tekton to override it (per task or pipeline, or globally ?) |
I want to expand this issue as the HOME env (which gets set to I <3 the way the entrypoint works as it is mostly transparent and wonder if other things could work the same way. |
👍 for not setting it if it's empty. I propose we warn in 0.10 and change it in the following release, whaddaya think @vdemeester @skaegi ?
At the moment i think you can do this with the stepTemplate, maybe that's good enough for now?
This is a bit tricker imo b/c we're trying to create a "home" that is shared across all containers - ( + @imjasonh ) - I'd be up for adding logic like we do with entrypoint, so that we have a hierarchy like:
? |
+1 to falling back in that way. We should consider phasing out We could make it a platform provider ConfigMap option, opt-out first, then release and announce it'll become opt-in, then eventually remove the option. Don't mount If the step or step template sets
|
Inside my company we're starting larger adoption of Tekton and this single issue is constantly getting a ton of attention. Basically, we have teams moving from Jenkins, Travis, and other image based pipelines and are getting hammered when teams do not understand why things that worked in their old pipelines are no longer working. |
I am definitely +:100: on phasing out |
/assign |
I am preparing a PR for the workingDir change. |
@sbwsg @skaegi @bobcatfish I created #2115 to take care of the working directory pending change. |
Reopening this one as deprecating the /reopen |
@sbwsg: Reopened 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. |
Issues go stale after 90d of inactivity. /lifecycle stale Send feedback to tektoncd/plumbing. |
/remove-lifecycle stale |
Issues go stale after 90d of inactivity. /lifecycle stale Send feedback to tektoncd/plumbing. |
/remove-lifecycle stale |
Prior to this commit Steps were given a default HOME env var and a default workingDir. These defaults collide with any value set by the Step's image Dockerfile. This commit removes the default home and workingDir overrides (except in those few cases where they're still expected, like PipelineResources). See https://groups.google.com/g/tekton-dev/c/C-PL8VYN51E/m/el5Fca_PDAAJ for our tekton-dev announcement of this change. See #1836 for the original problem description and workingDir tracking issue. See #2013 for the HOME change tracking issue. See https://github.com/tektoncd/pipeline/blob/main/docs/deprecations.md for our documented dates for these deprecations. See https://github.com/tektoncd/pipeline/blob/main/api_compatibility_policy.md#alpha-beta-and-ga for our beta deprecation policy. ,
I'm using the comment here: #1836 (comment) to track progress for this issue. We still plan to completely remove the feature flag so i'd like to keep this tracking issue open if that's ok. |
Today, those announcements link to tektoncd#1836 which is an unrelated issue. In this change, we add a link to the issue tracking that work - tektoncd#4461
I've been integrating with a few pen testing tool images that are relying on a very specific workingDir being set. The problem I've been having is that Tekton overrides this setting and then I had to go back into the image to reverse engineer its original value.
Could we provide a way to not override this setting and do we even need to do this anymore?
The text was updated successfully, but these errors were encountered: