-
Notifications
You must be signed in to change notification settings - Fork 53
/
stream.go
41 lines (36 loc) · 1.24 KB
/
stream.go
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
29
30
31
32
33
34
35
36
37
38
39
40
41
package agent
import (
capabilityv1 "github.com/rancher/opni/pkg/apis/capability/v1"
controlv1 "github.com/rancher/opni/pkg/apis/control/v1"
"github.com/rancher/opni/pkg/clients"
streamext "github.com/rancher/opni/pkg/plugins/apis/apiextensions/stream"
"github.com/rancher/opni/plugins/metrics/pkg/apis/node"
"github.com/rancher/opni/plugins/metrics/pkg/apis/remoteread"
"github.com/rancher/opni/plugins/metrics/pkg/apis/remotewrite"
"google.golang.org/grpc"
)
func (p *Plugin) StreamServers() []streamext.Server {
return []streamext.Server{
{
Desc: &capabilityv1.Node_ServiceDesc,
Impl: p.node,
},
{
Desc: &remoteread.RemoteReadAgent_ServiceDesc,
Impl: p.node,
},
}
}
func (p *Plugin) UseStreamClient(cc grpc.ClientConnInterface) {
nodeClient := node.NewNodeMetricsCapabilityClient(cc)
healthListenerClient := controlv1.NewHealthListenerClient(cc)
identityClient := controlv1.NewIdentityClient(cc)
p.httpServer.SetRemoteWriteClient(clients.NewLocker(cc, remotewrite.NewRemoteWriteClient))
p.ruleStreamer.SetRemoteWriteClient(remotewrite.NewRemoteWriteClient(cc))
p.node.SetRemoteWriter(clients.NewLocker(cc, remotewrite.NewRemoteWriteClient))
p.node.SetClients(
nodeClient,
identityClient,
healthListenerClient,
)
}