forked from netobserv/flowlogs-pipeline
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdatasource.go
More file actions
28 lines (23 loc) · 987 Bytes
/
datasource.go
File metadata and controls
28 lines (23 loc) · 987 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package datasource
import (
"github.com/netobserv/flowlogs-pipeline/pkg/operational"
"github.com/netobserv/flowlogs-pipeline/pkg/pipeline/transform/kubernetes/cni"
"github.com/netobserv/flowlogs-pipeline/pkg/pipeline/transform/kubernetes/informers"
"github.com/netobserv/flowlogs-pipeline/pkg/pipeline/transform/kubernetes/model"
)
type Datasource struct {
Informers informers.Interface
}
func NewInformerDatasource(kubeconfig string, infConfig *informers.Config, opMetrics *operational.Metrics) (*Datasource, error) {
inf := &informers.Informers{}
if err := inf.InitFromConfig(kubeconfig, infConfig, opMetrics); err != nil {
return nil, err
}
return &Datasource{Informers: inf}, nil
}
func (d *Datasource) IndexLookup(potentialKeys []cni.SecondaryNetKey, ip string) *model.ResourceMetaData {
return d.Informers.IndexLookup(potentialKeys, ip)
}
func (d *Datasource) GetNodeByName(name string) (*model.ResourceMetaData, error) {
return d.Informers.GetNodeByName(name)
}