Documentation ¶
Index ¶
- func Convert(c *config.ServiceConfig, ctx project.Context, ...) (*container.Config, *container.HostConfig, error)
- func DefaultDependentServices(p *project.Project, s project.Service) []project.ServiceRelationship
- func Filter(vs []string, f func(string) bool) []string
- func GetContainerFromIpcLikeConfig(p *project.Project, conf string) string
- type ConfigWrapper
- type Factory
- type Namer
- type Service
- func (s *Service) Build(ctx context.Context, buildOptions options.Build) error
- func (s *Service) Config() *config.ServiceConfig
- func (s *Service) Containers(ctx context.Context) ([]project.Container, error)
- func (s *Service) Create(ctx context.Context, options options.Create) error
- func (s *Service) Delete(ctx context.Context, options options.Delete) error
- func (s *Service) DependentServices() []project.ServiceRelationship
- func (s *Service) Events(ctx context.Context, evts chan events.ContainerEvent) error
- func (s *Service) Info(ctx context.Context) (project.InfoSet, error)
- func (s *Service) Kill(ctx context.Context, signal string) error
- func (s *Service) Log(ctx context.Context, follow bool) error
- func (s *Service) Name() string
- func (s *Service) NetworkConnect(ctx context.Context, c *container.Container, net *yaml.Network, oneOff bool) error
- func (s *Service) NetworkDisconnect(ctx context.Context, c *container.Container, net *yaml.Network, oneOff bool) error
- func (s *Service) OutOfSync(ctx context.Context, c *container.Container) (bool, error)
- func (s *Service) Pause(ctx context.Context) error
- func (s *Service) Pull(ctx context.Context) error
- func (s *Service) RemoveImage(ctx context.Context, imageType options.ImageType) error
- func (s *Service) Restart(ctx context.Context, timeout int) error
- func (s *Service) Run(ctx context.Context, commandParts []string, options options.Run) (int, error)
- func (s *Service) Scale(ctx context.Context, scale int, timeout int) error
- func (s *Service) Start(ctx context.Context) error
- func (s *Service) Stop(ctx context.Context, timeout int) error
- func (s *Service) Unpause(ctx context.Context) error
- func (s *Service) Up(ctx context.Context, options options.Up) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Convert ¶
func Convert(c *config.ServiceConfig, ctx project.Context, clientFactory composeclient.Factory) (*container.Config, *container.HostConfig, error)
Convert converts a service configuration to an docker API structures (Config and HostConfig)
func DefaultDependentServices ¶
DefaultDependentServices return the dependent services (as an array of ServiceRelationship) for the specified project and service. It looks for : links, volumesFrom, net and ipc configuration. It uses default project implementation and append some docker specific ones.
Types ¶
type ConfigWrapper ¶
type ConfigWrapper struct { Config *container.Config HostConfig *container.HostConfig NetworkingConfig *network.NetworkingConfig }
ConfigWrapper wraps Config, HostConfig and NetworkingConfig for a container.
func ConvertToAPI ¶
func ConvertToAPI(serviceConfig *config.ServiceConfig, ctx project.Context, clientFactory composeclient.Factory) (*ConfigWrapper, error)
ConvertToAPI converts a service configuration to a docker API container configuration.
type Factory ¶
type Factory struct {
// contains filtered or unexported fields
}
Factory is an implementation of project.ServiceFactory.
func NewFactory ¶
NewFactory creates a new service factory for the given context
type Namer ¶
Namer defines method to provide container name.
func NewNamer ¶
func NewNamer(ctx context.Context, client client.ContainerAPIClient, project, service string, oneOff bool) (Namer, error)
NewNamer returns a namer that returns names based on the specified project and service name and an inner counter, e.g. project_service_1, project_service_2…
func NewSingleNamer ¶
NewSingleNamer returns a namer that only allows a single name.
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service is a project.Service implementations.
func NewService ¶
NewService creates a service
func (*Service) Build ¶
Build implements Service.Build. It will try to build the image and returns an error if any.
func (*Service) Config ¶
func (s *Service) Config() *config.ServiceConfig
Config returns the configuration of the service (config.ServiceConfig).
func (*Service) Containers ¶
Containers implements Service.Containers. It returns the list of containers that are related to the service.
func (*Service) Create ¶
Create implements Service.Create. It ensures the image exists or build it if it can and then create a container.
func (*Service) Delete ¶
Delete implements Service.Delete. It removes any containers related to the service.
func (*Service) DependentServices ¶
func (s *Service) DependentServices() []project.ServiceRelationship
DependentServices returns the dependent services (as an array of ServiceRelationship) of the service.
func (*Service) Events ¶
Events implements Service.Events. It listen to all real-time events happening for the service, and put them into the specified chan.
func (*Service) Info ¶
Info implements Service.Info. It returns an project.InfoSet with the containers related to this service (can be multiple if using the scale command).
func (*Service) Kill ¶
Kill implements Service.Kill. It kills any containers related to the service.
func (*Service) Log ¶
Log implements Service.Log. It returns the docker logs for each container related to the service.
func (*Service) NetworkConnect ¶
func (s *Service) NetworkConnect(ctx context.Context, c *container.Container, net *yaml.Network, oneOff bool) error
NetworkConnect connects the container to the specified network FIXME(vdemeester) will be refactor with Container refactoring
func (*Service) NetworkDisconnect ¶
func (s *Service) NetworkDisconnect(ctx context.Context, c *container.Container, net *yaml.Network, oneOff bool) error
NetworkDisconnect disconnects the container from the specified network
func (*Service) OutOfSync ¶
OutOfSync checks if the container is out of sync with the service definition. It looks if the the service hash container label is the same as the computed one.
func (*Service) Pause ¶
Pause implements Service.Pause. It puts into pause the container(s) related to the service.
func (*Service) Pull ¶
Pull implements Service.Pull. It pulls the image of the service and skip the service that would need to be built.
func (*Service) RemoveImage ¶
RemoveImage implements Service.RemoveImage. It removes images used for the service depending on the specified type.
func (*Service) Restart ¶
Restart implements Service.Restart. It restarts any containers related to the service.
func (*Service) Run ¶
Run implements Service.Run. It runs a one of command within the service container. It always create a new container.
func (*Service) Scale ¶
Scale implements Service.Scale. It creates or removes containers to have the specified number of related container to the service to run.
func (*Service) Start ¶
Start implements Service.Start. It tries to start a container without creating it.
func (*Service) Stop ¶
Stop implements Service.Stop. It stops any containers related to the service.