@@ -22,12 +22,13 @@ type metadata struct {
2222 ApiVersion string `yaml:"apiVersion"`
2323 Kind string
2424 Metadata struct {
25- Name string
25+ Namespace string
26+ Name string
2627 }
2728}
2829
2930func (m metadata ) String () string {
30- return fmt .Sprintf ("%s, %s (%s)" , m .Metadata .Name , m .Kind , m .ApiVersion )
31+ return fmt .Sprintf ("%s, %s, %s (%s)" , m . Metadata . Namespace , m .Metadata .Name , m .Kind , m .ApiVersion )
3132}
3233
3334func scanYamlSpecs (data []byte , atEOF bool ) (advance int , token []byte , err error ) {
@@ -53,7 +54,7 @@ func splitSpec(token string) (string, string) {
5354 return "" , ""
5455}
5556
56- func Parse (manifest string ) map [string ]* MappingResult {
57+ func Parse (manifest string , defaultNamespace string ) map [string ]* MappingResult {
5758 scanner := bufio .NewScanner (strings .NewReader (manifest ))
5859 scanner .Split (scanYamlSpecs )
5960 //Allow for tokens (specs) up to 1M in size
@@ -72,6 +73,9 @@ func Parse(manifest string) map[string]*MappingResult {
7273 if err := yaml .Unmarshal ([]byte (content ), & metadata ); err != nil {
7374 log .Fatalf ("YAML unmarshal error: %s\n Can't unmarshal %s" , err , content )
7475 }
76+ if metadata .Metadata .Namespace == "" {
77+ metadata .Metadata .Namespace = defaultNamespace
78+ }
7579 name := metadata .String ()
7680 if _ , ok := result [name ]; ok {
7781 log .Printf ("Error: Found duplicate key %#v in manifest" , name )
0 commit comments