diff --git a/api/application.go b/api/application.go index b4bee163..4384a9c8 100644 --- a/api/application.go +++ b/api/application.go @@ -249,9 +249,13 @@ func (h ApplicationHandler) Create(ctx *gin.Context) { return } + rtx := WithContext(ctx) tr := trigger.Application{ - TaskManager: WithContext(ctx).TaskManager, - DB: h.DB(ctx), + Trigger: trigger.Trigger{ + TaskManager: rtx.TaskManager, + Client: rtx.Client, + DB: h.DB(ctx), + }, } err = tr.Created(m) if err != nil { @@ -384,9 +388,13 @@ func (h ApplicationHandler) Update(ctx *gin.Context) { } } + rtx := WithContext(ctx) tr := trigger.Application{ - TaskManager: WithContext(ctx).TaskManager, - DB: h.DB(ctx), + Trigger: trigger.Trigger{ + TaskManager: rtx.TaskManager, + Client: rtx.Client, + DB: h.DB(ctx), + }, } err = tr.Updated(m) if err != nil { diff --git a/api/identity.go b/api/identity.go index 1ee91bac..40d5bd41 100644 --- a/api/identity.go +++ b/api/identity.go @@ -208,9 +208,13 @@ func (h IdentityHandler) Update(ctx *gin.Context) { return } + rtx := WithContext(ctx) tr := trigger.Identity{ - TaskManager: WithContext(ctx).TaskManager, - DB: h.DB(ctx), + Trigger: trigger.Trigger{ + TaskManager: rtx.TaskManager, + Client: rtx.Client, + DB: h.DB(ctx), + }, } err = tr.Updated(m) if err != nil { diff --git a/importer/manager.go b/importer/manager.go index bcf7ef47..b11f45e4 100644 --- a/importer/manager.go +++ b/importer/manager.go @@ -346,8 +346,11 @@ func (m *Manager) createApplication(imp *model.Import) (ok bool) { } // best effort tr := trigger.Application{ - TaskManager: m.TaskManager, - DB: m.DB, + Trigger: trigger.Trigger{ + TaskManager: m.TaskManager, + Client: m.Client, + DB: m.DB, + }, } err := tr.Created(app) if err != nil { diff --git a/trigger/application.go b/trigger/application.go index a89b13d1..44823f63 100644 --- a/trigger/application.go +++ b/trigger/application.go @@ -5,14 +5,11 @@ import ( "github.com/konveyor/tackle2-hub/model" tasking "github.com/konveyor/tackle2-hub/task" - "gorm.io/gorm" ) // Application trigger. type Application struct { Trigger - TaskManager *tasking.Manager - DB *gorm.DB } // Created trigger. diff --git a/trigger/identity.go b/trigger/identity.go index 703e5e2d..e8416c6a 100644 --- a/trigger/identity.go +++ b/trigger/identity.go @@ -2,22 +2,21 @@ package trigger import ( "github.com/konveyor/tackle2-hub/model" - tasking "github.com/konveyor/tackle2-hub/task" - "gorm.io/gorm" ) // Identity trigger. type Identity struct { Trigger - TaskManager *tasking.Manager - DB *gorm.DB } // Updated model created trigger. func (r *Identity) Updated(m *model.Identity) (err error) { tr := Application{ - TaskManager: r.TaskManager, - DB: r.DB, + Trigger: Trigger{ + TaskManager: r.TaskManager, + Client: r.Client, + DB: r.DB, + }, } for i := range m.Applications { err = tr.Updated(&m.Applications[i]) diff --git a/trigger/pkg.go b/trigger/pkg.go index a731fc19..20bd344e 100644 --- a/trigger/pkg.go +++ b/trigger/pkg.go @@ -6,11 +6,11 @@ import ( liberr "github.com/jortel/go-utils/error" crd "github.com/konveyor/tackle2-hub/k8s/api/tackle/v1alpha2" "github.com/konveyor/tackle2-hub/settings" + tasking "github.com/konveyor/tackle2-hub/task" + "gorm.io/gorm" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/selection" - "k8s.io/client-go/kubernetes/scheme" k8sclient "sigs.k8s.io/controller-runtime/pkg/client" - "sigs.k8s.io/controller-runtime/pkg/client/config" ) var ( @@ -19,20 +19,13 @@ var ( // Trigger supports actions triggered by model changes. type Trigger struct { + TaskManager *tasking.Manager + Client k8sclient.Client + DB *gorm.DB } // FindTasks returns tasks with the specified label. func (r *Trigger) FindTasks(label string) (matched []*crd.Task, err error) { - cfg, _ := config.GetConfig() - client, err := k8sclient.New( - cfg, - k8sclient.Options{ - Scheme: scheme.Scheme, - }) - if err != nil { - err = liberr.Wrap(err) - return - } selector := labels.NewSelector() req, _ := labels.NewRequirement( label, @@ -44,7 +37,7 @@ func (r *Trigger) FindTasks(label string) (matched []*crd.Task, err error) { LabelSelector: selector, } list := crd.TaskList{} - err = client.List( + err = r.Client.List( context.TODO(), &list, options)