diff --git a/workers/scaleset/controller.go b/workers/scaleset/controller.go index 41e7578c..5d00471f 100644 --- a/workers/scaleset/controller.go +++ b/workers/scaleset/controller.go @@ -26,7 +26,7 @@ const ( ) func NewController(ctx context.Context, store dbCommon.Store, entity params.GithubEntity, providers map[string]common.Provider) (*Controller, error) { - consumerID := fmt.Sprintf("scaleset-worker-%s", entity.String()) + consumerID := fmt.Sprintf("scaleset-controller-%s", entity.String()) ctx = garmUtil.WithSlogContext( ctx, diff --git a/workers/scaleset/controller_watcher.go b/workers/scaleset/controller_watcher.go index 9d94c794..6702e0f0 100644 --- a/workers/scaleset/controller_watcher.go +++ b/workers/scaleset/controller_watcher.go @@ -31,7 +31,7 @@ func (c *Controller) handleWatcherEvent(event dbCommon.ChangePayload) { func (c *Controller) handleScaleSet(event dbCommon.ChangePayload) { scaleSet, ok := event.Payload.(params.ScaleSet) if !ok { - slog.ErrorContext(c.ctx, "invalid payload for entity type", "entity_type", event.EntityType, "payload", event.Payload) + slog.ErrorContext(c.ctx, "invalid scale set payload for entity type", "entity_type", event.EntityType, "payload", event) return } @@ -131,7 +131,7 @@ func (c *Controller) handleScaleSetUpdateOperation(sSet params.ScaleSet) error { func (c *Controller) handleCredentialsEvent(event dbCommon.ChangePayload) { credentials, ok := event.Payload.(params.GithubCredentials) if !ok { - slog.ErrorContext(c.ctx, "invalid payload for entity type", "entity_type", event.EntityType, "payload", event.Payload) + slog.ErrorContext(c.ctx, "invalid credentials payload for entity type", "entity_type", event.EntityType, "payload", event) return } @@ -158,9 +158,24 @@ func (c *Controller) handleCredentialsEvent(event dbCommon.ChangePayload) { } func (c *Controller) handleEntityEvent(event dbCommon.ChangePayload) { - entity, ok := event.Payload.(params.GithubEntity) + var entityGetter params.EntityGetter + var ok bool + switch c.Entity.EntityType { + case params.GithubEntityTypeRepository: + entityGetter, ok = event.Payload.(params.Repository) + case params.GithubEntityTypeOrganization: + entityGetter, ok = event.Payload.(params.Organization) + case params.GithubEntityTypeEnterprise: + entityGetter, ok = event.Payload.(params.Enterprise) + } if !ok { - slog.ErrorContext(c.ctx, "invalid payload for entity type", "entity_type", event.EntityType, "payload", event.Payload) + slog.ErrorContext(c.ctx, "invalid entity payload for entity type", "entity_type", event.EntityType, "payload", event) + return + } + + entity, err := entityGetter.GetEntity() + if err != nil { + slog.ErrorContext(c.ctx, "invalid GitHub entity payload for entity type", "entity_type", event.EntityType, "payload", event) return }