Files
flux/internal/docker/docker.go
Zoe c891c24843 Massive architectural rework
This commit massively overhauls the project's structure to simplify
development. Most parts are now correctly compartmentalized and
dependencies are passed in a sane way rather than global variables
galore xd.
2025-05-02 12:15:40 -05:00

30 lines
605 B
Go

package docker
import (
"github.com/docker/docker/client"
"go.uber.org/zap"
)
type DockerID string
// structure that holds the docker daemon information
type DockerClient struct {
client *client.Client
logger *zap.SugaredLogger
}
func NewDocker(rawDockerClient *client.Client, logger *zap.SugaredLogger) *DockerClient {
if rawDockerClient == nil {
var err error
rawDockerClient, err = client.NewClientWithOpts(client.FromEnv)
if err != nil {
logger.Fatalw("Failed to create docker client", zap.Error(err))
}
}
return &DockerClient{
client: rawDockerClient,
logger: logger,
}
}