Skip to content

Commit

Permalink
fix: use of fatal and double error output
Browse files Browse the repository at this point in the history
  • Loading branch information
gotbadger committed Jan 8, 2024
1 parent f493379 commit 06745d8
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 19 deletions.
14 changes: 4 additions & 10 deletions cmd/bearer/main.go
Original file line number Diff line number Diff line change
@@ -1,22 +1,16 @@
package main

import (
"github.com/bearer/bearer/cmd/bearer/build"
"os"

"github.com/bearer/bearer/cmd/bearer/build"
"github.com/bearer/bearer/internal/commands"
"github.com/bearer/bearer/internal/util/output"
)

func main() {
if err := run(); err != nil {
output.Fatal(err.Error())
}
}

func run() error {
app := commands.NewApp(build.Version, build.CommitSHA)
if err := app.Execute(); err != nil {
return err
// error messages are printed by the framework
os.Exit(1)
}
return nil
}
9 changes: 5 additions & 4 deletions internal/commands/process/settings/rules.go
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ func loadRuleDefinitionsFromRemote(
definitions map[string]RuleDefinition,
options flagtypes.RuleOptions,
versionMeta *version_check.VersionMeta,
) {
) (err error) {
if options.DisableDefaultRules {
return
}
Expand All @@ -111,11 +111,12 @@ func loadRuleDefinitionsFromRemote(
urls = append(urls, value)
}

err := LoadRuleDefinitionsFromUrls(definitions, urls)
err = LoadRuleDefinitionsFromUrls(definitions, urls)
if err != nil {
output.Fatal(fmt.Sprintf("Error loading rules: %s", err))
// sysexit
err = fmt.Errorf("loading rules failed: %s", err)
}

return
}

func loadRuleDefinitionsFromDir(definitions map[string]RuleDefinition, dir fs.FS) error {
Expand Down
12 changes: 7 additions & 5 deletions internal/commands/process/settings/settings.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import (
flagtypes "github.com/bearer/bearer/internal/flag/types"
"github.com/bearer/bearer/internal/util/ignore"
ignoretypes "github.com/bearer/bearer/internal/util/ignore/types"
"github.com/bearer/bearer/internal/util/output"
"github.com/bearer/bearer/internal/util/rego"
"github.com/bearer/bearer/internal/version_check"

Expand Down Expand Up @@ -320,7 +319,10 @@ func defaultWorkerOptions() WorkerOptions {
}

func FromOptions(opts flagtypes.Options, versionMeta *version_check.VersionMeta) (Config, error) {
policies := DefaultPolicies()
policies, err := DefaultPolicies()
if err != nil {
return Config{}, err
}
workerOptions := defaultWorkerOptions()
result, err := loadRules(
opts.ExternalRuleDir,
Expand Down Expand Up @@ -417,20 +419,20 @@ func (filter *PatternFilter) UnmarshalYAML(unmarshal func(interface{}) error) er
return nil
}

func DefaultPolicies() map[string]*Policy {
func DefaultPolicies() (map[string]*Policy, error) {
policies := make(map[string]*Policy)
var policy []*Policy

err := yaml.Unmarshal(defaultPolicies, &policy)
if err != nil {
output.Fatal(fmt.Sprintf("failed to unmarshal policy file %s", err))
return nil, fmt.Errorf("failed to unmarshal policy file %s", err)
}

for _, policy := range policy {
policies[policy.Type] = policy
}

return policies
return policies, nil
}

func ProcessorRegoModuleText(processorName string) (string, error) {
Expand Down
3 changes: 3 additions & 0 deletions internal/util/ignore/ignore.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,9 @@ func GetIgnoredFingerprints(filePath string, target *string) (ignoredFingerprint
}

err = json.Unmarshal(content, &ignoredFingerprints)
if err != nil {
err = fmt.Errorf("ignore file '%s' is invalid - %s", ignoreFilePath, err)
}
return ignoredFingerprints, ignoreFilePath, true, err
}

Expand Down

0 comments on commit 06745d8

Please sign in to comment.