diff --git a/cmd/agent/main.go b/agent/cmd/main.go similarity index 59% rename from cmd/agent/main.go rename to agent/cmd/main.go index 67febdd..21839cc 100644 --- a/cmd/agent/main.go +++ b/agent/cmd/main.go @@ -1,6 +1,8 @@ package main -import "github.com/lorsanstand/HomeOps-Hub/internal/agent/app" +import ( + "github.com/lorsanstand/HomeOps-Hub/agent/internal/app" +) func main() { start, err := app.NewApp() diff --git a/internal/agent/app/app.go b/agent/internal/app/app.go similarity index 76% rename from internal/agent/app/app.go rename to agent/internal/app/app.go index a588b6d..679bca8 100644 --- a/internal/agent/app/app.go +++ b/agent/internal/app/app.go @@ -5,13 +5,13 @@ import ( standartlog "log" "github.com/docker/docker/client" - "github.com/lorsanstand/HomeOps-Hub/internal/agent/rpc" - "github.com/lorsanstand/HomeOps-Hub/internal/agent/service/agent_service" - "github.com/lorsanstand/HomeOps-Hub/internal/agent/service/collector" - "github.com/lorsanstand/HomeOps-Hub/internal/agent/service/docker_service" - "github.com/lorsanstand/HomeOps-Hub/internal/agent/utils/config_yaml" - "github.com/lorsanstand/HomeOps-Hub/internal/agent/utils/settings" - log2 "github.com/lorsanstand/HomeOps-Hub/internal/shared/log" + "github.com/lorsanstand/HomeOps-Hub/agent/internal/rpc" + "github.com/lorsanstand/HomeOps-Hub/agent/internal/service/agent_service" + "github.com/lorsanstand/HomeOps-Hub/agent/internal/service/collector" + "github.com/lorsanstand/HomeOps-Hub/agent/internal/service/docker_service" + "github.com/lorsanstand/HomeOps-Hub/agent/internal/utils/config_yaml" + "github.com/lorsanstand/HomeOps-Hub/agent/internal/utils/settings" + log2 "github.com/lorsanstand/HomeOps-Hub/shared/log" "github.com/rs/zerolog" "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" @@ -25,7 +25,6 @@ type App struct { } func NewApp() (*App, error) { - cfg, err := config_yaml.NewConfig() if err != nil { 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())) 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 } diff --git a/internal/agent/rpc/client.go b/agent/internal/rpc/client.go similarity index 94% rename from internal/agent/rpc/client.go rename to agent/internal/rpc/client.go index a945085..35c8d38 100644 --- a/internal/agent/rpc/client.go +++ b/agent/internal/rpc/client.go @@ -4,7 +4,7 @@ import ( "context" 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" "google.golang.org/grpc" ) diff --git a/internal/agent/service/agent_service/agent.go b/agent/internal/service/agent_service/agent.go similarity index 77% rename from internal/agent/service/agent_service/agent.go rename to agent/internal/service/agent_service/agent.go index af9f050..ad49af3 100644 --- a/internal/agent/service/agent_service/agent.go +++ b/agent/internal/service/agent_service/agent.go @@ -4,9 +4,9 @@ import ( "context" "fmt" - "github.com/lorsanstand/HomeOps-Hub/internal/agent/utils/config_yaml" - "github.com/lorsanstand/HomeOps-Hub/internal/agent/utils/settings" - "github.com/lorsanstand/HomeOps-Hub/internal/domain" + "github.com/lorsanstand/HomeOps-Hub/agent/internal/utils/config_yaml" + "github.com/lorsanstand/HomeOps-Hub/agent/internal/utils/settings" + "github.com/lorsanstand/HomeOps-Hub/shared/domain" "github.com/rs/zerolog" ) @@ -36,7 +36,7 @@ func NewAgentService( cfg *config_yaml.AgentConfig, logger zerolog.Logger, ) *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} } @@ -49,12 +49,12 @@ func (a *AgentService) RegisterAgentConn(ctx context.Context) { data, err := a.conn.RegisterAgent(ctx, AgentData) if err != nil { - a.log.Error().Err(err).Msg("failed register agent") + a.log.Error().Err(err).Msg("failed register cmd") return } 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) } diff --git a/internal/agent/service/agent_service/agent_test.go b/agent/internal/service/agent_service/agent_test.go similarity index 90% rename from internal/agent/service/agent_service/agent_test.go rename to agent/internal/service/agent_service/agent_test.go index b6852ac..5c3bb2c 100644 --- a/internal/agent/service/agent_service/agent_test.go +++ b/agent/internal/service/agent_service/agent_test.go @@ -3,7 +3,7 @@ package agent_service import ( "context" - "github.com/lorsanstand/HomeOps-Hub/internal/domain" + "github.com/lorsanstand/HomeOps-Hub/shared/domain" ) type CollectorMock struct { diff --git a/internal/agent/service/collector/collector.go b/agent/internal/service/collector/collector.go similarity index 84% rename from internal/agent/service/collector/collector.go rename to agent/internal/service/collector/collector.go index 93cea10..36aac43 100644 --- a/internal/agent/service/collector/collector.go +++ b/agent/internal/service/collector/collector.go @@ -4,7 +4,7 @@ import ( "os" "runtime" - "github.com/lorsanstand/HomeOps-Hub/internal/domain" + "github.com/lorsanstand/HomeOps-Hub/shared/domain" "github.com/rs/zerolog" ) @@ -18,7 +18,7 @@ type Collector struct { } 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} } diff --git a/internal/agent/service/docker_service/bad.go b/agent/internal/service/docker_service/bad.go similarity index 85% rename from internal/agent/service/docker_service/bad.go rename to agent/internal/service/docker_service/bad.go index 6c48587..ed02d48 100644 --- a/internal/agent/service/docker_service/bad.go +++ b/agent/internal/service/docker_service/bad.go @@ -1,7 +1,7 @@ package docker_service import ( - "github.com/lorsanstand/HomeOps-Hub/internal/domain" + "github.com/lorsanstand/HomeOps-Hub/shared/domain" ) type BadDocker struct { diff --git a/internal/agent/service/docker_service/docker.go b/agent/internal/service/docker_service/docker.go similarity index 89% rename from internal/agent/service/docker_service/docker.go rename to agent/internal/service/docker_service/docker.go index 487b1e1..43c950b 100644 --- a/internal/agent/service/docker_service/docker.go +++ b/agent/internal/service/docker_service/docker.go @@ -5,7 +5,7 @@ import ( "github.com/docker/docker/api/types" "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" ) @@ -23,7 +23,7 @@ type DockerService struct { func NewDockerService(api dockerAPI, logger zerolog.Logger) *DockerService { return &DockerService{ dockerClient: api, - log: logger.With().Str("component", "agent.serivce.docker").Logger(), + log: logger.With().Str("component", "cmd.serivce.docker").Logger(), } } diff --git a/internal/agent/service/docker_service/docker_test.go b/agent/internal/service/docker_service/docker_test.go similarity index 100% rename from internal/agent/service/docker_service/docker_test.go rename to agent/internal/service/docker_service/docker_test.go diff --git a/internal/agent/utils/config_yaml/config.go b/agent/internal/utils/config_yaml/config.go similarity index 100% rename from internal/agent/utils/config_yaml/config.go rename to agent/internal/utils/config_yaml/config.go diff --git a/internal/agent/utils/config_yaml/config_yaml_test.go b/agent/internal/utils/config_yaml/config_yaml_test.go similarity index 100% rename from internal/agent/utils/config_yaml/config_yaml_test.go rename to agent/internal/utils/config_yaml/config_yaml_test.go diff --git a/internal/agent/utils/settings/settings.go b/agent/internal/utils/settings/settings.go similarity index 100% rename from internal/agent/utils/settings/settings.go rename to agent/internal/utils/settings/settings.go diff --git a/api/gen/homeops/hub.pb.go b/api/gen/homeops/hub.pb.go index 284f28c..e8aad80 100644 --- a/api/gen/homeops/hub.pb.go +++ b/api/gen/homeops/hub.pb.go @@ -2,7 +2,7 @@ // versions: // protoc-gen-go v1.36.11 // protoc v7.34.1 -// source: homeops/hub.proto +// source: homeops/cmd.proto package homeops @@ -326,7 +326,7 @@ var File_homeops_hub_proto protoreflect.FileDescriptor const file_homeops_hub_proto_rawDesc = "" + "\n" + - "\x11homeops/hub.proto\x1a\x1bgoogle/protobuf/empty.proto\"\"\n" + + "\x11homeops/cmd.proto\x1a\x1bgoogle/protobuf/empty.proto\"\"\n" + "\fPongResponse\x12\x12\n" + "\x04pong\x18\x01 \x01(\tR\x04pong\"\xb6\x01\n" + "\x14RegisterAgentRequest\x12\x19\n" + diff --git a/api/gen/homeops/hub_grpc.pb.go b/api/gen/homeops/hub_grpc.pb.go index e032d6c..c5a605c 100644 --- a/api/gen/homeops/hub_grpc.pb.go +++ b/api/gen/homeops/hub_grpc.pb.go @@ -2,7 +2,7 @@ // versions: // - protoc-gen-go-grpc v1.6.1 // - protoc v7.34.1 -// source: homeops/hub.proto +// source: homeops/cmd.proto package homeops @@ -156,5 +156,5 @@ var Hub_ServiceDesc = grpc.ServiceDesc{ }, }, Streams: []grpc.StreamDesc{}, - Metadata: "homeops/hub.proto", + Metadata: "homeops/cmd.proto", } diff --git a/cmd/telegram/main.go b/cmd/telegram/main.go deleted file mode 100644 index 06ab7d0..0000000 --- a/cmd/telegram/main.go +++ /dev/null @@ -1 +0,0 @@ -package main diff --git a/cmd/hub/main.go b/hub/cmd/main.go similarity index 50% rename from cmd/hub/main.go rename to hub/cmd/main.go index afc06ec..5e2033c 100644 --- a/cmd/hub/main.go +++ b/hub/cmd/main.go @@ -1,6 +1,8 @@ package main -import "github.com/lorsanstand/HomeOps-Hub/internal/hub/app" +import ( + "github.com/lorsanstand/HomeOps-Hub/hub/internal/app" +) func main() { start := app.NewApp() diff --git a/internal/hub/app/app.go b/hub/internal/app/app.go similarity index 84% rename from internal/hub/app/app.go rename to hub/internal/app/app.go index 56652b0..5f1a1b5 100644 --- a/internal/hub/app/app.go +++ b/hub/internal/app/app.go @@ -8,13 +8,13 @@ import ( "net" "github.com/jackc/pgx/v5/pgxpool" - hubdir "github.com/lorsanstand/HomeOps-Hub/internal/hub" - "github.com/lorsanstand/HomeOps-Hub/internal/hub/migrator" - grpcserv "github.com/lorsanstand/HomeOps-Hub/internal/hub/rpc" - "github.com/lorsanstand/HomeOps-Hub/internal/hub/service/hub_service" - "github.com/lorsanstand/HomeOps-Hub/internal/hub/store" - "github.com/lorsanstand/HomeOps-Hub/internal/shared/config" - "github.com/lorsanstand/HomeOps-Hub/internal/shared/log" + hubdir "github.com/lorsanstand/HomeOps-Hub/hub/internal" + "github.com/lorsanstand/HomeOps-Hub/hub/internal/migrator" + grpcserv "github.com/lorsanstand/HomeOps-Hub/hub/internal/rpc" + "github.com/lorsanstand/HomeOps-Hub/hub/internal/service/hub_service" + "github.com/lorsanstand/HomeOps-Hub/hub/internal/store" + "github.com/lorsanstand/HomeOps-Hub/shared/config" + "github.com/lorsanstand/HomeOps-Hub/shared/log" "github.com/rs/zerolog" ) diff --git a/internal/hub/domain/structure.go b/hub/internal/domain/structure.go similarity index 89% rename from internal/hub/domain/structure.go rename to hub/internal/domain/structure.go index 795fe89..79bea4a 100644 --- a/internal/hub/domain/structure.go +++ b/hub/internal/domain/structure.go @@ -3,7 +3,7 @@ package domain import ( "time" - "github.com/lorsanstand/HomeOps-Hub/internal/domain" + "github.com/lorsanstand/HomeOps-Hub/shared/domain" ) type CreateAgentModel struct { diff --git a/internal/hub/embed.go b/hub/internal/embed.go similarity index 80% rename from internal/hub/embed.go rename to hub/internal/embed.go index 1938b80..e4740ca 100644 --- a/internal/hub/embed.go +++ b/hub/internal/embed.go @@ -1,4 +1,4 @@ -package hub +package internal import "embed" diff --git a/internal/hub/migrations/20260415151037_create_agent_table.down.sql b/hub/internal/migrations/20260415151037_create_agent_table.down.sql similarity index 100% rename from internal/hub/migrations/20260415151037_create_agent_table.down.sql rename to hub/internal/migrations/20260415151037_create_agent_table.down.sql diff --git a/internal/hub/migrations/20260415151037_create_agent_table.up.sql b/hub/internal/migrations/20260415151037_create_agent_table.up.sql similarity index 100% rename from internal/hub/migrations/20260415151037_create_agent_table.up.sql rename to hub/internal/migrations/20260415151037_create_agent_table.up.sql diff --git a/internal/hub/migrator/migrator.go b/hub/internal/migrator/migrator.go similarity index 99% rename from internal/hub/migrator/migrator.go rename to hub/internal/migrator/migrator.go index 22338f8..9f1effe 100644 --- a/internal/hub/migrator/migrator.go +++ b/hub/internal/migrator/migrator.go @@ -5,6 +5,7 @@ import ( "embed" "errors" "fmt" + _ "github.com/jackc/pgx/v5/stdlib" "github.com/golang-migrate/migrate/v4" diff --git a/internal/hub/rpc/server.go b/hub/internal/rpc/server.go similarity index 96% rename from internal/hub/rpc/server.go rename to hub/internal/rpc/server.go index 1a5aade..da37823 100644 --- a/internal/hub/rpc/server.go +++ b/hub/internal/rpc/server.go @@ -4,7 +4,7 @@ import ( "context" 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" "google.golang.org/grpc" "google.golang.org/protobuf/types/known/emptypb" diff --git a/internal/hub/service/hub_service/hub.go b/hub/internal/service/hub_service/hub.go similarity index 93% rename from internal/hub/service/hub_service/hub.go rename to hub/internal/service/hub_service/hub.go index aa86b1a..f086429 100644 --- a/internal/hub/service/hub_service/hub.go +++ b/hub/internal/service/hub_service/hub.go @@ -6,9 +6,9 @@ import ( "errors" "fmt" - "github.com/lorsanstand/HomeOps-Hub/internal/domain" - domainHub "github.com/lorsanstand/HomeOps-Hub/internal/hub/domain" - "github.com/lorsanstand/HomeOps-Hub/internal/hub/utils/hasher" + domainHub "github.com/lorsanstand/HomeOps-Hub/hub/internal/domain" + "github.com/lorsanstand/HomeOps-Hub/hub/internal/utils/hasher" + "github.com/lorsanstand/HomeOps-Hub/shared/domain" "github.com/rs/zerolog" ) diff --git a/internal/hub/service/hub_service/mapper.go b/hub/internal/service/hub_service/mapper.go similarity index 77% rename from internal/hub/service/hub_service/mapper.go rename to hub/internal/service/hub_service/mapper.go index 6a020d8..e28c843 100644 --- a/internal/hub/service/hub_service/mapper.go +++ b/hub/internal/service/hub_service/mapper.go @@ -1,8 +1,8 @@ package hub_service import ( - "github.com/lorsanstand/HomeOps-Hub/internal/domain" - domainHub "github.com/lorsanstand/HomeOps-Hub/internal/hub/domain" + domainHub "github.com/lorsanstand/HomeOps-Hub/hub/internal/domain" + "github.com/lorsanstand/HomeOps-Hub/shared/domain" ) func toCreateAgentModel(agent domain.RegisterAgentRequest) domainHub.CreateAgentModel { diff --git a/internal/hub/store/mapper.go b/hub/internal/store/mapper.go similarity index 75% rename from internal/hub/store/mapper.go rename to hub/internal/store/mapper.go index cbce0c3..90e2290 100644 --- a/internal/hub/store/mapper.go +++ b/hub/internal/store/mapper.go @@ -3,13 +3,13 @@ package store import ( "encoding/json" - "github.com/lorsanstand/HomeOps-Hub/internal/domain" - domainHub "github.com/lorsanstand/HomeOps-Hub/internal/hub/domain" - "github.com/lorsanstand/HomeOps-Hub/internal/hub/store/sqlc/gen" + domainHub "github.com/lorsanstand/HomeOps-Hub/hub/internal/domain" + gen2 "github.com/lorsanstand/HomeOps-Hub/hub/internal/store/sqlc/gen" + "github.com/lorsanstand/HomeOps-Hub/shared/domain" ) -func toDBAgent(agent domainHub.CreateAgentModel) gen.CreateAgentParams { - return gen.CreateAgentParams{ +func toDBAgent(agent domainHub.CreateAgentModel) gen2.CreateAgentParams { + return gen2.CreateAgentParams{ AgentID: agent.AgentID, AgentName: &agent.AgentName, Architecture: agent.Architecture, @@ -20,8 +20,8 @@ func toDBAgent(agent domainHub.CreateAgentModel) gen.CreateAgentParams { } } -func toUpdateDBAgent(agent domainHub.CreateAgentModel) gen.UpdateAgentByIDParams { - return gen.UpdateAgentByIDParams{ +func toUpdateDBAgent(agent domainHub.CreateAgentModel) gen2.UpdateAgentByIDParams { + return gen2.UpdateAgentByIDParams{ AgentID: agent.AgentID, AgentName: &agent.AgentName, Architecture: agent.Architecture, @@ -41,7 +41,7 @@ func toJsonCapabilities(caps []domain.Capability) []byte { return data } -func toAgentModel(dbAgent gen.Agent) domainHub.AgentModel { +func toAgentModel(dbAgent gen2.Agent) domainHub.AgentModel { var dbAgentName string if dbAgent.AgentName != nil { dbAgentName = *dbAgent.AgentName diff --git a/internal/hub/store/sqlc/gen/agent.sql.go b/hub/internal/store/sqlc/gen/agent.sql.go similarity index 99% rename from internal/hub/store/sqlc/gen/agent.sql.go rename to hub/internal/store/sqlc/gen/agent.sql.go index 6a6e23c..3d55d93 100644 --- a/internal/hub/store/sqlc/gen/agent.sql.go +++ b/hub/internal/store/sqlc/gen/agent.sql.go @@ -1,7 +1,7 @@ // Code generated by sqlc. DO NOT EDIT. // versions: // sqlc v1.30.0 -// source: agent.sql +// source: cmd.sql package gen diff --git a/internal/hub/store/sqlc/gen/db.go b/hub/internal/store/sqlc/gen/db.go similarity index 100% rename from internal/hub/store/sqlc/gen/db.go rename to hub/internal/store/sqlc/gen/db.go diff --git a/internal/hub/store/sqlc/gen/models.go b/hub/internal/store/sqlc/gen/models.go similarity index 100% rename from internal/hub/store/sqlc/gen/models.go rename to hub/internal/store/sqlc/gen/models.go diff --git a/internal/hub/store/sqlc/queries/agent.sql b/hub/internal/store/sqlc/queries/agent.sql similarity index 100% rename from internal/hub/store/sqlc/queries/agent.sql rename to hub/internal/store/sqlc/queries/agent.sql diff --git a/internal/hub/store/store.go b/hub/internal/store/store.go similarity index 86% rename from internal/hub/store/store.go rename to hub/internal/store/store.go index 02936d4..851eec9 100644 --- a/internal/hub/store/store.go +++ b/hub/internal/store/store.go @@ -4,8 +4,8 @@ import ( "context" "github.com/jackc/pgx/v5/pgxpool" - domainHub "github.com/lorsanstand/HomeOps-Hub/internal/hub/domain" - "github.com/lorsanstand/HomeOps-Hub/internal/hub/store/sqlc/gen" + domainHub "github.com/lorsanstand/HomeOps-Hub/hub/internal/domain" + "github.com/lorsanstand/HomeOps-Hub/hub/internal/store/sqlc/gen" ) type HubStore struct { diff --git a/internal/hub/utils/hasher/id.go b/hub/internal/utils/hasher/id.go similarity index 90% rename from internal/hub/utils/hasher/id.go rename to hub/internal/utils/hasher/id.go index e28b504..21f94f8 100644 --- a/internal/hub/utils/hasher/id.go +++ b/hub/internal/utils/hasher/id.go @@ -6,7 +6,7 @@ import ( "encoding/hex" "fmt" - "github.com/lorsanstand/HomeOps-Hub/internal/domain" + "github.com/lorsanstand/HomeOps-Hub/shared/domain" ) func newSalt(n int) ([]byte, error) { diff --git a/internal/shared/config/config.go b/shared/config/config.go similarity index 100% rename from internal/shared/config/config.go rename to shared/config/config.go diff --git a/internal/shared/config/config_test.go b/shared/config/config_test.go similarity index 100% rename from internal/shared/config/config_test.go rename to shared/config/config_test.go diff --git a/internal/domain/agent.go b/shared/domain/agent.go similarity index 100% rename from internal/domain/agent.go rename to shared/domain/agent.go diff --git a/internal/domain/mapper.go b/shared/domain/mapper.go similarity index 100% rename from internal/domain/mapper.go rename to shared/domain/mapper.go diff --git a/internal/shared/log/init.go b/shared/log/init.go similarity index 100% rename from internal/shared/log/init.go rename to shared/log/init.go diff --git a/sqlc.yaml b/sqlc.yaml index 4e02b14..5c97fd8 100644 --- a/sqlc.yaml +++ b/sqlc.yaml @@ -2,11 +2,11 @@ version: "2" sql: - engine: "postgresql" - queries: "internal/hub/store/sqlc/queries" - schema: "./internal/hub/migrations/" + queries: "hub/internal/store/sqlc/queries" + schema: "./hub/internal/migrations/" gen: go: sql_package: "pgx/v5" package: "gen" - out: "internal/hub/store/sqlc/gen" + out: "hub/internal/store/sqlc/gen" emit_pointers_for_null_types: true \ No newline at end of file