Documentation
¶
Index ¶
- Variables
- func ConfigureDefaultManager(opts ...ClientOption)
- func GetClientWithContext(ctx context.Context, opts ...ClientOption) (*client.Client, error)
- func GetDefaultClient() (*client.Client, error)
- func MustGetClient(opts ...ClientOption) *client.Client
- func ResetDefaultManager()
- type ClientConfig
- type ClientManager
- func (m *ClientManager) Close() error
- func (m *ClientManager) GetClient() (*client.Client, error)
- func (m *ClientManager) GetConfig() ClientConfig
- func (m *ClientManager) GetCreationCount() int64
- func (m *ClientManager) GetLastPingTime() time.Time
- func (m *ClientManager) GetWithContext(ctx context.Context) (*client.Client, error)
- func (m *ClientManager) IsClosed() bool
- func (m *ClientManager) IsInitialized() bool
- func (m *ClientManager) Ping(ctx context.Context) (types.Ping, error)
- type ClientOption
- func WithAPIVersion(version string) ClientOption
- func WithConnectionPoolConfig(maxIdle, maxIdlePerHost, maxPerHost int) ClientOption
- func WithConnectionTimeout(timeout time.Duration) ClientOption
- func WithDialContext(dialContext func(ctx context.Context, network, addr string) (net.Conn, error)) ClientOption
- func WithHeader(key, value string) ClientOption
- func WithHost(host string) ClientOption
- func WithLogger(logger *logrus.Logger) ClientOption
- func WithRequestTimeout(timeout time.Duration) ClientOption
- func WithRetry(count int, delay time.Duration) ClientOption
- func WithTLSCAPath(path string) ClientOption
- func WithTLSCertPath(path string) ClientOption
- func WithTLSCipherSuites(suites []uint16) ClientOption
- func WithTLSConfig(certPath, keyPath, caPath string) ClientOption
- func WithTLSKeyPath(path string) ClientOption
- func WithTLSVerify(verify bool) ClientOption
- func WithTLSVersion(minVersion, maxVersion uint16) ClientOption
- func WithTimeoutConfig(...) ClientOption
- type Manager
- type MockDockerClient
- func (m *MockDockerClient) BuildCachePrune(ctx context.Context, options types.BuildCachePruneOptions) (*types.BuildCachePruneReport, error)
- func (m *MockDockerClient) BuildCancel(ctx context.Context, buildID string) error
- func (m *MockDockerClient) CheckpointCreate(ctx context.Context, containerID string, options checkpoint.CreateOptions) error
- func (m *MockDockerClient) CheckpointDelete(ctx context.Context, containerID string, options checkpoint.DeleteOptions) error
- func (m *MockDockerClient) CheckpointList(ctx context.Context, containerID string, options checkpoint.ListOptions) ([]checkpoint.Summary, error)
- func (m *MockDockerClient) ClientVersion() string
- func (m *MockDockerClient) Close() error
- func (m *MockDockerClient) ConfigCreate(ctx context.Context, config swarm.ConfigSpec) (types.ConfigCreateResponse, error)
- func (m *MockDockerClient) ConfigInspectWithRaw(ctx context.Context, name string) (swarm.Config, []byte, error)
- func (m *MockDockerClient) ConfigList(ctx context.Context, options types.ConfigListOptions) ([]swarm.Config, error)
- func (m *MockDockerClient) ConfigRemove(ctx context.Context, id string) error
- func (m *MockDockerClient) ConfigUpdate(ctx context.Context, id string, version swarm.Version, config swarm.ConfigSpec) error
- func (m *MockDockerClient) ContainerAttach(ctx context.Context, containerID string, options container.AttachOptions) (types.HijackedResponse, error)
- func (m *MockDockerClient) ContainerCommit(ctx context.Context, containerID string, options container.CommitOptions) (types.IDResponse, error)
- func (m *MockDockerClient) ContainerCreate(ctx context.Context, config *container.Config, ...) (container.CreateResponse, error)
- func (m *MockDockerClient) ContainerDiff(ctx context.Context, containerID string) ([]container.FilesystemChange, error)
- func (m *MockDockerClient) ContainerExecAttach(ctx context.Context, execID string, config container.ExecStartOptions) (types.HijackedResponse, error)
- func (m *MockDockerClient) ContainerExecCreate(ctx context.Context, containerID string, options container.ExecOptions) (types.IDResponse, error)
- func (m *MockDockerClient) ContainerExecInspect(ctx context.Context, execID string) (container.ExecInspect, error)
- func (m *MockDockerClient) ContainerExecResize(ctx context.Context, execID string, options container.ResizeOptions) error
- func (m *MockDockerClient) ContainerExecStart(ctx context.Context, execID string, config container.ExecStartOptions) error
- func (m *MockDockerClient) ContainerExport(ctx context.Context, containerID string) (io.ReadCloser, error)
- func (m *MockDockerClient) ContainerInspect(ctx context.Context, containerID string) (types.ContainerJSON, error)
- func (m *MockDockerClient) ContainerInspectWithRaw(ctx context.Context, containerID string, size bool) (types.ContainerJSON, []byte, error)
- func (m *MockDockerClient) ContainerKill(ctx context.Context, containerID, signal string) error
- func (m *MockDockerClient) ContainerList(ctx context.Context, options container.ListOptions) ([]types.Container, error)
- func (m *MockDockerClient) ContainerLogs(ctx context.Context, containerID string, options container.LogsOptions) (io.ReadCloser, error)
- func (m *MockDockerClient) ContainerPause(ctx context.Context, containerID string) error
- func (m *MockDockerClient) ContainerRemove(ctx context.Context, containerID string, options container.RemoveOptions) error
- func (m *MockDockerClient) ContainerRename(ctx context.Context, containerID, newContainerName string) error
- func (m *MockDockerClient) ContainerResize(ctx context.Context, containerID string, options container.ResizeOptions) error
- func (m *MockDockerClient) ContainerRestart(ctx context.Context, containerID string, options container.StopOptions) error
- func (m *MockDockerClient) ContainerStart(ctx context.Context, containerID string, options container.StartOptions) error
- func (m *MockDockerClient) ContainerStatPath(ctx context.Context, containerID, path string) (container.PathStat, error)
- func (m *MockDockerClient) ContainerStats(ctx context.Context, containerID string, stream bool) (container.StatsResponseReader, error)
- func (m *MockDockerClient) ContainerStatsOneShot(ctx context.Context, containerID string) (container.StatsResponseReader, error)
- func (m *MockDockerClient) ContainerStop(ctx context.Context, containerID string, options container.StopOptions) error
- func (m *MockDockerClient) ContainerTop(ctx context.Context, containerID string, arguments []string) (container.ContainerTopOKBody, error)
- func (m *MockDockerClient) ContainerUnpause(ctx context.Context, containerID string) error
- func (m *MockDockerClient) ContainerUpdate(ctx context.Context, containerID string, updateConfig container.UpdateConfig) (container.ContainerUpdateOKBody, error)
- func (m *MockDockerClient) ContainerWait(ctx context.Context, containerID string, condition container.WaitCondition) (<-chan container.WaitResponse, <-chan error)
- func (m *MockDockerClient) ContainersPrune(ctx context.Context, pruneFilters filters.Args) (container.PruneReport, error)
- func (m *MockDockerClient) CopyFromContainer(ctx context.Context, containerID, srcPath string) (io.ReadCloser, container.PathStat, error)
- func (m *MockDockerClient) CopyToContainer(ctx context.Context, containerID, path string, content io.Reader, ...) error
- func (m *MockDockerClient) DaemonHost() string
- func (m *MockDockerClient) DialHijack(ctx context.Context, url, proto string, meta map[string][]string) (net.Conn, error)
- func (m *MockDockerClient) Dialer() func(context.Context) (net.Conn, error)
- func (m *MockDockerClient) DiskUsage(ctx context.Context, options types.DiskUsageOptions) (types.DiskUsage, error)
- func (m *MockDockerClient) DistributionInspect(ctx context.Context, image, encodedAuth string) (registry.DistributionInspect, error)
- func (m *MockDockerClient) Events(ctx context.Context, options events.ListOptions) (<-chan events.Message, <-chan error)
- func (m *MockDockerClient) HTTPClient() *http.Client
- func (m *MockDockerClient) ImageBuild(ctx context.Context, buildContext io.Reader, options types.ImageBuildOptions) (types.ImageBuildResponse, error)
- func (m *MockDockerClient) ImageCreate(ctx context.Context, parentReference string, options image.CreateOptions) (io.ReadCloser, error)
- func (m *MockDockerClient) ImageHistory(ctx context.Context, imageID string, options ...client.ImageHistoryOption) ([]image.HistoryResponseItem, error)
- func (m *MockDockerClient) ImageImport(ctx context.Context, source image.ImportSource, ref string, ...) (io.ReadCloser, error)
- func (m *MockDockerClient) ImageInspect(ctx context.Context, imageID string, options ...client.ImageInspectOption) (image.InspectResponse, error)
- func (m *MockDockerClient) ImageInspectWithRaw(ctx context.Context, imageID string) (types.ImageInspect, []byte, error)
- func (m *MockDockerClient) ImageList(ctx context.Context, options image.ListOptions) ([]image.Summary, error)
- func (m *MockDockerClient) ImageLoad(ctx context.Context, input io.Reader, options ...client.ImageLoadOption) (image.LoadResponse, error)
- func (m *MockDockerClient) ImagePull(ctx context.Context, refStr string, options image.PullOptions) (io.ReadCloser, error)
- func (m *MockDockerClient) ImagePush(ctx context.Context, refStr string, options image.PushOptions) (io.ReadCloser, error)
- func (m *MockDockerClient) ImageRemove(ctx context.Context, imageID string, options image.RemoveOptions) ([]image.DeleteResponse, error)
- func (m *MockDockerClient) ImageSave(ctx context.Context, imageIDs []string, options ...client.ImageSaveOption) (io.ReadCloser, error)
- func (m *MockDockerClient) ImageSearch(ctx context.Context, term string, options registry.SearchOptions) ([]registry.SearchResult, error)
- func (m *MockDockerClient) ImageTag(ctx context.Context, source, target string) error
- func (m *MockDockerClient) ImagesPrune(ctx context.Context, pruneFilter filters.Args) (image.PruneReport, error)
- func (m *MockDockerClient) Info(ctx context.Context) (system.Info, error)
- func (m *MockDockerClient) NegotiateAPIVersion(ctx context.Context)
- func (m *MockDockerClient) NegotiateAPIVersionPing(ping types.Ping)
- func (m *MockDockerClient) NetworkConnect(ctx context.Context, networkID, containerID string, ...) error
- func (m *MockDockerClient) NetworkCreate(ctx context.Context, name string, options network.CreateOptions) (network.CreateResponse, error)
- func (m *MockDockerClient) NetworkDisconnect(ctx context.Context, networkID, containerID string, force bool) error
- func (m *MockDockerClient) NetworkInspect(ctx context.Context, networkID string, options network.InspectOptions) (network.Inspect, error)
- func (m *MockDockerClient) NetworkInspectWithRaw(ctx context.Context, networkID string, options network.InspectOptions) (network.Inspect, []byte, error)
- func (m *MockDockerClient) NetworkList(ctx context.Context, options network.ListOptions) ([]network.Summary, error)
- func (m *MockDockerClient) NetworkRemove(ctx context.Context, networkID string) error
- func (m *MockDockerClient) NetworksPrune(ctx context.Context, pruneFilter filters.Args) (network.PruneReport, error)
- func (m *MockDockerClient) NodeInspectWithRaw(ctx context.Context, nodeID string) (swarm.Node, []byte, error)
- func (m *MockDockerClient) NodeList(ctx context.Context, options types.NodeListOptions) ([]swarm.Node, error)
- func (m *MockDockerClient) NodeRemove(ctx context.Context, nodeID string, options types.NodeRemoveOptions) error
- func (m *MockDockerClient) NodeUpdate(ctx context.Context, nodeID string, version swarm.Version, node swarm.NodeSpec) error
- func (m *MockDockerClient) Ping(ctx context.Context) (types.Ping, error)
- func (m *MockDockerClient) PluginCreate(ctx context.Context, createContext io.Reader, ...) error
- func (m *MockDockerClient) PluginDisable(ctx context.Context, name string, options types.PluginDisableOptions) error
- func (m *MockDockerClient) PluginEnable(ctx context.Context, name string, options types.PluginEnableOptions) error
- func (m *MockDockerClient) PluginInspectWithRaw(ctx context.Context, name string) (*types.Plugin, []byte, error)
- func (m *MockDockerClient) PluginInstall(ctx context.Context, name string, options types.PluginInstallOptions) (io.ReadCloser, error)
- func (m *MockDockerClient) PluginList(ctx context.Context, filter filters.Args) (types.PluginsListResponse, error)
- func (m *MockDockerClient) PluginPush(ctx context.Context, name, registryAuth string) (io.ReadCloser, error)
- func (m *MockDockerClient) PluginRemove(ctx context.Context, name string, options types.PluginRemoveOptions) error
- func (m *MockDockerClient) PluginSet(ctx context.Context, name string, argsIn []string) error
- func (m *MockDockerClient) PluginUpgrade(ctx context.Context, name string, options types.PluginInstallOptions) (io.ReadCloser, error)
- func (m *MockDockerClient) RegistryLogin(ctx context.Context, auth registry.AuthConfig) (registry.AuthenticateOKBody, error)
- func (m *MockDockerClient) SecretCreate(ctx context.Context, secret swarm.SecretSpec) (types.SecretCreateResponse, error)
- func (m *MockDockerClient) SecretInspectWithRaw(ctx context.Context, id string) (swarm.Secret, []byte, error)
- func (m *MockDockerClient) SecretList(ctx context.Context, options types.SecretListOptions) ([]swarm.Secret, error)
- func (m *MockDockerClient) SecretRemove(ctx context.Context, id string) error
- func (m *MockDockerClient) SecretUpdate(ctx context.Context, id string, version swarm.Version, secret swarm.SecretSpec) error
- func (m *MockDockerClient) ServerVersion(ctx context.Context) (types.Version, error)
- func (m *MockDockerClient) ServiceCreate(ctx context.Context, service swarm.ServiceSpec, ...) (swarm.ServiceCreateResponse, error)
- func (m *MockDockerClient) ServiceInspectWithRaw(ctx context.Context, serviceID string, options types.ServiceInspectOptions) (swarm.Service, []byte, error)
- func (m *MockDockerClient) ServiceList(ctx context.Context, options types.ServiceListOptions) ([]swarm.Service, error)
- func (m *MockDockerClient) ServiceLogs(ctx context.Context, serviceID string, options container.LogsOptions) (io.ReadCloser, error)
- func (m *MockDockerClient) ServiceRemove(ctx context.Context, serviceID string) error
- func (m *MockDockerClient) ServiceUpdate(ctx context.Context, serviceID string, version swarm.Version, ...) (swarm.ServiceUpdateResponse, error)
- func (m *MockDockerClient) SwarmGetUnlockKey(ctx context.Context) (types.SwarmUnlockKeyResponse, error)
- func (m *MockDockerClient) SwarmInit(ctx context.Context, req swarm.InitRequest) (string, error)
- func (m *MockDockerClient) SwarmInspect(ctx context.Context) (swarm.Swarm, error)
- func (m *MockDockerClient) SwarmJoin(ctx context.Context, req swarm.JoinRequest) error
- func (m *MockDockerClient) SwarmLeave(ctx context.Context, force bool) error
- func (m *MockDockerClient) SwarmUnlock(ctx context.Context, req swarm.UnlockRequest) error
- func (m *MockDockerClient) SwarmUpdate(ctx context.Context, version swarm.Version, swarm swarm.Spec, ...) error
- func (m *MockDockerClient) TaskInspectWithRaw(ctx context.Context, taskID string) (swarm.Task, []byte, error)
- func (m *MockDockerClient) TaskList(ctx context.Context, options types.TaskListOptions) ([]swarm.Task, error)
- func (m *MockDockerClient) TaskLogs(ctx context.Context, taskID string, options container.LogsOptions) (io.ReadCloser, error)
- func (m *MockDockerClient) VolumeCreate(ctx context.Context, options volume.CreateOptions) (volume.Volume, error)
- func (m *MockDockerClient) VolumeInspect(ctx context.Context, volumeID string) (volume.Volume, error)
- func (m *MockDockerClient) VolumeInspectWithRaw(ctx context.Context, volumeID string) (volume.Volume, []byte, error)
- func (m *MockDockerClient) VolumeList(ctx context.Context, options volume.ListOptions) (volume.ListResponse, error)
- func (m *MockDockerClient) VolumeRemove(ctx context.Context, volumeID string, force bool) error
- func (m *MockDockerClient) VolumeUpdate(ctx context.Context, volumeID string, version swarm.Version, ...) error
- func (m *MockDockerClient) VolumesPrune(ctx context.Context, pruneFilter filters.Args) (volume.PruneReport, error)
Constants ¶
This section is empty.
Variables ¶
var ( // ErrNilOption indicates a nil option was provided ErrNilOption = errors.New("nil option provided to client configuration") // ErrInvalidHost indicates an invalid Docker host ErrInvalidHost = errors.New("invalid Docker host specification") // ErrMissingTLSConfig indicates incomplete TLS configuration ErrMissingTLSConfig = errors.New("TLS verification enabled but certificate paths not provided") // ErrInvalidTLSCert indicates an invalid TLS certificate ErrInvalidTLSCert = errors.New("invalid or inaccessible TLS certificate") // ErrInvalidTLSKey indicates an invalid TLS key ErrInvalidTLSKey = errors.New("invalid or inaccessible TLS key") // ErrInvalidTLSCA indicates an invalid TLS CA certificate ErrInvalidTLSCA = errors.New("invalid or inaccessible TLS CA certificate") // ErrConnectionFailed indicates a connection failure to Docker daemon ErrConnectionFailed = errors.New("failed to connect to Docker daemon") // ErrClientNotInitialized indicates the client was not initialized ErrClientNotInitialized = errors.New("Docker client not initialized") // ErrClientClosed indicates the client has been closed ErrClientClosed = errors.New("Docker client manager has been closed") // ErrInvalidAPIVersion indicates an invalid API version ErrInvalidAPIVersion = errors.New("invalid Docker API version format") // ErrContextCancelled indicates the context was cancelled ErrContextCancelled = errors.New("context was cancelled while operating Docker client") // ErrEmptyOption indicates an empty option value ErrEmptyOption = errors.New("empty value provided for required option") // ErrTLSConfigValidation indicates TLS configuration validation failed ErrTLSConfigValidation = errors.New("TLS configuration validation failed") // ErrCertificateExpired indicates a certificate has expired ErrCertificateExpired = errors.New("TLS certificate has expired") // ErrCertificateNotYetValid indicates a certificate is not yet valid ErrCertificateNotYetValid = errors.New("TLS certificate is not yet valid") )
Common errors with detailed descriptions for better error handling
Functions ¶
func ConfigureDefaultManager ¶
func ConfigureDefaultManager(opts ...ClientOption)
ConfigureDefaultManager sets the options for the default manager. This should be called early in the application lifecycle, before the first call to DefaultManager() or GetDefaultClient(). Calling this after the default manager has been initialized will cause a panic.
func GetClientWithContext ¶
GetClientWithContext creates a new temporary client manager with the specified options and returns a client. This is useful for specific operations requiring different configurations than the default manager. The returned client should be managed carefully, as its manager is not the default singleton.
func GetDefaultClient ¶
GetDefaultClient returns a client from the default manager.
func MustGetClient ¶
func MustGetClient(opts ...ClientOption) *client.Client
MustGetClient is like GetDefaultClient but panics on error. Useful for initialization code where failure is fatal.
func ResetDefaultManager ¶
func ResetDefaultManager()
ResetDefaultManager closes the current default manager (if any) and allows it to be re-initialized with potentially new options on the next call to DefaultManager() or GetDefaultClient(). This is primarily useful for testing or scenarios requiring reconfiguration.
Types ¶
type ClientConfig ¶
type ClientConfig struct {
// Host is the Docker daemon socket to connect to
Host string
// APIVersion is the Docker API version to use
APIVersion string
// TLSVerify indicates whether to verify TLS certificates
TLSVerify bool
// TLSCertPath is the path to the TLS certificate file
TLSCertPath string
// TLSKeyPath is the path to the TLS key file
TLSKeyPath string
// TLSCAPath is the path to the TLS CA certificate file
TLSCAPath string
// RequestTimeout is the timeout for Docker API requests
RequestTimeout time.Duration
// ConnectionTimeout is the timeout for establishing connections
ConnectionTimeout time.Duration
// ConnectionIdleTimeout is the timeout for idle connections
ConnectionIdleTimeout time.Duration
// TLSHandshakeTimeout is the timeout for TLS handshakes
TLSHandshakeTimeout time.Duration
// KeepAlive is the keepalive period for connections
KeepAlive time.Duration
// MaxIdleConns is the maximum number of idle connections
MaxIdleConns int
// MaxIdleConnsPerHost is the maximum number of idle connections per host
MaxIdleConnsPerHost int
// MaxConnsPerHost is the maximum number of connections per host
MaxConnsPerHost int
// IdleConnTimeout is the timeout for idle connections
IdleConnTimeout time.Duration
// ResponseHeaderTimeout is the timeout for response headers
ResponseHeaderTimeout time.Duration
// ExpectContinueTimeout is the timeout for expect continue
ExpectContinueTimeout time.Duration
// Logger is the logger to use
Logger *logrus.Logger
// Headers are additional HTTP headers to include in requests
Headers map[string]string
// DialContext is a custom dial context function for HTTP connections
DialContext func(ctx context.Context, network, addr string) (net.Conn, error)
// PingTimeout is the timeout for ping operations
PingTimeout time.Duration
// RetryCount is the number of retries for operations
RetryCount int
// RetryDelay is the delay between retries
RetryDelay time.Duration
// TLSMinVersion is the minimum TLS version to use
TLSMinVersion uint16
// TLSMaxVersion is the maximum TLS version to use
TLSMaxVersion uint16
// TLSCipherSuites are the TLS cipher suites to use
TLSCipherSuites []uint16
// TLSPreferServerCipherSuites indicates whether to prefer server cipher suites
TLSPreferServerCipherSuites bool
}
ClientConfig represents the configuration for the Docker client
func DefaultClientConfig ¶
func DefaultClientConfig() ClientConfig
DefaultClientConfig returns the default client configuration
type ClientManager ¶
type ClientManager struct {
// contains filtered or unexported fields
}
ClientManager manages Docker clients
func DefaultManager ¶
func DefaultManager() (*ClientManager, error)
DefaultManager returns the singleton default Docker client manager, creating it if necessary. It uses options provided by ConfigureDefaultManager or default options if not configured.
func NewManager ¶
func NewManager(opts ...ClientOption) (*ClientManager, error)
NewManager creates a new Docker client manager
func (*ClientManager) Close ¶
func (m *ClientManager) Close() error
Close closes the managed Docker client and marks the manager as closed
func (*ClientManager) GetClient ¶
func (m *ClientManager) GetClient() (*client.Client, error)
GetClient returns a Docker client, creating one if necessary Deprecated: Use GetWithContext instead for better context handling.
func (*ClientManager) GetConfig ¶
func (m *ClientManager) GetConfig() ClientConfig
GetConfig returns a copy of the current client configuration
func (*ClientManager) GetCreationCount ¶
func (m *ClientManager) GetCreationCount() int64
GetCreationCount returns the number of times a client has been created
func (*ClientManager) GetLastPingTime ¶
func (m *ClientManager) GetLastPingTime() time.Time
GetLastPingTime returns the time of the last successful ping
func (*ClientManager) GetWithContext ¶
GetWithContext returns a Docker client, creating one if necessary with context awareness
func (*ClientManager) IsClosed ¶
func (m *ClientManager) IsClosed() bool
IsClosed checks if the client manager has been closed
func (*ClientManager) IsInitialized ¶
func (m *ClientManager) IsInitialized() bool
IsInitialized checks if the client manager has successfully initialized a client at least once
type ClientOption ¶
type ClientOption func(*ClientConfig) error
ClientOption represents a functional option for configuring the Docker client
func WithAPIVersion ¶
func WithAPIVersion(version string) ClientOption
WithAPIVersion sets the Docker API version
func WithConnectionPoolConfig ¶
func WithConnectionPoolConfig(maxIdle, maxIdlePerHost, maxPerHost int) ClientOption
WithConnectionPoolConfig sets connection pool configuration
func WithConnectionTimeout ¶
func WithConnectionTimeout(timeout time.Duration) ClientOption
WithConnectionTimeout sets the connection timeout
func WithDialContext ¶
func WithDialContext(dialContext func(ctx context.Context, network, addr string) (net.Conn, error)) ClientOption
WithDialContext sets a custom dial context function
func WithRequestTimeout ¶
func WithRequestTimeout(timeout time.Duration) ClientOption
WithRequestTimeout sets the request timeout
func WithRetry ¶
func WithRetry(count int, delay time.Duration) ClientOption
WithRetry sets retry parameters
func WithTLSCAPath ¶
func WithTLSCAPath(path string) ClientOption
WithTLSCAPath sets the TLS CA certificate path
func WithTLSCertPath ¶
func WithTLSCertPath(path string) ClientOption
WithTLSCertPath sets the TLS certificate path
func WithTLSCipherSuites ¶
func WithTLSCipherSuites(suites []uint16) ClientOption
WithTLSCipherSuites sets the TLS cipher suites
func WithTLSConfig ¶
func WithTLSConfig(certPath, keyPath, caPath string) ClientOption
WithTLSConfig sets the complete TLS configuration
func WithTLSKeyPath ¶
func WithTLSKeyPath(path string) ClientOption
WithTLSKeyPath sets the TLS key path
func WithTLSVerify ¶
func WithTLSVerify(verify bool) ClientOption
WithTLSVerify enables TLS verification
func WithTLSVersion ¶
func WithTLSVersion(minVersion, maxVersion uint16) ClientOption
WithTLSVersion sets the TLS version range
func WithTimeoutConfig ¶
func WithTimeoutConfig(requestTimeout, connectionTimeout, handshakeTimeout, idleTimeout, responseHeaderTimeout, expectContinueTimeout time.Duration) ClientOption
WithTimeoutConfig sets comprehensive timeout configuration
type Manager ¶
type Manager interface {
// GetClient returns a Docker client
GetClient() (*client.Client, error)
// GetWithContext returns a Docker client with the specified context
GetWithContext(ctx context.Context) (*client.Client, error)
// Ping checks the connectivity with the Docker daemon
Ping(ctx context.Context) (types.Ping, error)
// Close closes all clients and releases resources
Close() error
// IsInitialized checks if the client is initialized
IsInitialized() bool
// IsClosed checks if the client is closed
IsClosed() bool
// GetConfig returns the client configuration
GetConfig() ClientConfig
}
Manager is the interface for Docker client operations
type MockDockerClient ¶
MockDockerClient is a shared mock implementation of the client.APIClient interface
func (*MockDockerClient) BuildCachePrune ¶
func (m *MockDockerClient) BuildCachePrune(ctx context.Context, options types.BuildCachePruneOptions) (*types.BuildCachePruneReport, error)
func (*MockDockerClient) BuildCancel ¶
func (m *MockDockerClient) BuildCancel(ctx context.Context, buildID string) error
func (*MockDockerClient) CheckpointCreate ¶
func (m *MockDockerClient) CheckpointCreate(ctx context.Context, containerID string, options checkpoint.CreateOptions) error
func (*MockDockerClient) CheckpointDelete ¶
func (m *MockDockerClient) CheckpointDelete(ctx context.Context, containerID string, options checkpoint.DeleteOptions) error
func (*MockDockerClient) CheckpointList ¶
func (m *MockDockerClient) CheckpointList(ctx context.Context, containerID string, options checkpoint.ListOptions) ([]checkpoint.Summary, error)
func (*MockDockerClient) ClientVersion ¶
func (m *MockDockerClient) ClientVersion() string
--- MOCK METHODS --- ClientVersion provides a mock implementation for ClientVersion
func (*MockDockerClient) Close ¶
func (m *MockDockerClient) Close() error
func (*MockDockerClient) ConfigCreate ¶
func (m *MockDockerClient) ConfigCreate(ctx context.Context, config swarm.ConfigSpec) (types.ConfigCreateResponse, error)
func (*MockDockerClient) ConfigInspectWithRaw ¶
func (*MockDockerClient) ConfigList ¶
func (m *MockDockerClient) ConfigList(ctx context.Context, options types.ConfigListOptions) ([]swarm.Config, error)
func (*MockDockerClient) ConfigRemove ¶
func (m *MockDockerClient) ConfigRemove(ctx context.Context, id string) error
func (*MockDockerClient) ConfigUpdate ¶
func (m *MockDockerClient) ConfigUpdate(ctx context.Context, id string, version swarm.Version, config swarm.ConfigSpec) error
func (*MockDockerClient) ContainerAttach ¶
func (m *MockDockerClient) ContainerAttach(ctx context.Context, containerID string, options container.AttachOptions) (types.HijackedResponse, error)
func (*MockDockerClient) ContainerCommit ¶
func (m *MockDockerClient) ContainerCommit(ctx context.Context, containerID string, options container.CommitOptions) (types.IDResponse, error)
func (*MockDockerClient) ContainerCreate ¶
func (m *MockDockerClient) ContainerCreate(ctx context.Context, config *container.Config, hostConfig *container.HostConfig, networkingConfig *network.NetworkingConfig, platform *ocispec.Platform, containerName string) (container.CreateResponse, error)
func (*MockDockerClient) ContainerDiff ¶
func (m *MockDockerClient) ContainerDiff(ctx context.Context, containerID string) ([]container.FilesystemChange, error)
func (*MockDockerClient) ContainerExecAttach ¶
func (m *MockDockerClient) ContainerExecAttach(ctx context.Context, execID string, config container.ExecStartOptions) (types.HijackedResponse, error)
func (*MockDockerClient) ContainerExecCreate ¶
func (m *MockDockerClient) ContainerExecCreate(ctx context.Context, containerID string, options container.ExecOptions) (types.IDResponse, error)
func (*MockDockerClient) ContainerExecInspect ¶
func (m *MockDockerClient) ContainerExecInspect(ctx context.Context, execID string) (container.ExecInspect, error)
func (*MockDockerClient) ContainerExecResize ¶
func (m *MockDockerClient) ContainerExecResize(ctx context.Context, execID string, options container.ResizeOptions) error
func (*MockDockerClient) ContainerExecStart ¶
func (m *MockDockerClient) ContainerExecStart(ctx context.Context, execID string, config container.ExecStartOptions) error
func (*MockDockerClient) ContainerExport ¶
func (m *MockDockerClient) ContainerExport(ctx context.Context, containerID string) (io.ReadCloser, error)
func (*MockDockerClient) ContainerInspect ¶
func (m *MockDockerClient) ContainerInspect(ctx context.Context, containerID string) (types.ContainerJSON, error)
func (*MockDockerClient) ContainerInspectWithRaw ¶
func (m *MockDockerClient) ContainerInspectWithRaw(ctx context.Context, containerID string, size bool) (types.ContainerJSON, []byte, error)
func (*MockDockerClient) ContainerKill ¶
func (m *MockDockerClient) ContainerKill(ctx context.Context, containerID, signal string) error
func (*MockDockerClient) ContainerList ¶
func (m *MockDockerClient) ContainerList(ctx context.Context, options container.ListOptions) ([]types.Container, error)
func (*MockDockerClient) ContainerLogs ¶
func (m *MockDockerClient) ContainerLogs(ctx context.Context, containerID string, options container.LogsOptions) (io.ReadCloser, error)
func (*MockDockerClient) ContainerPause ¶
func (m *MockDockerClient) ContainerPause(ctx context.Context, containerID string) error
func (*MockDockerClient) ContainerRemove ¶
func (m *MockDockerClient) ContainerRemove(ctx context.Context, containerID string, options container.RemoveOptions) error
func (*MockDockerClient) ContainerRename ¶
func (m *MockDockerClient) ContainerRename(ctx context.Context, containerID, newContainerName string) error
func (*MockDockerClient) ContainerResize ¶
func (m *MockDockerClient) ContainerResize(ctx context.Context, containerID string, options container.ResizeOptions) error
func (*MockDockerClient) ContainerRestart ¶
func (m *MockDockerClient) ContainerRestart(ctx context.Context, containerID string, options container.StopOptions) error
func (*MockDockerClient) ContainerStart ¶
func (m *MockDockerClient) ContainerStart(ctx context.Context, containerID string, options container.StartOptions) error
func (*MockDockerClient) ContainerStatPath ¶
func (*MockDockerClient) ContainerStats ¶
func (m *MockDockerClient) ContainerStats(ctx context.Context, containerID string, stream bool) (container.StatsResponseReader, error)
func (*MockDockerClient) ContainerStatsOneShot ¶
func (m *MockDockerClient) ContainerStatsOneShot(ctx context.Context, containerID string) (container.StatsResponseReader, error)
func (*MockDockerClient) ContainerStop ¶
func (m *MockDockerClient) ContainerStop(ctx context.Context, containerID string, options container.StopOptions) error
func (*MockDockerClient) ContainerTop ¶
func (m *MockDockerClient) ContainerTop(ctx context.Context, containerID string, arguments []string) (container.ContainerTopOKBody, error)
func (*MockDockerClient) ContainerUnpause ¶
func (m *MockDockerClient) ContainerUnpause(ctx context.Context, containerID string) error
func (*MockDockerClient) ContainerUpdate ¶
func (m *MockDockerClient) ContainerUpdate(ctx context.Context, containerID string, updateConfig container.UpdateConfig) (container.ContainerUpdateOKBody, error)
func (*MockDockerClient) ContainerWait ¶
func (m *MockDockerClient) ContainerWait(ctx context.Context, containerID string, condition container.WaitCondition) (<-chan container.WaitResponse, <-chan error)
func (*MockDockerClient) ContainersPrune ¶
func (m *MockDockerClient) ContainersPrune(ctx context.Context, pruneFilters filters.Args) (container.PruneReport, error)
func (*MockDockerClient) CopyFromContainer ¶
func (m *MockDockerClient) CopyFromContainer(ctx context.Context, containerID, srcPath string) (io.ReadCloser, container.PathStat, error)
func (*MockDockerClient) CopyToContainer ¶
func (m *MockDockerClient) CopyToContainer(ctx context.Context, containerID, path string, content io.Reader, options container.CopyToContainerOptions) error
func (*MockDockerClient) DaemonHost ¶
func (m *MockDockerClient) DaemonHost() string
func (*MockDockerClient) DialHijack ¶
func (*MockDockerClient) DiskUsage ¶
func (m *MockDockerClient) DiskUsage(ctx context.Context, options types.DiskUsageOptions) (types.DiskUsage, error)
func (*MockDockerClient) DistributionInspect ¶
func (m *MockDockerClient) DistributionInspect(ctx context.Context, image, encodedAuth string) (registry.DistributionInspect, error)
func (*MockDockerClient) Events ¶
func (m *MockDockerClient) Events(ctx context.Context, options events.ListOptions) (<-chan events.Message, <-chan error)
func (*MockDockerClient) HTTPClient ¶
func (m *MockDockerClient) HTTPClient() *http.Client
func (*MockDockerClient) ImageBuild ¶
func (m *MockDockerClient) ImageBuild(ctx context.Context, buildContext io.Reader, options types.ImageBuildOptions) (types.ImageBuildResponse, error)
func (*MockDockerClient) ImageCreate ¶
func (m *MockDockerClient) ImageCreate(ctx context.Context, parentReference string, options image.CreateOptions) (io.ReadCloser, error)
func (*MockDockerClient) ImageHistory ¶
func (m *MockDockerClient) ImageHistory(ctx context.Context, imageID string, options ...client.ImageHistoryOption) ([]image.HistoryResponseItem, error)
func (*MockDockerClient) ImageImport ¶
func (m *MockDockerClient) ImageImport(ctx context.Context, source image.ImportSource, ref string, options image.ImportOptions) (io.ReadCloser, error)
func (*MockDockerClient) ImageInspect ¶
func (m *MockDockerClient) ImageInspect(ctx context.Context, imageID string, options ...client.ImageInspectOption) (image.InspectResponse, error)
ImageInspect mocks the ImageInspect method
func (*MockDockerClient) ImageInspectWithRaw ¶
func (m *MockDockerClient) ImageInspectWithRaw(ctx context.Context, imageID string) (types.ImageInspect, []byte, error)
func (*MockDockerClient) ImageList ¶
func (m *MockDockerClient) ImageList(ctx context.Context, options image.ListOptions) ([]image.Summary, error)
func (*MockDockerClient) ImageLoad ¶
func (m *MockDockerClient) ImageLoad(ctx context.Context, input io.Reader, options ...client.ImageLoadOption) (image.LoadResponse, error)
func (*MockDockerClient) ImagePull ¶
func (m *MockDockerClient) ImagePull(ctx context.Context, refStr string, options image.PullOptions) (io.ReadCloser, error)
func (*MockDockerClient) ImagePush ¶
func (m *MockDockerClient) ImagePush(ctx context.Context, refStr string, options image.PushOptions) (io.ReadCloser, error)
func (*MockDockerClient) ImageRemove ¶
func (m *MockDockerClient) ImageRemove(ctx context.Context, imageID string, options image.RemoveOptions) ([]image.DeleteResponse, error)
func (*MockDockerClient) ImageSave ¶
func (m *MockDockerClient) ImageSave(ctx context.Context, imageIDs []string, options ...client.ImageSaveOption) (io.ReadCloser, error)
func (*MockDockerClient) ImageSearch ¶
func (m *MockDockerClient) ImageSearch(ctx context.Context, term string, options registry.SearchOptions) ([]registry.SearchResult, error)
func (*MockDockerClient) ImageTag ¶
func (m *MockDockerClient) ImageTag(ctx context.Context, source, target string) error
func (*MockDockerClient) ImagesPrune ¶
func (m *MockDockerClient) ImagesPrune(ctx context.Context, pruneFilter filters.Args) (image.PruneReport, error)
func (*MockDockerClient) NegotiateAPIVersion ¶
func (m *MockDockerClient) NegotiateAPIVersion(ctx context.Context)
func (*MockDockerClient) NegotiateAPIVersionPing ¶
func (m *MockDockerClient) NegotiateAPIVersionPing(ping types.Ping)
func (*MockDockerClient) NetworkConnect ¶
func (m *MockDockerClient) NetworkConnect(ctx context.Context, networkID, containerID string, config *network.EndpointSettings) error
func (*MockDockerClient) NetworkCreate ¶
func (m *MockDockerClient) NetworkCreate(ctx context.Context, name string, options network.CreateOptions) (network.CreateResponse, error)
func (*MockDockerClient) NetworkDisconnect ¶
func (*MockDockerClient) NetworkInspect ¶
func (m *MockDockerClient) NetworkInspect(ctx context.Context, networkID string, options network.InspectOptions) (network.Inspect, error)
func (*MockDockerClient) NetworkInspectWithRaw ¶
func (m *MockDockerClient) NetworkInspectWithRaw(ctx context.Context, networkID string, options network.InspectOptions) (network.Inspect, []byte, error)
func (*MockDockerClient) NetworkList ¶
func (m *MockDockerClient) NetworkList(ctx context.Context, options network.ListOptions) ([]network.Summary, error)
func (*MockDockerClient) NetworkRemove ¶
func (m *MockDockerClient) NetworkRemove(ctx context.Context, networkID string) error
func (*MockDockerClient) NetworksPrune ¶
func (m *MockDockerClient) NetworksPrune(ctx context.Context, pruneFilter filters.Args) (network.PruneReport, error)
func (*MockDockerClient) NodeInspectWithRaw ¶
func (*MockDockerClient) NodeList ¶
func (m *MockDockerClient) NodeList(ctx context.Context, options types.NodeListOptions) ([]swarm.Node, error)
func (*MockDockerClient) NodeRemove ¶
func (m *MockDockerClient) NodeRemove(ctx context.Context, nodeID string, options types.NodeRemoveOptions) error
func (*MockDockerClient) NodeUpdate ¶
func (*MockDockerClient) PluginCreate ¶
func (m *MockDockerClient) PluginCreate(ctx context.Context, createContext io.Reader, options types.PluginCreateOptions) error
func (*MockDockerClient) PluginDisable ¶
func (m *MockDockerClient) PluginDisable(ctx context.Context, name string, options types.PluginDisableOptions) error
func (*MockDockerClient) PluginEnable ¶
func (m *MockDockerClient) PluginEnable(ctx context.Context, name string, options types.PluginEnableOptions) error
func (*MockDockerClient) PluginInspectWithRaw ¶
func (*MockDockerClient) PluginInstall ¶
func (m *MockDockerClient) PluginInstall(ctx context.Context, name string, options types.PluginInstallOptions) (io.ReadCloser, error)
func (*MockDockerClient) PluginList ¶
func (m *MockDockerClient) PluginList(ctx context.Context, filter filters.Args) (types.PluginsListResponse, error)
func (*MockDockerClient) PluginPush ¶
func (m *MockDockerClient) PluginPush(ctx context.Context, name, registryAuth string) (io.ReadCloser, error)
func (*MockDockerClient) PluginRemove ¶
func (m *MockDockerClient) PluginRemove(ctx context.Context, name string, options types.PluginRemoveOptions) error
func (*MockDockerClient) PluginUpgrade ¶
func (m *MockDockerClient) PluginUpgrade(ctx context.Context, name string, options types.PluginInstallOptions) (io.ReadCloser, error)
func (*MockDockerClient) RegistryLogin ¶
func (m *MockDockerClient) RegistryLogin(ctx context.Context, auth registry.AuthConfig) (registry.AuthenticateOKBody, error)
func (*MockDockerClient) SecretCreate ¶
func (m *MockDockerClient) SecretCreate(ctx context.Context, secret swarm.SecretSpec) (types.SecretCreateResponse, error)
func (*MockDockerClient) SecretInspectWithRaw ¶
func (*MockDockerClient) SecretList ¶
func (m *MockDockerClient) SecretList(ctx context.Context, options types.SecretListOptions) ([]swarm.Secret, error)
func (*MockDockerClient) SecretRemove ¶
func (m *MockDockerClient) SecretRemove(ctx context.Context, id string) error
func (*MockDockerClient) SecretUpdate ¶
func (m *MockDockerClient) SecretUpdate(ctx context.Context, id string, version swarm.Version, secret swarm.SecretSpec) error
func (*MockDockerClient) ServerVersion ¶
func (*MockDockerClient) ServiceCreate ¶
func (m *MockDockerClient) ServiceCreate(ctx context.Context, service swarm.ServiceSpec, options types.ServiceCreateOptions) (swarm.ServiceCreateResponse, error)
func (*MockDockerClient) ServiceInspectWithRaw ¶
func (m *MockDockerClient) ServiceInspectWithRaw(ctx context.Context, serviceID string, options types.ServiceInspectOptions) (swarm.Service, []byte, error)
func (*MockDockerClient) ServiceList ¶
func (m *MockDockerClient) ServiceList(ctx context.Context, options types.ServiceListOptions) ([]swarm.Service, error)
func (*MockDockerClient) ServiceLogs ¶
func (m *MockDockerClient) ServiceLogs(ctx context.Context, serviceID string, options container.LogsOptions) (io.ReadCloser, error)
func (*MockDockerClient) ServiceRemove ¶
func (m *MockDockerClient) ServiceRemove(ctx context.Context, serviceID string) error
func (*MockDockerClient) ServiceUpdate ¶
func (m *MockDockerClient) ServiceUpdate(ctx context.Context, serviceID string, version swarm.Version, service swarm.ServiceSpec, options types.ServiceUpdateOptions) (swarm.ServiceUpdateResponse, error)
func (*MockDockerClient) SwarmGetUnlockKey ¶
func (m *MockDockerClient) SwarmGetUnlockKey(ctx context.Context) (types.SwarmUnlockKeyResponse, error)
func (*MockDockerClient) SwarmInit ¶
func (m *MockDockerClient) SwarmInit(ctx context.Context, req swarm.InitRequest) (string, error)
func (*MockDockerClient) SwarmInspect ¶
func (*MockDockerClient) SwarmJoin ¶
func (m *MockDockerClient) SwarmJoin(ctx context.Context, req swarm.JoinRequest) error
func (*MockDockerClient) SwarmLeave ¶
func (m *MockDockerClient) SwarmLeave(ctx context.Context, force bool) error
func (*MockDockerClient) SwarmUnlock ¶
func (m *MockDockerClient) SwarmUnlock(ctx context.Context, req swarm.UnlockRequest) error
func (*MockDockerClient) SwarmUpdate ¶
func (m *MockDockerClient) SwarmUpdate(ctx context.Context, version swarm.Version, swarm swarm.Spec, flags swarm.UpdateFlags) error
func (*MockDockerClient) TaskInspectWithRaw ¶
func (*MockDockerClient) TaskList ¶
func (m *MockDockerClient) TaskList(ctx context.Context, options types.TaskListOptions) ([]swarm.Task, error)
func (*MockDockerClient) TaskLogs ¶
func (m *MockDockerClient) TaskLogs(ctx context.Context, taskID string, options container.LogsOptions) (io.ReadCloser, error)
func (*MockDockerClient) VolumeCreate ¶
func (m *MockDockerClient) VolumeCreate(ctx context.Context, options volume.CreateOptions) (volume.Volume, error)
func (*MockDockerClient) VolumeInspect ¶
func (*MockDockerClient) VolumeInspectWithRaw ¶
func (*MockDockerClient) VolumeList ¶
func (m *MockDockerClient) VolumeList(ctx context.Context, options volume.ListOptions) (volume.ListResponse, error)
func (*MockDockerClient) VolumeRemove ¶
func (*MockDockerClient) VolumeUpdate ¶
func (m *MockDockerClient) VolumeUpdate(ctx context.Context, volumeID string, version swarm.Version, options volume.UpdateOptions) error
func (*MockDockerClient) VolumesPrune ¶
func (m *MockDockerClient) VolumesPrune(ctx context.Context, pruneFilter filters.Args) (volume.PruneReport, error)
Directories
¶
| Path | Synopsis |
|---|---|
|
Package compose provides functionality for Docker Compose operations
|
Package compose provides functionality for Docker Compose operations |
|
converter
Package converter provides functionality for converting Docker Compose structures to Docker API structures
|
Package converter provides functionality for converting Docker Compose structures to Docker API structures |
|
orchestrator
Package orchestrator provides functionality for orchestrating Docker Compose deployments
|
Package orchestrator provides functionality for orchestrating Docker Compose deployments |
|
resources
Package resources provides functionality for managing Docker Compose resources
|
Package resources provides functionality for managing Docker Compose resources |
|
status
Package status provides functionality for monitoring Docker Compose service status
|
Package status provides functionality for monitoring Docker Compose service status |
|
types
Package types provides common structures for Docker Compose functionality
|
Package types provides common structures for Docker Compose functionality |
|
Package container provides functionality for managing Docker containers.
|
Package container provides functionality for managing Docker containers. |
|
exec
Package exec provides functionality for executing commands in Docker containers.
|
Package exec provides functionality for executing commands in Docker containers. |
|
file
Package file provides utilities for container file operations
|
Package file provides utilities for container file operations |
|
lifecycle
Package lifecycle implements Docker container lifecycle operations.
|
Package lifecycle implements Docker container lifecycle operations. |
|
monitor
Package monitor provides utilities for monitoring Docker containers
|
Package monitor provides utilities for monitoring Docker containers |
|
state
Package state provides utilities for container state management
|
Package state provides utilities for container state management |
|
Package network provides functionality for Docker network management
|
Package network provides functionality for Docker network management |
|
manager
Package manager provides the implementation of the network service interface
|
Package manager provides the implementation of the network service interface |
|
Package registry provides functionality for managing Docker registries and credentials.
|
Package registry provides functionality for managing Docker registries and credentials. |
|
Package security provides container security scanning and secure default configurations
|
Package security provides container security scanning and secure default configurations |
|
Package volume provides functionality for Docker volume management
|
Package volume provides functionality for Docker volume management |
|
inspector
Package inspector provides functionality for inspecting Docker volumes
|
Package inspector provides functionality for inspecting Docker volumes |
|
manager
Package manager provides a concrete implementation of the volume.Service interface
|
Package manager provides a concrete implementation of the volume.Service interface |