Skip to content

Commit a2b2fc8

Browse files
Arta AsadiArta Asadi
authored andcommitted
fix: fix field types
1 parent c9a7c08 commit a2b2fc8

File tree

8 files changed

+71
-35
lines changed

8 files changed

+71
-35
lines changed

cloudql/kubernetes/table_kubernetes_daemonset.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ func tableKubernetesDaemonset(ctx context.Context) *plugin.Table {
3232
Name: "selector_query",
3333
Type: proto.ColumnType_STRING,
3434
Description: "A query string representation of the selector.",
35-
Transform: transform.FromField("Description.DaemonSet.Spec.Selector").Transform(labelSelectorToString),
35+
Transform: transform.FromField("Description.LabelSelectorString"),
3636
},
3737
{
3838
Name: "selector",

cloudql/kubernetes/table_kubernetes_deployment.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ func tableKubernetesDeployment(ctx context.Context) *plugin.Table {
2727
Name: "selector_query",
2828
Type: proto.ColumnType_STRING,
2929
Description: "A query string representation of the selector.",
30-
Transform: transform.FromField("Description.Deployment.Spec.Selector").Transform(labelSelectorToString),
30+
Transform: transform.FromField("Description.LabelSelectorString"),
3131
},
3232
{
3333
Name: "selector",

cloudql/kubernetes/table_kubernetes_job.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ func tableKubernetesJob(ctx context.Context) *plugin.Table {
5656
Name: "selector_query",
5757
Type: proto.ColumnType_STRING,
5858
Description: "A query string representation of the selector.",
59-
Transform: transform.FromField("Description.Job.Spec.Selector").Transform(labelSelectorToString),
59+
Transform: transform.FromField("Description.LabelSelectorString"),
6060
},
6161
{
6262
Name: "selector",

cloudql/kubernetes/table_kubernetes_replicaset.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ func tableKubernetesReplicaSet(ctx context.Context) *plugin.Table {
3232
Name: "selector_query",
3333
Type: proto.ColumnType_STRING,
3434
Description: "A query string representation of the selector.",
35-
Transform: transform.FromField("Description.ReplicaSet.Spec.Selector").Transform(labelSelectorToString),
35+
Transform: transform.FromField("Description.LabelSelectorString"),
3636
},
3737
{
3838
Name: "selector",

cloudql/kubernetes/utils.go

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"math"
1111
"strconv"
1212
"strings"
13+
"time"
1314
)
1415

1516
func v1TimeToRFC3339(_ context.Context, d *transform.TransformData) (interface{}, error) {
@@ -25,6 +26,13 @@ func v1TimeToRFC3339(_ context.Context, d *transform.TransformData) (interface{}
2526
return nil, nil
2627
}
2728
return v.ToUnstructured(), nil
29+
case time.Time:
30+
return v.Format(time.RFC3339), nil
31+
case *time.Time:
32+
if v == nil {
33+
return nil, nil
34+
}
35+
return v.Format(time.RFC3339), nil
2836
default:
2937
return nil, fmt.Errorf("invalid time format %T! ", v)
3038
}
@@ -43,26 +51,18 @@ func v1MicroTimeToRFC3339(_ context.Context, d *transform.TransformData) (interf
4351
return nil, nil
4452
}
4553
return metav1.NewTime(v.Time).ToUnstructured(), nil
54+
case time.Time:
55+
return v.Format(time.RFC3339), nil
56+
case *time.Time:
57+
if v == nil {
58+
return nil, nil
59+
}
60+
return v.Format(time.RFC3339), nil
4661
default:
4762
return nil, fmt.Errorf("invalid time format %T! ", v)
4863
}
4964
}
5065

51-
func labelSelectorToString(_ context.Context, d *transform.TransformData) (interface{}, error) {
52-
if d.Value == nil {
53-
return nil, nil
54-
}
55-
56-
selector := d.Value.(*metav1.LabelSelector)
57-
58-
ss, err := metav1.LabelSelectorAsSelector(selector)
59-
if err != nil {
60-
return nil, err
61-
}
62-
63-
return ss.String(), nil
64-
}
65-
6666
func selectorMapToString(ctx context.Context, d *transform.TransformData) (interface{}, error) {
6767
logger := plugin.Logger(ctx)
6868
logger.Trace("selectorMapToString")

discovery/describers/kubernetes.go

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -297,12 +297,18 @@ func KubernetesDaemonSet(ctx context.Context, client model.Client, extra string,
297297
var resource models.Resource
298298
// We don't need to include the managed fields in the description, also it causes issues in elastic search mapping generation
299299
daemonSet.ManagedFields = nil
300+
labelSelectorString := ""
301+
ss, err := metav1.LabelSelectorAsSelector(daemonSet.Spec.Selector)
302+
if err == nil {
303+
labelSelectorString = ss.String()
304+
}
300305
resource = models.Resource{
301306
ID: fmt.Sprintf("daemonset/%s/%s", daemonSet.Namespace, daemonSet.Name),
302307
Name: fmt.Sprintf("%s/%s", daemonSet.Namespace, daemonSet.Name),
303308
Description: model.KubernetesDaemonSetDescription{
304-
MetaObject: helpers.ConvertObjectMeta(&daemonSet.ObjectMeta),
305-
DaemonSet: helpers.ConvertDaemonSet(&daemonSet),
309+
MetaObject: helpers.ConvertObjectMeta(&daemonSet.ObjectMeta),
310+
DaemonSet: helpers.ConvertDaemonSet(&daemonSet),
311+
LabelSelectorString: labelSelectorString,
306312
},
307313
}
308314

@@ -330,12 +336,18 @@ func KubernetesDeployment(ctx context.Context, client model.Client, extra string
330336
var resource models.Resource
331337
// We don't need to include the managed fields in the description, also it causes issues in elastic search mapping generation
332338
deployment.ManagedFields = nil
339+
labelSelectorString := ""
340+
ss, err := metav1.LabelSelectorAsSelector(deployment.Spec.Selector)
341+
if err == nil {
342+
labelSelectorString = ss.String()
343+
}
333344
resource = models.Resource{
334345
ID: fmt.Sprintf("deployment/%s/%s", deployment.Namespace, deployment.Name),
335346
Name: fmt.Sprintf("%s/%s", deployment.Namespace, deployment.Name),
336347
Description: model.KubernetesDeploymentDescription{
337-
MetaObject: helpers.ConvertObjectMeta(&deployment.ObjectMeta),
338-
Deployment: helpers.ConvertDeployment(&deployment),
348+
MetaObject: helpers.ConvertObjectMeta(&deployment.ObjectMeta),
349+
Deployment: helpers.ConvertDeployment(&deployment),
350+
LabelSelectorString: labelSelectorString,
339351
},
340352
}
341353

@@ -523,12 +535,18 @@ func KubernetesJob(ctx context.Context, client model.Client, extra string, strea
523535
var resource models.Resource
524536
// We don't need to include the managed fields in the description, also it causes issues in elastic search mapping
525537
job.ManagedFields = nil
538+
labelSelectorString := ""
539+
ss, err := metav1.LabelSelectorAsSelector(job.Spec.Selector)
540+
if err == nil {
541+
labelSelectorString = ss.String()
542+
}
526543
resource = models.Resource{
527544
ID: fmt.Sprintf("job/%s/%s", job.Namespace, job.Name),
528545
Name: fmt.Sprintf("%s/%s", job.Namespace, job.Name),
529546
Description: model.KubernetesJobDescription{
530-
MetaObject: helpers.ConvertObjectMeta(&job.ObjectMeta),
531-
Job: job,
547+
MetaObject: helpers.ConvertObjectMeta(&job.ObjectMeta),
548+
Job: job,
549+
LabelSelectorString: labelSelectorString,
532550
},
533551
}
534552
if stream != nil {
@@ -851,12 +869,18 @@ func KubernetesReplicaSet(ctx context.Context, client model.Client, extra string
851869
var resource models.Resource
852870
// We don't need to include the managed fields in the description, also it causes issues in elastic search mapping
853871
replicaSet.ManagedFields = nil
872+
labelSelectorString := ""
873+
ss, err := metav1.LabelSelectorAsSelector(replicaSet.Spec.Selector)
874+
if err == nil {
875+
labelSelectorString = ss.String()
876+
}
854877
resource = models.Resource{
855878
ID: fmt.Sprintf("replicaset/%s/%s", replicaSet.Namespace, replicaSet.Name),
856879
Name: fmt.Sprintf("%s/%s", replicaSet.Namespace, replicaSet.Name),
857880
Description: model.KubernetesReplicaSetDescription{
858-
MetaObject: helpers.ConvertObjectMeta(&replicaSet.ObjectMeta),
859-
ReplicaSet: helpers.ConvertReplicaSet(&replicaSet),
881+
MetaObject: helpers.ConvertObjectMeta(&replicaSet.ObjectMeta),
882+
ReplicaSet: helpers.ConvertReplicaSet(&replicaSet),
883+
LabelSelectorString: labelSelectorString,
860884
},
861885
}
862886

discovery/pkg/es/resources_clients.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1570,6 +1570,7 @@ var listKubernetesDaemonSetFilters = map[string]string{
15701570
"observed_generation": "Description.DaemonSet.Status.ObservedGeneration",
15711571
"revision_history_limit": "Description.DaemonSet.Spec.RevisionHistoryLimit",
15721572
"selector": "Description.DaemonSet.Spec.Volumes",
1573+
"selector_query": "Description.LabelSelectorString",
15731574
"template": "Description.DaemonSet.Spec.Template",
15741575
"title": "Description.DaemonSet.Name",
15751576
"update_strategy": "Description.DaemonSet.Spec.UpdateStrategy",
@@ -1649,6 +1650,7 @@ var getKubernetesDaemonSetFilters = map[string]string{
16491650
"observed_generation": "Description.DaemonSet.Status.ObservedGeneration",
16501651
"revision_history_limit": "Description.DaemonSet.Spec.RevisionHistoryLimit",
16511652
"selector": "Description.DaemonSet.Spec.Volumes",
1653+
"selector_query": "Description.LabelSelectorString",
16521654
"template": "Description.DaemonSet.Spec.Template",
16531655
"title": "Description.DaemonSet.Name",
16541656
"update_strategy": "Description.DaemonSet.Spec.UpdateStrategy",
@@ -1802,6 +1804,7 @@ var listKubernetesDeploymentFilters = map[string]string{
18021804
"replicas": "Description.Deployment.Spec.Replicas",
18031805
"revision_history_limit": "Description.Deployment.Spec.RevisionHistoryLimit",
18041806
"selector": "Description.Deployment.Spec.Selector",
1807+
"selector_query": "Description.LabelSelectorString",
18051808
"status_replicas": "Description.Deployment.Status.Replicas",
18061809
"strategy": "Description.Deployment.Spec.Strategy",
18071810
"template": "Description.Deployment.Spec.Template",
@@ -1882,6 +1885,7 @@ var getKubernetesDeploymentFilters = map[string]string{
18821885
"replicas": "Description.Deployment.Spec.Replicas",
18831886
"revision_history_limit": "Description.Deployment.Spec.RevisionHistoryLimit",
18841887
"selector": "Description.Deployment.Spec.Selector",
1888+
"selector_query": "Description.LabelSelectorString",
18851889
"status_replicas": "Description.Deployment.Status.Replicas",
18861890
"strategy": "Description.Deployment.Spec.Strategy",
18871891
"template": "Description.Deployment.Spec.Template",
@@ -3110,6 +3114,7 @@ var listKubernetesJobFilters = map[string]string{
31103114
"manual_selector": "Description.Job.Spec.ManualSelector",
31113115
"parallelism": "Description.Job.Spec.Parallelism",
31123116
"selector": "Description.Job.Spec.Selector",
3117+
"selector_query": "Description.LabelSelectorString",
31133118
"succeeded": "Description.Job.Status.Succeeded",
31143119
"template": "Description.Job.Spec.Template",
31153120
"title": "Description.Job.Name",
@@ -3186,6 +3191,7 @@ var getKubernetesJobFilters = map[string]string{
31863191
"manual_selector": "Description.Job.Spec.ManualSelector",
31873192
"parallelism": "Description.Job.Spec.Parallelism",
31883193
"selector": "Description.Job.Spec.Selector",
3194+
"selector_query": "Description.LabelSelectorString",
31893195
"succeeded": "Description.Job.Status.Succeeded",
31903196
"template": "Description.Job.Spec.Template",
31913197
"title": "Description.Job.Name",
@@ -5359,6 +5365,7 @@ var listKubernetesReplicaSetFilters = map[string]string{
53595365
"ready_replicas": "Description.ReplicaSet.Status.ReadyReplicas",
53605366
"replicas": "Description.ReplicaSet.Spec.Replicas",
53615367
"selector": "Description.ReplicaSet.Spec.Selector",
5368+
"selector_query": "Description.LabelSelectorString",
53625369
"status_replicas": "Description.ReplicaSet.Status.Replicas",
53635370
"template": "Description.ReplicaSet.Spec.Template",
53645371
"title": "Description.ReplicaSet.Name",
@@ -5433,6 +5440,7 @@ var getKubernetesReplicaSetFilters = map[string]string{
54335440
"ready_replicas": "Description.ReplicaSet.Status.ReadyReplicas",
54345441
"replicas": "Description.ReplicaSet.Spec.Replicas",
54355442
"selector": "Description.ReplicaSet.Spec.Selector",
5443+
"selector_query": "Description.LabelSelectorString",
54365444
"status_replicas": "Description.ReplicaSet.Status.Replicas",
54375445
"template": "Description.ReplicaSet.Spec.Template",
54385446
"title": "Description.ReplicaSet.Name",

discovery/provider/model.go

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,15 @@ type KubernetesCustomResourceDefinitionDescription struct {
5050
}
5151

5252
type KubernetesDaemonSetDescription struct {
53-
MetaObject helpers.ObjectMeta
54-
DaemonSet helpers.DaemonSet
53+
MetaObject helpers.ObjectMeta
54+
DaemonSet helpers.DaemonSet
55+
LabelSelectorString string
5556
}
5657

5758
type KubernetesDeploymentDescription struct {
58-
MetaObject helpers.ObjectMeta
59-
Deployment helpers.Deployment
59+
MetaObject helpers.ObjectMeta
60+
Deployment helpers.Deployment
61+
LabelSelectorString string
6062
}
6163

6264
type KubernetesEndpointSliceDescription struct {
@@ -85,8 +87,9 @@ type KubernetesIngressDescription struct {
8587
}
8688

8789
type KubernetesJobDescription struct {
88-
MetaObject helpers.ObjectMeta
89-
Job batchv1.Job
90+
MetaObject helpers.ObjectMeta
91+
Job batchv1.Job
92+
LabelSelectorString string
9093
}
9194

9295
type KubernetesLimitRangeDescription struct {
@@ -135,8 +138,9 @@ type KubernetesPodTemplateDescription struct {
135138
}
136139

137140
type KubernetesReplicaSetDescription struct {
138-
MetaObject helpers.ObjectMeta
139-
ReplicaSet helpers.ReplicaSet
141+
MetaObject helpers.ObjectMeta
142+
ReplicaSet helpers.ReplicaSet
143+
LabelSelectorString string
140144
}
141145

142146
type KubernetesReplicationControllerDescription struct {

0 commit comments

Comments
 (0)