Skip to content

Commit b7cdd91

Browse files
Sort built-in Namespace kind before CRDs with the same name (#5458)
* add core api sort priority for NAmespace kind in gvkLessThan * fix logic * fix syntax * fix syntax * fix logic * regenerate builtin plugins
1 parent 27d508f commit b7cdd91

File tree

4 files changed

+31
-0
lines changed

4 files changed

+31
-0
lines changed

api/internal/builtins/SortOrderTransformer.go

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/types/kustomization.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ const (
2222
MetadataNamespacePath = "metadata/namespace"
2323
MetadataNamespaceApiVersion = "v1"
2424
MetadataNamePath = "metadata/name"
25+
NamespaceKind = "Namespace"
2526

2627
OriginAnnotations = "originAnnotations"
2728
TransformerAnnotations = "transformerAnnotations"

plugin/builtin/sortordertransformer/SortOrderTransformer.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,9 @@ func gvkLessThan(gvk1, gvk2 resid.Gvk, typeOrders map[string]int) bool {
154154
if index1 != index2 {
155155
return index1 < index2
156156
}
157+
if (gvk1.Kind == types.NamespaceKind && gvk2.Kind == types.NamespaceKind) && (gvk1.Group == "" || gvk2.Group == "") {
158+
return legacyGVKSortString(gvk1) > legacyGVKSortString(gvk2)
159+
}
157160
return legacyGVKSortString(gvk1) < legacyGVKSortString(gvk2)
158161
}
159162

plugin/builtin/sortordertransformer/SortOrderTransformer_test.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,12 @@ kind: Namespace
6969
metadata:
7070
name: apple
7171
---
72+
apiVersion: servicebus.azure.com/v1api20210101preview
73+
kind: Namespace
74+
metadata:
75+
name: aso-namespace
76+
namespace: default
77+
---
7278
apiVersion: v1
7379
kind: Secret
7480
metadata:
@@ -108,6 +114,12 @@ kind: Namespace
108114
metadata:
109115
name: apple
110116
---
117+
apiVersion: servicebus.azure.com/v1api20210101preview
118+
kind: Namespace
119+
metadata:
120+
name: aso-namespace
121+
namespace: default
122+
---
111123
apiVersion: v1
112124
kind: Role
113125
metadata:
@@ -228,6 +240,12 @@ kind: Namespace
228240
metadata:
229241
name: apple
230242
---
243+
apiVersion: servicebus.azure.com/v1api20210101preview
244+
kind: Namespace
245+
metadata:
246+
name: aso-namespace
247+
namespace: default
248+
---
231249
apiVersion: v1
232250
kind: Deployment
233251
metadata:
@@ -306,6 +324,12 @@ kind: Namespace
306324
metadata:
307325
name: apple
308326
---
327+
apiVersion: servicebus.azure.com/v1api20210101preview
328+
kind: Namespace
329+
metadata:
330+
name: aso-namespace
331+
namespace: default
332+
---
309333
apiVersion: v1
310334
kind: Deployment
311335
metadata:

0 commit comments

Comments
 (0)