@@ -26,46 +26,40 @@ import (
26
26
27
27
// Create a common.Resource object from a k8s Workload object
28
28
func ScanK8sWorkloadObject (kind string , objDataBuf []byte ) (* common.Resource , error ) {
29
- var podSpecV1 v1.PodTemplateSpec
29
+ var podSpecV1 * v1.PodTemplateSpec
30
30
var resourceCtx common.Resource
31
31
var metaObj metaV1.Object
32
32
resourceCtx .Resource .Kind = kind
33
33
switch kind { // TODO: handle Pod
34
34
case "ReplicaSet" :
35
35
obj := parseResource [appsv1.ReplicaSet ](bytes .NewReader (objDataBuf ))
36
- resourceCtx .Resource .Labels = obj .GetLabels ()
37
- podSpecV1 = obj .Spec .Template
36
+ podSpecV1 = & obj .Spec .Template
38
37
metaObj = obj
39
38
case "ReplicationController" :
40
39
obj := parseResource [v1.ReplicationController ](bytes .NewReader (objDataBuf ))
41
- resourceCtx .Resource .Labels = obj .Spec .Template .Labels
42
- podSpecV1 = * obj .Spec .Template
40
+ podSpecV1 = obj .Spec .Template
43
41
metaObj = obj
44
42
case "Deployment" :
45
43
obj := parseResource [appsv1.Deployment ](bytes .NewReader (objDataBuf ))
46
- resourceCtx .Resource .Labels = obj .Spec .Template .Labels
47
- podSpecV1 = obj .Spec .Template
44
+ podSpecV1 = & obj .Spec .Template
48
45
metaObj = obj
49
46
case "DaemonSet" :
50
47
obj := parseResource [appsv1.DaemonSet ](bytes .NewReader (objDataBuf ))
51
- resourceCtx .Resource .Labels = obj .Spec .Template .Labels
52
- podSpecV1 = obj .Spec .Template
48
+ podSpecV1 = & obj .Spec .Template
53
49
metaObj = obj
54
50
case "StatefulSet" :
55
51
obj := parseResource [appsv1.StatefulSet ](bytes .NewReader (objDataBuf ))
56
- resourceCtx .Resource .Labels = obj .Spec .Template .Labels
57
- podSpecV1 = obj .Spec .Template
52
+ podSpecV1 = & obj .Spec .Template
58
53
metaObj = obj
59
54
case "Job" :
60
55
obj := parseResource [batchv1.Job ](bytes .NewReader (objDataBuf ))
61
- resourceCtx .Resource .Labels = obj .Spec .Template .Labels
62
- podSpecV1 = obj .Spec .Template
56
+ podSpecV1 = & obj .Spec .Template
63
57
metaObj = obj
64
58
default :
65
59
return nil , fmt .Errorf ("unsupported object type: `%s`" , kind )
66
60
}
67
61
68
- parseDeployResource (& podSpecV1 , metaObj , & resourceCtx )
62
+ parseDeployResource (podSpecV1 , metaObj , & resourceCtx )
69
63
return & resourceCtx , nil
70
64
}
71
65
@@ -178,6 +172,7 @@ func ScanIngressObject(kind string, objDataBuf []byte, servicesToExpose common.S
178
172
func parseDeployResource (podSpec * v1.PodTemplateSpec , obj metaV1.Object , resourceCtx * common.Resource ) {
179
173
resourceCtx .Resource .Name = obj .GetName ()
180
174
resourceCtx .Resource .Namespace = obj .GetNamespace ()
175
+ resourceCtx .Resource .Labels = podSpec .Labels
181
176
resourceCtx .Resource .ServiceAccountName = podSpec .Spec .ServiceAccountName
182
177
for containerIdx := range podSpec .Spec .Containers {
183
178
container := & podSpec .Spec .Containers [containerIdx ]
0 commit comments