Abstract to host

This commit is contained in:
Christopher LaPointe
2023-06-03 14:48:22 -04:00
parent b48fff862e
commit acc5172ae6
3 changed files with 22 additions and 4 deletions

View File

@@ -7,14 +7,13 @@ import (
"github.com/docker/docker/api/types"
"github.com/docker/docker/api/types/filters"
"github.com/docker/docker/client"
)
type Discovery struct {
client *client.Client
client Host
}
func NewDiscovery(client *client.Client) *Discovery {
func NewDiscovery(client Host) *Discovery {
return &Discovery{client}
}

19
pkg/containers/intf.go Normal file
View File

@@ -0,0 +1,19 @@
package containers
import (
"context"
"github.com/docker/docker/api/types"
"github.com/docker/docker/api/types/container"
)
type Host interface {
ContainerList(ctx context.Context, clo types.ContainerListOptions) ([]types.Container, error)
ContainerStart(ctx context.Context, id string, opt types.ContainerStartOptions) error
ContainerStop(ctx context.Context, id string, opt container.StopOptions) error
ContainerStatsOneShot(ctx context.Context, id string) (types.ContainerStats, error)
Close() error
}

View File

@@ -20,7 +20,7 @@ type Core struct {
mux sync.Mutex
term chan bool
client *client.Client
client containers.Host
discovery *containers.Discovery
active map[string]*ContainerState // cid -> state