Merge pull request #1888 from haiyanmeng/duplicates

Remove duplicates in the `kinds` field of the kustomize ElasticSearch index
This commit is contained in:
Kubernetes Prow Robot
2019-12-04 12:04:57 -08:00
committed by GitHub
2 changed files with 39 additions and 1 deletions

View File

@@ -123,6 +123,8 @@ func (doc *KustomizationDocument) ParseYAML() error {
identifierSet := make(set)
valueSet := make(set)
kindSet := make(set)
getKind := func(m map[string]interface{}) string {
const defaultStr = "Kustomization"
kind, ok := m["kind"]
@@ -141,10 +143,14 @@ func (doc *KustomizationDocument) ParseYAML() error {
}
for _, contents := range ks {
doc.Kinds = append(doc.Kinds, getKind(contents))
kindSet[getKind(contents)] = struct{}{}
createFlatStructure(identifierSet, valueSet, contents)
}
for val := range kindSet {
doc.Kinds = append(doc.Kinds, val)
}
for val := range valueSet {
doc.Values = append(doc.Values, val)
}

View File

@@ -121,6 +121,38 @@ metadata:
kind: Custom
metadata:
name: app-crd
`,
},
{
identifiers: []string{
"kind",
"metadata",
"metadata:name",
},
values: []string{
"kind=Deployment",
"kind=Service",
"metadata:name=app1",
"metadata:name=app2",
},
kinds: []string{
"Deployment",
"Service",
},
filepath: "resources.yaml",
yaml: `
---
kind: Deployment
metadata:
name: app1
---
kind: Deployment
metadata:
name: app2
---
kind: Service
metadata:
name: app1
`,
},
}