From 064963563990770eb6a25534365788de77afddf8 Mon Sep 17 00:00:00 2001 From: Austin Pond Date: Mon, 3 Nov 2025 17:05:20 -0500 Subject: [PATCH] Apps: call app.Runner().Run() in a goroutine in the post-start hook (#113371) Run the app runner in a goroutine in the post-start hook, as the '/readyz' endpoint for the API server waits for a non-nil error response from the post-start hook to mark it as ready. --- pkg/services/apiserver/appinstaller/installer.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkg/services/apiserver/appinstaller/installer.go b/pkg/services/apiserver/appinstaller/installer.go index d7742eedf12..6397262d614 100644 --- a/pkg/services/apiserver/appinstaller/installer.go +++ b/pkg/services/apiserver/appinstaller/installer.go @@ -203,6 +203,14 @@ func createPostStartHook( logger.Error("Failed to initialize app", "app", installer.ManifestData().AppName, "error", err) return fmt.Errorf("failed to get app from installer %s: %w", installer.ManifestData().AppName, err) } - return app.Runner().Run(hookContext.Context) + go func() { + err := app.Runner().Run(hookContext.Context) + if err != nil { + logger.Error("App runner exited with error", "app", installer.ManifestData().AppName, "error", err) + } else { + logger.Info("App runner exited without error", "app", installer.ManifestData().AppName) + } + }() + return nil } }