diff --git a/cli/cmd/beta.go b/cli/cmd/beta.go index 5fed327b..ec7afd9e 100644 --- a/cli/cmd/beta.go +++ b/cli/cmd/beta.go @@ -26,7 +26,7 @@ func AddBetaCmd(rootCmd *cobra.Command, opts *util.GlobalOptions) { AddExtendCmd(beta.cmd, opts) AddBootstrapGcpCmd(beta.cmd, opts) - AddBootstrapLocalCmd(beta.cmd) + AddBootstrapLocalCmd(beta.cmd, opts) AddBetaInstallCmd(beta.cmd, opts) AddBetaVaultSecretCmd(beta.cmd, opts) } diff --git a/cli/cmd/bootstrap_local.go b/cli/cmd/bootstrap_local.go index 19c4fb9f..e53127e0 100644 --- a/cli/cmd/bootstrap_local.go +++ b/cli/cmd/bootstrap_local.go @@ -39,6 +39,7 @@ import ( type BootstrapLocalCmd struct { cmd *cobra.Command + Opts *util.GlobalOptions CodesphereEnv *local.CodesphereEnvironment Yes bool // Experiments backs the deprecated --experiments flag; its values @@ -56,7 +57,8 @@ func (c *BootstrapLocalCmd) RunE(_ *cobra.Command, args []string) error { return nil } -func AddBootstrapLocalCmd(parent *cobra.Command) { +// AddBootstrapLocalCmd adds the local bootstrap command to parent. +func AddBootstrapLocalCmd(parent *cobra.Command, opts *util.GlobalOptions) { bootstrapLocalCmd := BootstrapLocalCmd{ cmd: &cobra.Command{ Use: "bootstrap-local", @@ -66,6 +68,7 @@ func AddBootstrapLocalCmd(parent *cobra.Command) { For local setups, use Minikube with a virtual machine on Linux. Not for production use.`), }, + Opts: opts, CodesphereEnv: &local.CodesphereEnvironment{}, } @@ -153,7 +156,7 @@ func (c *BootstrapLocalCmd) BootstrapLocal() error { return fmt.Errorf("failed to initialize Helm client: %w", err) } - bs := local.NewLocalBootstrapper(ctx, stlog, kubeClient, restConfig, fw, icg, helmClient, c.CodesphereEnv) + bs := local.NewLocalBootstrapper(ctx, stlog, kubeClient, restConfig, fw, icg, helmClient, c.CodesphereEnv, c.Opts.Verbose) return bs.Bootstrap() } diff --git a/cli/cmd/build_image.go b/cli/cmd/build_image.go index b7be16ac..4bba0b99 100644 --- a/cli/cmd/build_image.go +++ b/cli/cmd/build_image.go @@ -69,7 +69,7 @@ func AddBuildImageCmd(parentCmd *cobra.Command, opts *util.GlobalOptions) { // AddBuildImageCmd adds the build image command to the parent command func (c *BuildImageCmd) BuildImage(pm installer.PackageManager, im system.ImageManager) error { - err := pm.Extract(c.Opts.Force) + err := pm.Extract(c.Opts.Force, c.Opts.Verbose) if err != nil { return fmt.Errorf("failed to extract package: %w", err) } diff --git a/cli/cmd/build_image_test.go b/cli/cmd/build_image_test.go index cce1499e..3fad27e1 100644 --- a/cli/cmd/build_image_test.go +++ b/cli/cmd/build_image_test.go @@ -68,7 +68,7 @@ var _ = Describe("BuildImageCmd", func() { mockPackageManager := installer.NewMockPackageManager(GinkgoT()) mockImageManager := system.NewMockImageManager(GinkgoT()) - mockPackageManager.EXPECT().Extract(false).Return(nil) + mockPackageManager.EXPECT().Extract(false, false).Return(nil) mockPackageManager.EXPECT().GetCodesphereVersion().Return("", errors.New("failed to extract version")) err := c.BuildImage(mockPackageManager, mockImageManager) @@ -83,7 +83,7 @@ var _ = Describe("BuildImageCmd", func() { c.Opts.Dockerfile = "Dockerfile" c.Opts.Registry = "my-registry.com/my-image" - mockPackageManager.EXPECT().Extract(false).Return(nil) + mockPackageManager.EXPECT().Extract(false, false).Return(nil) mockPackageManager.EXPECT().GetCodesphereVersion().Return("codesphere-v1.66.0", nil) mockImageManager.EXPECT().BuildImage("Dockerfile", "my-registry.com/my-image:codesphere-v1.66.0", ".").Return(errors.New("build failed")) @@ -99,7 +99,7 @@ var _ = Describe("BuildImageCmd", func() { c.Opts.Dockerfile = "Dockerfile" c.Opts.Registry = "my-registry.com/my-image" - mockPackageManager.EXPECT().Extract(false).Return(nil) + mockPackageManager.EXPECT().Extract(false, false).Return(nil) mockPackageManager.EXPECT().GetCodesphereVersion().Return("codesphere-v1.66.0", nil) mockImageManager.EXPECT().BuildImage("Dockerfile", "my-registry.com/my-image:codesphere-v1.66.0", ".").Return(nil) mockImageManager.EXPECT().PushImage("my-registry.com/my-image:codesphere-v1.66.0").Return(errors.New("push failed")) @@ -116,7 +116,7 @@ var _ = Describe("BuildImageCmd", func() { c.Opts.Dockerfile = "Dockerfile" c.Opts.Registry = "my-registry.com/my-image" - mockPackageManager.EXPECT().Extract(false).Return(nil) + mockPackageManager.EXPECT().Extract(false, false).Return(nil) mockPackageManager.EXPECT().GetCodesphereVersion().Return("codesphere-v1.66.0", nil) mockImageManager.EXPECT().BuildImage("Dockerfile", "my-registry.com/my-image:codesphere-v1.66.0", ".").Return(nil) mockImageManager.EXPECT().PushImage("my-registry.com/my-image:codesphere-v1.66.0").Return(nil) diff --git a/cli/cmd/build_images.go b/cli/cmd/build_images.go index 48cd3c4e..c5448d3a 100644 --- a/cli/cmd/build_images.go +++ b/cli/cmd/build_images.go @@ -76,7 +76,7 @@ func (c *BuildImagesCmd) BuildAndPushImages(pm installer.PackageManager, cm inst return fmt.Errorf("registry server (property registry.server) not defined in the config, please specify a valid registry to which the image shall be pushed") } - err = pm.Extract(c.Opts.Force) + err = pm.Extract(c.Opts.Force, c.Opts.Verbose) if err != nil { return fmt.Errorf("failed to extract package: %w", err) } diff --git a/cli/cmd/build_images_test.go b/cli/cmd/build_images_test.go index 9bf2e3b2..4c9a5cd9 100644 --- a/cli/cmd/build_images_test.go +++ b/cli/cmd/build_images_test.go @@ -198,7 +198,7 @@ var _ = Describe("BuildImagesCmd", func() { }, } mockConfigManager.EXPECT().ParseConfigYaml("config-without-dockerfile.yaml").Return(configWithoutDockerfile, nil) - mockPackageManager.EXPECT().Extract(false).Return(nil) + mockPackageManager.EXPECT().Extract(false, false).Return(nil) mockPackageManager.EXPECT().GetCodesphereVersion().Return("1.0.0", nil) err := c.BuildAndPushImages(mockPackageManager, mockConfigManager, mockImageManager) @@ -235,7 +235,7 @@ var _ = Describe("BuildImagesCmd", func() { }, } mockConfigManager.EXPECT().ParseConfigYaml("config-with-dockerfile.yaml").Return(configWithDockerfile, nil) - mockPackageManager.EXPECT().Extract(false).Return(nil) + mockPackageManager.EXPECT().Extract(false, false).Return(nil) mockPackageManager.EXPECT().GetCodesphereVersion().Return("1.0.0", nil) mockImageManager.EXPECT().BuildImage("Dockerfile", "registry.example.com/my-ubuntu-24.04-default:1.0.0", ".").Return(errors.New("build failed")) @@ -274,7 +274,7 @@ var _ = Describe("BuildImagesCmd", func() { }, } mockConfigManager.EXPECT().ParseConfigYaml("config-with-dockerfile.yaml").Return(configWithDockerfile, nil) - mockPackageManager.EXPECT().Extract(false).Return(nil) + mockPackageManager.EXPECT().Extract(false, false).Return(nil) mockPackageManager.EXPECT().GetCodesphereVersion().Return("1.0.0", nil) mockImageManager.EXPECT().BuildImage("Dockerfile", "registry.example.com/my-ubuntu-24.04-default:1.0.0", ".").Return(nil) mockImageManager.EXPECT().PushImage("registry.example.com/my-ubuntu-24.04-default:1.0.0").Return(errors.New("push failed")) @@ -314,7 +314,7 @@ var _ = Describe("BuildImagesCmd", func() { }, } mockConfigManager.EXPECT().ParseConfigYaml("config-with-dockerfile.yaml").Return(configWithDockerfile, nil) - mockPackageManager.EXPECT().Extract(false).Return(nil) + mockPackageManager.EXPECT().Extract(false, false).Return(nil) mockPackageManager.EXPECT().GetCodesphereVersion().Return("1.0.0", nil) mockImageManager.EXPECT().BuildImage("Dockerfile", "registry.example.com/my-ubuntu-24.04-default:1.0.0", ".").Return(nil) mockImageManager.EXPECT().PushImage("registry.example.com/my-ubuntu-24.04-default:1.0.0").Return(nil) @@ -371,7 +371,7 @@ var _ = Describe("BuildImagesCmd", func() { }, } mockConfigManager.EXPECT().ParseConfigYaml("config-with-multiple-images.yaml").Return(configWithMultipleImages, nil) - mockPackageManager.EXPECT().Extract(false).Return(nil) + mockPackageManager.EXPECT().Extract(false, false).Return(nil) mockPackageManager.EXPECT().GetCodesphereVersion().Return("1.0.0", nil) // Expect calls for my-ubuntu-24.04 default flavor diff --git a/cli/cmd/codesphere/install_codesphere.go b/cli/cmd/codesphere/install_codesphere.go index 141bf27b..6dad6803 100644 --- a/cli/cmd/codesphere/install_codesphere.go +++ b/cli/cmd/codesphere/install_codesphere.go @@ -65,14 +65,17 @@ func (c *InstallCodesphereCmd) RunE(cmd *cobra.Command, _ []string) error { infraInstaller := &installer.CodesphereInstaller{ SkipSteps: c.Opts.SkipSteps, AllowedSteps: installer.InfraSteps, + Verbose: c.Opts.Verbose, } dependenciesInstaller := &installer.CodesphereInstaller{ SkipSteps: append(sharedInstallCodesphereSteps(), c.Opts.SkipSteps...), AllowedSteps: installer.DependenciesSteps, + Verbose: c.Opts.Verbose, } platformInstaller := &installer.CodesphereInstaller{ SkipSteps: append(sharedInstallCodesphereSteps(), c.Opts.SkipSteps...), AllowedSteps: installer.PlatformSteps, + Verbose: c.Opts.Verbose, } if c.Opts.CodesphereOnly { diff --git a/cli/cmd/codesphere/install_codesphere_dependencies.go b/cli/cmd/codesphere/install_codesphere_dependencies.go index 62f47ac8..73cb2bc4 100644 --- a/cli/cmd/codesphere/install_codesphere_dependencies.go +++ b/cli/cmd/codesphere/install_codesphere_dependencies.go @@ -54,6 +54,7 @@ func installCodesphereDepencies(opts *InstallCodesphereOpts, cfg files.RootConfi VaultPath: opts.Vault, PrivKey: opts.PrivKey, Force: opts.Force, + Verbose: opts.Verbose, SkipSteps: opts.SkipSteps, AllowedSteps: installer.DependenciesSteps, DirectConnection: opts.DirectConnection, diff --git a/cli/cmd/codesphere/install_codesphere_infra.go b/cli/cmd/codesphere/install_codesphere_infra.go index 70274e9b..e30ff730 100644 --- a/cli/cmd/codesphere/install_codesphere_infra.go +++ b/cli/cmd/codesphere/install_codesphere_infra.go @@ -44,6 +44,7 @@ func installCodesphereInfra(opts *InstallCodesphereOpts, env env.Env) error { VaultPath: opts.Vault, PrivKey: opts.PrivKey, Force: opts.Force, + Verbose: opts.Verbose, SkipSteps: opts.SkipSteps, AllowedSteps: installer.InfraSteps, DirectConnection: opts.DirectConnection, diff --git a/cli/cmd/codesphere/install_codesphere_platform.go b/cli/cmd/codesphere/install_codesphere_platform.go index 7b9a7c3e..514efd2a 100644 --- a/cli/cmd/codesphere/install_codesphere_platform.go +++ b/cli/cmd/codesphere/install_codesphere_platform.go @@ -49,6 +49,7 @@ func installCodespherePlatform(ctx context.Context, opts *InstallCodesphereOpts, VaultPath: opts.Vault, PrivKey: opts.PrivKey, Force: opts.Force, + Verbose: opts.Verbose, SkipSteps: opts.SkipSteps, AllowedSteps: installer.PlatformSteps, CodesphereOnly: true, diff --git a/cli/cmd/codesphere/smoketest_codesphere.go b/cli/cmd/codesphere/smoketest_codesphere.go index 54425365..01d716be 100644 --- a/cli/cmd/codesphere/smoketest_codesphere.go +++ b/cli/cmd/codesphere/smoketest_codesphere.go @@ -33,7 +33,8 @@ var availableSteps = []teststeps.SmokeTestStep{ } type SmoketestCodesphereCmd struct { - cmd *cobra.Command + cmd *cobra.Command + GlobalOptions *util.GlobalOptions // TODO (Simon)for now I kept the opts in the teststeps package, // but if we add more tests we should move unified opts here and probably use seperate // structs for the different test types (base smoke test, ui test etc.) @@ -41,6 +42,7 @@ type SmoketestCodesphereCmd struct { } func (c *SmoketestCodesphereCmd) RunE(_ *cobra.Command, args []string) error { + c.Opts.Verbose = c.GlobalOptions.Verbose client, err := codesphere.NewClient(c.Opts.BaseURL, c.Opts.Token) if err != nil { return fmt.Errorf("failed to create Codesphere client: %w", err) @@ -76,10 +78,6 @@ func AddSmoketestCmd(parent *cobra.Command, opts *util.GlobalOptions) { Cmd: "--baseurl https://codesphere.example.com/api --token YOUR_TOKEN --team-id TEAM_ID --plan-id PLAN_ID", Desc: "Run smoke tests against a specific team within your Codesphere installation, using a specific workspace plan", }, - { - Cmd: "--baseurl https://codesphere.example.com/api --token YOUR_TOKEN --quiet", - Desc: "Run smoke tests in quiet mode (no progress logging)", - }, { Cmd: "--baseurl https://codesphere.example.com/api --token YOUR_TOKEN --timeout 15m", Desc: "Run smoke tests with custom timeout", @@ -94,13 +92,13 @@ func AddSmoketestCmd(parent *cobra.Command, opts *util.GlobalOptions) { }, }), }, - Opts: &teststeps.SmoketestCodesphereOpts{}, + GlobalOptions: opts, + Opts: &teststeps.SmoketestCodesphereOpts{}, } c.cmd.Flags().StringVar(&c.Opts.BaseURL, "baseurl", "", "Base URL of the Codesphere API") c.cmd.Flags().StringVar(&c.Opts.Token, "token", "", "API token for authentication") c.cmd.Flags().StringVar(&c.Opts.TeamID, "team-id", "", "Team ID for workspace creation") c.cmd.Flags().StringVar(&c.Opts.PlanID, "plan-id", "", "Plan ID for workspace creation") - c.cmd.Flags().BoolVarP(&c.Opts.Quiet, "quiet", "q", false, "Suppress progress logging") c.cmd.Flags().DurationVar(&c.Opts.Timeout, "timeout", defaultTimeout, "Timeout for the entire smoke test") c.cmd.Flags().StringVar(&c.Opts.Profile, "profile", defaultProfile, "CI profile to use for landscape and pipeline") c.cmd.Flags().StringSliceVar(&c.Opts.Steps, "steps", []string{}, fmt.Sprintf("Comma-separated list of steps to run (%s). If empty, all steps including deleteWorkspace are run. If specified without deleteWorkspace, the workspace will be kept for manual inspection.", strings.Join(stepNames, ","))) diff --git a/cli/cmd/codesphere/smoketest_codesphere_test.go b/cli/cmd/codesphere/smoketest_codesphere_test.go index e740356e..4c2a0256 100644 --- a/cli/cmd/codesphere/smoketest_codesphere_test.go +++ b/cli/cmd/codesphere/smoketest_codesphere_test.go @@ -100,7 +100,7 @@ var _ = Describe("SmoketestCodesphereCmd", func() { Token: "test-token", TeamID: teamId, PlanID: planId, - Quiet: true, // Suppress log output in tests + Verbose: false, // Suppress log output in tests Timeout: 10 * time.Minute, Profile: "ci.yml", Steps: []string{}, diff --git a/cli/cmd/download_package.go b/cli/cmd/download_package.go index fa671a2b..e53e2f48 100644 --- a/cli/cmd/download_package.go +++ b/cli/cmd/download_package.go @@ -27,7 +27,6 @@ type DownloadPackageOpts struct { Version string Hash string Filename string - Quiet bool } func (c *DownloadPackageCmd) RunE(_ *cobra.Command, args []string) error { @@ -83,13 +82,13 @@ func AddDownloadPackageCmd(download *cobra.Command, opts *util.GlobalOptions) { return nil }, }, + Opts: DownloadPackageOpts{GlobalOptions: opts}, FileWriter: intutil.NewFilesystemWriter(), } pkg.cmd.Flags().StringVarP(&pkg.Opts.Version, "version", "V", "", "Codesphere version to download") pkg.cmd.Flags().StringVarP(&pkg.Opts.Hash, "hash", "H", "", "Hash of the version to download if multiple builds exist for the same version") pkg.cmd.Flags().StringVarP(&pkg.Opts.Filename, "file", "f", "installer-lite.tar.gz", "Specify artifact to download") - pkg.cmd.Flags().BoolVarP(&pkg.Opts.Quiet, "quiet", "q", false, "Suppress progress output during download") util.AddCmd(download, pkg.cmd) pkg.cmd.RunE = pkg.RunE @@ -118,7 +117,7 @@ func (c *DownloadPackageCmd) DownloadBuild(p portal.Portal, build portal.Build, fileSize = int(fileInfo.Size()) } - err = p.DownloadBuildArtifact("codesphere", download, out, fileSize, c.Opts.Quiet) + err = p.DownloadBuildArtifact("codesphere", download, out, fileSize, !c.Opts.Verbose) if err != nil { return fmt.Errorf("failed to download build: %w", err) } diff --git a/cli/cmd/download_package_test.go b/cli/cmd/download_package_test.go index c38fe1dc..d2a3090d 100644 --- a/cli/cmd/download_package_test.go +++ b/cli/cmd/download_package_test.go @@ -39,9 +39,9 @@ var _ = Describe("DownloadPackages", func() { JustBeforeEach(func() { c = cmd.DownloadPackageCmd{ Opts: cmd.DownloadPackageOpts{ - Version: version, - Filename: filename, - Quiet: false, + GlobalOptions: &util.GlobalOptions{}, + Version: version, + Filename: filename, }, FileWriter: mockFileWriter, } @@ -182,7 +182,7 @@ var _ = Describe("DownloadPackages", func() { fakeFile := os.NewFile(uintptr(0), filename) mockFileWriter.EXPECT().OpenAppend(version+"-"+hash+"-"+filename).Return(fakeFile, nil) mockFileWriter.EXPECT().Open(version+"-"+hash+"-"+filename).Return(fakeFile, nil) - mockPortal.EXPECT().DownloadBuildArtifact(portal.CodesphereProduct, expectedBuildToDownload, mock.Anything, 0, false).Return(nil) + mockPortal.EXPECT().DownloadBuildArtifact(portal.CodesphereProduct, expectedBuildToDownload, mock.Anything, 0, true).Return(nil) mockPortal.EXPECT().VerifyBuildArtifactDownload(mock.Anything, expectedBuildToDownload).Return(nil) err := c.DownloadBuild(mockPortal, build, filename) Expect(err).NotTo(HaveOccurred()) @@ -209,7 +209,7 @@ var _ = Describe("DownloadPackages", func() { fakeFile := os.NewFile(uintptr(0), filename) mockFileWriter.EXPECT().OpenAppend(version+"-"+longHash+"-"+filename).Return(fakeFile, nil) mockFileWriter.EXPECT().Open(version+"-"+longHash+"-"+filename).Return(fakeFile, nil) - mockPortal.EXPECT().DownloadBuildArtifact(portal.CodesphereProduct, expectedBuildToDownload, mock.Anything, 0, false).Return(nil) + mockPortal.EXPECT().DownloadBuildArtifact(portal.CodesphereProduct, expectedBuildToDownload, mock.Anything, 0, true).Return(nil) mockPortal.EXPECT().VerifyBuildArtifactDownload(mock.Anything, expectedBuildToDownload).Return(nil) err := c.DownloadBuild(mockPortal, buildWithLongHash, filename) Expect(err).NotTo(HaveOccurred()) @@ -231,7 +231,7 @@ var _ = Describe("DownloadPackages", func() { fakeFile := os.NewFile(uintptr(0), filename) mockFileWriter.EXPECT().OpenAppend("other-version-v1.42.0-"+hash+"-"+filename).Return(fakeFile, nil) mockFileWriter.EXPECT().Open("other-version-v1.42.0-"+hash+"-"+filename).Return(fakeFile, nil) - mockPortal.EXPECT().DownloadBuildArtifact(portal.CodesphereProduct, expectedBuildToDownload, mock.Anything, 0, false).Return(nil) + mockPortal.EXPECT().DownloadBuildArtifact(portal.CodesphereProduct, expectedBuildToDownload, mock.Anything, 0, true).Return(nil) mockPortal.EXPECT().VerifyBuildArtifactDownload(mock.Anything, expectedBuildToDownload).Return(nil) err := c.DownloadBuild(mockPortal, build, filename) Expect(err).NotTo(HaveOccurred()) diff --git a/cli/cmd/extend_baseimage.go b/cli/cmd/extend_baseimage.go index 3c2f3a0f..78020ea1 100644 --- a/cli/cmd/extend_baseimage.go +++ b/cli/cmd/extend_baseimage.go @@ -76,7 +76,7 @@ func AddExtendBaseimageCmd(extend *cobra.Command, opts *util.GlobalOptions) { } func (c *ExtendBaseimageCmd) ExtendBaseimage(pm installer.PackageManager, im system.ImageManager) error { - err := pm.Extract(c.Opts.Force) + err := pm.Extract(c.Opts.Force, c.Opts.Verbose) if err != nil { return fmt.Errorf("failed to extract package: %w", err) } @@ -86,7 +86,7 @@ func (c *ExtendBaseimageCmd) ExtendBaseimage(pm installer.PackageManager, im sys return fmt.Errorf("failed to get image name: %w", err) } - imagePath, err := pm.GetBaseimagePath(c.Opts.Baseimage, c.Opts.Force) + imagePath, err := pm.GetBaseimagePath(c.Opts.Baseimage, c.Opts.Force, c.Opts.Verbose) if err != nil { return fmt.Errorf("failed to get image path: %w", err) } diff --git a/cli/cmd/extend_baseimage_test.go b/cli/cmd/extend_baseimage_test.go index 8ebb274b..f43c5e9a 100644 --- a/cli/cmd/extend_baseimage_test.go +++ b/cli/cmd/extend_baseimage_test.go @@ -67,7 +67,7 @@ var _ = Describe("ExtendBaseimageCmd", func() { mockPackageManager := installer.NewMockPackageManager(GinkgoT()) mockImageManager := system.NewMockImageManager(GinkgoT()) - mockPackageManager.EXPECT().Extract(false).Return(nil) + mockPackageManager.EXPECT().Extract(false, false).Return(nil) mockPackageManager.EXPECT().GetFullImageTag("").Return("", errors.New("failed to get image name: extraction failed")) err := c.ExtendBaseimage(mockPackageManager, mockImageManager) @@ -79,7 +79,7 @@ var _ = Describe("ExtendBaseimageCmd", func() { mockPackageManager := installer.NewMockPackageManager(GinkgoT()) mockImageManager := system.NewMockImageManager(GinkgoT()) - mockPackageManager.EXPECT().Extract(false).Return(nil) + mockPackageManager.EXPECT().Extract(false, false).Return(nil) mockPackageManager.EXPECT().GetFullImageTag("").Return("", errors.New("failed to extract OCI image index: index extraction failed")) err := c.ExtendBaseimage(mockPackageManager, mockImageManager) @@ -91,7 +91,7 @@ var _ = Describe("ExtendBaseimageCmd", func() { mockPackageManager := installer.NewMockPackageManager(GinkgoT()) mockImageManager := system.NewMockImageManager(GinkgoT()) - mockPackageManager.EXPECT().Extract(false).Return(nil) + mockPackageManager.EXPECT().Extract(false, false).Return(nil) mockPackageManager.EXPECT().GetFullImageTag("").Return("", errors.New("failed to read image tags: no image names found")) err := c.ExtendBaseimage(mockPackageManager, mockImageManager) @@ -110,9 +110,9 @@ var _ = Describe("ExtendBaseimageCmd", func() { defer func() { _ = os.Remove(tempFile.Name()) }() defer func() { _ = tempFile.Close() }() - mockPackageManager.EXPECT().Extract(false).Return(nil) + mockPackageManager.EXPECT().Extract(false, false).Return(nil) mockPackageManager.EXPECT().GetFullImageTag("").Return("ubuntu:24.04-base", nil) - mockPackageManager.EXPECT().GetBaseimagePath("", false).Return("/test/workdir/deps/codesphere/images/workspace-agent-24.04.tar", nil) + mockPackageManager.EXPECT().GetBaseimagePath("", false, false).Return("/test/workdir/deps/codesphere/images/workspace-agent-24.04.tar", nil) mockPackageManager.EXPECT().FileIO().Return(mockFileIO) mockFileIO.EXPECT().Create("Dockerfile").Return(tempFile, nil) mockImageManager.EXPECT().LoadImage("/test/workdir/deps/codesphere/images/workspace-agent-24.04.tar").Return(errors.New("load failed")) @@ -127,7 +127,8 @@ var _ = Describe("ExtendBaseimageCmd", func() { mockImageManager := system.NewMockImageManager(GinkgoT()) c.Opts.Force = true - mockPackageManager.EXPECT().Extract(true).Return(nil) + + mockPackageManager.EXPECT().Extract(true, false).Return(nil) mockPackageManager.EXPECT().GetFullImageTag("").Return("", errors.New("failed to extract package to workdir: extraction failed")) err := c.ExtendBaseimage(mockPackageManager, mockImageManager) @@ -146,9 +147,9 @@ var _ = Describe("ExtendBaseimageCmd", func() { defer func() { _ = os.Remove(tempFile.Name()) }() defer func() { _ = tempFile.Close() }() - mockPackageManager.EXPECT().Extract(false).Return(nil) + mockPackageManager.EXPECT().Extract(false, false).Return(nil) mockPackageManager.EXPECT().GetFullImageTag("").Return("ubuntu:24.04-base", nil) - mockPackageManager.EXPECT().GetBaseimagePath("", false).Return("/test/workdir/deps/codesphere/images/workspace-agent-24.04.tar", nil) + mockPackageManager.EXPECT().GetBaseimagePath("", false, false).Return("/test/workdir/deps/codesphere/images/workspace-agent-24.04.tar", nil) mockPackageManager.EXPECT().FileIO().Return(mockFileIO) mockFileIO.EXPECT().Create("Dockerfile").Return(tempFile, nil) mockImageManager.EXPECT().LoadImage("/test/workdir/deps/codesphere/images/workspace-agent-24.04.tar").Return(nil) diff --git a/cli/cmd/k0s/download_k0s.go b/cli/cmd/k0s/download_k0s.go index cff80a7f..0d291de9 100644 --- a/cli/cmd/k0s/download_k0s.go +++ b/cli/cmd/k0s/download_k0s.go @@ -29,7 +29,6 @@ type DownloadK0sOpts struct { *util.GlobalOptions Version string Force bool - Quiet bool } func (c *DownloadK0sCmd) RunE(_ *cobra.Command, args []string) error { @@ -55,7 +54,6 @@ func AddDownloadCmd(download *cobra.Command, opts *util.GlobalOptions) { Example: util.FormatExamples("download k0s", []packageio.Example{ {Cmd: "", Desc: "Download k0s using the Go-native implementation"}, {Cmd: "--version 1.22.0", Desc: "Download a specific version of k0s"}, - {Cmd: "--quiet", Desc: "Download k0s with minimal output"}, {Cmd: "--force", Desc: "Force download even if k0s binary exists"}, }), }, @@ -65,7 +63,6 @@ func AddDownloadCmd(download *cobra.Command, opts *util.GlobalOptions) { } k0s.cmd.Flags().StringVarP(&k0s.Opts.Version, "version", "v", "", "Version of k0s to download") k0s.cmd.Flags().BoolVarP(&k0s.Opts.Force, "force", "f", false, "Force download even if k0s binary exists") - k0s.cmd.Flags().BoolVarP(&k0s.Opts.Quiet, "quiet", "q", false, "Suppress progress output during download") util.AddCmd(download, k0s.cmd) @@ -82,7 +79,7 @@ func (c *DownloadK0sCmd) DownloadK0s(k0s installer.K0sManager) error { } } - k0sPath, err := k0s.Download(version, c.Opts.Force, c.Opts.Quiet) + k0sPath, err := k0s.Download(version, c.Opts.Force, !c.Opts.Verbose) if err != nil { return fmt.Errorf("failed to download k0s: %w", err) } diff --git a/cli/cmd/k0s/download_k0s_test.go b/cli/cmd/k0s/download_k0s_test.go index bdb3fc4a..33dde322 100644 --- a/cli/cmd/k0s/download_k0s_test.go +++ b/cli/cmd/k0s/download_k0s_test.go @@ -33,7 +33,6 @@ var _ = Describe("DownloadK0sk0s", func() { GlobalOptions: globalOpts, Version: "", Force: false, - Quiet: false, } c = k0s.DownloadK0sCmd{ Opts: *opts, @@ -64,7 +63,8 @@ var _ = Describe("DownloadK0sk0s", func() { mockK0sManager := installer.NewMockK0sManager(GinkgoT()) c.Opts.Version = "v1.29.1+k0s.0" - mockK0sManager.EXPECT().Download("v1.29.1+k0s.0", false, false).Return("", errors.New("download failed")) + + mockK0sManager.EXPECT().Download("v1.29.1+k0s.0", false, true).Return("", errors.New("download failed")) err := c.DownloadK0s(mockK0sManager) Expect(err).To(HaveOccurred()) @@ -76,7 +76,8 @@ var _ = Describe("DownloadK0sk0s", func() { mockK0sManager := installer.NewMockK0sManager(GinkgoT()) c.Opts.Version = "v1.29.1+k0s.0" - mockK0sManager.EXPECT().Download("v1.29.1+k0s.0", false, false).Return("/test/workdir/k0s", nil) + + mockK0sManager.EXPECT().Download("v1.29.1+k0s.0", false, true).Return("/test/workdir/k0s", nil) err := c.DownloadK0s(mockK0sManager) Expect(err).ToNot(HaveOccurred()) @@ -87,9 +88,9 @@ var _ = Describe("DownloadK0sk0s", func() { c.Opts.Version = "" // Test auto-version detection c.Opts.Force = true - c.Opts.Quiet = true + c.Opts.Verbose = true mockK0sManager.EXPECT().GetLatestVersion().Return("v1.29.1+k0s.0", nil) - mockK0sManager.EXPECT().Download("v1.29.1+k0s.0", true, true).Return("/test/workdir/k0s", nil) + mockK0sManager.EXPECT().Download("v1.29.1+k0s.0", true, false).Return("/test/workdir/k0s", nil) err := c.DownloadK0s(mockK0sManager) Expect(err).ToNot(HaveOccurred()) diff --git a/cli/cmd/k0s/install_k0s.go b/cli/cmd/k0s/install_k0s.go index 56a28fde..0bfd446c 100644 --- a/cli/cmd/k0s/install_k0s.go +++ b/cli/cmd/k0s/install_k0s.go @@ -178,7 +178,7 @@ func (c *InstallK0sCmd) getK0sBinaryPath(pm installer.PackageManager, k0s instal } if c.Opts.Package != "" { - if err := pm.ExtractDependency(defaultK0sPath, c.Opts.Force); err != nil { + if err := pm.ExtractDependency(defaultK0sPath, c.Opts.Force, c.Opts.Verbose); err != nil { return "", fmt.Errorf("failed to extract k0s from package: %w", err) } return pm.GetDependencyPath(defaultK0sPath), nil diff --git a/cli/cmd/k0s/install_k0s_test.go b/cli/cmd/k0s/install_k0s_test.go index 0c46fe43..7116d4fb 100644 --- a/cli/cmd/k0s/install_k0s_test.go +++ b/cli/cmd/k0s/install_k0s_test.go @@ -167,7 +167,7 @@ var _ = Describe("InstallK0sCmd", func() { mockEnv.EXPECT().GetOmsWorkdir().Return(tempDir) mockFileWriter.EXPECT().MkdirAll(tempDir, os.FileMode(0755)).Return(nil) - mockPM.EXPECT().ExtractDependency("kubernetes/files/k0s", true).Return(nil) + mockPM.EXPECT().ExtractDependency("kubernetes/files/k0s", true, false).Return(nil) mockPM.EXPECT().GetDependencyPath("kubernetes/files/k0s").Return("/test/path/k0s") mockK0sctl.EXPECT().Download("", true, false).Return("/tmp/k0sctl", nil) mockFileWriter.EXPECT().WriteFile(mock.Anything, mock.Anything, mock.Anything).Return(nil) @@ -214,7 +214,7 @@ var _ = Describe("InstallK0sCmd", func() { mockEnv.EXPECT().GetOmsWorkdir().Return(tempDir) mockFileWriter.EXPECT().MkdirAll(tempDir, os.FileMode(0755)).Return(nil) - mockPM.EXPECT().ExtractDependency("kubernetes/files/k0s", false).Return(nil) + mockPM.EXPECT().ExtractDependency("kubernetes/files/k0s", false, false).Return(nil) mockPM.EXPECT().GetDependencyPath("kubernetes/files/k0s").Return("/test/path/k0s") mockK0sctl.EXPECT().Download("", false, false).Return("", os.ErrPermission) @@ -230,7 +230,7 @@ var _ = Describe("InstallK0sCmd", func() { mockEnv.EXPECT().GetOmsWorkdir().Return(tempDir) mockFileWriter.EXPECT().MkdirAll(tempDir, os.FileMode(0755)).Return(nil) - mockPM.EXPECT().ExtractDependency("kubernetes/files/k0s", false).Return(nil) + mockPM.EXPECT().ExtractDependency("kubernetes/files/k0s", false, false).Return(nil) mockPM.EXPECT().GetDependencyPath("kubernetes/files/k0s").Return("/test/path/k0s") mockK0sctl.EXPECT().Download("", false, false).Return("/tmp/k0sctl", nil) mockFileWriter.EXPECT().WriteFile(mock.Anything, mock.Anything, mock.Anything).Return(nil) @@ -243,7 +243,7 @@ var _ = Describe("InstallK0sCmd", func() { setupCommonMocks := func() { mockEnv.EXPECT().GetOmsWorkdir().Return(tempDir) - mockPM.EXPECT().ExtractDependency("kubernetes/files/k0s", false).Return(nil) + mockPM.EXPECT().ExtractDependency("kubernetes/files/k0s", false, false).Return(nil) mockPM.EXPECT().GetDependencyPath("kubernetes/files/k0s").Return("/test/path/k0s") mockK0sctl.EXPECT().Download("", false, false).Return("/tmp/k0sctl", nil) mockK0sctl.EXPECT().Apply(mock.Anything, "/tmp/k0sctl", false).Return(nil) diff --git a/cli/cmd/root.go b/cli/cmd/root.go index 591b1c8b..25511ccf 100644 --- a/cli/cmd/root.go +++ b/cli/cmd/root.go @@ -53,6 +53,9 @@ func GetRootCmd() *cobra.Command { } }, } + + rootCmd.PersistentFlags().BoolVarP(&opts.Verbose, "verbose", "", false, "Enable verbose output") + // General commands AddVersionCmd(rootCmd) AddBetaCmd(rootCmd, opts) diff --git a/cli/cmd/update_dockerfile.go b/cli/cmd/update_dockerfile.go index 601362ae..be72c95e 100644 --- a/cli/cmd/update_dockerfile.go +++ b/cli/cmd/update_dockerfile.go @@ -82,7 +82,7 @@ in the specified Dockerfile to use that base image. The base image is loaded int } func (c *UpdateDockerfileCmd) UpdateDockerfile(pm installer.PackageManager, im system.ImageManager, args []string) error { - err := pm.Extract(c.Opts.Force) + err := pm.Extract(c.Opts.Force, c.Opts.Verbose) if err != nil { return fmt.Errorf("failed to extract package: %w", err) } @@ -92,7 +92,7 @@ func (c *UpdateDockerfileCmd) UpdateDockerfile(pm installer.PackageManager, im s return fmt.Errorf("failed to get image name: %w", err) } - imagePath, err := pm.GetBaseimagePath(c.Opts.Baseimage, c.Opts.Force) + imagePath, err := pm.GetBaseimagePath(c.Opts.Baseimage, c.Opts.Force, c.Opts.Verbose) if err != nil { return fmt.Errorf("failed to get image path: %w", err) } diff --git a/cli/cmd/update_dockerfile_test.go b/cli/cmd/update_dockerfile_test.go index 0505197b..4f4d1a5f 100644 --- a/cli/cmd/update_dockerfile_test.go +++ b/cli/cmd/update_dockerfile_test.go @@ -88,7 +88,7 @@ var _ = Describe("UpdateDockerfileCmd", func() { c.Opts.Baseimage = "workspace-agent-24.04.tar" c.Opts.Force = false - mockPackageManager.EXPECT().Extract(false).Return(nil) + mockPackageManager.EXPECT().Extract(false, false).Return(nil) mockPackageManager.EXPECT().GetFullImageTag("workspace-agent-24.04.tar").Return("", errors.New("failed to extract image")) err := c.UpdateDockerfile(mockPackageManager, mockImageManager, []string{}) @@ -105,9 +105,9 @@ var _ = Describe("UpdateDockerfileCmd", func() { c.Opts.Baseimage = "" c.Opts.Force = false - mockPackageManager.EXPECT().Extract(false).Return(nil) + mockPackageManager.EXPECT().Extract(false, false).Return(nil) mockPackageManager.EXPECT().GetFullImageTag("").Return("ubuntu:24.04", nil) - mockPackageManager.EXPECT().GetBaseimagePath("", false).Return("/test/workdir/deps/codesphere/images/workspace-agent-24.04.tar", nil) + mockPackageManager.EXPECT().GetBaseimagePath("", false, false).Return("/test/workdir/deps/codesphere/images/workspace-agent-24.04.tar", nil) mockImageManager.EXPECT().LoadImage("/test/workdir/deps/codesphere/images/workspace-agent-24.04.tar").Return(nil) mockPackageManager.EXPECT().FileIO().Return(mockFileIO) mockFileIO.EXPECT().Open("Dockerfile").Return(nil, errors.New("file not found")) @@ -125,9 +125,9 @@ var _ = Describe("UpdateDockerfileCmd", func() { c.Opts.Baseimage = "" c.Opts.Force = false - mockPackageManager.EXPECT().Extract(false).Return(nil) + mockPackageManager.EXPECT().Extract(false, false).Return(nil) mockPackageManager.EXPECT().GetFullImageTag("").Return("ubuntu:24.04", nil) - mockPackageManager.EXPECT().GetBaseimagePath("", false).Return("/test/workdir/deps/codesphere/images/workspace-agent-24.04.tar", nil) + mockPackageManager.EXPECT().GetBaseimagePath("", false, false).Return("/test/workdir/deps/codesphere/images/workspace-agent-24.04.tar", nil) mockImageManager.EXPECT().LoadImage("/test/workdir/deps/codesphere/images/workspace-agent-24.04.tar").Return(errors.New("load failed")) err := c.UpdateDockerfile(mockPackageManager, mockImageManager, []string{}) @@ -156,9 +156,9 @@ var _ = Describe("UpdateDockerfileCmd", func() { c.Opts.Baseimage = "" c.Opts.Force = false - mockPackageManager.EXPECT().Extract(false).Return(nil) + mockPackageManager.EXPECT().Extract(false, false).Return(nil) mockPackageManager.EXPECT().GetFullImageTag("").Return("ubuntu:24.04", nil) - mockPackageManager.EXPECT().GetBaseimagePath("", false).Return("/test/workdir/deps/codesphere/images/workspace-agent-24.04.tar", nil) + mockPackageManager.EXPECT().GetBaseimagePath("", false, false).Return("/test/workdir/deps/codesphere/images/workspace-agent-24.04.tar", nil) mockImageManager.EXPECT().LoadImage("/test/workdir/deps/codesphere/images/workspace-agent-24.04.tar").Return(nil) mockPackageManager.EXPECT().FileIO().Return(mockFileIO) mockFileIO.EXPECT().Open("Dockerfile").Return(tempFile, nil) @@ -190,9 +190,9 @@ var _ = Describe("UpdateDockerfileCmd", func() { c.Opts.Baseimage = "" c.Opts.Force = false - mockPackageManager.EXPECT().Extract(false).Return(nil) + mockPackageManager.EXPECT().Extract(false, false).Return(nil) mockPackageManager.EXPECT().GetFullImageTag("").Return("ubuntu:24.04", nil) - mockPackageManager.EXPECT().GetBaseimagePath("", false).Return("/test/workdir/deps/codesphere/images/workspace-agent-24.04.tar", nil) + mockPackageManager.EXPECT().GetBaseimagePath("", false, false).Return("/test/workdir/deps/codesphere/images/workspace-agent-24.04.tar", nil) mockPackageManager.EXPECT().FileIO().Return(mockFileIO) mockFileIO.EXPECT().Open("Dockerfile").Return(tempFile, nil) mockFileIO.EXPECT().WriteFile("Dockerfile", []byte("FROM ubuntu:24.04\nRUN apt-get update && apt-get install -y curl\nWORKDIR /app\nCOPY . .\nCMD [\"./start.sh\"]"), os.FileMode(0644)).Return(nil) @@ -223,9 +223,9 @@ var _ = Describe("UpdateDockerfileCmd", func() { c.Opts.Baseimage = "workspace-agent-20.04.tar" c.Opts.Force = true - mockPackageManager.EXPECT().Extract(true).Return(nil) + mockPackageManager.EXPECT().Extract(true, false).Return(nil) mockPackageManager.EXPECT().GetFullImageTag("workspace-agent-20.04.tar").Return("ubuntu:20.04", nil) - mockPackageManager.EXPECT().GetBaseimagePath("workspace-agent-20.04.tar", true).Return("/test/workdir/deps/codesphere/images/workspace-agent-20.04.tar", nil) + mockPackageManager.EXPECT().GetBaseimagePath("workspace-agent-20.04.tar", true, false).Return("/test/workdir/deps/codesphere/images/workspace-agent-20.04.tar", nil) mockPackageManager.EXPECT().FileIO().Return(mockFileIO) mockFileIO.EXPECT().Open("Dockerfile").Return(tempFile, nil) mockFileIO.EXPECT().WriteFile("Dockerfile", []byte("FROM ubuntu:20.04\nRUN apt-get update && apt-get install -y curl\nWORKDIR /app\nCOPY . .\nCMD [\"./start.sh\"]"), os.FileMode(0644)).Return(nil) @@ -256,9 +256,9 @@ var _ = Describe("UpdateDockerfileCmd", func() { c.Opts.Baseimage = "workspace-agent-24.04.tar" c.Opts.Force = false - mockPackageManager.EXPECT().Extract(false).Return(nil) + mockPackageManager.EXPECT().Extract(false, false).Return(nil) mockPackageManager.EXPECT().GetFullImageTag("workspace-agent-24.04.tar").Return("registry.example.com/workspace-agent:24.04", nil) - mockPackageManager.EXPECT().GetBaseimagePath("workspace-agent-24.04.tar", false).Return("/test/workdir/deps/codesphere/images/workspace-agent-24.04.tar", nil) + mockPackageManager.EXPECT().GetBaseimagePath("workspace-agent-24.04.tar", false, false).Return("/test/workdir/deps/codesphere/images/workspace-agent-24.04.tar", nil) mockPackageManager.EXPECT().FileIO().Return(mockFileIO) mockFileIO.EXPECT().Open("custom/Dockerfile").Return(tempFile, nil) mockFileIO.EXPECT().WriteFile("custom/Dockerfile", []byte("FROM registry.example.com/workspace-agent:24.04\nRUN apt-get update && apt-get install -y curl\nWORKDIR /app\nCOPY . .\nCMD [\"./start.sh\"]"), os.FileMode(0644)).Return(nil) diff --git a/cli/cmd/util/cmd_util.go b/cli/cmd/util/cmd_util.go index 120706bd..7ba5a890 100644 --- a/cli/cmd/util/cmd_util.go +++ b/cli/cmd/util/cmd_util.go @@ -16,4 +16,5 @@ func AddCmd(parent *cobra.Command, cmd *cobra.Command) { type GlobalOptions struct { OmsPortalApiKey string + Verbose bool } diff --git a/docs/README.md b/docs/README.md index dbbe2f03..2d643039 100644 --- a/docs/README.md +++ b/docs/README.md @@ -12,7 +12,8 @@ like downloading new versions. ### Options ``` - -h, --help help for oms + -h, --help help for oms + --verbose Enable verbose output ``` ### SEE ALSO diff --git a/docs/oms.md b/docs/oms.md index dbbe2f03..2d643039 100644 --- a/docs/oms.md +++ b/docs/oms.md @@ -12,7 +12,8 @@ like downloading new versions. ### Options ``` - -h, --help help for oms + -h, --help help for oms + --verbose Enable verbose output ``` ### SEE ALSO diff --git a/docs/oms_add-cluster-admin.md b/docs/oms_add-cluster-admin.md index 622ff73b..72edb37a 100644 --- a/docs/oms_add-cluster-admin.md +++ b/docs/oms_add-cluster-admin.md @@ -36,6 +36,12 @@ $ oms add-cluster-admin --email admin@codesphere.com --namespace kube-system --s --secret-name string Name of the Kubernetes secret holding the cluster admin email (default "cluster-admin-email") ``` +### Options inherited from parent commands + +``` + --verbose Enable verbose output +``` + ### SEE ALSO * [oms](oms.md) - Codesphere Operations Management System (OMS) diff --git a/docs/oms_beta.md b/docs/oms_beta.md index 3e19c4f2..194818c1 100644 --- a/docs/oms_beta.md +++ b/docs/oms_beta.md @@ -13,6 +13,12 @@ Be aware that that usage and behavior may change as the features are developed. -h, --help help for beta ``` +### Options inherited from parent commands + +``` + --verbose Enable verbose output +``` + ### SEE ALSO * [oms](oms.md) - Codesphere Operations Management System (OMS) diff --git a/docs/oms_beta_bootstrap-gcp.md b/docs/oms_beta_bootstrap-gcp.md index fd6e88e7..38568c22 100644 --- a/docs/oms_beta_bootstrap-gcp.md +++ b/docs/oms_beta_bootstrap-gcp.md @@ -88,6 +88,12 @@ oms beta bootstrap-gcp [flags] --zone string GCP Zone (default: europe-west4-a) (default "europe-west4-a") ``` +### Options inherited from parent commands + +``` + --verbose Enable verbose output +``` + ### SEE ALSO * [oms beta](oms_beta.md) - Commands for early testing diff --git a/docs/oms_beta_bootstrap-gcp_cleanup.md b/docs/oms_beta_bootstrap-gcp_cleanup.md index 09d87022..94059788 100644 --- a/docs/oms_beta_bootstrap-gcp_cleanup.md +++ b/docs/oms_beta_bootstrap-gcp_cleanup.md @@ -42,6 +42,12 @@ $ oms beta bootstrap-gcp cleanup --project-id my-project --base-domain example.c --skip-dns-cleanup Skip cleaning up DNS records ``` +### Options inherited from parent commands + +``` + --verbose Enable verbose output +``` + ### SEE ALSO * [oms beta bootstrap-gcp](oms_beta_bootstrap-gcp.md) - Bootstrap GCP infrastructure for Codesphere diff --git a/docs/oms_beta_bootstrap-gcp_postconfig.md b/docs/oms_beta_bootstrap-gcp_postconfig.md index e4bfa265..2a8807bf 100644 --- a/docs/oms_beta_bootstrap-gcp_postconfig.md +++ b/docs/oms_beta_bootstrap-gcp_postconfig.md @@ -21,6 +21,12 @@ oms beta bootstrap-gcp postconfig [flags] --private-key-path string Path to the GCP service account private key file (optional) ``` +### Options inherited from parent commands + +``` + --verbose Enable verbose output +``` + ### SEE ALSO * [oms beta bootstrap-gcp](oms_beta_bootstrap-gcp.md) - Bootstrap GCP infrastructure for Codesphere diff --git a/docs/oms_beta_bootstrap-gcp_restart-vms.md b/docs/oms_beta_bootstrap-gcp_restart-vms.md index 0f723624..a4596a2c 100644 --- a/docs/oms_beta_bootstrap-gcp_restart-vms.md +++ b/docs/oms_beta_bootstrap-gcp_restart-vms.md @@ -46,6 +46,12 @@ $ oms beta bootstrap-gcp restart-vms --project-id my-project --zone us-central1- --zone string GCP Zone (optional, will use infra file if not provided) ``` +### Options inherited from parent commands + +``` + --verbose Enable verbose output +``` + ### SEE ALSO * [oms beta bootstrap-gcp](oms_beta_bootstrap-gcp.md) - Bootstrap GCP infrastructure for Codesphere diff --git a/docs/oms_beta_bootstrap-local.md b/docs/oms_beta_bootstrap-local.md index 4a78c9a0..c75b4f9d 100644 --- a/docs/oms_beta_bootstrap-local.md +++ b/docs/oms_beta_bootstrap-local.md @@ -37,6 +37,12 @@ oms beta bootstrap-local [flags] -y, --yes Auto-approve the local bootstrapping warning prompt ``` +### Options inherited from parent commands + +``` + --verbose Enable verbose output +``` + ### SEE ALSO * [oms beta](oms_beta.md) - Commands for early testing diff --git a/docs/oms_beta_extend.md b/docs/oms_beta_extend.md index b4dff5a9..e5ee1911 100644 --- a/docs/oms_beta_extend.md +++ b/docs/oms_beta_extend.md @@ -12,6 +12,12 @@ Extend Codesphere ressources such as base images to customize them for your need -h, --help help for extend ``` +### Options inherited from parent commands + +``` + --verbose Enable verbose output +``` + ### SEE ALSO * [oms beta](oms_beta.md) - Commands for early testing diff --git a/docs/oms_beta_extend_baseimage.md b/docs/oms_beta_extend_baseimage.md index fb369e7b..299ca1c5 100644 --- a/docs/oms_beta_extend_baseimage.md +++ b/docs/oms_beta_extend_baseimage.md @@ -24,6 +24,12 @@ oms beta extend baseimage [flags] -p, --package string Package file (e.g. codesphere-v1.2.3-installer.tar.gz) to load base image from ``` +### Options inherited from parent commands + +``` + --verbose Enable verbose output +``` + ### SEE ALSO * [oms beta extend](oms_beta_extend.md) - Extend Codesphere ressources such as base images. diff --git a/docs/oms_beta_install.md b/docs/oms_beta_install.md index 0f540456..c0a2a6b6 100644 --- a/docs/oms_beta_install.md +++ b/docs/oms_beta_install.md @@ -8,6 +8,12 @@ Install beta components -h, --help help for install ``` +### Options inherited from parent commands + +``` + --verbose Enable verbose output +``` + ### SEE ALSO * [oms beta](oms_beta.md) - Commands for early testing diff --git a/docs/oms_beta_install_argocd.md b/docs/oms_beta_install_argocd.md index 6df7f005..ba0ef5d9 100644 --- a/docs/oms_beta_install_argocd.md +++ b/docs/oms_beta_install_argocd.md @@ -53,6 +53,12 @@ $ oms beta install argocd --deploy-dc-config --dc-id 0 -v, --version string Version of the ArgoCD helm chart to install ``` +### Options inherited from parent commands + +``` + --verbose Enable verbose output +``` + ### SEE ALSO * [oms beta install](oms_beta_install.md) - Install beta components diff --git a/docs/oms_beta_install_pc-apps.md b/docs/oms_beta_install_pc-apps.md index cd1b7107..d812b052 100644 --- a/docs/oms_beta_install_pc-apps.md +++ b/docs/oms_beta_install_pc-apps.md @@ -45,6 +45,12 @@ $ oms beta install pc-apps --version 1.0.0 --force-conflicts --version string Chart version to reference as the Application target revision (required) ``` +### Options inherited from parent commands + +``` + --verbose Enable verbose output +``` + ### SEE ALSO * [oms beta install](oms_beta_install.md) - Install beta components diff --git a/docs/oms_beta_vault-secret.md b/docs/oms_beta_vault-secret.md index 268a8d0d..8082e65f 100644 --- a/docs/oms_beta_vault-secret.md +++ b/docs/oms_beta_vault-secret.md @@ -33,6 +33,12 @@ $ oms vault-secret --vault-file prod.vault.yaml --age-key /path/to/age_key.txt - --vault-file string Path to the SOPS-encrypted vault file (required) ``` +### Options inherited from parent commands + +``` + --verbose Enable verbose output +``` + ### SEE ALSO * [oms beta](oms_beta.md) - Commands for early testing diff --git a/docs/oms_build.md b/docs/oms_build.md index f5602bae..b6d405f4 100644 --- a/docs/oms_build.md +++ b/docs/oms_build.md @@ -12,6 +12,12 @@ Build and push container images to a registry using the provided configuration. -h, --help help for build ``` +### Options inherited from parent commands + +``` + --verbose Enable verbose output +``` + ### SEE ALSO * [oms](oms.md) - Codesphere Operations Management System (OMS) diff --git a/docs/oms_build_image.md b/docs/oms_build_image.md index ce746c1d..45fd57df 100644 --- a/docs/oms_build_image.md +++ b/docs/oms_build_image.md @@ -28,6 +28,12 @@ $ oms build image --dockerfile baseimage/Dockerfile --package codesphere-v1.68.0 -r, --registry string Registry URL to push to (e.g., my-registry.com/my-image) (required) ``` +### Options inherited from parent commands + +``` + --verbose Enable verbose output +``` + ### SEE ALSO * [oms build](oms_build.md) - Build and push images to a registry diff --git a/docs/oms_build_images.md b/docs/oms_build_images.md index 5a08ee8c..36ed57ed 100644 --- a/docs/oms_build_images.md +++ b/docs/oms_build_images.md @@ -19,6 +19,12 @@ oms build images [flags] -h, --help help for images ``` +### Options inherited from parent commands + +``` + --verbose Enable verbose output +``` + ### SEE ALSO * [oms build](oms_build.md) - Build and push images to a registry diff --git a/docs/oms_create.md b/docs/oms_create.md index 424aceb4..582e6d15 100644 --- a/docs/oms_create.md +++ b/docs/oms_create.md @@ -12,6 +12,12 @@ Create resources for Codesphere installations, such as test users for automated -h, --help help for create ``` +### Options inherited from parent commands + +``` + --verbose Enable verbose output +``` + ### SEE ALSO * [oms](oms.md) - Codesphere Operations Management System (OMS) diff --git a/docs/oms_create_test-user.md b/docs/oms_create_test-user.md index 0e1555ed..f5a77570 100644 --- a/docs/oms_create_test-user.md +++ b/docs/oms_create_test-user.md @@ -33,6 +33,12 @@ oms create test-user [flags] --ssl-mode string PostgreSQL SSL mode (default "disable") ``` +### Options inherited from parent commands + +``` + --verbose Enable verbose output +``` + ### SEE ALSO * [oms create](oms_create.md) - Create resources for Codesphere diff --git a/docs/oms_download.md b/docs/oms_download.md index 388ab6a8..2adc5752 100644 --- a/docs/oms_download.md +++ b/docs/oms_download.md @@ -13,6 +13,12 @@ e.g. available Codesphere packages -h, --help help for download ``` +### Options inherited from parent commands + +``` + --verbose Enable verbose output +``` + ### SEE ALSO * [oms](oms.md) - Codesphere Operations Management System (OMS) diff --git a/docs/oms_download_k0s.md b/docs/oms_download_k0s.md index b3cbdfc9..64e38130 100644 --- a/docs/oms_download_k0s.md +++ b/docs/oms_download_k0s.md @@ -20,9 +20,6 @@ $ oms download k0s # Download a specific version of k0s $ oms download k0s --version 1.22.0 -# Download k0s with minimal output -$ oms download k0s --quiet - # Force download even if k0s binary exists $ oms download k0s --force @@ -33,10 +30,15 @@ $ oms download k0s --force ``` -f, --force Force download even if k0s binary exists -h, --help help for k0s - -q, --quiet Suppress progress output during download -v, --version string Version of k0s to download ``` +### Options inherited from parent commands + +``` + --verbose Enable verbose output +``` + ### SEE ALSO * [oms download](oms_download.md) - Download resources available through OMS diff --git a/docs/oms_download_package.md b/docs/oms_download_package.md index a9d12498..a5e50f39 100644 --- a/docs/oms_download_package.md +++ b/docs/oms_download_package.md @@ -31,10 +31,15 @@ $ oms download package --version codesphere-v1.55.0 --file installer-lite.tar.gz -f, --file string Specify artifact to download (default "installer-lite.tar.gz") -H, --hash string Hash of the version to download if multiple builds exist for the same version -h, --help help for package - -q, --quiet Suppress progress output during download -V, --version string Codesphere version to download ``` +### Options inherited from parent commands + +``` + --verbose Enable verbose output +``` + ### SEE ALSO * [oms download](oms_download.md) - Download resources available through OMS diff --git a/docs/oms_init.md b/docs/oms_init.md index c249acca..cc0adf89 100644 --- a/docs/oms_init.md +++ b/docs/oms_init.md @@ -12,6 +12,12 @@ Initialize configuration files for Codesphere installation and other components. -h, --help help for init ``` +### Options inherited from parent commands + +``` + --verbose Enable verbose output +``` + ### SEE ALSO * [oms](oms.md) - Codesphere Operations Management System (OMS) diff --git a/docs/oms_init_install-config.md b/docs/oms_init_install-config.md index ee0db969..f4152e6c 100644 --- a/docs/oms_init_install-config.md +++ b/docs/oms_init_install-config.md @@ -93,6 +93,12 @@ $ oms init install-config --validate -c config.yaml --vault prod.vault.yaml --with-comments Add helpful comments to the generated YAML files ``` +### Options inherited from parent commands + +``` + --verbose Enable verbose output +``` + ### SEE ALSO * [oms init](oms_init.md) - Initialize configuration files diff --git a/docs/oms_install.md b/docs/oms_install.md index 21543f1d..fd4c54f8 100644 --- a/docs/oms_install.md +++ b/docs/oms_install.md @@ -12,6 +12,12 @@ Install Codesphere and other components like Ceph and PostgreSQL. -h, --help help for install ``` +### Options inherited from parent commands + +``` + --verbose Enable verbose output +``` + ### SEE ALSO * [oms](oms.md) - Codesphere Operations Management System (OMS) diff --git a/docs/oms_install_codesphere.md b/docs/oms_install_codesphere.md index dcf6c214..97be165d 100644 --- a/docs/oms_install_codesphere.md +++ b/docs/oms_install_codesphere.md @@ -43,6 +43,12 @@ $ oms install codesphere -p codesphere-v1.2.3-installer-lite.tar.gz -k