diff --git a/cmd/nvidia-ctk/hook/hook.go b/cmd/nvidia-ctk/hook/hook.go index a81f6d65..8fc403ae 100644 --- a/cmd/nvidia-ctk/hook/hook.go +++ b/cmd/nvidia-ctk/hook/hook.go @@ -18,7 +18,7 @@ package hook import ( chmod "github.com/NVIDIA/nvidia-container-toolkit/cmd/nvidia-ctk/hook/chmod" - devchar "github.com/NVIDIA/nvidia-container-toolkit/cmd/nvidia-ctk/hook/create-dev-char-symlinks" + symlinks "github.com/NVIDIA/nvidia-container-toolkit/cmd/nvidia-ctk/hook/create-symlinks" ldcache "github.com/NVIDIA/nvidia-container-toolkit/cmd/nvidia-ctk/hook/update-ldcache" "github.com/sirupsen/logrus" @@ -49,7 +49,6 @@ func (m hookCommand) build() *cli.Command { ldcache.NewCommand(m.logger), symlinks.NewCommand(m.logger), chmod.NewCommand(m.logger), - devchar.NewCommand(m.logger), } return &hook diff --git a/cmd/nvidia-ctk/main.go b/cmd/nvidia-ctk/main.go index a8b04b64..df3617e2 100644 --- a/cmd/nvidia-ctk/main.go +++ b/cmd/nvidia-ctk/main.go @@ -23,6 +23,7 @@ import ( "github.com/NVIDIA/nvidia-container-toolkit/cmd/nvidia-ctk/hook" infoCLI "github.com/NVIDIA/nvidia-container-toolkit/cmd/nvidia-ctk/info" "github.com/NVIDIA/nvidia-container-toolkit/cmd/nvidia-ctk/runtime" + "github.com/NVIDIA/nvidia-container-toolkit/cmd/nvidia-ctk/system" "github.com/NVIDIA/nvidia-container-toolkit/internal/info" log "github.com/sirupsen/logrus" @@ -77,6 +78,7 @@ func main() { runtime.NewCommand(logger), infoCLI.NewCommand(logger), cdi.NewCommand(logger), + system.NewCommand(logger), } // Run the CLI diff --git a/cmd/nvidia-ctk/hook/create-dev-char-symlinks/all.go b/cmd/nvidia-ctk/system/create-dev-char-symlinks/all.go similarity index 100% rename from cmd/nvidia-ctk/hook/create-dev-char-symlinks/all.go rename to cmd/nvidia-ctk/system/create-dev-char-symlinks/all.go diff --git a/cmd/nvidia-ctk/hook/create-dev-char-symlinks/create-dev-char-symlinks.go b/cmd/nvidia-ctk/system/create-dev-char-symlinks/create-dev-char-symlinks.go similarity index 98% rename from cmd/nvidia-ctk/hook/create-dev-char-symlinks/create-dev-char-symlinks.go rename to cmd/nvidia-ctk/system/create-dev-char-symlinks/create-dev-char-symlinks.go index bec0314e..f84734b3 100644 --- a/cmd/nvidia-ctk/hook/create-dev-char-symlinks/create-dev-char-symlinks.go +++ b/cmd/nvidia-ctk/system/create-dev-char-symlinks/create-dev-char-symlinks.go @@ -45,7 +45,7 @@ type config struct { createAll bool } -// NewCommand constructs a hook sub-command with the specified logger +// NewCommand constructs a command sub-command with the specified logger func NewCommand(logger *logrus.Logger) *cli.Command { c := command{ logger: logger, @@ -60,7 +60,7 @@ func (m command) build() *cli.Command { // Create the 'create-dev-char-symlinks' command c := cli.Command{ Name: "create-dev-char-symlinks", - Usage: "A hook to create symlinks to possible /dev/nv* devices in /dev/char", + Usage: "A utility to create symlinks to possible /dev/nv* devices in /dev/char", Before: func(c *cli.Context) error { return m.validateFlags(c, &cfg) }, diff --git a/cmd/nvidia-ctk/hook/create-dev-char-symlinks/existing.go b/cmd/nvidia-ctk/system/create-dev-char-symlinks/existing.go similarity index 100% rename from cmd/nvidia-ctk/hook/create-dev-char-symlinks/existing.go rename to cmd/nvidia-ctk/system/create-dev-char-symlinks/existing.go diff --git a/cmd/nvidia-ctk/system/system.go b/cmd/nvidia-ctk/system/system.go new file mode 100644 index 00000000..a9f2e2ea --- /dev/null +++ b/cmd/nvidia-ctk/system/system.go @@ -0,0 +1,49 @@ +/** +# Copyright (c) NVIDIA CORPORATION. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +**/ + +package system + +import ( + devchar "github.com/NVIDIA/nvidia-container-toolkit/cmd/nvidia-ctk/system/create-dev-char-symlinks" + "github.com/sirupsen/logrus" + "github.com/urfave/cli/v2" +) + +type command struct { + logger *logrus.Logger +} + +// NewCommand constructs a runtime command with the specified logger +func NewCommand(logger *logrus.Logger) *cli.Command { + c := command{ + logger: logger, + } + return c.build() +} + +func (m command) build() *cli.Command { + // Create the 'system' command + system := cli.Command{ + Name: "system", + Usage: "A collection of system-related utilities for the NVIDIA Container Toolkit", + } + + system.Subcommands = []*cli.Command{ + devchar.NewCommand(m.logger), + } + + return &system +}