From ef0f97b065d229523a7809be6a79bff9c26aff2d Mon Sep 17 00:00:00 2001 From: Evan Lezar Date: Fri, 7 Mar 2025 15:52:03 +0200 Subject: [PATCH] Allow nvidia-ctk config --set to accept comma-separated lists The urfave update to v2.27.6 fixes the behaviour when disabling a separator for repeated StringSliceFlags. This change updates the nvidia-ctk config command to allow list options to be specified as comma-separated values. Signed-off-by: Evan Lezar --- cmd/nvidia-ctk/config/config.go | 9 ++++++++- cmd/nvidia-ctk/main.go | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/cmd/nvidia-ctk/config/config.go b/cmd/nvidia-ctk/config/config.go index e1e163ca..197f6a2d 100644 --- a/cmd/nvidia-ctk/config/config.go +++ b/cmd/nvidia-ctk/config/config.go @@ -194,7 +194,14 @@ func setFlagToKeyValue(setFlag string, setListSeparator string) (string, interfa case reflect.String: return key, value, nil case reflect.Slice: - valueParts := strings.Split(value, setListSeparator) + valueParts := []string{value} + for _, sep := range []string{setListSeparator, ","} { + if !strings.Contains(value, sep) { + continue + } + valueParts = strings.Split(value, sep) + break + } switch field.Elem().Kind() { case reflect.String: return key, valueParts, nil diff --git a/cmd/nvidia-ctk/main.go b/cmd/nvidia-ctk/main.go index 9a12ae16..011887e8 100644 --- a/cmd/nvidia-ctk/main.go +++ b/cmd/nvidia-ctk/main.go @@ -49,6 +49,7 @@ func main() { // Create the top-level CLI c := cli.NewApp() + c.DisableSliceFlagSeparator = true c.Name = "NVIDIA Container Toolkit CLI" c.UseShortOptionHandling = true c.EnableBashCompletion = true