diff --git a/hub/internal/app/app.go b/hub/internal/app/app.go index 5f1a1b5..9b825c3 100644 --- a/hub/internal/app/app.go +++ b/hub/internal/app/app.go @@ -27,6 +27,7 @@ func NewApp() *App { cfg, err := config.NewConfig() if err != nil { standartlog.Fatalf("failed get config: %v", err) + return nil } logger := log.NewLogger(cfg) @@ -80,7 +81,6 @@ func (a *App) Run() { func (a *App) hubServe(hubService *hub_service.HubService) error { address := fmt.Sprintf("0.0.0.0:%v", a.cfg.Port) - a.log.Info().Str("address", address).Msg("starting gRPC server") server := grpcserv.NewHubHandler(hubService, a.log) diff --git a/hub/internal/rpc/server.go b/hub/internal/rpc/server.go index da37823..d9de289 100644 --- a/hub/internal/rpc/server.go +++ b/hub/internal/rpc/server.go @@ -38,13 +38,13 @@ func (h *HubHandler) Ping(ctx context.Context, _ *emptypb.Empty) (*pb.PongRespon } func (h *HubHandler) RegisterAgent(ctx context.Context, request *pb.RegisterAgentRequest) (*pb.RegisterAgentResponse, error) { - h.log.Debug().Str("agentId", request.AgentId).Str("agentName", request.AgentName).Msg("register agent request received") + h.log.Debug().Str("agentID", request.AgentId).Str("agentName", request.AgentName).Msg("register agent request received") data := domain.ToDomainAgentRequest(request) resp, err := h.hub.RegisterAgent(ctx, data) if err != nil { - h.log.Error().Err(err).Str("agentId", request.AgentId).Msg("register agent request failed") + h.log.Error().Err(err).Str("agentID", request.AgentId).Msg("register agent request failed") return domain.ToGRPCAgentResponse(resp), err } - h.log.Debug().Str("agentId", resp.AgentID).Msg("register agent request completed") + h.log.Info().Str("agentID", resp.AgentID).Msg("register agent request completed") return domain.ToGRPCAgentResponse(resp), nil } diff --git a/hub/internal/service/hub_service/hub.go b/hub/internal/service/hub_service/hub.go index f086429..d9b7cae 100644 --- a/hub/internal/service/hub_service/hub.go +++ b/hub/internal/service/hub_service/hub.go @@ -12,6 +12,8 @@ import ( "github.com/rs/zerolog" ) +const HEARTBEAT = 5 + type Store interface { NewAgent(ctx context.Context, agent domainHub.CreateAgentModel) error GetAgentByAgentID(ctx context.Context, AgentID string) (domainHub.AgentModel, error) @@ -28,32 +30,29 @@ func NewHubService(store Store, logger zerolog.Logger) *HubService { } func (h *HubService) RegisterAgent(ctx context.Context, data domain.RegisterAgentRequest) (domain.RegisterAgentResponse, error) { - h.log.Debug().Str("agentId", data.AgentId).Str("agentName", data.AgentName).Msg("started registering agent") + h.log.Debug().Str("agentID", data.AgentId).Str("agentName", data.AgentName).Msg("started registering agent") agent, err := h.store.GetAgentByAgentID(ctx, data.AgentId) if err != nil && !errors.Is(err, sql.ErrNoRows) { - h.log.Error().Err(err).Str("agentId", data.AgentId).Msg("failed to get agent from database") return domain.RegisterAgentResponse{}, fmt.Errorf("failed select agent to db: %w", err) } if data.AgentId != "" && !errors.Is(err, sql.ErrNoRows) { - h.log.Debug().Str("agentId", agent.AgentID).Str("agentName", data.AgentName).Msg("agent exists, updating") + h.log.Debug().Str("agentID", agent.AgentID).Str("agentName", data.AgentName).Msg("agent exists, updating") data.AgentId = agent.AgentID agentStore := toCreateAgentModel(data) if err := h.store.UpdateAgentByID(ctx, agent.ID, agentStore); err != nil { - h.log.Error().Err(err).Str("agentId", agent.AgentID).Msg("failed to update agent in database") - return domain.RegisterAgentResponse{}, err + return domain.RegisterAgentResponse{}, fmt.Errorf("update agent in db: %w", err) } - h.log.Info().Str("agentId", agent.AgentID).Msg("agent updated successfully") - return domain.RegisterAgentResponse{AgentID: agent.AgentID, Heartbeat: 5}, nil + h.log.Debug().Str("agentId", agent.AgentID).Msg("agent updated successfully") + return domain.RegisterAgentResponse{AgentID: agent.AgentID, Heartbeat: HEARTBEAT}, nil } AgentID, err := hasher.MakeID(data.Host, data.AgentName) if err != nil { - h.log.Error().Err(err).Str("agentName", data.AgentName).Str("hostname", data.Host.Hostname).Msg("failed to generate agent id") - return domain.RegisterAgentResponse{}, err + return domain.RegisterAgentResponse{}, fmt.Errorf("generate agent ID: %w", err) } data.AgentId = AgentID @@ -61,10 +60,7 @@ func (h *HubService) RegisterAgent(ctx context.Context, data domain.RegisterAgen agentStore := toCreateAgentModel(data) if err := h.store.NewAgent(ctx, agentStore); err != nil { - h.log.Error().Err(err).Str("agentId", AgentID).Str("agentName", data.AgentName).Msg("failed to create new agent in database") - return domain.RegisterAgentResponse{}, err + return domain.RegisterAgentResponse{}, fmt.Errorf("insert new agent: %w", err) } - - h.log.Info().Str("agentId", AgentID).Str("agentName", data.AgentName).Str("hostname", data.Host.Hostname).Msg("agent registered successfully") - return domain.RegisterAgentResponse{AgentID: AgentID, Heartbeat: 5}, nil + return domain.RegisterAgentResponse{AgentID: AgentID, Heartbeat: HEARTBEAT}, nil }