From f750549acb25d838cf7ab65fbd5de421ce80797a Mon Sep 17 00:00:00 2001 From: Parth Patel <88045217+pxp928@users.noreply.github.com> Date: Tue, 30 Jan 2024 10:44:08 -0500 Subject: [PATCH] Error and exit when initialization fails (#1674) * change to fatalf instead of errorf when initialization fails Signed-off-by: pxp928 * use Fatalf consistently Signed-off-by: pxp928 --------- Signed-off-by: pxp928 --- cmd/guaccollect/cmd/deps_dev.go | 4 ++-- cmd/guaccollect/cmd/files.go | 10 ++++------ cmd/guaccollect/cmd/github.go | 10 +++++----- cmd/guaccollect/cmd/oci.go | 2 +- cmd/guacingest/cmd/ingest.go | 5 ++--- cmd/guacone/cmd/deps_dev.go | 4 ++-- cmd/guacone/cmd/files.go | 12 +++++------- cmd/guacone/cmd/oci.go | 2 +- cmd/guacone/cmd/s3.go | 3 +-- internal/testing/cmd/ingest/cmd/example.go | 3 +-- internal/testing/cmd/pubsub_test/cmd/files.go | 8 +++----- internal/testing/cmd/pubsub_test/cmd/osv.go | 8 +++----- 12 files changed, 30 insertions(+), 41 deletions(-) diff --git a/cmd/guaccollect/cmd/deps_dev.go b/cmd/guaccollect/cmd/deps_dev.go index 5c59035190..82a26e85c3 100644 --- a/cmd/guaccollect/cmd/deps_dev.go +++ b/cmd/guaccollect/cmd/deps_dev.go @@ -94,11 +94,11 @@ you have access to read and write to the respective blob store.`, // Register collector depsDevCollector, err := deps_dev.NewDepsCollector(ctx, opts.dataSource, opts.poll, opts.retrieveDependencies, 30*time.Second) if err != nil { - logger.Errorf("unable to register oci collector: %v", err) + logger.Fatalf("unable to register oci collector: %v", err) } err = collector.RegisterDocumentCollector(depsDevCollector, deps_dev.DepsCollector) if err != nil { - logger.Errorf("unable to register oci collector: %v", err) + logger.Fatalf("unable to register oci collector: %v", err) } if opts.enablePrometheus { go func() { diff --git a/cmd/guaccollect/cmd/files.go b/cmd/guaccollect/cmd/files.go index 6af784cee0..69ff23a403 100644 --- a/cmd/guaccollect/cmd/files.go +++ b/cmd/guaccollect/cmd/files.go @@ -84,7 +84,7 @@ you have access to read and write to the respective blob store.`, fileCollector := file.NewFileCollector(ctx, opts.path, opts.poll, 30*time.Second) err = collector.RegisterDocumentCollector(fileCollector, file.FileCollector) if err != nil { - logger.Errorf("unable to register file collector: %v", err) + logger.Fatalf("unable to register file collector: %v", err) } initializeNATsandCollector(ctx, opts.pubsubAddr, opts.blobAddr) @@ -121,8 +121,7 @@ func initializeNATsandCollector(ctx context.Context, pubsubAddr string, blobAddr // TODO: pass in credentials file for NATS secure login jetStream := emitter.NewJetStream(pubsubAddr, "", "") if err := jetStream.JetStreamInit(ctx); err != nil { - logger.Errorf("jetStream initialization failed with error: %v", err) - os.Exit(1) + logger.Fatalf("jetStream initialization failed with error: %v", err) } defer jetStream.Close() } @@ -130,7 +129,7 @@ func initializeNATsandCollector(ctx context.Context, pubsubAddr string, blobAddr // initialize blob store blobStore, err := blob.NewBlobStore(ctx, blobAddr) if err != nil { - logger.Errorf("unable to connect to blog store: %v", err) + logger.Fatalf("unable to connect to blog store: %v", err) } // initialize pubsub @@ -147,8 +146,7 @@ func initializeNATsandCollector(ctx context.Context, pubsubAddr string, blobAddr emit := func(d *processor.Document) error { err = collectorPubFunc(d) if err != nil { - logger.Errorf("error publishing document from collector: %v", err) - os.Exit(1) + logger.Fatalf("error publishing document from collector: %v", err) } return nil } diff --git a/cmd/guaccollect/cmd/github.go b/cmd/guaccollect/cmd/github.go index ab0cb66dd8..4febd98128 100644 --- a/cmd/guaccollect/cmd/github.go +++ b/cmd/guaccollect/cmd/github.go @@ -108,7 +108,7 @@ you have access to read and write to the respective blob store.`, // GITHUB_TOKEN is the default token name ghc, err := githubclient.NewGithubClient(ctx, os.Getenv("GITHUB_TOKEN")) if err != nil { - logger.Errorf("unable to create github client: %v", err) + logger.Fatalf("unable to create github client: %v", err) } // Register collector @@ -129,11 +129,11 @@ you have access to read and write to the respective blob store.`, if opts.ownerRepoName != "" { if !strings.Contains(opts.ownerRepoName, "/") { - logger.Errorf("owner-repo flag must be in the format /") + logger.Fatalf("owner-repo flag must be in the format /") } else { ownerRepoName := strings.Split(opts.ownerRepoName, "/") if len(ownerRepoName) != 2 { - logger.Errorf("owner-repo flag must be in the format /") + logger.Fatalf("owner-repo flag must be in the format /") } collectorOpts = append(collectorOpts, github.WithOwner(ownerRepoName[0])) collectorOpts = append(collectorOpts, github.WithRepo(ownerRepoName[1])) @@ -142,11 +142,11 @@ you have access to read and write to the respective blob store.`, githubCollector, err := github.NewGithubCollector(collectorOpts...) if err != nil { - logger.Errorf("unable to create Github collector: %v", err) + logger.Fatalf("unable to create Github collector: %v", err) } err = collector.RegisterDocumentCollector(githubCollector, github.GithubCollector) if err != nil { - logger.Errorf("unable to register Github collector: %v", err) + logger.Fatalf("unable to register Github collector: %v", err) } initializeNATsandCollector(ctx, opts.pubsubAddr, opts.blobAddr) diff --git a/cmd/guaccollect/cmd/oci.go b/cmd/guaccollect/cmd/oci.go index 8eeffb2532..08768aee71 100644 --- a/cmd/guaccollect/cmd/oci.go +++ b/cmd/guaccollect/cmd/oci.go @@ -88,7 +88,7 @@ you have access to read and write to the respective blob store.`, ociCollector := oci.NewOCICollector(ctx, opts.dataSource, opts.poll, 30*time.Second) err = collector.RegisterDocumentCollector(ociCollector, oci.OCICollector) if err != nil { - logger.Errorf("unable to register oci collector: %v", err) + logger.Fatalf("unable to register oci collector: %v", err) } initializeNATsandCollector(ctx, opts.pubsubAddr, opts.blobAddr) diff --git a/cmd/guacingest/cmd/ingest.go b/cmd/guacingest/cmd/ingest.go index 76cb2f6980..7a8b8b8030 100644 --- a/cmd/guacingest/cmd/ingest.go +++ b/cmd/guacingest/cmd/ingest.go @@ -67,8 +67,7 @@ func ingest(cmd *cobra.Command, args []string) { // TODO: pass in credentials file for NATS secure login jetStream := emitter.NewJetStream(opts.pubsubAddr, "", "") if err := jetStream.JetStreamInit(ctx); err != nil { - logger.Errorf("jetStream initialization failed with error: %v", err) - os.Exit(1) + logger.Fatalf("jetStream initialization failed with error: %v", err) } defer jetStream.Close() } @@ -76,7 +75,7 @@ func ingest(cmd *cobra.Command, args []string) { // initialize blob store blobStore, err := blob.NewBlobStore(ctx, opts.blobAddr) if err != nil { - logger.Errorf("unable to connect to blog store: %v", err) + logger.Fatalf("unable to connect to blog store: %v", err) } // initialize pubsub diff --git a/cmd/guacone/cmd/deps_dev.go b/cmd/guacone/cmd/deps_dev.go index d362c1a2b2..e8c83d6bda 100644 --- a/cmd/guacone/cmd/deps_dev.go +++ b/cmd/guacone/cmd/deps_dev.go @@ -67,10 +67,10 @@ var depsDevCmd = &cobra.Command{ // Register collector depsDevCollector, err := deps_dev.NewDepsCollector(ctx, opts.dataSource, opts.poll, opts.retrieveDependencies, 30*time.Second) if err != nil { - logger.Errorf("unable to register depsdev collector: %v", err) + logger.Fatalf("unable to register depsdev collector: %v", err) } if err := collector.RegisterDocumentCollector(depsDevCollector, deps_dev.DepsCollector); err != nil { - logger.Errorf("unable to register depsdev collector: %v", err) + logger.Fatalf("unable to register depsdev collector: %v", err) } totalNum := 0 diff --git a/cmd/guacone/cmd/files.go b/cmd/guacone/cmd/files.go index f38ee95d3d..4e6a973e11 100644 --- a/cmd/guacone/cmd/files.go +++ b/cmd/guacone/cmd/files.go @@ -81,19 +81,17 @@ var filesCmd = &cobra.Command{ inmemory := inmemory.NewInmemoryProvider() err = key.RegisterKeyProvider(inmemory, inmemory.Type()) if err != nil { - logger.Errorf("unable to register key provider: %v", err) + logger.Fatalf("unable to register key provider: %v", err) } if opts.keyPath != "" && opts.keyID != "" { keyRaw, err := os.ReadFile(opts.keyPath) if err != nil { - logger.Errorf("error: %v", err) - os.Exit(1) + logger.Fatalf("error: %v", err) } err = key.Store(ctx, opts.keyID, keyRaw, inmemory.Type()) if err != nil { - logger.Errorf("error: %v", err) - os.Exit(1) + logger.Fatalf("error: %v", err) } } @@ -101,14 +99,14 @@ var filesCmd = &cobra.Command{ sigstoreAndKeyVerifier := sigstore_verifier.NewSigstoreAndKeyVerifier() err = verifier.RegisterVerifier(sigstoreAndKeyVerifier, sigstoreAndKeyVerifier.Type()) if err != nil { - logger.Errorf("unable to register key provider: %v", err) + logger.Fatalf("unable to register key provider: %v", err) } // Register collector fileCollector := file.NewFileCollector(ctx, opts.path, false, time.Second) err = collector.RegisterDocumentCollector(fileCollector, file.FileCollector) if err != nil { - logger.Errorf("unable to register file collector: %v", err) + logger.Fatalf("unable to register file collector: %v", err) } // initialize collectsub client diff --git a/cmd/guacone/cmd/oci.go b/cmd/guacone/cmd/oci.go index d7867e1541..5127670ebe 100644 --- a/cmd/guacone/cmd/oci.go +++ b/cmd/guacone/cmd/oci.go @@ -65,7 +65,7 @@ var ociCmd = &cobra.Command{ ociCollector := oci.NewOCICollector(ctx, opts.dataSource, false, 10*time.Minute) err = collector.RegisterDocumentCollector(ociCollector, oci.OCICollector) if err != nil { - logger.Errorf("unable to register oci collector: %v", err) + logger.Fatalf("unable to register oci collector: %v", err) } // initialize collectsub client diff --git a/cmd/guacone/cmd/s3.go b/cmd/guacone/cmd/s3.go index e1521b22a1..6a6f93abd2 100644 --- a/cmd/guacone/cmd/s3.go +++ b/cmd/guacone/cmd/s3.go @@ -112,8 +112,7 @@ $ guacone collect s3 --s3-url http://localhost:9000 --s3-bucket guac-test --poll }) if err := collector.RegisterDocumentCollector(s3Collector, s3.S3CollectorType); err != nil { - logger.Errorf("unable to register s3 collector: %v\n", err) - os.Exit(1) + logger.Fatalf("unable to register s3 collector: %v\n", err) } csubClient, err := csub_client.NewClient(s3Opts.csubClientOptions) diff --git a/internal/testing/cmd/ingest/cmd/example.go b/internal/testing/cmd/ingest/cmd/example.go index 8ae677ef9c..abdd283a6f 100644 --- a/internal/testing/cmd/ingest/cmd/example.go +++ b/internal/testing/cmd/ingest/cmd/example.go @@ -61,8 +61,7 @@ func ingestExample(cmd *cobra.Command, args []string) { // This is a test example, so we will ignore calling out to a collectsub service input, _, err := parser.ParseDocumentTree(ctx, doc) if err != nil { - logger.Errorf("unable to parse document: %v", err) - os.Exit(1) + logger.Fatalf("unable to parse document: %v", err) } // TODO(bulldozer): collate inputs diff --git a/internal/testing/cmd/pubsub_test/cmd/files.go b/internal/testing/cmd/pubsub_test/cmd/files.go index fb1d35e53b..3755b930b9 100644 --- a/internal/testing/cmd/pubsub_test/cmd/files.go +++ b/internal/testing/cmd/pubsub_test/cmd/files.go @@ -121,15 +121,14 @@ func initializeNATsandCollector(ctx context.Context, pubsubAddr string, blobAddr // TODO: pass in credentials file for NATS secure login jetStream := emitter.NewJetStream(pubsubAddr, "", "") if err := jetStream.JetStreamInit(ctx); err != nil { - logger.Errorf("jetStream initialization failed with error: %v", err) - os.Exit(1) + logger.Fatalf("jetStream initialization failed with error: %v", err) } defer jetStream.Close() } blobStore, err := blob.NewBlobStore(ctx, blobAddr) if err != nil { - logger.Errorf("unable to connect to blog store: %v", err) + logger.Fatalf("unable to connect to blog store: %v", err) } pubsub := emitter.NewEmitterPubSub(ctx, pubsubAddr) @@ -145,8 +144,7 @@ func initializeNATsandCollector(ctx context.Context, pubsubAddr string, blobAddr emit := func(d *processor.Document) error { err = collectorPubFunc(d) if err != nil { - logger.Errorf("error publishing document from collector: %v", err) - os.Exit(1) + logger.Fatalf("error publishing document from collector: %v", err) } return nil } diff --git a/internal/testing/cmd/pubsub_test/cmd/osv.go b/internal/testing/cmd/pubsub_test/cmd/osv.go index 6e83660cf0..16515fd61a 100644 --- a/internal/testing/cmd/pubsub_test/cmd/osv.go +++ b/internal/testing/cmd/pubsub_test/cmd/osv.go @@ -104,15 +104,14 @@ func initializeNATsandCertifier(ctx context.Context, opts options) { // TODO: pass in credentials file for NATS secure login jetStream := emitter.NewJetStream(opts.pubsubAddr, "", "") if err := jetStream.JetStreamInit(ctx); err != nil { - logger.Errorf("jetStream initialization failed with error: %v", err) - os.Exit(1) + logger.Fatalf("jetStream initialization failed with error: %v", err) } defer jetStream.Close() } blobStore, err := blob.NewBlobStore(ctx, opts.blobAddr) if err != nil { - logger.Errorf("unable to connect to blog store: %v", err) + logger.Fatalf("unable to connect to blog store: %v", err) } pubsub := emitter.NewEmitterPubSub(ctx, opts.pubsubAddr) @@ -136,8 +135,7 @@ func initializeNATsandCertifier(ctx context.Context, opts options) { emit := func(d *processor.Document) error { err = certifierPubFunc(d) if err != nil { - logger.Errorf("error publishing document from collector: %v", err) - os.Exit(1) + logger.Fatalf("error publishing document from collector: %v", err) } return nil }