mirror of
https://github.com/lorsanstand/HomeOps-Hub.git
synced 2026-06-19 14:25:16 +03:00
refactor: change structure project
This commit is contained in:
@@ -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"
|
||||||
)
|
)
|
||||||
+6
-6
@@ -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)
|
||||||
}
|
}
|
||||||
+1
-1
@@ -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 {
|
||||||
+2
-2
@@ -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
-1
@@ -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 {
|
||||||
+2
-2
@@ -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,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,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 +0,0 @@
|
|||||||
package main
|
|
||||||
@@ -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"
|
||||||
)
|
)
|
||||||
|
|
||||||
+2
-2
@@ -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) {
|
||||||
@@ -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
|
||||||
Reference in New Issue
Block a user