@@ -696,10 +696,12 @@ func start(
696696 if opts .sqlitePath != "" && ! strings .Contains (opts .sqlitePath , ":memory:" ) {
697697 if _ , err := os .Stat (opts .sqlitePath ); os .IsNotExist (err ) {
698698 if err := os .MkdirAll (filepath .Dir (opts .sqlitePath ), 0755 ); err != nil {
699- log .Fatalf ("Failed to create database directory: %v" , err )
699+ readyCh <- fmt .Errorf ("failed to create database directory: %v" , err )
700+ return
700701 }
701702 if _ , err := os .Create (opts .sqlitePath ); err != nil {
702- log .Fatalf ("Failed to create database file: %v" , err )
703+ readyCh <- fmt .Errorf ("failed to create database file: %v" , err )
704+ return
703705 }
704706 }
705707 }
@@ -792,7 +794,8 @@ func start(
792794 }()
793795 go func () {
794796 if err := waitForReadyz ("https://localhost:8443" , 300 * time .Second ); err != nil {
795- log .Fatalf ("Failed to wait for APIServer: %v" , err )
797+ readyCh <- fmt .Errorf ("failed to wait for /readyz endpoint: %v" , err )
798+ return
796799 }
797800 log .Infof ("APIServer is ready" )
798801 readyCh <- nil
@@ -802,7 +805,7 @@ func start(
802805
803806 select {
804807 case <- ctx .Done ():
805- log . Fatalf ( "Context cancelled while while waiting for APIServer: %v" , ctx .Err ())
808+ return fmt . Errorf ( "context cancelled while waiting for APIServer: %v" , ctx .Err ())
806809 case err , ok := <- readyCh :
807810 if ! ok {
808811 return errors .New ("APIServer failed to start" )
0 commit comments