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
doc: Patches can't wildcard match within one resource #4250
Conversation
Update the patchMultipleObjects docs to explain that there is no support for applying one patch to multiple objects within a single resource, e.g. patching the env list or imagePullPolicy for all containers in a single Deployment resource. A single patch can be applied to multiple distinct k8s resources, e.g. patch all Deployment, but not multiple json objects within one resource. Point to the transformers documentation to help users discover the image transformer, name prefix/suffix transformer, etc.
Thanks for your pull request. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please follow instructions at https://git.k8s.io/community/CLA.md#the-contributor-license-agreement to sign the CLA. It may take a couple minutes for the CLA signature to be fully registered; after that, please reply here with a new comment and we'll verify. Thanks.
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. I understand the commands that are listed here. |
Welcome @ringerc! |
Hi @ringerc. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. 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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know this is very late... but I realized that over a month ago I'd started a review and forgot to hit submit 🤦
@@ -15,6 +15,8 @@ a _target selector_: | |||
[strategic merge patch]: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-api-machinery/strategic-merge-patch.md | |||
[json patch]: jsonpatch.md | |||
|
|||
Note that a strategic merge patch must still have a `metadata.name` field even if the `patch`'s `target.name` overrides it. Its value will be ignored, but it must be present. | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we add a sentence for what happens if it is not present?
specifiers ("OR"-like), just add multiple patch list | ||
entries with different targets that reference the same | ||
patch file. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would you mind providing a short example of a patches
field that achieves this?
The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle rotten |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /close |
@k8s-triage-robot: Closed this PR. 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. |
@natasha41575 Sorry, I didn't see your review. The bot ate my branch and I don't have the rights to re-open the PR. I've tried to contribute to the docs. If you or anyone else think this is a worthwhile change, please feel free to open a new PR based on it. |
both strategic merge patches and json patches. | ||
|
||
For example, there is presently no way to express the operation | ||
"append a new entry to the `env` list for every container in a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please note that we would like to have the replacements transformer support this, if someone has bandwidth to contribute it, tracked here: #4561
It currently works as long as the field in question is already present (i.e. to overwrite the value). See the wildcard format toward the end of this section: https://kubectl.docs.kubernetes.io/references/kustomize/kustomization/replacements/#field-path-format. Since this doc is about how to patch multiple objects, I think discussion of the replacements transformer approach would be a valuable addition to it.
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: ringerc The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
I just noticed that you haven't signed the CLA and weren't actually asking us to reopen (misread your last message). The bot doesn't touch your branch, which still exists here if you are ready to sign the CLA and open a new PR: patch-1. |
Update the patchMultipleObjects docs to explain that there is no support
for applying one patch to multiple objects within a single resource,
e.g. patching the env list or imagePullPolicy for all containers in a
single Deployment resource.
A single patch can be applied to multiple distinct k8s resources, e.g.
patch all Deployment, but not multiple json objects within one resource.
Point to the transformers documentation to help users discover the image
transformer, name prefix/suffix transformer, etc.