mirror of
https://github.com/lorsanstand/HomeOps-Hub.git
synced 2026-06-19 20:05:17 +03:00
refactor: refactor app
This commit is contained in:
@@ -1,31 +1,26 @@
|
||||
package collector
|
||||
|
||||
import (
|
||||
"context"
|
||||
"os"
|
||||
"runtime"
|
||||
|
||||
"github.com/docker/docker/api/types"
|
||||
"github.com/docker/docker/api/types/container"
|
||||
"github.com/lorsanstand/HomeOps-Hub/internal/agent/domain"
|
||||
"github.com/rs/zerolog"
|
||||
)
|
||||
|
||||
type Docker interface {
|
||||
Ping(ctx context.Context) (types.Ping, error)
|
||||
ContainerList(ctx context.Context, opts container.ListOptions) ([]container.Summary, error)
|
||||
Capability() domain.Capability
|
||||
}
|
||||
|
||||
type Collector struct {
|
||||
log zerolog.Logger
|
||||
docker Docker
|
||||
log zerolog.Logger
|
||||
dockerReader Docker
|
||||
}
|
||||
|
||||
func NewCollector(docker Docker, logger zerolog.Logger) *Collector {
|
||||
logger = logger.With().Str("component", "agent.service.collector").Logger()
|
||||
|
||||
return &Collector{log: logger, docker: docker}
|
||||
return &Collector{log: logger, dockerReader: docker}
|
||||
}
|
||||
|
||||
func (c *Collector) GatherInfoSystem() (domain.HostInfo, []domain.Capability) {
|
||||
@@ -40,6 +35,6 @@ func (c *Collector) GatherInfoSystem() (domain.HostInfo, []domain.Capability) {
|
||||
host.Arch = runtime.GOARCH
|
||||
host.System = runtime.GOOS
|
||||
|
||||
caps := []domain.Capability{c.docker.Capability()}
|
||||
caps := []domain.Capability{c.dockerReader.Capability()}
|
||||
return host, caps
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
package docker_service
|
||||
|
||||
import "github.com/lorsanstand/HomeOps-Hub/internal/agent/domain"
|
||||
|
||||
type BadDocker struct {
|
||||
reason string
|
||||
}
|
||||
|
||||
func (d *BadDocker) Capability() domain.Capability {
|
||||
return domain.Capability{
|
||||
Name: "docker",
|
||||
Available: false,
|
||||
Version: "",
|
||||
Reason: d.reason,
|
||||
}
|
||||
}
|
||||
|
||||
func NewBadDocker(reason string) *BadDocker {
|
||||
return &BadDocker{reason: reason}
|
||||
}
|
||||
@@ -3,9 +3,10 @@ package docker_service
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/docker/docker/api/types"
|
||||
"github.com/docker/docker/api/types/container"
|
||||
"github.com/lorsanstand/HomeOps-Hub/internal/agent/domain"
|
||||
"github.com/moby/moby/api/types"
|
||||
"github.com/moby/moby/api/types/container"
|
||||
|
||||
"github.com/rs/zerolog"
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user