Documentation ¶
Index ¶
- Constants
- Variables
- func AnnotationArgs(annoStrings []string) (map[string]string, error)
- func AppContext(context *cli.Context) (gocontext.Context, gocontext.CancelFunc)
- func ForwardAllSignals(ctx gocontext.Context, task killer) chan os.Signal
- func FullID(ctx context.Context, c containerd.Container) string
- func GetResolver(ctx gocontext.Context, clicontext *cli.Context) (remotes.Resolver, error)
- func LabelArgs(labelStrings []string) map[string]string
- func NewClient(context *cli.Context, opts ...containerd.ClientOpt) (*containerd.Client, gocontext.Context, gocontext.CancelFunc, error)
- func NewDebugClientTrace(ctx gocontext.Context) *httptrace.ClientTrace
- func NewStaticCredentials(ctx gocontext.Context, clicontext *cli.Context, ref string) (registry.CredentialHelper, error)
- func ObjectWithLabelArgs(clicontext *cli.Context) (string, map[string]string)
- func PrintAsJSON(x interface{})
- func StopCatch(sigc chan os.Signal)
- func WritePidFile(path string, pid int) error
- type DebugTransport
- type NetworkMetaData
Constants ¶
const (
// CtrCniMetadataExtension is an extension name that identify metadata of container in CreateContainerRequest
CtrCniMetadataExtension = "ctr.cni-containerd.metadata"
)
Variables ¶
var ( // SnapshotterFlags are cli flags specifying snapshotter names SnapshotterFlags = []cli.Flag{ cli.StringFlag{ Name: "snapshotter", Usage: "Snapshotter name. Empty value stands for the default value.", EnvVar: "CONTAINERD_SNAPSHOTTER", }, } // SnapshotterLabels are cli flags specifying labels which will be added to the new snapshot for container. SnapshotterLabels = cli.StringSliceFlag{ Name: "snapshotter-label", Usage: "Labels added to the new snapshot for this container.", } // LabelFlag is a cli flag specifying labels LabelFlag = cli.StringSliceFlag{ Name: "label", Usage: "Labels to attach to the image", } // RegistryFlags are cli flags specifying registry options RegistryFlags = []cli.Flag{ cli.BoolFlag{ Name: "skip-verify,k", Usage: "Skip SSL certificate validation", }, cli.BoolFlag{ Name: "plain-http", Usage: "Allow connections using plain HTTP", }, cli.StringFlag{ Name: "user,u", Usage: "User[:password] Registry user and password", }, cli.StringFlag{ Name: "refresh", Usage: "Refresh token for authorization server", }, cli.StringFlag{ Name: "hosts-dir", Usage: "Custom hosts configuration directory", }, cli.StringFlag{ Name: "tlscacert", Usage: "Path to TLS root CA", }, cli.StringFlag{ Name: "tlscert", Usage: "Path to TLS client certificate", }, cli.StringFlag{ Name: "tlskey", Usage: "Path to TLS client key", }, cli.BoolFlag{ Name: "http-dump", Usage: "Dump all HTTP request/responses when interacting with container registry", }, cli.BoolFlag{ Name: "http-trace", Usage: "Enable HTTP tracing for registry interactions", }, } // ContainerFlags are cli flags specifying container options ContainerFlags = []cli.Flag{ cli.StringFlag{ Name: "config,c", Usage: "Path to the runtime-specific spec config file", }, cli.StringFlag{ Name: "cwd", Usage: "Specify the working directory of the process", }, cli.StringSliceFlag{ Name: "env", Usage: "Specify additional container environment variables (e.g. FOO=bar)", }, cli.StringFlag{ Name: "env-file", Usage: "Specify additional container environment variables in a file(e.g. FOO=bar, one per line)", }, cli.StringSliceFlag{ Name: "label", Usage: "Specify additional labels (e.g. foo=bar)", }, cli.StringSliceFlag{ Name: "annotation", Usage: "Specify additional OCI annotations (e.g. foo=bar)", }, cli.StringSliceFlag{ Name: "mount", Usage: "Specify additional container mount (e.g. type=bind,src=/tmp,dst=/host,options=rbind:ro)", }, cli.BoolFlag{ Name: "net-host", Usage: "Enable host networking for the container", }, cli.BoolFlag{ Name: "privileged", Usage: "Run privileged container", }, cli.BoolFlag{ Name: "read-only", Usage: "Set the containers filesystem as readonly", }, cli.StringFlag{ Name: "runtime", Usage: "Runtime name or absolute path to runtime binary", Value: defaults.DefaultRuntime, }, cli.StringFlag{ Name: "sandbox", Usage: "Create the container in the given sandbox", }, cli.StringFlag{ Name: "runtime-config-path", Usage: "Optional runtime config path", }, cli.BoolFlag{ Name: "tty,t", Usage: "Allocate a TTY for the container", }, cli.StringSliceFlag{ Name: "with-ns", Usage: "Specify existing Linux namespaces to join at container runtime (format '<nstype>:<path>')", }, cli.StringFlag{ Name: "pid-file", Usage: "File path to write the task's pid", }, cli.IntSliceFlag{ Name: "gpus", Usage: "Add gpus to the container", }, cli.BoolFlag{ Name: "allow-new-privs", Usage: "Turn off OCI spec's NoNewPrivileges feature flag", }, cli.Uint64Flag{ Name: "memory-limit", Usage: "Memory limit (in bytes) for the container", }, cli.StringSliceFlag{ Name: "cap-add", Usage: "Add Linux capabilities (Set capabilities with 'CAP_' prefix)", }, cli.StringSliceFlag{ Name: "cap-drop", Usage: "Drop Linux capabilities (Set capabilities with 'CAP_' prefix)", }, cli.BoolFlag{ Name: "seccomp", Usage: "Enable the default seccomp profile", }, cli.StringFlag{ Name: "seccomp-profile", Usage: "File path to custom seccomp profile. seccomp must be set to true, before using seccomp-profile", }, cli.StringFlag{ Name: "apparmor-default-profile", Usage: "Enable AppArmor with the default profile with the specified name, e.g. \"cri-containerd.apparmor.d\"", }, cli.StringFlag{ Name: "apparmor-profile", Usage: "Enable AppArmor with an existing custom profile", }, cli.StringFlag{ Name: "blockio-config-file", Usage: "File path to blockio class definitions. By default class definitions are not loaded.", }, cli.StringFlag{ Name: "blockio-class", Usage: "Name of the blockio class to associate the container with", }, cli.StringFlag{ Name: "rdt-class", Usage: "Name of the RDT class to associate the container with. Specifies a Class of Service (CLOS) for cache and memory bandwidth management.", }, cli.StringFlag{ Name: "hostname", Usage: "Set the container's host name", }, cli.StringFlag{ Name: "user,u", Usage: "Username or user id, group optional (format: <name|uid>[:<group|gid>])", }, } )
var PushTracker = docker.NewInMemoryTracker()
PushTracker returns a new InMemoryTracker which tracks the ref status
Functions ¶
func AnnotationArgs ¶ added in v1.5.15
AnnotationArgs returns a map of annotation key,value pairs.
func AppContext ¶
AppContext returns the context for a command. Should only be called once per command, near the start.
This will ensure the namespace is picked up and set the timeout, if one is defined.
func ForwardAllSignals ¶
ForwardAllSignals forwards signals
func GetResolver ¶
GetResolver prepares the resolver from the environment and options
func NewClient ¶
func NewClient(context *cli.Context, opts ...containerd.ClientOpt) (*containerd.Client, gocontext.Context, gocontext.CancelFunc, error)
NewClient returns a new containerd client
func NewDebugClientTrace ¶ added in v1.5.0
func NewDebugClientTrace(ctx gocontext.Context) *httptrace.ClientTrace
NewDebugClientTrace returns a Go http trace client predefined to write DNS and connection information to the log. This is used via the --http-trace flag on push and pull operations in ctr.
func NewStaticCredentials ¶ added in v1.7.0
func NewStaticCredentials(ctx gocontext.Context, clicontext *cli.Context, ref string) (registry.CredentialHelper, error)
NewStaticCredentials gets credentials from passing in cli context
func ObjectWithLabelArgs ¶
ObjectWithLabelArgs returns the first arg and a LabelArgs object
func WritePidFile ¶ added in v1.1.0
WritePidFile writes the pid atomically to a file
Types ¶
type DebugTransport ¶ added in v1.5.0
type DebugTransport struct {
// contains filtered or unexported fields
}
DebugTransport wraps the underlying http.RoundTripper interface and dumps all requests/responses to the writer.
type NetworkMetaData ¶ added in v1.7.0
type NetworkMetaData struct {
EnableCni bool
}
ctr pass cni network metadata to containerd if ctr run use option of --cni