Skip to content

Commit 47a5658

Browse files
committed
Start file server on leader election
Signed-off-by: Hidde Beydals <[email protected]>
1 parent 8277eb7 commit 47a5658

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

main.go

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,6 @@ func main() {
137137
storageAdvAddr = determineAdvStorageAddr(storageAddr, setupLog)
138138
}
139139
storage := mustInitStorage(storagePath, storageAdvAddr, setupLog)
140-
go startFileServer(storage.BasePath, storageAddr, setupLog)
141140

142141
if err = (&controllers.GitRepositoryReconciler{
143142
Client: mgr.GetClient(),
@@ -195,6 +194,15 @@ func main() {
195194
}
196195
// +kubebuilder:scaffold:builder
197196

197+
go func() {
198+
// Block until our controller manager is elected leader. We presume our
199+
// entire process will terminate if we lose leadership, so we don't need
200+
// to handle that.
201+
<-mgr.Elected()
202+
203+
startFileServer(storage.BasePath, storageAddr, setupLog)
204+
}()
205+
198206
setupLog.Info("starting manager")
199207
if err := mgr.Start(ctrl.SetupSignalHandler()); err != nil {
200208
setupLog.Error(err, "problem running manager")
@@ -203,6 +211,7 @@ func main() {
203211
}
204212

205213
func startFileServer(path string, address string, l logr.Logger) {
214+
l.Info("starting file server")
206215
fs := http.FileServer(http.Dir(path))
207216
http.Handle("/", fs)
208217
err := http.ListenAndServe(address, nil)

0 commit comments

Comments
 (0)