mirror of
https://github.com/amir20/dozzle.git
synced 2025-12-21 13:23:07 +01:00
33 lines
1.4 KiB
Go
33 lines
1.4 KiB
Go
package container_support
|
|
|
|
import (
|
|
"context"
|
|
"io"
|
|
"time"
|
|
|
|
"github.com/amir20/dozzle/internal/container"
|
|
)
|
|
|
|
type ContainerFilter = func(*container.Container) bool
|
|
|
|
type ClientService interface {
|
|
FindContainer(ctx context.Context, id string, labels container.ContainerLabels) (container.Container, error)
|
|
ListContainers(ctx context.Context, filter container.ContainerLabels) ([]container.Container, error)
|
|
Host(ctx context.Context) (container.Host, error)
|
|
ContainerAction(ctx context.Context, container container.Container, action container.ContainerAction) error
|
|
LogsBetweenDates(ctx context.Context, container container.Container, from time.Time, to time.Time, stdTypes container.StdType) (<-chan *container.LogEvent, error)
|
|
RawLogs(context.Context, container.Container, time.Time, time.Time, container.StdType) (io.ReadCloser, error)
|
|
|
|
// Subscriptions
|
|
SubscribeStats(context.Context, chan<- container.ContainerStat)
|
|
SubscribeEvents(context.Context, chan<- container.ContainerEvent)
|
|
SubscribeContainersStarted(context.Context, chan<- container.Container)
|
|
|
|
// Blocking streaming functions that should be used in a goroutine
|
|
StreamLogs(context.Context, container.Container, time.Time, container.StdType, chan<- *container.LogEvent) error
|
|
|
|
// Terminal
|
|
Attach(context.Context, container.Container, io.Reader, io.Writer) error
|
|
Exec(context.Context, container.Container, []string, io.Reader, io.Writer) error
|
|
}
|