Documentation ¶
Index ¶
- type AIChainFunc
- type ContainerKeySelector
- type ContainerPredicate
- type ContainerSorter
- type DockerFluent
- func (d *DockerFluent) AIChain(ctx context.Context, prompt string, aiChainFunc AIChainFunc) *DockerFluent
- func (d *DockerFluent) Bind(operation func(*client.Client) error) *DockerFluent
- func (d *DockerFluent) BuildImage(ctx context.Context, dockerfileContent string, tags ...string) *DockerFluent
- func (d *DockerFluent) BulkInspectAndAnalyze(ctx context.Context) *DockerFluent
- func (d *DockerFluent) ConcurrentBind(operations ...func(*client.Client) error) *DockerFluent
- func (d *DockerFluent) ConcurrentExec(ctx context.Context, execConfigs map[string]types.ExecConfig) []ExecResult
- func (d *DockerFluent) ConcurrentPullImages(ctx context.Context, images ...string) *DockerFluent
- func (d *DockerFluent) ConcurrentStartContainers(ctx context.Context, containerIDs ...string) *DockerFluent
- func (d *DockerFluent) ConcurrentStopContainers(ctx context.Context, containerIDs ...string) *DockerFluent
- func (d *DockerFluent) CreateContainer(ctx context.Context, config *container.Config, ...) *DockerFluent
- func (d *DockerFluent) CreateNetwork(ctx context.Context, name string) *DockerFluent
- func (d *DockerFluent) EnhancedInspect(ctx context.Context, id string) (*InspectResult, error)
- func (d *DockerFluent) Error() error
- func (d *DockerFluent) GenerateContainerSVG(inspectResult *types.ContainerJSON) string
- func (d *DockerFluent) GetLogs(ctx context.Context, containerID string) (io.ReadCloser, error)
- func (d *DockerFluent) GroupBy(ctx context.Context, keySelector ContainerKeySelector) (GroupByResult, error)
- func (d *DockerFluent) ListContainers(ctx context.Context) ([]types.Container, error)
- func (d *DockerFluent) Partition(ctx context.Context, predicate ContainerPredicate) (*PartitionResult, error)
- func (d *DockerFluent) PullImage(ctx context.Context, img string) *DockerFluent
- func (d *DockerFluent) RemoveContainer(ctx context.Context, containerID string) *DockerFluent
- func (d *DockerFluent) RemoveNetwork(ctx context.Context, name string) *DockerFluent
- func (d *DockerFluent) Sort(ctx context.Context, sorter ContainerSorter) *DockerFluent
- func (d *DockerFluent) StartContainer(ctx context.Context, containerID string) *DockerFluent
- func (d *DockerFluent) StopContainer(ctx context.Context, containerID string) *DockerFluent
- func (d *DockerFluent) WaitForHealthy(ctx context.Context, containerID string, timeout time.Duration) *DockerFluent
- type ExecResult
- type GroupByResult
- type InspectResult
- type PartitionResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AIChainFunc ¶
type AIChainFunc func(aiResponse string) func(*DockerFluent) *DockerFluent
AIChainFunc is a function type that processes AI responses and returns a DockerFluent operation
type ContainerKeySelector ¶
ContainerKeySelector is a function type for selecting a grouping key from a container
type ContainerPredicate ¶
ContainerPredicate is a function type for testing a condition on a container
type ContainerSorter ¶
ContainerSorter is a function type for comparing two containers
type DockerFluent ¶
DockerFluent represents a monadic operation on the Docker client
func New ¶
func New(dockerHost ...string) (*DockerFluent, error)
New creates a new DockerFluent instance with optional Docker host
func (*DockerFluent) AIChain ¶
func (d *DockerFluent) AIChain(ctx context.Context, prompt string, aiChainFunc AIChainFunc) *DockerFluent
AIChain sends the current state to OpenAI and processes the response
func (*DockerFluent) Bind ¶
func (d *DockerFluent) Bind(operation func(*client.Client) error) *DockerFluent
Bind chains an operation to the DockerFluent
func (*DockerFluent) BuildImage ¶
func (d *DockerFluent) BuildImage(ctx context.Context, dockerfileContent string, tags ...string) *DockerFluent
BuildImage builds a Docker image from a Dockerfile
func (*DockerFluent) BulkInspectAndAnalyze ¶
func (d *DockerFluent) BulkInspectAndAnalyze(ctx context.Context) *DockerFluent
BulkInspectAndAnalyze inspects all containers and sends the results to OpenAI for analysis
func (*DockerFluent) ConcurrentBind ¶
func (d *DockerFluent) ConcurrentBind(operations ...func(*client.Client) error) *DockerFluent
ConcurrentBind executes multiple operations concurrently
func (*DockerFluent) ConcurrentExec ¶
func (d *DockerFluent) ConcurrentExec(ctx context.Context, execConfigs map[string]types.ExecConfig) []ExecResult
ConcurrentExec executes commands in multiple containers concurrently
func (*DockerFluent) ConcurrentPullImages ¶
func (d *DockerFluent) ConcurrentPullImages(ctx context.Context, images ...string) *DockerFluent
ConcurrentPullImages Update ConcurrentPullImages similarly
func (*DockerFluent) ConcurrentStartContainers ¶
func (d *DockerFluent) ConcurrentStartContainers(ctx context.Context, containerIDs ...string) *DockerFluent
ConcurrentStartContainers starts multiple containers concurrently
func (*DockerFluent) ConcurrentStopContainers ¶
func (d *DockerFluent) ConcurrentStopContainers(ctx context.Context, containerIDs ...string) *DockerFluent
ConcurrentStopContainers stops multiple containers concurrently
func (*DockerFluent) CreateContainer ¶
func (d *DockerFluent) CreateContainer(ctx context.Context, config *container.Config, hostConfig *container.HostConfig, name string) *DockerFluent
CreateContainer creates a new container
func (*DockerFluent) CreateNetwork ¶
func (d *DockerFluent) CreateNetwork(ctx context.Context, name string) *DockerFluent
CreateNetwork creates a Docker network
func (*DockerFluent) EnhancedInspect ¶
func (d *DockerFluent) EnhancedInspect(ctx context.Context, id string) (*InspectResult, error)
EnhancedInspect provides a comprehensive inspection of a Docker object
func (*DockerFluent) Error ¶
func (d *DockerFluent) Error() error
Error returns any error that occurred during the chain of operations
func (*DockerFluent) GenerateContainerSVG ¶
func (d *DockerFluent) GenerateContainerSVG(inspectResult *types.ContainerJSON) string
func (*DockerFluent) GetLogs ¶
func (d *DockerFluent) GetLogs(ctx context.Context, containerID string) (io.ReadCloser, error)
GetLogs retrieves logs from a container
func (*DockerFluent) GroupBy ¶
func (d *DockerFluent) GroupBy(ctx context.Context, keySelector ContainerKeySelector) (GroupByResult, error)
GroupBy groups containers based on the provided key selector
func (*DockerFluent) ListContainers ¶
ListContainers lists all containers
func (*DockerFluent) Partition ¶
func (d *DockerFluent) Partition(ctx context.Context, predicate ContainerPredicate) (*PartitionResult, error)
Partition splits containers into two groups based on the provided predicate
func (*DockerFluent) PullImage ¶
func (d *DockerFluent) PullImage(ctx context.Context, img string) *DockerFluent
PullImage pulls a Docker image with detailed progress output
func (*DockerFluent) RemoveContainer ¶
func (d *DockerFluent) RemoveContainer(ctx context.Context, containerID string) *DockerFluent
RemoveContainer removes a container
func (*DockerFluent) RemoveNetwork ¶
func (d *DockerFluent) RemoveNetwork(ctx context.Context, name string) *DockerFluent
RemoveNetwork removes a Docker network
func (*DockerFluent) Sort ¶
func (d *DockerFluent) Sort(ctx context.Context, sorter ContainerSorter) *DockerFluent
Sort sorts the containers based on the provided sorter function
func (*DockerFluent) StartContainer ¶
func (d *DockerFluent) StartContainer(ctx context.Context, containerID string) *DockerFluent
StartContainer starts a container
func (*DockerFluent) StopContainer ¶
func (d *DockerFluent) StopContainer(ctx context.Context, containerID string) *DockerFluent
StopContainer stops a container
func (*DockerFluent) WaitForHealthy ¶
func (d *DockerFluent) WaitForHealthy(ctx context.Context, containerID string, timeout time.Duration) *DockerFluent
type ExecResult ¶
ExecResult represents the result of an exec operation
type GroupByResult ¶
GroupByResult holds the result of a group by operation
type InspectResult ¶
type InspectResult struct { Container *types.ContainerJSON `json:"container,omitempty"` Image types.ImageInspect `json:"image,omitempty"` Network types.NetworkResource `json:"network,omitempty"` Volume volume.Volume `json:"volume,omitempty"` Logs string `json:"logs,omitempty"` Stats types.Stats `json:"stats,omitempty"` Processes [][]string `json:"processes,omitempty"` //Ports []types.Port `json:"ports,omitempty"` Ports nat.PortMap `json:"ports,omitempty"` Mounts []types.MountPoint `json:"mounts,omitempty"` Environment []string `json:"environment,omitempty"` }
InspectResult represents the comprehensive inspection result
func (*InspectResult) PrettyPrint ¶
func (r *InspectResult) PrettyPrint() string
PrettyPrint outputs the InspectResult in a formatted JSON