@@ -2,28 +2,23 @@ package client
22
33import (
44 "net"
5- "net/http"
6- "slices"
75 "sync"
86
97 "github.com/docker/docker/client"
10- "github.com/silenium-dev/docker-wrapper/pkg/client/auth"
11- "github.com/silenium-dev/docker-wrapper/pkg/client/image"
8+ "github.com/silenium-dev/docker-wrapper/pkg/client/provider"
129 "go.uber.org/zap"
1310)
1411
1512type Client struct {
1613 * client.Client
1714 dockerOpts []client.Opt
18- authProvider auth. Provider
19- imageProvider image. Provider
15+ authProvider provider. AuthProvider
16+ imageProvider provider. ImageProvider
2017 logger * zap.SugaredLogger
2118 hostFromContainerAddr net.IP
2219 hostFromContainerMutex sync.RWMutex
2320}
2421
25- type Opt func (* Client ) error
26-
2722func NewWithOpts (opts ... Opt ) (* Client , error ) {
2823 c := & Client {}
2924 for _ , opt := range opts {
@@ -37,7 +32,7 @@ func NewWithOpts(opts ...Opt) (*Client, error) {
3732 c .logger = zap .Must (zap .NewDevelopment ()).Sugar ()
3833 }
3934 if c .imageProvider == nil {
40- c .imageProvider = image . DefaultProvider ()
35+ c .imageProvider = provider . DefaultImageProvider ()
4136 }
4237
4338 cli , err := client .NewClientWithOpts (c .dockerOpts ... )
@@ -47,67 +42,3 @@ func NewWithOpts(opts ...Opt) (*Client, error) {
4742 c .Client = cli
4843 return c , nil
4944}
50-
51- func (c * Client ) Close () error {
52- return c .Client .Close ()
53- }
54-
55- func (c * Client ) AuthProvider () auth.Provider {
56- return c .authProvider
57- }
58-
59- func (c * Client ) Logger () * zap.SugaredLogger {
60- return c .logger
61- }
62-
63- func WithVersionNegotiation (c * Client ) error {
64- c .dockerOpts = append (c .dockerOpts , client .WithAPIVersionNegotiation ())
65- return nil
66- }
67-
68- func WithAuthProvider (authProvider auth.Provider ) Opt {
69- return func (c * Client ) error {
70- c .authProvider = authProvider
71- return nil
72- }
73- }
74-
75- func WithSugaredLogger (logger * zap.SugaredLogger ) Opt {
76- return func (c * Client ) error {
77- c .logger = logger
78- return nil
79- }
80- }
81-
82- func WithLogger (logger * zap.Logger ) Opt {
83- return func (c * Client ) error {
84- c .logger = logger .Sugar ()
85- return nil
86- }
87- }
88-
89- func WithImageProvider (imageProvider image.Provider ) Opt {
90- return func (c * Client ) error {
91- c .imageProvider = imageProvider
92- return nil
93- }
94- }
95-
96- func WithDockerOpts (opts ... client.Opt ) Opt {
97- return func (c * Client ) error {
98- c .dockerOpts = slices .Concat (c .dockerOpts , opts )
99- return nil
100- }
101- }
102-
103- func WithHTTPClient (httpClient * http.Client ) Opt {
104- return func (c * Client ) error {
105- c .dockerOpts = append (c .dockerOpts , client .WithHTTPClient (httpClient ))
106- return nil
107- }
108- }
109-
110- func FromEnv (c * Client ) error {
111- c .dockerOpts = append (c .dockerOpts , client .FromEnv )
112- return nil
113- }
0 commit comments