| package executor | |
| import ( | |
| "context" | |
| "time" | |
| "github.com/distribution/reference" | |
| "github.com/docker/distribution" | |
| "github.com/moby/moby/api/types/container" | |
| "github.com/moby/moby/api/types/events" | |
| "github.com/moby/moby/api/types/network" | |
| "github.com/moby/moby/api/types/registry" | |
| "github.com/moby/moby/api/types/swarm" | |
| "github.com/moby/moby/api/types/system" | |
| "github.com/moby/moby/api/types/volume" | |
| clustertypes "github.com/moby/moby/v2/daemon/cluster/provider" | |
| containerpkg "github.com/moby/moby/v2/daemon/container" | |
| "github.com/moby/moby/v2/daemon/internal/filters" | |
| "github.com/moby/moby/v2/daemon/internal/image" | |
| "github.com/moby/moby/v2/daemon/libnetwork" | |
| "github.com/moby/moby/v2/daemon/libnetwork/cluster" | |
| networktypes "github.com/moby/moby/v2/daemon/libnetwork/types" | |
| networkSettings "github.com/moby/moby/v2/daemon/network" | |
| "github.com/moby/moby/v2/daemon/pkg/plugin" | |
| "github.com/moby/moby/v2/daemon/server/backend" | |
| "github.com/moby/moby/v2/daemon/server/imagebackend" | |
| volumeopts "github.com/moby/moby/v2/daemon/volume/service/opts" | |
| "github.com/moby/swarmkit/v2/agent/exec" | |
| ) | |
| // Backend defines the executor component for a swarm agent. | |
| type Backend interface { | |
| CreateManagedNetwork(clustertypes.NetworkCreateRequest) error | |
| DeleteManagedNetwork(networkID string) error | |
| FindNetwork(idName string) (*libnetwork.Network, error) | |
| SetupIngress(clustertypes.NetworkCreateRequest, string) (<-chan struct{}, error) | |
| ReleaseIngress() (<-chan struct{}, error) | |
| CreateManagedContainer(ctx context.Context, config backend.ContainerCreateConfig) (container.CreateResponse, error) | |
| ContainerStart(ctx context.Context, name string, checkpoint string, checkpointDir string) error | |
| ContainerStop(ctx context.Context, name string, config backend.ContainerStopOptions) error | |
| ContainerLogs(ctx context.Context, name string, config *backend.ContainerLogsOptions) (msgs <-chan *backend.LogMessage, tty bool, err error) | |
| ConnectContainerToNetwork(ctx context.Context, containerName, networkName string, endpointConfig *network.EndpointSettings) error | |
| ActivateContainerServiceBinding(containerName string) error | |
| DeactivateContainerServiceBinding(containerName string) error | |
| UpdateContainerServiceConfig(containerName string, serviceConfig *clustertypes.ServiceConfig) error | |
| ContainerInspect(ctx context.Context, name string, options backend.ContainerInspectOptions) (_ *container.InspectResponse, desiredMACAddress network.HardwareAddr, _ error) | |
| ContainerWait(ctx context.Context, name string, condition container.WaitCondition) (<-chan containerpkg.StateStatus, error) | |
| ContainerRm(name string, config *backend.ContainerRmConfig) error | |
| ContainerKill(name string, sig string) error | |
| SetContainerDependencyStore(name string, store exec.DependencyGetter) error | |
| SetContainerSecretReferences(name string, refs []*swarm.SecretReference) error | |
| SetContainerConfigReferences(name string, refs []*swarm.ConfigReference) error | |
| SystemInfo(context.Context) (*system.Info, error) | |
| Containers(ctx context.Context, config *backend.ContainerListOptions) ([]container.Summary, error) | |
| SetNetworkBootstrapKeys([]*networktypes.EncryptionKey) error | |
| DaemonJoinsCluster(provider cluster.Provider) | |
| DaemonLeavesCluster() | |
| IsSwarmCompatible() error | |
| SubscribeToEvents(since, until time.Time, filter filters.Args) ([]events.Message, chan any) | |
| UnsubscribeFromEvents(listener chan any) | |
| UpdateAttachment(string, string, string, *network.NetworkingConfig) error | |
| WaitForDetachment(context.Context, string, string, string, string) error | |
| PluginManager() *plugin.Manager | |
| PluginGetter() *plugin.Store | |
| GetAttachmentStore() *networkSettings.AttachmentStore | |
| HasExperimental() bool | |
| } | |
| // VolumeBackend is used by an executor to perform volume operations | |
| type VolumeBackend interface { | |
| Create(ctx context.Context, name, driverName string, opts ...volumeopts.CreateOption) (*volume.Volume, error) | |
| } | |
| // ImageBackend is used by an executor to perform image operations | |
| type ImageBackend interface { | |
| PullImage(ctx context.Context, ref reference.Named, options imagebackend.PullOptions) error | |
| GetRepositories(context.Context, reference.Named, *registry.AuthConfig) ([]distribution.Repository, error) | |
| GetImage(ctx context.Context, refOrID string, options imagebackend.GetImageOpts) (*image.Image, error) | |
| } |