[manifest] teach splitter to handle multiple manifests per file

Signed-off-by: Mike Lundy <mike@fluffypenguin.org>
pull/5040/head
Mike Lundy 7 years ago
parent 495a7d1a5d
commit d6480c0b73
No known key found for this signature in database
GPG Key ID: 9CC064ECB96D9325

@ -51,9 +51,7 @@ data:
Revision: %d Revision: %d
Service: Tiller Service: Tiller
Time: Time:
seconds: 242085845 seconds: 242085845`
`
) )
var installChart *chart.Chart var installChart *chart.Chart

@ -31,16 +31,18 @@ var (
// detected manifests. // detected manifests.
func SplitManifests(templates map[string]string) []Manifest { func SplitManifests(templates map[string]string) []Manifest {
var listManifests []Manifest var listManifests []Manifest
for k, fileContent := range templates {
for _, manifestContent := range releaseutil.SplitManifests(fileContent) {
// extract kind and name // extract kind and name
for k, v := range templates { match := kindRegex.FindStringSubmatch(manifestContent)
match := kindRegex.FindStringSubmatch(v)
h := "Unknown" h := "Unknown"
if len(match) == 2 { if len(match) == 2 {
h = strings.TrimSpace(match[1]) h = strings.TrimSpace(match[1])
} }
m := Manifest{Name: k, Content: v, Head: &releaseutil.SimpleHead{Kind: h}} m := Manifest{Name: k, Content: manifestContent, Head: &releaseutil.SimpleHead{Kind: h}}
listManifests = append(listManifests, m) listManifests = append(listManifests, m)
} }
}
return listManifests return listManifests
} }

Loading…
Cancel
Save