From 2601fea3464b10eef092f7441747a3a90d2b89f7 Mon Sep 17 00:00:00 2001 From: Christian Kotzbauer Date: Sat, 1 Oct 2022 17:27:35 +0200 Subject: [PATCH] fix: fail on target-init error Signed-off-by: Christian Kotzbauer --- internal/daemon/daemon.go | 6 +++++- internal/processor/processor.go | 5 ++++- internal/target/configmap/configmap_target.go | 3 ++- internal/target/dtrack/dtrack_target.go | 3 ++- internal/target/git/git_target.go | 4 ++-- internal/target/oci/oci_target.go | 3 ++- internal/target/target.go | 2 +- 7 files changed, 18 insertions(+), 8 deletions(-) diff --git a/internal/daemon/daemon.go b/internal/daemon/daemon.go index b96ceb6b..c6d78f4e 100644 --- a/internal/daemon/daemon.go +++ b/internal/daemon/daemon.go @@ -59,7 +59,11 @@ func (c *CronService) runBackgroundService() { if !processor.HasJobImage() { for _, t := range c.processor.Targets { - t.Initialize() + err := t.Initialize() + if err != nil { + logrus.Fatalf("Target could not be initialized: %w", err) + } + t.LoadImages() } } diff --git a/internal/processor/processor.go b/internal/processor/processor.go index af794db5..9124da4a 100644 --- a/internal/processor/processor.go +++ b/internal/processor/processor.go @@ -314,7 +314,10 @@ func (p *Processor) runInformerAsync(informer cache.SharedIndexInformer) { go func() { if !HasJobImage() { for _, t := range p.Targets { - t.Initialize() + err := t.Initialize() + if err != nil { + logrus.Fatalf("Target could not be initialized: %w", err) + } } } diff --git a/internal/target/configmap/configmap_target.go b/internal/target/configmap/configmap_target.go index b748316d..c8e8d1be 100644 --- a/internal/target/configmap/configmap_target.go +++ b/internal/target/configmap/configmap_target.go @@ -24,7 +24,8 @@ func (g *ConfigMapTarget) ValidateConfig() error { return nil } -func (g *ConfigMapTarget) Initialize() { +func (g *ConfigMapTarget) Initialize() error { + return nil } func (g *ConfigMapTarget) ProcessSbom(ctx *target.TargetContext) error { diff --git a/internal/target/dtrack/dtrack_target.go b/internal/target/dtrack/dtrack_target.go index 17cdae9f..9bf82b17 100644 --- a/internal/target/dtrack/dtrack_target.go +++ b/internal/target/dtrack/dtrack_target.go @@ -51,7 +51,8 @@ func (g *DependencyTrackTarget) ValidateConfig() error { return nil } -func (g *DependencyTrackTarget) Initialize() { +func (g *DependencyTrackTarget) Initialize() error { + return nil } func (g *DependencyTrackTarget) ProcessSbom(ctx *target.TargetContext) error { diff --git a/internal/target/git/git_target.go b/internal/target/git/git_target.go index 3373384a..afbfb232 100644 --- a/internal/target/git/git_target.go +++ b/internal/target/git/git_target.go @@ -61,8 +61,8 @@ func (g *GitTarget) ValidateConfig() error { return nil } -func (g *GitTarget) Initialize() { - g.gitAccount.PrepareRepository(g.repository, g.workingTree, g.branch) +func (g *GitTarget) Initialize() error { + return g.gitAccount.PrepareRepository(g.repository, g.workingTree, g.branch) } func (g *GitTarget) ProcessSbom(ctx *target.TargetContext) error { diff --git a/internal/target/oci/oci_target.go b/internal/target/oci/oci_target.go index beaa2b5d..05799746 100644 --- a/internal/target/oci/oci_target.go +++ b/internal/target/oci/oci_target.go @@ -48,7 +48,8 @@ func (g *OciTarget) ValidateConfig() error { return nil } -func (g *OciTarget) Initialize() { +func (g *OciTarget) Initialize() error { + return nil } func (g *OciTarget) ProcessSbom(ctx *target.TargetContext) error { diff --git a/internal/target/target.go b/internal/target/target.go index 5fa94dee..923935c0 100644 --- a/internal/target/target.go +++ b/internal/target/target.go @@ -13,7 +13,7 @@ type TargetContext struct { } type Target interface { - Initialize() + Initialize() error ValidateConfig() error ProcessSbom(ctx *TargetContext) error LoadImages() []*oci.RegistryImage