Skip to content

Commit ceb3a4f

Browse files
committed
NETOBSERV-1959: Remove hardcoded columns rendering + other enhancements
- Remove hardcoded columns - Change some of the rendering scripted functions: - getConcatenatedValue -> concat now dedicated to just concatenate values - they can now accept litterals (e.g. concat(DstAddr,':',DstPort)) - remove getSrcOrDstValue since there was also "[...]" for the same role - add new kubeObject func to show kind-name-namespace sort of things - Improve performance by avoiding re-parsing everything for every rendered flow - there's probably more that we could do on that side - Add unit tests
1 parent 34ce8eb commit ceb3a4f

File tree

7 files changed

+314
-313
lines changed

7 files changed

+314
-313
lines changed

config/sample-config.yaml

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ frontend:
192192
docURL: http://kubernetes.io/docs/user-guide/identifiers#names
193193
field: SrcK8S_Name
194194
filter: src_name
195+
calculated: kubeObject(SrcK8S_Type,SrcK8S_Namespace,SrcK8S_Name,0)
195196
default: true
196197
width: 15
197198
- id: SrcK8S_Type
@@ -213,6 +214,7 @@ frontend:
213214
docURL: https://kubernetes.io/docs/concepts/overview/working-with-objects/owners-dependents/
214215
field: SrcK8S_OwnerName
215216
filter: src_owner_name
217+
calculated: kubeObject(SrcK8S_OwnerType,SrcK8S_Namespace,SrcK8S_OwnerName,0)
216218
default: false
217219
width: 15
218220
- id: SrcK8S_OwnerType
@@ -236,6 +238,7 @@ frontend:
236238
docURL: http://kubernetes.io/docs/user-guide/identifiers#namespaces
237239
field: SrcK8S_Namespace
238240
filter: src_namespace
241+
calculated: kubeObject('Namespace','',SrcK8S_Namespace,0)
239242
default: true
240243
width: 15
241244
- id: SrcAddr
@@ -277,24 +280,25 @@ frontend:
277280
docURL: https://kubernetes.io/docs/concepts/architecture/nodes/
278281
field: SrcK8S_HostName
279282
filter: src_host_name
283+
calculated: kubeObject('Node','',SrcK8S_HostName,0)
280284
default: false
281285
width: 15
282286
- id: SrcK8S_Object
283287
group: Source
284288
name: Kubernetes Object
285-
calculated: getConcatenatedValue(SrcAddr,SrcPort,SrcK8S_Type,SrcK8S_Namespace,SrcK8S_Name)
289+
calculated: kubeObject(SrcK8S_Type,SrcK8S_Namespace,SrcK8S_Name,1) or concat(SrcAddr,':',SrcPort)
286290
default: false
287291
width: 15
288292
- id: SrcK8S_OwnerObject
289293
group: Source
290294
name: Owner Kubernetes Object
291-
calculated: getConcatenatedValue(SrcAddr,SrcPort,SrcK8S_OwnerType,SrcK8S_Namespace,SrcK8S_OwnerName)
295+
calculated: kubeObject(SrcK8S_OwnerType,SrcK8S_Namespace,SrcK8S_OwnerName,1) or concat(SrcAddr,':',SrcPort)
292296
default: false
293297
width: 15
294298
- id: SrcAddrPort
295299
group: Source
296300
name: IP & Port
297-
calculated: getConcatenatedValue(SrcAddr,SrcPort)
301+
calculated: concat(SrcAddr,':',SrcPort)
298302
default: false
299303
width: 15
300304
- id: SrcZone
@@ -312,6 +316,7 @@ frontend:
312316
docURL: http://kubernetes.io/docs/user-guide/identifiers#names
313317
field: DstK8S_Name
314318
filter: dst_name
319+
calculated: kubeObject(DstK8S_Type,DstK8S_Namespace,DstK8S_Name,0)
315320
default: true
316321
width: 15
317322
- id: DstK8S_Type
@@ -333,6 +338,7 @@ frontend:
333338
docURL: https://kubernetes.io/docs/concepts/overview/working-with-objects/owners-dependents/
334339
field: DstK8S_OwnerName
335340
filter: dst_owner_name
341+
calculated: kubeObject(DstK8S_OwnerType,DstK8S_Namespace,DstK8S_OwnerName,0)
336342
default: false
337343
width: 15
338344
- id: DstK8S_OwnerType
@@ -356,6 +362,7 @@ frontend:
356362
docURL: http://kubernetes.io/docs/user-guide/identifiers#namespaces
357363
field: DstK8S_Namespace
358364
filter: dst_namespace
365+
calculated: kubeObject('Namespace','',DstK8S_Namespace,0)
359366
default: true
360367
width: 15
361368
- id: DstAddr
@@ -397,24 +404,25 @@ frontend:
397404
docURL: https://kubernetes.io/docs/concepts/architecture/nodes/
398405
field: DstK8S_HostName
399406
filter: dst_host_name
407+
calculated: kubeObject('Node','',DstK8S_HostName,0)
400408
default: false
401409
width: 15
402410
- id: DstK8S_Object
403411
group: Destination
404412
name: Kubernetes Object
405-
calculated: getConcatenatedValue(DstAddr,DstPort,DstK8S_Type,DstK8S_Namespace,DstK8S_Name)
413+
calculated: kubeObject(DstK8S_Type,DstK8S_Namespace,DstK8S_Name,1) or concat(DstAddr,':',DstPort)
406414
default: false
407415
width: 15
408416
- id: DstK8S_OwnerObject
409417
group: Destination
410418
name: Owner Kubernetes Object
411-
calculated: getConcatenatedValue(DstAddr,DstPort,DstK8S_OwnerType,DstK8S_Namespace,DstK8S_OwnerName)
419+
calculated: kubeObject(DstK8S_OwnerType,DstK8S_Namespace,DstK8S_OwnerName,1)
412420
default: false
413421
width: 15
414422
- id: DstAddrPort
415423
group: Destination
416424
name: IP & Port
417-
calculated: getConcatenatedValue(DstAddr,DstPort)
425+
calculated: concat(DstAddr,':',DstPort)
418426
default: false
419427
width: 15
420428
- id: DstZone
@@ -427,52 +435,52 @@ frontend:
427435
feature: zones
428436
- id: K8S_Name
429437
name: Names
430-
calculated: getSrcOrDstValue(SrcK8S_Name,DstK8S_Name)
438+
calculated: '[SrcK8S_Name,DstK8S_Name]'
431439
default: false
432440
width: 15
433441
- id: K8S_Type
434442
name: Kinds
435-
calculated: getSrcOrDstValue(SrcK8S_Type,DstK8S_Type)
443+
calculated: '[SrcK8S_Type,DstK8S_Type]'
436444
default: false
437445
width: 10
438446
- id: K8S_OwnerName
439447
name: Owners
440-
calculated: getSrcOrDstValue(SrcK8S_OwnerName,DstK8S_OwnerName)
448+
calculated: '[SrcK8S_OwnerName,DstK8S_OwnerName]'
441449
default: false
442450
width: 15
443451
- id: K8S_OwnerType
444452
name: Owner Kinds
445-
calculated: getSrcOrDstValue(SrcK8S_OwnerType,DstK8S_OwnerType)
453+
calculated: '[SrcK8S_OwnerType,DstK8S_OwnerType]'
446454
default: false
447455
width: 10
448456
- id: K8S_Namespace
449457
name: Namespaces
450-
calculated: getSrcOrDstValue(SrcK8S_Namespace,DstK8S_Namespace)
458+
calculated: '[SrcK8S_Namespace,DstK8S_Namespace]'
451459
default: false
452460
width: 15
453461
- id: Addr
454462
name: IP
455-
calculated: getSrcOrDstValue(SrcAddr,DstAddr)
463+
calculated: '[SrcAddr,DstAddr]'
456464
default: false
457465
width: 10
458466
- id: Port
459467
name: Ports
460-
calculated: getSrcOrDstValue(SrcPort,DstPort)
468+
calculated: '[SrcPort,DstPort]'
461469
default: false
462470
width: 10
463471
- id: Mac
464472
name: MAC
465-
calculated: getSrcOrDstValue(SrcMac,DstMac)
473+
calculated: '[SrcMac,DstMac]'
466474
default: false
467475
width: 10
468476
- id: K8S_HostIP
469477
name: Node IP
470-
calculated: getSrcOrDstValue(SrcK8S_HostIP,DstK8S_HostIP)
478+
calculated: '[SrcK8S_HostIP,DstK8S_HostIP]'
471479
default: false
472480
width: 10
473481
- id: K8S_HostName
474482
name: Node Name
475-
calculated: getSrcOrDstValue(SrcK8S_HostName,DstK8S_HostName)
483+
calculated: '[SrcK8S_HostName,DstK8S_HostName]'
476484
default: false
477485
width: 15
478486
- id: K8S_Object

web/package-lock.json

Lines changed: 20 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

web/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,8 @@
8686
"webpack": "^5.94.0",
8787
"webpack-cli": "^4.10.0",
8888
"webpack-dev-server": "^4.6.0",
89-
"webpack-node-externals": "^3.0.0"
89+
"webpack-node-externals": "^3.0.0",
90+
"yaml": "^2.6.0"
9091
},
9192
"consolePlugin": {
9293
"name": "netobserv-plugin",

0 commit comments

Comments
 (0)