Skip to content

Commit 662e3a3

Browse files
committed
6
1 parent 495c569 commit 662e3a3

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

components/ws-manager-mk2/main.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"flag"
1111
"fmt"
1212
"net"
13+
"net/http"
1314
"os"
1415

1516
// Import all Kubernetes client auth plugins (e.g. Azure, GCP, OIDC, etc.)
@@ -135,6 +136,8 @@ func main() {
135136
os.Exit(1)
136137
}
137138

139+
var grpcServerStarted bool
140+
138141
go func() {
139142
<-mgr.Elected()
140143

@@ -165,6 +168,8 @@ func main() {
165168
os.Exit(1)
166169
}
167170

171+
grpcServerStarted = true
172+
168173
workspaceReconciler.OnReconcile = wsmanService.OnWorkspaceReconcile
169174

170175
if err = workspaceReconciler.SetupWithManager(mgr); err != nil {
@@ -199,6 +204,17 @@ func main() {
199204
os.Exit(1)
200205
}
201206

207+
if err := mgr.AddHealthzCheck("grpc-server", func(req *http.Request) error {
208+
if grpcServerStarted {
209+
return nil
210+
}
211+
212+
return fmt.Errorf("ws-manager GRPC server not started")
213+
}); err != nil {
214+
setupLog.Error(err, "unable to set up ready check")
215+
os.Exit(1)
216+
}
217+
202218
setupLog.Info("starting manager")
203219
if err := mgr.Start(ctrl.SetupSignalHandler()); err != nil {
204220
setupLog.Error(err, "problem running manager")

0 commit comments

Comments
 (0)