refactor: change structure project

This commit is contained in:
lorsan
2026-05-03 19:17:55 +03:00
parent e289365ce8
commit c44fedb488
38 changed files with 62 additions and 59 deletions
+3 -1
View File
@@ -1,6 +1,8 @@
package main package main
import "github.com/lorsanstand/HomeOps-Hub/internal/agent/app" import (
"github.com/lorsanstand/HomeOps-Hub/agent/internal/app"
)
func main() { func main() {
start, err := app.NewApp() start, err := app.NewApp()
@@ -5,13 +5,13 @@ import (
standartlog "log" standartlog "log"
"github.com/docker/docker/client" "github.com/docker/docker/client"
"github.com/lorsanstand/HomeOps-Hub/internal/agent/rpc" "github.com/lorsanstand/HomeOps-Hub/agent/internal/rpc"
"github.com/lorsanstand/HomeOps-Hub/internal/agent/service/agent_service" "github.com/lorsanstand/HomeOps-Hub/agent/internal/service/agent_service"
"github.com/lorsanstand/HomeOps-Hub/internal/agent/service/collector" "github.com/lorsanstand/HomeOps-Hub/agent/internal/service/collector"
"github.com/lorsanstand/HomeOps-Hub/internal/agent/service/docker_service" "github.com/lorsanstand/HomeOps-Hub/agent/internal/service/docker_service"
"github.com/lorsanstand/HomeOps-Hub/internal/agent/utils/config_yaml" "github.com/lorsanstand/HomeOps-Hub/agent/internal/utils/config_yaml"
"github.com/lorsanstand/HomeOps-Hub/internal/agent/utils/settings" "github.com/lorsanstand/HomeOps-Hub/agent/internal/utils/settings"
log2 "github.com/lorsanstand/HomeOps-Hub/internal/shared/log" log2 "github.com/lorsanstand/HomeOps-Hub/shared/log"
"github.com/rs/zerolog" "github.com/rs/zerolog"
"google.golang.org/grpc" "google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure" "google.golang.org/grpc/credentials/insecure"
@@ -25,7 +25,6 @@ type App struct {
} }
func NewApp() (*App, error) { func NewApp() (*App, error) {
cfg, err := config_yaml.NewConfig() cfg, err := config_yaml.NewConfig()
if err != nil { if err != nil {
standartlog.Fatalf("failed to get config: %v", err) standartlog.Fatalf("failed to get config: %v", err)
@@ -49,7 +48,7 @@ func (a *App) Run() {
GRPCConn, err := grpc.NewClient(a.cfg.GetGRPCAddress(), grpc.WithTransportCredentials(insecure.NewCredentials())) GRPCConn, err := grpc.NewClient(a.cfg.GetGRPCAddress(), grpc.WithTransportCredentials(insecure.NewCredentials()))
if err != nil { if err != nil {
a.log.Error().Err(err).Msg("failed to get hub connections") a.log.Error().Err(err).Msg("failed to get agent connections")
return return
} }
@@ -4,7 +4,7 @@ import (
"context" "context"
pb "github.com/lorsanstand/HomeOps-Hub/api/gen/homeops" pb "github.com/lorsanstand/HomeOps-Hub/api/gen/homeops"
"github.com/lorsanstand/HomeOps-Hub/internal/domain" "github.com/lorsanstand/HomeOps-Hub/shared/domain"
"github.com/rs/zerolog" "github.com/rs/zerolog"
"google.golang.org/grpc" "google.golang.org/grpc"
) )
@@ -4,9 +4,9 @@ import (
"context" "context"
"fmt" "fmt"
"github.com/lorsanstand/HomeOps-Hub/internal/agent/utils/config_yaml" "github.com/lorsanstand/HomeOps-Hub/agent/internal/utils/config_yaml"
"github.com/lorsanstand/HomeOps-Hub/internal/agent/utils/settings" "github.com/lorsanstand/HomeOps-Hub/agent/internal/utils/settings"
"github.com/lorsanstand/HomeOps-Hub/internal/domain" "github.com/lorsanstand/HomeOps-Hub/shared/domain"
"github.com/rs/zerolog" "github.com/rs/zerolog"
) )
@@ -36,7 +36,7 @@ func NewAgentService(
cfg *config_yaml.AgentConfig, cfg *config_yaml.AgentConfig,
logger zerolog.Logger, logger zerolog.Logger,
) *AgentService { ) *AgentService {
logger = logger.With().Str("component", "agent.service.agent_serivce").Logger() logger = logger.With().Str("component", "cmd.service.agent_serivce").Logger()
return &AgentService{collect: collector, conn: conn, cfg: cfg, log: logger, settings: settings} return &AgentService{collect: collector, conn: conn, cfg: cfg, log: logger, settings: settings}
} }
@@ -49,12 +49,12 @@ func (a *AgentService) RegisterAgentConn(ctx context.Context) {
data, err := a.conn.RegisterAgent(ctx, AgentData) data, err := a.conn.RegisterAgent(ctx, AgentData)
if err != nil { if err != nil {
a.log.Error().Err(err).Msg("failed register agent") a.log.Error().Err(err).Msg("failed register cmd")
return return
} }
if err = a.settings.Insert(settings.Settings{AgentID: data.AgentID}); err != nil { if err = a.settings.Insert(settings.Settings{AgentID: data.AgentID}); err != nil {
a.log.Warn().Err(err).Msg("failed to save agent id") a.log.Warn().Err(err).Msg("failed to save cmd id")
} }
fmt.Println(data) fmt.Println(data)
} }
@@ -3,7 +3,7 @@ package agent_service
import ( import (
"context" "context"
"github.com/lorsanstand/HomeOps-Hub/internal/domain" "github.com/lorsanstand/HomeOps-Hub/shared/domain"
) )
type CollectorMock struct { type CollectorMock struct {
@@ -4,7 +4,7 @@ import (
"os" "os"
"runtime" "runtime"
"github.com/lorsanstand/HomeOps-Hub/internal/domain" "github.com/lorsanstand/HomeOps-Hub/shared/domain"
"github.com/rs/zerolog" "github.com/rs/zerolog"
) )
@@ -18,7 +18,7 @@ type Collector struct {
} }
func NewCollector(docker Docker, logger zerolog.Logger) *Collector { func NewCollector(docker Docker, logger zerolog.Logger) *Collector {
logger = logger.With().Str("component", "agent.service.collector").Logger() logger = logger.With().Str("component", "cmd.service.collector").Logger()
return &Collector{log: logger, dockerReader: docker} return &Collector{log: logger, dockerReader: docker}
} }
@@ -1,7 +1,7 @@
package docker_service package docker_service
import ( import (
"github.com/lorsanstand/HomeOps-Hub/internal/domain" "github.com/lorsanstand/HomeOps-Hub/shared/domain"
) )
type BadDocker struct { type BadDocker struct {
@@ -5,7 +5,7 @@ import (
"github.com/docker/docker/api/types" "github.com/docker/docker/api/types"
"github.com/docker/docker/api/types/container" "github.com/docker/docker/api/types/container"
"github.com/lorsanstand/HomeOps-Hub/internal/domain" "github.com/lorsanstand/HomeOps-Hub/shared/domain"
"github.com/rs/zerolog" "github.com/rs/zerolog"
) )
@@ -23,7 +23,7 @@ type DockerService struct {
func NewDockerService(api dockerAPI, logger zerolog.Logger) *DockerService { func NewDockerService(api dockerAPI, logger zerolog.Logger) *DockerService {
return &DockerService{ return &DockerService{
dockerClient: api, dockerClient: api,
log: logger.With().Str("component", "agent.serivce.docker").Logger(), log: logger.With().Str("component", "cmd.serivce.docker").Logger(),
} }
} }
+2 -2
View File
@@ -2,7 +2,7 @@
// versions: // versions:
// protoc-gen-go v1.36.11 // protoc-gen-go v1.36.11
// protoc v7.34.1 // protoc v7.34.1
// source: homeops/hub.proto // source: homeops/cmd.proto
package homeops package homeops
@@ -326,7 +326,7 @@ var File_homeops_hub_proto protoreflect.FileDescriptor
const file_homeops_hub_proto_rawDesc = "" + const file_homeops_hub_proto_rawDesc = "" +
"\n" + "\n" +
"\x11homeops/hub.proto\x1a\x1bgoogle/protobuf/empty.proto\"\"\n" + "\x11homeops/cmd.proto\x1a\x1bgoogle/protobuf/empty.proto\"\"\n" +
"\fPongResponse\x12\x12\n" + "\fPongResponse\x12\x12\n" +
"\x04pong\x18\x01 \x01(\tR\x04pong\"\xb6\x01\n" + "\x04pong\x18\x01 \x01(\tR\x04pong\"\xb6\x01\n" +
"\x14RegisterAgentRequest\x12\x19\n" + "\x14RegisterAgentRequest\x12\x19\n" +
+2 -2
View File
@@ -2,7 +2,7 @@
// versions: // versions:
// - protoc-gen-go-grpc v1.6.1 // - protoc-gen-go-grpc v1.6.1
// - protoc v7.34.1 // - protoc v7.34.1
// source: homeops/hub.proto // source: homeops/cmd.proto
package homeops package homeops
@@ -156,5 +156,5 @@ var Hub_ServiceDesc = grpc.ServiceDesc{
}, },
}, },
Streams: []grpc.StreamDesc{}, Streams: []grpc.StreamDesc{},
Metadata: "homeops/hub.proto", Metadata: "homeops/cmd.proto",
} }
-1
View File
@@ -1 +0,0 @@
package main
+3 -1
View File
@@ -1,6 +1,8 @@
package main package main
import "github.com/lorsanstand/HomeOps-Hub/internal/hub/app" import (
"github.com/lorsanstand/HomeOps-Hub/hub/internal/app"
)
func main() { func main() {
start := app.NewApp() start := app.NewApp()
@@ -8,13 +8,13 @@ import (
"net" "net"
"github.com/jackc/pgx/v5/pgxpool" "github.com/jackc/pgx/v5/pgxpool"
hubdir "github.com/lorsanstand/HomeOps-Hub/internal/hub" hubdir "github.com/lorsanstand/HomeOps-Hub/hub/internal"
"github.com/lorsanstand/HomeOps-Hub/internal/hub/migrator" "github.com/lorsanstand/HomeOps-Hub/hub/internal/migrator"
grpcserv "github.com/lorsanstand/HomeOps-Hub/internal/hub/rpc" grpcserv "github.com/lorsanstand/HomeOps-Hub/hub/internal/rpc"
"github.com/lorsanstand/HomeOps-Hub/internal/hub/service/hub_service" "github.com/lorsanstand/HomeOps-Hub/hub/internal/service/hub_service"
"github.com/lorsanstand/HomeOps-Hub/internal/hub/store" "github.com/lorsanstand/HomeOps-Hub/hub/internal/store"
"github.com/lorsanstand/HomeOps-Hub/internal/shared/config" "github.com/lorsanstand/HomeOps-Hub/shared/config"
"github.com/lorsanstand/HomeOps-Hub/internal/shared/log" "github.com/lorsanstand/HomeOps-Hub/shared/log"
"github.com/rs/zerolog" "github.com/rs/zerolog"
) )
@@ -3,7 +3,7 @@ package domain
import ( import (
"time" "time"
"github.com/lorsanstand/HomeOps-Hub/internal/domain" "github.com/lorsanstand/HomeOps-Hub/shared/domain"
) )
type CreateAgentModel struct { type CreateAgentModel struct {
@@ -1,4 +1,4 @@
package hub package internal
import "embed" import "embed"
@@ -5,6 +5,7 @@ import (
"embed" "embed"
"errors" "errors"
"fmt" "fmt"
_ "github.com/jackc/pgx/v5/stdlib" _ "github.com/jackc/pgx/v5/stdlib"
"github.com/golang-migrate/migrate/v4" "github.com/golang-migrate/migrate/v4"
@@ -4,7 +4,7 @@ import (
"context" "context"
pb "github.com/lorsanstand/HomeOps-Hub/api/gen/homeops" pb "github.com/lorsanstand/HomeOps-Hub/api/gen/homeops"
"github.com/lorsanstand/HomeOps-Hub/internal/domain" "github.com/lorsanstand/HomeOps-Hub/shared/domain"
"github.com/rs/zerolog" "github.com/rs/zerolog"
"google.golang.org/grpc" "google.golang.org/grpc"
"google.golang.org/protobuf/types/known/emptypb" "google.golang.org/protobuf/types/known/emptypb"
@@ -6,9 +6,9 @@ import (
"errors" "errors"
"fmt" "fmt"
"github.com/lorsanstand/HomeOps-Hub/internal/domain" domainHub "github.com/lorsanstand/HomeOps-Hub/hub/internal/domain"
domainHub "github.com/lorsanstand/HomeOps-Hub/internal/hub/domain" "github.com/lorsanstand/HomeOps-Hub/hub/internal/utils/hasher"
"github.com/lorsanstand/HomeOps-Hub/internal/hub/utils/hasher" "github.com/lorsanstand/HomeOps-Hub/shared/domain"
"github.com/rs/zerolog" "github.com/rs/zerolog"
) )
@@ -1,8 +1,8 @@
package hub_service package hub_service
import ( import (
"github.com/lorsanstand/HomeOps-Hub/internal/domain" domainHub "github.com/lorsanstand/HomeOps-Hub/hub/internal/domain"
domainHub "github.com/lorsanstand/HomeOps-Hub/internal/hub/domain" "github.com/lorsanstand/HomeOps-Hub/shared/domain"
) )
func toCreateAgentModel(agent domain.RegisterAgentRequest) domainHub.CreateAgentModel { func toCreateAgentModel(agent domain.RegisterAgentRequest) domainHub.CreateAgentModel {
@@ -3,13 +3,13 @@ package store
import ( import (
"encoding/json" "encoding/json"
"github.com/lorsanstand/HomeOps-Hub/internal/domain" domainHub "github.com/lorsanstand/HomeOps-Hub/hub/internal/domain"
domainHub "github.com/lorsanstand/HomeOps-Hub/internal/hub/domain" gen2 "github.com/lorsanstand/HomeOps-Hub/hub/internal/store/sqlc/gen"
"github.com/lorsanstand/HomeOps-Hub/internal/hub/store/sqlc/gen" "github.com/lorsanstand/HomeOps-Hub/shared/domain"
) )
func toDBAgent(agent domainHub.CreateAgentModel) gen.CreateAgentParams { func toDBAgent(agent domainHub.CreateAgentModel) gen2.CreateAgentParams {
return gen.CreateAgentParams{ return gen2.CreateAgentParams{
AgentID: agent.AgentID, AgentID: agent.AgentID,
AgentName: &agent.AgentName, AgentName: &agent.AgentName,
Architecture: agent.Architecture, Architecture: agent.Architecture,
@@ -20,8 +20,8 @@ func toDBAgent(agent domainHub.CreateAgentModel) gen.CreateAgentParams {
} }
} }
func toUpdateDBAgent(agent domainHub.CreateAgentModel) gen.UpdateAgentByIDParams { func toUpdateDBAgent(agent domainHub.CreateAgentModel) gen2.UpdateAgentByIDParams {
return gen.UpdateAgentByIDParams{ return gen2.UpdateAgentByIDParams{
AgentID: agent.AgentID, AgentID: agent.AgentID,
AgentName: &agent.AgentName, AgentName: &agent.AgentName,
Architecture: agent.Architecture, Architecture: agent.Architecture,
@@ -41,7 +41,7 @@ func toJsonCapabilities(caps []domain.Capability) []byte {
return data return data
} }
func toAgentModel(dbAgent gen.Agent) domainHub.AgentModel { func toAgentModel(dbAgent gen2.Agent) domainHub.AgentModel {
var dbAgentName string var dbAgentName string
if dbAgent.AgentName != nil { if dbAgent.AgentName != nil {
dbAgentName = *dbAgent.AgentName dbAgentName = *dbAgent.AgentName
@@ -1,7 +1,7 @@
// Code generated by sqlc. DO NOT EDIT. // Code generated by sqlc. DO NOT EDIT.
// versions: // versions:
// sqlc v1.30.0 // sqlc v1.30.0
// source: agent.sql // source: cmd.sql
package gen package gen
@@ -4,8 +4,8 @@ import (
"context" "context"
"github.com/jackc/pgx/v5/pgxpool" "github.com/jackc/pgx/v5/pgxpool"
domainHub "github.com/lorsanstand/HomeOps-Hub/internal/hub/domain" domainHub "github.com/lorsanstand/HomeOps-Hub/hub/internal/domain"
"github.com/lorsanstand/HomeOps-Hub/internal/hub/store/sqlc/gen" "github.com/lorsanstand/HomeOps-Hub/hub/internal/store/sqlc/gen"
) )
type HubStore struct { type HubStore struct {
@@ -6,7 +6,7 @@ import (
"encoding/hex" "encoding/hex"
"fmt" "fmt"
"github.com/lorsanstand/HomeOps-Hub/internal/domain" "github.com/lorsanstand/HomeOps-Hub/shared/domain"
) )
func newSalt(n int) ([]byte, error) { func newSalt(n int) ([]byte, error) {
+3 -3
View File
@@ -2,11 +2,11 @@ version: "2"
sql: sql:
- engine: "postgresql" - engine: "postgresql"
queries: "internal/hub/store/sqlc/queries" queries: "hub/internal/store/sqlc/queries"
schema: "./internal/hub/migrations/" schema: "./hub/internal/migrations/"
gen: gen:
go: go:
sql_package: "pgx/v5" sql_package: "pgx/v5"
package: "gen" package: "gen"
out: "internal/hub/store/sqlc/gen" out: "hub/internal/store/sqlc/gen"
emit_pointers_for_null_types: true emit_pointers_for_null_types: true