package oci

import "github.com/containerd/containerd/oci"

Index

Functions

func GenerateSpec

func GenerateSpec(ctx context.Context, client Client, c *containers.Container, opts ...SpecOpts) (*specs.Spec, error)

GenerateSpec will generate a default spec from the provided image for use as a containerd container

Types

type Client

type Client interface {
	SnapshotService(snapshotterName string) snapshots.Snapshotter
}

Client interface used by SpecOpt

type Image

type Image interface {
	// Config descriptor for the image.
	Config(ctx context.Context) (ocispec.Descriptor, error)
	// ContentStore provides a content store which contains image blob data
	ContentStore() content.Store
}

Image interface used by some SpecOpt to query image configuration

type SpecOpts

SpecOpts sets spec specific information to a newly generated OCI spec

func Compose

func Compose(opts ...SpecOpts) SpecOpts

Compose converts a sequence of spec operations into a single operation

func WithEnv

func WithEnv(environmentVariables []string) SpecOpts

WithEnv appends environment variables

func WithHostname

func WithHostname(name string) SpecOpts

WithHostname sets the container's hostname

func WithImageConfig

func WithImageConfig(image Image) SpecOpts

WithImageConfig configures the spec to from the configuration of an Image

func WithMounts

func WithMounts(mounts []specs.Mount) SpecOpts

WithMounts appends mounts

func WithProcessArgs

func WithProcessArgs(args ...string) SpecOpts

WithProcessArgs replaces the args on the generated spec

func WithProcessCwd

func WithProcessCwd(cwd string) SpecOpts

WithProcessCwd replaces the current working directory on the generated spec

func WithTTY

func WithTTY(width, height int) SpecOpts

WithTTY sets the information on the spec as well as the environment variables for using a TTY

func WithUsername

func WithUsername(username string) SpecOpts

WithUsername sets the username on the process

Source Files

client.go spec.go spec_opts.go spec_opts_windows.go spec_windows.go

Version
v1.1.1
Published
Jul 9, 2018
Platform
windows/amd64
Imports
10 packages
Last checked
4 minutes ago

Tools for package owners.