forked from wongnai/xds
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwire_gen.go
More file actions
131 lines (120 loc) · 4.4 KB
/
wire_gen.go
File metadata and controls
131 lines (120 loc) · 4.4 KB
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:build !wireinject
// +build !wireinject
package di
import (
"context"
"github.com/wongnai/xds/debug"
"github.com/wongnai/xds/snapshot"
"google.golang.org/grpc"
"k8s.io/client-go/kubernetes"
)
// Injectors from wire.go:
func InitializeServer(ctx context.Context, statsIntervalSeconds StatsIntervalSeconds, subZoneLabel snapshot.SubZoneLabel) (Servers, func(), error) {
v := ProvideOtelGrpcServerOptions()
server, cleanup := ProvideGrpcServer(v)
config, err := ProvideClientConfig()
if err != nil {
cleanup()
return Servers{}, nil, err
}
v2, err := ProvideK8sHTTPTransport(config)
if err != nil {
cleanup()
return Servers{}, nil, err
}
v3 := ProvideK8sHTTPClient(v2, config)
kubernetesInterface, err := ProvideK8sClient(config, v3)
if err != nil {
cleanup()
return Servers{}, nil, err
}
snapshotter, cleanup2 := ProvideSnapshotter(ctx, kubernetesInterface, subZoneLabel)
callbackFuncs := ProvideXdsLogger()
serverServer, cleanup3 := ProvideXdsServer(ctx, snapshotter, callbackFuncs)
sideEffectADSRegistered := ProvideSideEffectADSRegistered(server, serverServer)
sideEffectEDSRegistered := ProvideSideEffectEDSRegistered(server, serverServer)
sideEffectCDSRegistered := ProvideSideEffectCDSRegistered(server, serverServer)
sideEffectRDSRegistered := ProvideSideEffectRDSRegistered(server, serverServer)
sideEffectLDSRegistered := ProvideSideEffectLDSRegistered(server, serverServer)
loadReportingServiceServer := ProvideLRSServer(statsIntervalSeconds)
sideEffectLRSRegistered := ProvideSideEffectLRSRegistered(server, loadReportingServiceServer)
xdsAllSideEffects := XdsAllSideEffects{
_ADS: sideEffectADSRegistered,
_EDS: sideEffectEDSRegistered,
_CDS: sideEffectCDSRegistered,
_RDS: sideEffectRDSRegistered,
_LDS: sideEffectLDSRegistered,
_LRS: sideEffectLRSRegistered,
}
devServer := DevServer{
_Xds: xdsAllSideEffects,
GrpcServer: server,
}
healthServer, cleanup4 := ProvideGrpcHealthServer()
sideEffectGrpcHealthRegistered := ProvideSideEffectGrpcHealthRegistered(server, healthServer)
sideEffectGrpcReflectionRegistered := ProvideSideEffectGrpcReflectionRegisteredIfEnv(server)
sideEffectGrpcChannelzRegistered := ProvideSideEffectGrpcChannelzRegistered(server)
debugServer := ProvideDebugServer(snapshotter)
servers := Servers{
DevServer: devServer,
_GrpcHealth: sideEffectGrpcHealthRegistered,
_Reflection: sideEffectGrpcReflectionRegistered,
_Channelz: sideEffectGrpcChannelzRegistered,
DebugServer: debugServer,
}
return servers, func() {
cleanup4()
cleanup3()
cleanup2()
cleanup()
}, nil
}
func InitializeTestServer(ctx context.Context, kubeClient kubernetes.Interface, statsIntervalSeconds StatsIntervalSeconds, subZoneLabel snapshot.SubZoneLabel) (TestServer, func(), error) {
v := ProvideGrpcTestOption()
server, cleanup := ProvideGrpcServer(v)
snapshotter, cleanup2 := ProvideSnapshotter(ctx, kubeClient, subZoneLabel)
callbackFuncs := ProvideXdsLogger()
serverServer, cleanup3 := ProvideXdsServer(ctx, snapshotter, callbackFuncs)
sideEffectADSRegistered := ProvideSideEffectADSRegistered(server, serverServer)
sideEffectEDSRegistered := ProvideSideEffectEDSRegistered(server, serverServer)
sideEffectCDSRegistered := ProvideSideEffectCDSRegistered(server, serverServer)
sideEffectRDSRegistered := ProvideSideEffectRDSRegistered(server, serverServer)
sideEffectLDSRegistered := ProvideSideEffectLDSRegistered(server, serverServer)
loadReportingServiceServer := ProvideLRSServer(statsIntervalSeconds)
sideEffectLRSRegistered := ProvideSideEffectLRSRegistered(server, loadReportingServiceServer)
xdsAllSideEffects := XdsAllSideEffects{
_ADS: sideEffectADSRegistered,
_EDS: sideEffectEDSRegistered,
_CDS: sideEffectCDSRegistered,
_RDS: sideEffectRDSRegistered,
_LDS: sideEffectLDSRegistered,
_LRS: sideEffectLRSRegistered,
}
devServer := DevServer{
_Xds: xdsAllSideEffects,
GrpcServer: server,
}
testServer := TestServer{
DevServer: devServer,
Server: serverServer,
}
return testServer, func() {
cleanup3()
cleanup2()
cleanup()
}, nil
}
// wire.go:
type Servers struct {
DevServer
_GrpcHealth SideEffectGrpcHealthRegistered
_Reflection SideEffectGrpcReflectionRegistered
_Channelz SideEffectGrpcChannelzRegistered
DebugServer *debug.Server
}
type DevServer struct {
_Xds XdsAllSideEffects
GrpcServer *grpc.Server
}