Documentation ¶
Index ¶
- Constants
- func GenerateSpec(opts ...SpecOpts) (*specs.Spec, error)
- func NewRemoteContainerStore(client containersapi.ContainersClient) containers.Store
- func WithExit(r *CheckpointTaskInfo) error
- func WithHostHosts(s *specs.Spec) error
- func WithHostLocaltime(s *specs.Spec) error
- func WithHostResoveconf(s *specs.Spec) error
- func WithNoNewPrivileges(s *specs.Spec) error
- func WithPullUnpack(client *Client, c *RemoteContext) error
- func WithSchema1Conversion(client *Client, c *RemoteContext) error
- func WithSnapshotCleanup(ctx context.Context, client *Client, c containers.Container) error
- func WithStdinCloser(r *IOCloseInfo)
- func WithTTY(s *specs.Spec) error
- type CheckpointTaskInfo
- type CheckpointTaskOpts
- type Client
- func (c *Client) Close() error
- func (c *Client) ContainerService() containers.Store
- func (c *Client) Containers(ctx context.Context, filters ...string) ([]Container, error)
- func (c *Client) ContentStore() content.Store
- func (c *Client) DiffService() diff.DiffService
- func (c *Client) EventService() eventsapi.EventsClient
- func (c *Client) Export(ctx context.Context, desc ocispec.Descriptor, opts ...ExportOpt) (io.ReadCloser, error)
- func (c *Client) GetImage(ctx context.Context, ref string) (Image, error)
- func (c *Client) HealthService() grpc_health_v1.HealthClient
- func (c *Client) ImageService() images.Store
- func (c *Client) Import(ctx context.Context, ref string, reader io.Reader, opts ...ImportOpt) (Image, error)
- func (c *Client) IsServing(ctx context.Context) (bool, error)
- func (c *Client) ListImages(ctx context.Context) ([]Image, error)
- func (c *Client) LoadContainer(ctx context.Context, id string) (Container, error)
- func (c *Client) NamespaceService() namespacesapi.NamespacesClient
- func (c *Client) NewContainer(ctx context.Context, id string, opts ...NewContainerOpts) (Container, error)
- func (c *Client) Pull(ctx context.Context, ref string, opts ...RemoteOpts) (Image, error)
- func (c *Client) Push(ctx context.Context, ref string, desc ocispec.Descriptor, opts ...RemoteOpts) error
- func (c *Client) SnapshotService(snapshotterName string) snapshot.Snapshotter
- func (c *Client) TaskService() tasks.TasksClient
- func (c *Client) Version(ctx context.Context) (Version, error)
- func (c *Client) VersionService() versionservice.VersionClient
- type ClientOpt
- type Container
- type DeleteOpts
- type ExportOpt
- type FIFOSet
- type IO
- type IOAttach
- type IOCloseInfo
- type IOCloserOpts
- type IOCreation
- type Image
- type ImportOpt
- type NewContainerOpts
- func WithCheckpoint(desc v1.Descriptor, rootfsID string) NewContainerOpts
- func WithContainerLabels(labels map[string]string) NewContainerOpts
- func WithImage(i Image) NewContainerOpts
- func WithNewSnapshot(id string, i Image) NewContainerOpts
- func WithNewSnapshotView(id string, i Image) NewContainerOpts
- func WithRemappedSnapshot(id string, i Image, uid, gid uint32) NewContainerOpts
- func WithRuntime(name string) NewContainerOpts
- func WithSnapshot(id string) NewContainerOpts
- func WithSnapshotter(name string) NewContainerOpts
- func WithSpec(spec *specs.Spec) NewContainerOpts
- type NewTaskOpts
- type Process
- type RemoteContext
- type RemoteOpts
- type SpecOpts
- func WithApparmorProfile(profile string) SpecOpts
- func WithHostNamespace(ns specs.LinuxNamespaceType) SpecOpts
- func WithImageConfig(ctx context.Context, i Image) SpecOpts
- func WithLinuxNamespace(ns specs.LinuxNamespace) SpecOpts
- func WithProcessArgs(args ...string) SpecOpts
- func WithRootFSPath(path string, readonly bool) SpecOpts
- func WithUserNamespace(container, host, size uint32) SpecOpts
- type Status
- type Task
- type TaskInfo
- type UpdateTaskInfo
- type UpdateTaskOpts
- type Version
Constants ¶
const UnknownExitStatus = 255
Variables ¶
This section is empty.
Functions ¶
func GenerateSpec ¶
GenerateSpec will generate a default spec from the provided image for use as a containerd container
func NewRemoteContainerStore ¶ added in v1.0.0
func NewRemoteContainerStore(client containersapi.ContainersClient) containers.Store
func WithExit ¶ added in v1.0.0
func WithExit(r *CheckpointTaskInfo) error
func WithHostHosts ¶
func WithHostLocaltime ¶
func WithHostResoveconf ¶
func WithNoNewPrivileges ¶
WithNoNewPrivileges sets no_new_privileges on the process for the container
func WithPullUnpack ¶ added in v1.0.0
func WithPullUnpack(client *Client, c *RemoteContext) error
WithPullUnpack is used to unpack an image after pull. This uses the snapshotter, content store, and diff service configured for the client.
func WithSchema1Conversion ¶ added in v1.0.0
func WithSchema1Conversion(client *Client, c *RemoteContext) error
WithSchema1Conversion is used to convert Docker registry schema 1 manifests to oci manifests on pull. Without this option schema 1 manifests will return a not supported error.
func WithSnapshotCleanup ¶ added in v1.0.0
WithSnapshotCleanup deletes the rootfs allocated for the container
func WithStdinCloser ¶ added in v1.0.0
func WithStdinCloser(r *IOCloseInfo)
Types ¶
type CheckpointTaskInfo ¶ added in v1.0.0
type CheckpointTaskOpts ¶ added in v1.0.0
type CheckpointTaskOpts func(*CheckpointTaskInfo) error
type Client ¶ added in v1.0.0
type Client struct {
// contains filtered or unexported fields
}
Client is the client to interact with containerd and its various services using a uniform interface
func New ¶ added in v1.0.0
New returns a new containerd client that is connected to the containerd instance provided by address
func NewWithConn ¶ added in v1.0.0
func NewWithConn(conn *grpc.ClientConn, opts ...ClientOpt) (*Client, error)
NewWithConn returns a new containerd client that is connected to the containerd instance provided by the connection
func (*Client) ContainerService ¶ added in v1.0.0
func (c *Client) ContainerService() containers.Store
func (*Client) Containers ¶ added in v1.0.0
Containers returns all containers created in containerd
func (*Client) ContentStore ¶ added in v1.0.0
func (*Client) DiffService ¶ added in v1.0.0
func (c *Client) DiffService() diff.DiffService
func (*Client) EventService ¶ added in v1.0.0
func (c *Client) EventService() eventsapi.EventsClient
func (*Client) Export ¶ added in v1.0.0
func (c *Client) Export(ctx context.Context, desc ocispec.Descriptor, opts ...ExportOpt) (io.ReadCloser, error)
Export exports an image to a Tar stream. OCI format is used by default. It is up to caller to put "org.opencontainers.image.ref.name" annotation to desc.
func (*Client) HealthService ¶ added in v1.0.0
func (c *Client) HealthService() grpc_health_v1.HealthClient
func (*Client) ImageService ¶ added in v1.0.0
func (*Client) Import ¶ added in v1.0.0
func (c *Client) Import(ctx context.Context, ref string, reader io.Reader, opts ...ImportOpt) (Image, error)
Import imports an image from a Tar stream using reader. OCI format is assumed by default.
Note that unreferenced blobs are imported to the content store as well.
func (*Client) ListImages ¶ added in v1.0.0
ListImages returns all existing images
func (*Client) LoadContainer ¶ added in v1.0.0
func (*Client) NamespaceService ¶ added in v1.0.0
func (c *Client) NamespaceService() namespacesapi.NamespacesClient
func (*Client) NewContainer ¶ added in v1.0.0
func (c *Client) NewContainer(ctx context.Context, id string, opts ...NewContainerOpts) (Container, error)
NewContainer will create a new container in container with the provided id the id must be unique within the namespace
func (*Client) Push ¶ added in v1.0.0
func (c *Client) Push(ctx context.Context, ref string, desc ocispec.Descriptor, opts ...RemoteOpts) error
func (*Client) SnapshotService ¶ added in v1.0.0
func (c *Client) SnapshotService(snapshotterName string) snapshot.Snapshotter
func (*Client) TaskService ¶ added in v1.0.0
func (c *Client) TaskService() tasks.TasksClient
func (*Client) VersionService ¶ added in v1.0.0
func (c *Client) VersionService() versionservice.VersionClient
type ClientOpt ¶ added in v1.0.0
type ClientOpt func(c *clientOpts) error
func WithDefaultNamespace ¶ added in v1.0.0
func WithDialOpts ¶ added in v1.0.0
func WithDialOpts(opts []grpc.DialOption) ClientOpt
WithDialOpts allows grpc.DialOptions to be set on the connection
type Container ¶ added in v1.0.0
type Container interface { ID() string Info() containers.Container Delete(context.Context, ...DeleteOpts) error NewTask(context.Context, IOCreation, ...NewTaskOpts) (Task, error) Spec() (*specs.Spec, error) Task(context.Context, IOAttach) (Task, error) Image(context.Context) (Image, error) Labels(context.Context) (map[string]string, error) SetLabels(context.Context, map[string]string) (map[string]string, error) }
type DeleteOpts ¶ added in v1.0.0
type ExportOpt ¶ added in v1.0.0
type ExportOpt func(c *exportOpts) error
func WithOCIExportFormat ¶
func WithOCIExportFormat() ExportOpt
type FIFOSet ¶
type IO ¶
type IO struct { Terminal bool Stdin string Stdout string Stderr string // contains filtered or unexported fields }
func Stdio ¶
Stdio returns an IO implementation to be used for a task that outputs the container's IO as the current processes Stdio
func StdioTerminal ¶
StdioTerminal will setup the IO for the task to use a terminal
type IOCloseInfo ¶ added in v1.0.0
type IOCloseInfo struct {
Stdin bool
}
type IOCloserOpts ¶ added in v1.0.0
type IOCloserOpts func(*IOCloseInfo)
type IOCreation ¶
func NewIOWithTerminal ¶
type ImportOpt ¶ added in v1.0.0
type ImportOpt func(c *importOpts) error
func WithOCIImportFormat ¶
func WithOCIImportFormat() ImportOpt
func WithRefObject ¶
WithRefObject specifies the ref object to import. If refObject is empty, it is copied from the ref argument of Import().
type NewContainerOpts ¶ added in v1.0.0
func WithCheckpoint ¶ added in v1.0.0
func WithCheckpoint(desc v1.Descriptor, rootfsID string) NewContainerOpts
func WithContainerLabels ¶ added in v1.0.0
func WithContainerLabels(labels map[string]string) NewContainerOpts
WithContainerLabels adds the provided labels to the container
func WithImage ¶ added in v1.0.0
func WithImage(i Image) NewContainerOpts
func WithNewSnapshot ¶ added in v1.0.0
func WithNewSnapshot(id string, i Image) NewContainerOpts
WithNewSnapshot allocates a new snapshot to be used by the container as the root filesystem in read-write mode
func WithNewSnapshotView ¶ added in v1.0.0
func WithNewSnapshotView(id string, i Image) NewContainerOpts
WithNewSnapshotView allocates a new snapshot to be used by the container as the root filesystem in read-only mode
func WithRemappedSnapshot ¶ added in v1.0.0
func WithRemappedSnapshot(id string, i Image, uid, gid uint32) NewContainerOpts
WithRemappedSnapshot creates a new snapshot and remaps the uid/gid for the filesystem to be used by a container with user namespaces
func WithRuntime ¶ added in v1.0.0
func WithRuntime(name string) NewContainerOpts
WithRuntime allows a user to specify the runtime name and additional options that should be used to create tasks for the container
func WithSnapshot ¶ added in v1.0.0
func WithSnapshot(id string) NewContainerOpts
WithSnapshot uses an existing root filesystem for the container
func WithSnapshotter ¶ added in v1.0.0
func WithSnapshotter(name string) NewContainerOpts
func WithSpec ¶ added in v1.0.0
func WithSpec(spec *specs.Spec) NewContainerOpts
WithSpec sets the provided spec for a new container
type NewTaskOpts ¶ added in v1.0.0
func WithRootFS ¶ added in v1.0.0
func WithRootFS(mounts []mount.Mount) NewTaskOpts
func WithTaskCheckpoint ¶ added in v1.0.0
func WithTaskCheckpoint(desc v1.Descriptor) NewTaskOpts
type Process ¶ added in v1.0.0
type Process interface { Pid() uint32 Start(context.Context) error Delete(context.Context) (uint32, error) Kill(context.Context, syscall.Signal) error Wait(context.Context) (uint32, error) CloseIO(context.Context, ...IOCloserOpts) error Resize(ctx context.Context, w, h uint32) error IO() *IO Status(context.Context) (Status, error) }
type RemoteContext ¶ added in v1.0.0
type RemoteContext struct { // Resolver is used to resolve names to objects, fetchers, and pushers. // If no resolver is provided, defaults to Docker registry resolver. Resolver remotes.Resolver // Unpack is done after an image is pulled to extract into a snapshotter. // If an image is not unpacked on pull, it can be unpacked any time // afterwards. Unpacking is required to run an image. Unpack bool // Snapshotter used for unpacking Snapshotter string // BaseHandlers are a set of handlers which get are called on dispatch. // These handlers always get called before any operation specific // handlers. BaseHandlers []images.Handler // ConvertSchema1 is whether to convert Docker registry schema 1 // manifests. If this option is false then any image which resolves // to schema 1 will return an error since schema 1 is not supported. ConvertSchema1 bool }
RemoteContext is used to configure object resolutions and transfers with remote content stores and image providers.
type RemoteOpts ¶
type RemoteOpts func(*Client, *RemoteContext) error
func WithImageHandler ¶ added in v1.0.0
func WithImageHandler(h images.Handler) RemoteOpts
WithImageHandler adds a base handler to be called on dispatch.
func WithPullSnapshotter ¶ added in v1.0.0
func WithPullSnapshotter(snapshotterName string) RemoteOpts
WithPullSnapshotter specifies snapshotter name used for unpacking
func WithResolver ¶ added in v1.0.0
func WithResolver(resolver remotes.Resolver) RemoteOpts
WithResolver specifies the resolver to use.
type SpecOpts ¶
SpecOpts sets spec specific information to a newly generated OCI spec
func WithApparmorProfile ¶
WithApparmor sets the provided apparmor profile to the spec
func WithHostNamespace ¶
func WithHostNamespace(ns specs.LinuxNamespaceType) SpecOpts
func WithLinuxNamespace ¶
func WithLinuxNamespace(ns specs.LinuxNamespace) SpecOpts
WithLinuxNamespace uses the passed in namespace for the spec. If a namespace of the same type already exists in the spec, the existing namespace is replaced by the one provided.
func WithProcessArgs ¶
WithProcessArgs replaces the args on the generated spec
func WithRootFSPath ¶
WithRootFSPath specifies unmanaged rootfs path.
func WithUserNamespace ¶
WithUserNamespace sets the uid and gid mappings for the task this can be called multiple times to add more mappings to the generated spec
type Task ¶ added in v1.0.0
type Task interface { Pid() uint32 Delete(context.Context) (uint32, error) Kill(context.Context, syscall.Signal) error Pause(context.Context) error Resume(context.Context) error Start(context.Context) error Status(context.Context) (Status, error) Wait(context.Context) (uint32, error) Exec(context.Context, string, *specs.Process, IOCreation) (Process, error) Pids(context.Context) ([]uint32, error) CloseIO(context.Context, ...IOCloserOpts) error Resize(ctx context.Context, w, h uint32) error IO() *IO Checkpoint(context.Context, ...CheckpointTaskOpts) (v1.Descriptor, error) Update(context.Context, ...UpdateTaskOpts) error }
type TaskInfo ¶ added in v1.0.0
type TaskInfo struct { Checkpoint *types.Descriptor RootFS []mount.Mount Options interface{} }
type UpdateTaskInfo ¶ added in v1.0.0
type UpdateTaskInfo struct {
Resources interface{}
}
type UpdateTaskOpts ¶ added in v1.0.0
type UpdateTaskOpts func(context.Context, *Client, *UpdateTaskInfo) error
func WithResources ¶ added in v1.0.0
func WithResources(resources *specs.LinuxResources) UpdateTaskOpts
WithResources sets the provided resources on the spec for task updates
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
api
|
|
services/containers/v1
Package containers is a generated protocol buffer package.
|
Package containers is a generated protocol buffer package. |
services/content/v1
Package content is a generated protocol buffer package.
|
Package content is a generated protocol buffer package. |
services/diff/v1
Package diff is a generated protocol buffer package.
|
Package diff is a generated protocol buffer package. |
services/events/v1
Package events is a generated protocol buffer package.
|
Package events is a generated protocol buffer package. |
services/images/v1
Package images is a generated protocol buffer package.
|
Package images is a generated protocol buffer package. |
services/namespaces/v1
Package namespaces is a generated protocol buffer package.
|
Package namespaces is a generated protocol buffer package. |
services/snapshot/v1
Package snapshot is a generated protocol buffer package.
|
Package snapshot is a generated protocol buffer package. |
services/tasks/v1
Package tasks is a generated protocol buffer package.
|
Package tasks is a generated protocol buffer package. |
services/version/v1
Package version is a generated protocol buffer package.
|
Package version is a generated protocol buffer package. |
types
Package types is a generated protocol buffer package.
|
Package types is a generated protocol buffer package. |
types/task
Package task is a generated protocol buffer package.
|
Package task is a generated protocol buffer package. |
cmd
|
|
Package errdefs defines the common errors used throughout containerd packages.
|
Package errdefs defines the common errors used throughout containerd packages. |
Package filters defines a syntax and parser that can be used for the filtration of items across the containerd API.
|
Package filters defines a syntax and parser that can be used for the filtration of items across the containerd API. |
Package gc experiments with providing central gc tooling to ensure deterministic resource removal within containerd.
|
Package gc experiments with providing central gc tooling to ensure deterministic resource removal within containerd. |
Package identifiers provides common validation for identifiers and keys across containerd.
|
Package identifiers provides common validation for identifiers and keys across containerd. |
runcopts
Package runcopts is a generated protocol buffer package.
|
Package runcopts is a generated protocol buffer package. |
shim/v1
Package shim is a generated protocol buffer package.
|
Package shim is a generated protocol buffer package. |
metrics
|
|
Package namespaces provides tools for working with namespaces across containerd.
|
Package namespaces provides tools for working with namespaces across containerd. |
Package oci provides basic operations for manipulating OCI images.
|
Package oci provides basic operations for manipulating OCI images. |
Package progress assists in displaying human readable progress information.
|
Package progress assists in displaying human readable progress information. |
protobuf
|
|
plugin
Package plugin is a generated protocol buffer package.
|
Package plugin is a generated protocol buffer package. |
services
|
|
storage
Package storage provides a metadata storage implementation for snapshot drivers.
|
Package storage provides a metadata storage implementation for snapshot drivers. |
storage/proto
Package proto is a generated protocol buffer package.
|
Package proto is a generated protocol buffer package. |
Package sys provides access to the Get Child and Set Child prctl flags.
|
Package sys provides access to the Get Child and Set Child prctl flags. |
hcsshimopts
hcsshimopts holds the windows runtime specific options Package hcsshimopts is a generated protocol buffer package.
|
hcsshimopts holds the windows runtime specific options Package hcsshimopts is a generated protocol buffer package. |