@@ -37,7 +37,7 @@ import {
3737
3838 API_PROXY_BASE_PATH ,
3939 API_VULN_RUNTIME ,
40- BACKLINK_VULN_RUNTIME
40+ getBacklink
4141} from '../../lib'
4242
4343
@@ -154,11 +154,14 @@ export const DenseTable = ({ runtimeScans, title }: DenseTableProps) => {
154154export const SysdigVMRuntimeFetchComponent = ( ) => {
155155 const { entity } = useEntity ( ) ;
156156 const backendUrl = useApi ( configApiRef ) . getString ( 'backend.baseUrl' ) ;
157- var backlink = useApi ( configApiRef ) . getString ( 'sysdig.endpoint' ) + BACKLINK_VULN_RUNTIME ;
157+ let endpoint : string | undefined = useApi ( configApiRef ) . getOptionalString ( "sysdig.endpoint" ) ;
158+ let backlink_config : string | undefined = useApi ( configApiRef ) . getOptionalString ( "sysdig.backlink" ) ;
159+
160+ var backlink = getBacklink ( endpoint , backlink_config , "vm-runtime" ) ;
158161
159162 let uri = backendUrl + API_PROXY_BASE_PATH + API_VULN_RUNTIME ;
160163 let filter = '?filter=' ;
161- var name ;
164+ var names ;
162165
163166 const annotations = entity . metadata . annotations ;
164167 if ( annotations ) {
@@ -170,28 +173,28 @@ export const SysdigVMRuntimeFetchComponent = () => {
170173 var filters = [ ]
171174
172175 if ( SYSDIG_CLUSTER_NAME_ANNOTATION in annotations ) {
173- name = annotations [ SYSDIG_CLUSTER_NAME_ANNOTATION ]
174- filters . push ( ' kubernetes.cluster.name="' + name + '"' ) ;
176+ names = annotations [ SYSDIG_CLUSTER_NAME_ANNOTATION ] . split ( ',' ) . map ( w => `" ${ w . trim ( ) } "` ) . join ( ', ' ) ;
177+ filters . push ( ` kubernetes.cluster.name in ( ${ names } )` ) ;
175178 }
176179
177180 if ( SYSDIG_NAMESPACE_ANNOTATION in annotations ) {
178- name = annotations [ SYSDIG_NAMESPACE_ANNOTATION ]
179- filters . push ( ' kubernetes.namespace.name="' + name + '"' ) ;
181+ names = annotations [ SYSDIG_NAMESPACE_ANNOTATION ] . split ( ',' ) . map ( w => `" ${ w . trim ( ) } "` ) . join ( ', ' ) ;
182+ filters . push ( ` kubernetes.namespace.name in ( ${ names } )` ) ;
180183 }
181184
182185 if ( SYSDIG_WORKLOAD_ANNOTATION in annotations ) {
183- name = annotations [ SYSDIG_WORKLOAD_ANNOTATION ]
184- filters . push ( ' kubernetes.workload.name="' + name + '"' ) ;
186+ names = annotations [ SYSDIG_WORKLOAD_ANNOTATION ] . split ( ',' ) . map ( w => `" ${ w . trim ( ) } "` ) . join ( ', ' ) ;
187+ filters . push ( ` kubernetes.workload.name in ( ${ names } )` ) ;
185188 }
186189
187190 if ( SYSDIG_WORKLOAD_TYPE_ANNOTATION in annotations ) {
188- name = annotations [ SYSDIG_WORKLOAD_TYPE_ANNOTATION ]
189- filters . push ( ' kubernetes.workload.type="' + name + '"' ) ;
191+ names = annotations [ SYSDIG_WORKLOAD_TYPE_ANNOTATION ] . split ( ',' ) . map ( w => `" ${ w . trim ( ) } "` ) . join ( ', ' ) ;
192+ filters . push ( ` kubernetes.workload.type in ( ${ names } )` ) ;
190193 }
191194
192195 if ( SYSDIG_CONTAINER_ANNOTATION in annotations ) {
193- name = annotations [ SYSDIG_CONTAINER_ANNOTATION ]
194- filters . push ( ' kubernetes.pod.container.name="' + name + '"' ) ;
196+ names = annotations [ SYSDIG_CONTAINER_ANNOTATION ] . split ( ',' ) . map ( w => `" ${ w . trim ( ) } "` ) . join ( ', ' ) ;
197+ filters . push ( ` kubernetes.pod.container.name in ( ${ names } )` ) ;
195198 }
196199
197200 if ( filters . length == 0 ) {
0 commit comments