Skip to content

Commit

Permalink
🐛 defer coordinator shutdown for scans (#2374)
Browse files Browse the repository at this point in the history
* defer coordinator shutdown for scans

Signed-off-by: Ivan Milchev <ivan@mondoo.com>

* fix status command

Signed-off-by: Ivan Milchev <ivan@mondoo.com>

---------

Signed-off-by: Ivan Milchev <ivan@mondoo.com>
  • Loading branch information
imilchev authored Oct 26, 2023
1 parent 4d24cf7 commit 108b50f
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 1 deletion.
2 changes: 2 additions & 0 deletions apps/cnquery/cmd/status.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ import (
"go.mondoo.com/cnquery/v9/cli/config"
"go.mondoo.com/cnquery/v9/cli/sysinfo"
"go.mondoo.com/cnquery/v9/cli/theme"
"go.mondoo.com/cnquery/v9/providers"
"go.mondoo.com/cnquery/v9/providers-sdk/v1/inventory"
"go.mondoo.com/cnquery/v9/providers-sdk/v1/upstream"
"go.mondoo.com/cnquery/v9/providers-sdk/v1/upstream/health"
Expand All @@ -40,6 +41,7 @@ Status sends a ping to Mondoo Platform to verify the credentials.
viper.BindPFlag("output", cmd.Flags().Lookup("output"))
},
Run: func(cmd *cobra.Command, args []string) {
defer providers.Coordinator.Shutdown()
opts, optsErr := config.Read()
if optsErr != nil {
log.Fatal().Err(optsErr).Msg("could not load configuration")
Expand Down
4 changes: 3 additions & 1 deletion explorer/scan/local_scanner.go
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,9 @@ func preprocessQueryPackFilters(filters []string) []string {
func (s *LocalScanner) distributeJob(job *Job, ctx context.Context, upstream *upstream.UpstreamConfig) (*explorer.ReportCollection, bool, error) {
log.Info().Msgf("discover related assets for %d asset(s)", len(job.Inventory.Spec.Assets))

// Always shut down the coordinator, to make sure providers are killed
defer providers.Coordinator.Shutdown()

im, err := manager.NewManager(manager.WithInventory(job.Inventory, providers.DefaultRuntime()))
if err != nil {
return nil, false, errors.New("failed to resolve inventory for connection")
Expand Down Expand Up @@ -414,7 +417,6 @@ func (s *LocalScanner) distributeJob(job *Job, ctx context.Context, upstream *up
}()

scanGroup.Wait()
providers.Coordinator.Shutdown()
return reporter.Reports(), finished, nil
}

Expand Down

0 comments on commit 108b50f

Please sign in to comment.