singularity

package
v0.0.0-...-3511abf Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 2, 2023 License: Apache-2.0 Imports: 31 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type SingularityClient

type SingularityClient struct {
	// contains filtered or unexported fields
}

SingularityClient implements ContainerRuntime.

func New

func New(opts options.Options) (*SingularityClient, error)

New returns a new singularity client, which launches and tracks containers.

func (*SingularityClient) Close

func (s *SingularityClient) Close() error

Close the client, killing all running containers and removing our scratch space.

func (*SingularityClient) CreateContainer

func (s *SingularityClient) CreateContainer(
	ctx context.Context,
	id cproto.ID,
	req cproto.RunSpec,
	p events.Publisher[docker.Event],
) (string, error)

CreateContainer implements container.ContainerRuntime.

func (*SingularityClient) ListRunningContainers

func (s *SingularityClient) ListRunningContainers(
	ctx context.Context,
	fs filters.Args,
) (map[cproto.ID]types.Container, error)

ListRunningContainers implements container.ContainerRuntime.

func (*SingularityClient) PullImage

func (s *SingularityClient) PullImage(
	ctx context.Context,
	req docker.PullImage,
	p events.Publisher[docker.Event],
) (err error)

PullImage implements container.ContainerRuntime.

func (*SingularityClient) ReattachContainer

func (s *SingularityClient) ReattachContainer(
	ctx context.Context,
	reattachID cproto.ID,
) (*docker.Container, *aproto.ExitCode, error)

ReattachContainer implements container.ContainerRuntime. TODO(DET-9082): Ensure orphaned processes are cleaned up on reattach.

func (*SingularityClient) RemoveContainer

func (s *SingularityClient) RemoveContainer(ctx context.Context, id string, force bool) error

RemoveContainer implements container.ContainerRuntime.

func (*SingularityClient) RunContainer

func (s *SingularityClient) RunContainer(
	ctx context.Context,
	waitCtx context.Context,
	id string,
	p events.Publisher[docker.Event],
) (*docker.Container, error)

RunContainer implements container.ContainerRuntime. nolint: golint,maintidx // Both contexts can't both be first / TODO refactor.

func (*SingularityClient) SignalContainer

func (s *SingularityClient) SignalContainer(
	ctx context.Context,
	id string,
	sig syscall.Signal,
) error

SignalContainer implements container.ContainerRuntime.

type SingularityContainer

type SingularityContainer struct {
	PID     int            `json:"pid"`
	Req     cproto.RunSpec `json:"req"`
	TmpDir  string         `json:"tmp_dir"`
	Proc    *os.Process    `json:"-"`
	Started atomic.Bool    `json:"started"`
}

SingularityContainer captures the state of a container.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL