Skip to content

Commit 3b64447

Browse files
Parse data into string map for easy access in RunAddMetadata
1 parent 6a2786a commit 3b64447

File tree

1 file changed

+18
-15
lines changed

1 file changed

+18
-15
lines changed

pkg/commands/addmetadata.go

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -34,19 +34,19 @@ const (
3434
label
3535
)
3636

37-
func (kind KindOfAdd) String() string {
37+
func (k KindOfAdd) String() string {
3838
kinds := [...]string{
3939
"annotation",
4040
"label",
4141
}
42-
if kind < 0 || kind > 1 {
42+
if k < 0 || k > 1 {
4343
return "Unknown metadatakind"
4444
}
45-
return kinds[kind]
45+
return kinds[k]
4646
}
4747

4848
type addMetadataOptions struct {
49-
metadata string
49+
metadata map[string]string
5050
}
5151

5252
// newCmdAddAnnotation adds one or more commonAnnotations to the kustomization file.
@@ -108,8 +108,13 @@ func (o *addMetadataOptions) Validate(args []string, k KindOfAdd) error {
108108
return fmt.Errorf("invalid %s format: %s", k, input)
109109
}
110110
}
111-
112-
o.metadata = args[0]
111+
//parse annotation keys and values into metadata
112+
entries := strings.Split(args[0], ",")
113+
o.metadata = make(map[string]string)
114+
for _, entry := range entries {
115+
kv := strings.Split(entry, ":")
116+
o.metadata[kv[0]] = kv[1]
117+
}
113118
return nil
114119
}
115120

@@ -133,20 +138,18 @@ func (o *addMetadataOptions) RunAddMetadata(fsys fs.FileSystem, k KindOfAdd) err
133138
m.CommonAnnotations = make(map[string]string)
134139
}
135140

136-
entries := strings.Split(o.metadata, ",")
137-
for _, entry := range entries {
138-
kv := strings.Split(entry, ":")
141+
for key, value := range o.metadata {
139142
if k == label {
140-
if _, ok := m.CommonLabels[kv[0]]; ok {
141-
return fmt.Errorf("%s %s already in kustomization file", k, kv[0])
143+
if _, ok := m.CommonLabels[key]; ok {
144+
return fmt.Errorf("%s %s already in kustomization file", k, key)
142145
}
143-
m.CommonLabels[kv[0]] = kv[1]
146+
m.CommonLabels[key] = value
144147
}
145148
if k == annotation {
146-
if _, ok := m.CommonAnnotations[kv[0]]; ok {
147-
return fmt.Errorf("%s %s already in kustomization file", k, kv[0])
149+
if _, ok := m.CommonAnnotations[key]; ok {
150+
return fmt.Errorf("%s %s already in kustomization file", k, key)
148151
}
149-
m.CommonAnnotations[kv[0]] = kv[1]
152+
m.CommonAnnotations[key] = value
150153
}
151154
}
152155

0 commit comments

Comments
 (0)