CNB command-line should only be rewritten if changed #4176
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes: #4166
Description
In
skaffold debug
we synthesize animageConfiguration
object for an image containing the environment variables, image labels, command-line, and working directory, as derived from the container image's configuration and the corresponding Kubernetes manifest's container settings.For buildpacks images, we swizzle the image configuration by resolving the corresponding process definition and replacing the command-line with the process definition, perform the normal debug transforms, and then unswizzle as required for the CNB launching mechanism.
But some of our debug transforms don't actually change the command-line, and so our unswizzling performs a rewrite on a seemingly empty command-line, resulting in a broken command-line.
This change only unswizzles (or rewrites) the container's command-line if it was set. If unset, then we'll use the command-line in the container image's configuration.