diff --git a/contrib/nydusify/cmd/nydusify.go b/contrib/nydusify/cmd/nydusify.go index a4ff5856780..590ef133e05 100644 --- a/contrib/nydusify/cmd/nydusify.go +++ b/contrib/nydusify/cmd/nydusify.go @@ -1179,6 +1179,13 @@ func main() { Usage: "Containerd address, optionally with \"unix://\" prefix [$CONTAINERD_ADDRESS] (default \"/run/containerd/containerd.sock\")", EnvVars: []string{"CONTAINERD_ADDR"}, }, + &cli.StringFlag{ + Name: "namespace", + Aliases: []string{"n"}, + Value: "default", + Usage: "Container namespace, default with \"default\" namespace", + EnvVars: []string{"NAMESPACE"}, + }, &cli.StringFlag{ Name: "container", Required: true, @@ -1244,6 +1251,7 @@ func main() { WorkDir: c.String("work-dir"), NydusImagePath: c.String("nydus-image"), ContainerdAddress: c.String("containerd-address"), + Namespace: c.String("namespace"), ContainerID: c.String("container"), TargetRef: c.String("target"), SourceInsecure: c.Bool("source-insecure"), diff --git a/contrib/nydusify/pkg/committer/commiter.go b/contrib/nydusify/pkg/committer/commiter.go index 8deafa6981e..8dd8eef6ac7 100644 --- a/contrib/nydusify/pkg/committer/commiter.go +++ b/contrib/nydusify/pkg/committer/commiter.go @@ -20,6 +20,7 @@ import ( "time" "github.com/containerd/containerd/content/local" + "github.com/containerd/containerd/namespaces" "github.com/containerd/containerd/reference/docker" "github.com/containerd/nydus-snapshotter/pkg/converter" "github.com/dragonflyoss/nydus/contrib/nydusify/pkg/committer/diff" @@ -38,6 +39,7 @@ type Opt struct { WorkDir string ContainerdAddress string NydusImagePath string + Namespace string ContainerID string SourceInsecure bool @@ -79,6 +81,7 @@ func NewCommitter(opt Opt) (*Committer, error) { } func (cm *Committer) Commit(ctx context.Context, opt Opt) error { + ctx = namespaces.WithNamespace(ctx, opt.Namespace) targetRef, err := ValidateRef(opt.TargetRef) if err != nil { return errors.Wrap(err, "parse target image name") diff --git a/contrib/nydusify/pkg/committer/manager.go b/contrib/nydusify/pkg/committer/manager.go index dfa3a51dbba..6816171ca4f 100644 --- a/contrib/nydusify/pkg/committer/manager.go +++ b/contrib/nydusify/pkg/committer/manager.go @@ -10,7 +10,6 @@ import ( "strings" "github.com/containerd/containerd" - "github.com/containerd/containerd/namespaces" "github.com/containerd/containerd/oci" "github.com/pkg/errors" @@ -40,7 +39,6 @@ func NewManager(addr string) (*Manager, error) { } func (m *Manager) Pause(ctx context.Context, containerID string) error { - ctx = namespaces.WithNamespace(ctx, "default") client, err := containerd.New(m.address) if err != nil { return errors.Wrapf(err, "create client") @@ -58,7 +56,6 @@ func (m *Manager) Pause(ctx context.Context, containerID string) error { } func (m *Manager) UnPause(ctx context.Context, containerID string) error { - ctx = namespaces.WithNamespace(ctx, "default") client, err := containerd.New(m.address) if err != nil { return errors.Wrapf(err, "create client") @@ -76,7 +73,6 @@ func (m *Manager) UnPause(ctx context.Context, containerID string) error { } func (m *Manager) Inspect(ctx context.Context, containerID string) (*InspectResult, error) { - ctx = namespaces.WithNamespace(ctx, "default") client, err := containerd.New(m.address) if err != nil { return nil, errors.Wrapf(err, "create client")