@@ -54,8 +54,11 @@ func MakeStatefulSet(z *v1beta1.ZookeeperCluster) *appsv1.StatefulSet {
54
54
} else {
55
55
pvcs = append (pvcs , v1.PersistentVolumeClaim {
56
56
ObjectMeta : metav1.ObjectMeta {
57
- Name : zkDataVolume ,
58
- Labels : map [string ]string {"app" : z .GetName ()},
57
+ Name : zkDataVolume ,
58
+ Labels : mergeLabels (
59
+ z .Spec .Labels ,
60
+ map [string ]string {"app" : z .GetName ()},
61
+ ),
59
62
},
60
63
Spec : persistence .PersistentVolumeClaimSpec ,
61
64
})
@@ -85,10 +88,13 @@ func MakeStatefulSet(z *v1beta1.ZookeeperCluster) *appsv1.StatefulSet {
85
88
Template : v1.PodTemplateSpec {
86
89
ObjectMeta : metav1.ObjectMeta {
87
90
GenerateName : z .GetName (),
88
- Labels : map [string ]string {
89
- "app" : z .GetName (),
90
- "kind" : "ZookeeperMember" ,
91
- },
91
+ Labels : mergeLabels (
92
+ z .Spec .Labels ,
93
+ map [string ]string {
94
+ "app" : z .GetName (),
95
+ "kind" : "ZookeeperMember" ,
96
+ },
97
+ ),
92
98
},
93
99
Spec : makeZkPodSpec (z , extraVolumes ),
94
100
},
@@ -282,7 +288,10 @@ func makeService(name string, ports []v1.ServicePort, clusterIP bool, z *v1beta1
282
288
Name : name ,
283
289
Namespace : z .Namespace ,
284
290
285
- Labels : map [string ]string {"app" : z .GetName (), "headless" : strconv .FormatBool (! clusterIP )},
291
+ Labels : mergeLabels (
292
+ z .Spec .Labels ,
293
+ map [string ]string {"app" : z .GetName (), "headless" : strconv .FormatBool (! clusterIP )},
294
+ ),
286
295
Annotations : annotationMap ,
287
296
},
288
297
Spec : v1.ServiceSpec {
@@ -318,3 +327,15 @@ func MakePodDisruptionBudget(z *v1beta1.ZookeeperCluster) *policyv1beta1.PodDisr
318
327
},
319
328
}
320
329
}
330
+
331
+ // MergeLabels merges label maps
332
+ func mergeLabels (l ... map [string ]string ) map [string ]string {
333
+ res := make (map [string ]string )
334
+
335
+ for _ , v := range l {
336
+ for lKey , lValue := range v {
337
+ res [lKey ] = lValue
338
+ }
339
+ }
340
+ return res
341
+ }
0 commit comments