-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore: upgrade controller-gen from 0.4.1 to 0.14.0 (#17893)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
- Loading branch information
1 parent
3a46e8c
commit 33f5714
Showing
10 changed files
with
713 additions
and
666 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
# v2.11 to 2.12 | ||
|
||
## Server-Side Apply Management of ApplicationSet Fields | ||
|
||
### Summary | ||
|
||
If you are using server-side apply with multiple field managers to manage a single `selector` or `labelSelector` field | ||
in an ApplicationSet, that field management must be changed to be atomic starting with 2.12. | ||
|
||
### Details | ||
|
||
Argo CD 2.12 upgraded its controller-gen version from 0.4.1 to 0.14.0. As part of that change, several ApplicationSet | ||
CRD fields now have `x-kubernetes-map-type: atomic`. | ||
|
||
Each of the affected fields is a label selector with two child keys: `matchLabels` and `matchExpressions`. | ||
|
||
Prior to this change, two field managers could manage the `matchLabels` and `matchExpressions` fields independently. | ||
Starting with the 2.12 CRD, a single field manager must manage both of those fields. This behavior is in line with the | ||
upstream behavior of the label selector struct. | ||
|
||
See the [Kubernetes server-side apply merge strategy docs](https://kubernetes.io/docs/reference/using-api/server-side-apply/#merge-strategy) | ||
for more information about the fields' behavior. | ||
|
||
The affected ApplicationSet fields are the following (jq selector syntax): | ||
|
||
* `.spec.generators[].selector` | ||
* `.spec.generators[].cluster.selector` | ||
* `.spec.generators[].clusterDecisionResource.labelSelector` | ||
* `.spec.generators[].matrix.generators[].selector` | ||
* `.spec.generators[].merge.generators[].selector` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.