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.Opt) (*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 RuntimeOptions(context *cli.Context) (interface{}, error)
- 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.", EnvVars: []string{"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", Aliases: []string{"k"}, Usage: "Skip SSL certificate validation", }, &cli.BoolFlag{ Name: "plain-http", Usage: "Allow connections using plain HTTP", }, &cli.StringFlag{ Name: "user", Aliases: []string{"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", }, } // RuntimeFlags are cli flags specifying runtime RuntimeFlags = []cli.Flag{ &cli.StringFlag{ Name: "runtime", Usage: "Runtime name or absolute path to runtime binary", Value: defaults.DefaultRuntime, }, &cli.StringFlag{ Name: "runtime-config-path", Usage: "Optional runtime config path", }, } // ContainerFlags are cli flags specifying container options ContainerFlags = []cli.Flag{ &cli.StringFlag{ Name: "config", Aliases: []string{"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: "sandbox", Usage: "Create the container in the given sandbox", }, &cli.BoolFlag{ Name: "tty", Aliases: []string{"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", Aliases: []string{"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 ¶
AnnotationArgs returns a map of annotation key,value pairs.
func AppContext ¶
func AppContext(context *cli.Context) (gocontext.Context, gocontext.CancelFunc)
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.Opt) (*containerd.Client, gocontext.Context, gocontext.CancelFunc, error)
NewClient returns a new containerd client
func NewDebugClientTrace ¶
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 ¶
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 RuntimeOptions ¶
func RuntimeOptions(context *cli.Context) (interface{}, error)
func WritePidFile ¶
WritePidFile writes the pid atomically to a file
Types ¶
type DebugTransport ¶
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 ¶
type NetworkMetaData struct {
EnableCni bool
}
NetworkMetaData ctr pass cni network metadata to containerd if ctr run use option of --cni