From b28783813bc16605fcd88269799a8c0ad9b40dd0 Mon Sep 17 00:00:00 2001 From: Nieves Montero Date: Thu, 4 May 2023 12:10:34 +0200 Subject: [PATCH] Improve the error message when running nested inside a non-Toolbx container Fixes issue https://github.com/containers/toolbox/issues/1183 Signed-off-by: Nieves Montero --- src/cmd/root.go | 4 ++++ src/cmd/utils.go | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/cmd/root.go b/src/cmd/root.go index fef4ab371..6bfd530bb 100644 --- a/src/cmd/root.go +++ b/src/cmd/root.go @@ -144,6 +144,10 @@ func preRun(cmd *cobra.Command, args []string) error { } } + if utils.IsInsideContainer() && !utils.IsInsideToolboxContainer() { + return createErrorNonToolboxContainer() + } + toolboxPath := os.Getenv("TOOLBOX_PATH") if toolboxPath == "" { diff --git a/src/cmd/utils.go b/src/cmd/utils.go index e640287e0..3974fff87 100644 --- a/src/cmd/utils.go +++ b/src/cmd/utils.go @@ -138,6 +138,16 @@ func createErrorInvalidRelease(hint string) error { return errors.New(errMsg) } +func createErrorNonToolboxContainer() error { + var builder strings.Builder + fmt.Fprintf(&builder, "this is not a Toolbox container.\n") + fmt.Fprintf(&builder, "Toolbox is only meant to work with Toolbox containers.\n") + fmt.Fprintf(&builder, "Run '%s --help' for usage.", executableBase) + + errMsg := builder.String() + return errors.New(errMsg) +} + func getUsageForCommonCommands() string { var builder strings.Builder fmt.Fprintf(&builder, "create Create a new toolbox container\n")