diff --git a/NOTICE b/NOTICE index c146e1e..d8bf93c 100644 --- a/NOTICE +++ b/NOTICE @@ -5,9 +5,9 @@ This project includes code licensed under the following terms: ---------- Module: code.gitea.io/sdk/gitea -Version: v0.23.2 +Version: v0.24.1 License: MIT -License URL: https://gitea.com/gitea/go-sdk/src/tag/gitea/v0.23.2/gitea/LICENSE +License URL: https://gitea.com/gitea/go-sdk/src/tag/gitea/v0.24.1/gitea/LICENSE ---------- Module: dario.cat/mergo @@ -17,9 +17,9 @@ License URL: https://github.com/imdario/mergo/blob/v1.0.2/LICENSE ---------- Module: github.com/42wim/httpsig -Version: v1.2.3 +Version: v1.2.4 License: BSD-3-Clause -License URL: https://github.com/42wim/httpsig/blob/v1.2.3/LICENSE +License URL: https://github.com/42wim/httpsig/blob/v1.2.4/LICENSE ---------- Module: github.com/Masterminds/semver/v3 @@ -29,9 +29,9 @@ License URL: https://github.com/Masterminds/semver/blob/v3.4.0/LICENSE.txt ---------- Module: github.com/ProtonMail/go-crypto -Version: v1.3.0 +Version: v1.4.0 License: BSD-3-Clause -License URL: https://github.com/ProtonMail/go-crypto/blob/v1.3.0/LICENSE +License URL: https://github.com/ProtonMail/go-crypto/blob/v1.4.0/LICENSE ---------- Module: github.com/beorn7/perks/quantile @@ -125,9 +125,9 @@ License URL: https://github.com/go-git/go-billy/blob/v5.8.0/LICENSE ---------- Module: github.com/go-git/go-git/v5 -Version: v5.17.0 +Version: v5.17.2 License: Apache-2.0 -License URL: https://github.com/go-git/go-git/blob/v5.17.0/LICENSE +License URL: https://github.com/go-git/go-git/blob/v5.17.2/LICENSE ---------- Module: github.com/go-logr/logr @@ -185,9 +185,9 @@ License URL: https://github.com/jbenet/go-context/blob/d14ea06fba99/LICENSE ---------- Module: github.com/jedib0t/go-pretty/v6 -Version: v6.7.8 +Version: v6.7.9 License: MIT -License URL: https://github.com/jedib0t/go-pretty/blob/v6.7.8/LICENSE +License URL: https://github.com/jedib0t/go-pretty/blob/v6.7.9/LICENSE ---------- Module: github.com/json-iterator/go @@ -395,9 +395,9 @@ License URL: https://cs.opensource.google/go/x/net/+/v0.52.0:LICENSE ---------- Module: golang.org/x/oauth2 -Version: v0.35.0 +Version: v0.36.0 License: BSD-3-Clause -License URL: https://cs.opensource.google/go/x/oauth2/+/v0.35.0:LICENSE +License URL: https://cs.opensource.google/go/x/oauth2/+/v0.36.0:LICENSE ---------- Module: golang.org/x/sync/errgroup diff --git a/cli/cmd/create.go b/cli/cmd/create.go index 5c1f541..5d1c3a6 100644 --- a/cli/cmd/create.go +++ b/cli/cmd/create.go @@ -19,7 +19,7 @@ func AddCreateCmd(rootCmd *cobra.Command, opts *GlobalOptions) { Long: `Create codesphere resources like workspaces.`, }, } - rootCmd.AddCommand(create.cmd) + AddCmd(rootCmd, create.cmd) // Add child commands here AddCreateWorkspaceCmd(create.cmd, opts) diff --git a/cli/cmd/create_workspace.go b/cli/cmd/create_workspace.go index 3c9edbb..a4d909a 100644 --- a/cli/cmd/create_workspace.go +++ b/cli/cmd/create_workspace.go @@ -114,7 +114,7 @@ func AddCreateWorkspaceCmd(create *cobra.Command, opts *GlobalOptions) { workspace.Opts.Baseimage = workspace.cmd.Flags().String("base-image", "", "Base image to use for the workspace, e.g. 'ubuntu-24.04'") workspace.Opts.PublicDevDomain = workspace.cmd.Flags().Bool("public-dev-domain", false, "Whether to create enable a public development domain (defaults to the public api default)") - create.AddCommand(workspace.cmd) + AddCmd(create, workspace.cmd) workspace.cmd.RunE = workspace.RunE } diff --git a/cli/cmd/delete.go b/cli/cmd/delete.go index 036e011..b13a010 100644 --- a/cli/cmd/delete.go +++ b/cli/cmd/delete.go @@ -19,7 +19,7 @@ func AddDeleteCmd(rootCmd *cobra.Command, opt *GlobalOptions) { Long: `Delete Codesphere resources, e.g. workspaces.`, }, } - rootCmd.AddCommand(delete.cmd) + AddCmd(rootCmd, delete.cmd) // Add child commands here AddDeleteWorkspaceCmd(delete.cmd, opt) diff --git a/cli/cmd/delete_workspace.go b/cli/cmd/delete_workspace.go index 2b2d40f..b7b1bb7 100644 --- a/cli/cmd/delete_workspace.go +++ b/cli/cmd/delete_workspace.go @@ -54,7 +54,7 @@ func AddDeleteWorkspaceCmd(delete *cobra.Command, opts *GlobalOptions) { Prompt: &io.Prompt{}, } workspace.Opts.Confirmed = workspace.cmd.Flags().Bool("yes", false, "Confirm deletion of workspace") - delete.AddCommand(workspace.cmd) + AddCmd(delete, workspace.cmd) workspace.cmd.RunE = workspace.RunE } diff --git a/cli/cmd/exec.go b/cli/cmd/exec.go index 2de08a6..cc24da7 100644 --- a/cli/cmd/exec.go +++ b/cli/cmd/exec.go @@ -57,7 +57,7 @@ func AddExecCmd(rootCmd *cobra.Command, opts *GlobalOptions) { } exec.Opts.EnvVar = exec.cmd.Flags().StringArrayP("env", "e", []string{}, "Additional environment variables to pass to the command in the form key=val") exec.Opts.WorkDir = exec.cmd.Flags().StringP("workdir", "d", "", "Working directory for the command") - rootCmd.AddCommand(exec.cmd) + AddCmd(rootCmd, exec.cmd) exec.cmd.RunE = exec.RunE } diff --git a/cli/cmd/generate.go b/cli/cmd/generate.go index d10bf43..2453231 100644 --- a/cli/cmd/generate.go +++ b/cli/cmd/generate.go @@ -39,7 +39,7 @@ func AddGenerateCmd(rootCmd *cobra.Command, opts *GlobalOptions) { generate.cmd.PersistentFlags().BoolVarP(&generate.Opts.Force, "force", "f", false, "Overwrite any files if existing") generate.cmd.PersistentFlags().StringVar(&generate.Opts.RepoRoot, "reporoot", "./workspace-repo", "root directory of the workspace repository to export. Will be used to clone the repository if it doesn't exist.") - rootCmd.AddCommand(generate.cmd) + AddCmd(rootCmd, generate.cmd) AddGenerateDockerCmd(generate.cmd, generate.Opts) AddGenerateKubernetesCmd(generate.cmd, generate.Opts) diff --git a/cli/cmd/generate_docker.go b/cli/cmd/generate_docker.go index 9ce62bb..431729c 100644 --- a/cli/cmd/generate_docker.go +++ b/cli/cmd/generate_docker.go @@ -89,7 +89,7 @@ func AddGenerateDockerCmd(generate *cobra.Command, opts *GenerateOpts) { docker.cmd.Flags().StringVarP(&docker.Opts.BaseImage, "baseimage", "b", "", "Base image for the docker") docker.cmd.Flags().StringArrayVarP(&docker.Opts.Envs, "env", "e", []string{}, "Env vars to put into generated artifacts") - generate.AddCommand(docker.cmd) + AddCmd(generate, docker.cmd) docker.cmd.RunE = docker.RunE } diff --git a/cli/cmd/generate_images.go b/cli/cmd/generate_images.go index 7c8c6e5..a0fa9dd 100644 --- a/cli/cmd/generate_images.go +++ b/cli/cmd/generate_images.go @@ -63,7 +63,7 @@ func AddGenerateImagesCmd(generate *cobra.Command, opts *GenerateOpts) { images.cmd.Flags().StringVarP(&images.Opts.Registry, "registry", "r", "", "Registry to push the resulting images to") images.cmd.Flags().StringVarP(&images.Opts.ImagePrefix, "imagePrefix", "p", "", "Image prefix to use for the exported images") - generate.AddCommand(images.cmd) + AddCmd(generate, images.cmd) images.cmd.RunE = images.RunE } diff --git a/cli/cmd/generate_kubernetes.go b/cli/cmd/generate_kubernetes.go index 87f66c7..7c7d257 100644 --- a/cli/cmd/generate_kubernetes.go +++ b/cli/cmd/generate_kubernetes.go @@ -83,7 +83,7 @@ func AddGenerateKubernetesCmd(generate *cobra.Command, opts *GenerateOpts) { kubernetes.cmd.Flags().StringVar(&kubernetes.Opts.Hostname, "hostname", "localhost", "hostname for the ingress to match") kubernetes.cmd.Flags().StringVar(&kubernetes.Opts.IngressClass, "ingressClass", "nginx", "ingress class for the ingress resource") - generate.AddCommand(kubernetes.cmd) + AddCmd(generate, kubernetes.cmd) kubernetes.cmd.RunE = kubernetes.RunE } diff --git a/cli/cmd/git.go b/cli/cmd/git.go index 1ff6c4f..5eb8255 100644 --- a/cli/cmd/git.go +++ b/cli/cmd/git.go @@ -23,7 +23,7 @@ func AddGitCmd(rootCmd *cobra.Command, opts *GlobalOptions) { like pulling or switching to a specific branch.`), }, } - rootCmd.AddCommand(git.cmd) + AddCmd(rootCmd, git.cmd) // Add child commands here AddGitPullCmd(git.cmd, opts) diff --git a/cli/cmd/git_pull.go b/cli/cmd/git_pull.go index 7c93908..24b2761 100644 --- a/cli/cmd/git_pull.go +++ b/cli/cmd/git_pull.go @@ -59,7 +59,7 @@ func AddGitPullCmd(git *cobra.Command, opts *GlobalOptions) { Opts: GitPullOpts{GlobalOptions: opts}, } - git.AddCommand(pull.cmd) + AddCmd(git, pull.cmd) pull.Opts.Branch = pull.cmd.Flags().String("branch", "", "Branch to pull") pull.Opts.Remote = pull.cmd.Flags().String("remote", "", "Remote to pull from") pull.cmd.RunE = pull.RunE diff --git a/cli/cmd/go.go b/cli/cmd/go.go index e309204..7ce2cb7 100644 --- a/cli/cmd/go.go +++ b/cli/cmd/go.go @@ -31,6 +31,6 @@ func AddGoCmd(rootCmd *cobra.Command) { goCmd := GoCmd{ cmd: &cobra.Command{Hidden: true, Use: "go"}, } - rootCmd.AddCommand(goCmd.cmd) + AddCmd(rootCmd, goCmd.cmd) goCmd.cmd.RunE = goCmd.RunE } diff --git a/cli/cmd/licenses.go b/cli/cmd/licenses.go index a06a1cf..72a0e43 100644 --- a/cli/cmd/licenses.go +++ b/cli/cmd/licenses.go @@ -35,6 +35,6 @@ func AddLicensesCmd(rootCmd *cobra.Command) { Long: `Print information about the Codesphere CLI license and open source licenses of dependencies.`, }, } - rootCmd.AddCommand(licenses.cmd) + AddCmd(rootCmd, licenses.cmd) licenses.cmd.RunE = licenses.RunE } diff --git a/cli/cmd/list.go b/cli/cmd/list.go index be372d5..5331973 100644 --- a/cli/cmd/list.go +++ b/cli/cmd/list.go @@ -48,7 +48,7 @@ func AddListCmd(rootCmd *cobra.Command, opts *GlobalOptions) { return nil } - rootCmd.AddCommand(l.cmd) + AddCmd(rootCmd, l.cmd) addListWorkspacesCmd(l.cmd, listOpts) AddListBaseimagesCmd(l.cmd, listOpts) addListTeamsCmd(l.cmd, listOpts) diff --git a/cli/cmd/list_baseimages.go b/cli/cmd/list_baseimages.go index 0741679..e4c2383 100644 --- a/cli/cmd/list_baseimages.go +++ b/cli/cmd/list_baseimages.go @@ -30,7 +30,7 @@ func AddListBaseimagesCmd(p *cobra.Command, opts *ListOptions) { Opts: opts, } l.cmd.RunE = l.RunE - p.AddCommand(l.cmd) + AddCmd(p, l.cmd) } func (l *ListBaseimagesCmd) RunE(_ *cobra.Command, args []string) (err error) { diff --git a/cli/cmd/list_plans.go b/cli/cmd/list_plans.go index 3342855..05af53b 100644 --- a/cli/cmd/list_plans.go +++ b/cli/cmd/list_plans.go @@ -83,6 +83,6 @@ func AddListPlansCmd(list *cobra.Command, opts *ListOptions) { }, Opts: opts, } - list.AddCommand(plans.cmd) + AddCmd(list, plans.cmd) plans.cmd.RunE = plans.RunE } diff --git a/cli/cmd/list_teams.go b/cli/cmd/list_teams.go index 782e779..e7e87d3 100644 --- a/cli/cmd/list_teams.go +++ b/cli/cmd/list_teams.go @@ -31,7 +31,7 @@ func addListTeamsCmd(p *cobra.Command, opts *ListOptions) { opts: opts, } l.cmd.RunE = l.RunE - p.AddCommand(l.cmd) + AddCmd(p, l.cmd) } func (l *ListTeamsCmd) RunE(_ *cobra.Command, args []string) (err error) { diff --git a/cli/cmd/list_workspaces.go b/cli/cmd/list_workspaces.go index 8db191e..001f99a 100644 --- a/cli/cmd/list_workspaces.go +++ b/cli/cmd/list_workspaces.go @@ -32,7 +32,7 @@ func addListWorkspacesCmd(p *cobra.Command, opts *ListOptions) { Opts: opts, } l.cmd.RunE = l.RunE - p.AddCommand(l.cmd) + AddCmd(p, l.cmd) } func (l *ListWorkspacesCmd) RunE(_ *cobra.Command, args []string) (err error) { diff --git a/cli/cmd/log.go b/cli/cmd/log.go index 6724ddb..db383f8 100644 --- a/cli/cmd/log.go +++ b/cli/cmd/log.go @@ -68,7 +68,7 @@ func AddLogCmd(rootCmd *cobra.Command, opts *GlobalOptions) { } logCmd.cmd.RunE = logCmd.RunE logCmd.parseLogCmdFlags() - rootCmd.AddCommand(logCmd.cmd) + AddCmd(rootCmd, logCmd.cmd) } func (logCmd *LogCmd) parseLogCmdFlags() { diff --git a/cli/cmd/monitor.go b/cli/cmd/monitor.go index 502ce0f..3e246e8 100644 --- a/cli/cmd/monitor.go +++ b/cli/cmd/monitor.go @@ -308,6 +308,6 @@ func AddMonitorCmd(rootCmd *cobra.Command, opts *GlobalOptions) { monitor.Opts.Forward = monitor.Cmd.Flags().String("forward", "", "Forward healthcheck requests to application health endpoint") monitor.Opts.InsecureSkipVerify = monitor.Cmd.Flags().Bool("insecure-skip-verify", false, "Skip TLS validation (only relevant for --forward option when healthcheck is exposed as HTTPS endpoint with custom certificate)") monitor.Opts.CaCertFile = monitor.Cmd.Flags().String("ca-cert-file", "", "TLS CA certificate (only relevant for --forward option when healthcheck is exposed as HTTPS enpoint with custom certificate)") - rootCmd.AddCommand(monitor.Cmd) + AddCmd(rootCmd, monitor.Cmd) monitor.Cmd.RunE = monitor.RunE } diff --git a/cli/cmd/open.go b/cli/cmd/open.go index cd8f417..6894f3a 100644 --- a/cli/cmd/open.go +++ b/cli/cmd/open.go @@ -28,7 +28,7 @@ func AddOpenCmd(rootCmd *cobra.Command, opts *GlobalOptions) { Long: `Open the Codesphere IDE.`, }, } - rootCmd.AddCommand(open.cmd) + AddCmd(rootCmd, open.cmd) open.cmd.RunE = open.RunE AddOpenWorkspaceCmd(open.cmd, opts) } diff --git a/cli/cmd/open_workspace.go b/cli/cmd/open_workspace.go index 8e2a219..4e61759 100644 --- a/cli/cmd/open_workspace.go +++ b/cli/cmd/open_workspace.go @@ -48,7 +48,7 @@ func AddOpenWorkspaceCmd(open *cobra.Command, opts *GlobalOptions) { }, Opts: opts, } - open.AddCommand(workspace.cmd) + AddCmd(open, workspace.cmd) workspace.cmd.RunE = workspace.RunE } diff --git a/cli/cmd/root.go b/cli/cmd/root.go index abf7d54..c47d948 100644 --- a/cli/cmd/root.go +++ b/cli/cmd/root.go @@ -61,12 +61,22 @@ func (o GlobalOptions) GetWorkspaceId() (int, error) { return wsId, nil } +// AddCmd adds a command, inheriting the parent's Args validator if not explicitly set. +// Individual commands that need different argument rules can override this by setting their own Args validator. +func AddCmd(parent *cobra.Command, cmd *cobra.Command) { + if cmd.Args == nil { + cmd.Args = parent.Args + } + parent.AddCommand(cmd) +} + func GetRootCmd() *cobra.Command { var rootCmd = &cobra.Command{ Use: "cs", Short: "The Codesphere CLI", Long: `Manage and debug resources deployed in Codesphere via command line.`, DisableAutoGenTag: true, + Args: cobra.NoArgs, } opts := GlobalOptions{Env: cs.NewEnv()} diff --git a/cli/cmd/root_test.go b/cli/cmd/root_test.go new file mode 100644 index 0000000..06be849 --- /dev/null +++ b/cli/cmd/root_test.go @@ -0,0 +1,65 @@ +// Copyright (c) Codesphere Inc. +// SPDX-License-Identifier: Apache-2.0 + +package cmd_test + +import ( + . "github.com/onsi/ginkgo/v2" + . "github.com/onsi/gomega" + "github.com/spf13/cobra" + + "github.com/codesphere-cloud/cs-go/cli/cmd" +) + +func findCommand(root *cobra.Command, path ...string) *cobra.Command { + current := root + for _, p := range path { + next, _, err := current.Find([]string{p}) + if err != nil || next == nil { + return nil + } + current = next + } + + return current +} + +var _ = Describe("RootCmd", func() { + It("rejects positional args for commands configured with no positional args", func() { + rootCmd := cmd.GetRootCmd() + rootCmd.SilenceErrors = true + rootCmd.SilenceUsage = true + + licensesCmd := findCommand(rootCmd, "licenses") + Expect(licensesCmd).NotTo(BeNil()) + + rootCmd.SetArgs([]string{"licenses", "extra"}) + err := rootCmd.Execute() + Expect(err).To(HaveOccurred()) + Expect(err.Error()).To(ContainSubstring("unknown command \"extra\"")) + }) + + It("allows positional args for commands explicitly defining them", func() { + rootCmd := cmd.GetRootCmd() + rootCmd.SilenceErrors = true + rootCmd.SilenceUsage = true + + createWorkspaceCmd := findCommand(rootCmd, "create", "workspace") + Expect(createWorkspaceCmd).NotTo(BeNil()) + + executed := false + capturedArgs := []string{} + createWorkspaceCmd.RunE = func(_ *cobra.Command, args []string) error { + executed = true + capturedArgs = args + return nil + } + + rootCmd.SetArgs([]string{"create", "workspace", "my-workspace"}) + err := rootCmd.Execute() + + Expect(err).NotTo(HaveOccurred()) + Expect(executed).To(BeTrue()) + Expect(capturedArgs).To(Equal([]string{"my-workspace"})) + }) +}) diff --git a/cli/cmd/set_env_vars.go b/cli/cmd/set_env_vars.go index 5483a98..5b62f28 100644 --- a/cli/cmd/set_env_vars.go +++ b/cli/cmd/set_env_vars.go @@ -37,7 +37,7 @@ func AddSetEnvVarCmd(p *cobra.Command, opts *GlobalOptions) { } l.cmd.RunE = l.RunE l.parseFlags() - p.AddCommand(l.cmd) + AddCmd(p, l.cmd) } func (l *SetEnvVarCmd) parseFlags() { diff --git a/cli/cmd/start.go b/cli/cmd/start.go index b033b14..9164d53 100644 --- a/cli/cmd/start.go +++ b/cli/cmd/start.go @@ -19,6 +19,6 @@ func AddStartCmd(rootCmd *cobra.Command, opts *GlobalOptions) { Long: `Start pipeline of a workspace using the pipeline subcommand`, }, } - rootCmd.AddCommand(start.cmd) + AddCmd(rootCmd, start.cmd) AddStartPipelineCmd(start.cmd, opts) } diff --git a/cli/cmd/start_pipeline.go b/cli/cmd/start_pipeline.go index 5f3824f..5340888 100644 --- a/cli/cmd/start_pipeline.go +++ b/cli/cmd/start_pipeline.go @@ -74,7 +74,7 @@ func AddStartPipelineCmd(start *cobra.Command, opts *GlobalOptions) { pipeline.Opts.Timeout = pipeline.cmd.Flags().Duration("timeout", 30*time.Minute, "Time to wait per stage before stopping the command execution (e.g. 10m)") pipeline.Opts.Profile = pipeline.cmd.Flags().StringP("profile", "p", "", "CI profile to use (e.g. 'prod' for the profile defined in 'ci.prod.yml'), defaults to the ci.yml profile") - start.AddCommand(pipeline.cmd) + AddCmd(start, pipeline.cmd) pipeline.cmd.RunE = pipeline.RunE } diff --git a/cli/cmd/sync.go b/cli/cmd/sync.go index a33cf75..56d9422 100644 --- a/cli/cmd/sync.go +++ b/cli/cmd/sync.go @@ -21,7 +21,7 @@ func AddSyncCmd(rootCmd *cobra.Command, opts *GlobalOptions) { Long: io.Long(`Synchronize Codesphere resources, like infrastructure required to run services.`), }, } - rootCmd.AddCommand(sync.cmd) + AddCmd(rootCmd, sync.cmd) AddSyncLandscapeCmd(sync.cmd, opts) } diff --git a/cli/cmd/sync_landscape.go b/cli/cmd/sync_landscape.go index 2b1512e..39f7842 100644 --- a/cli/cmd/sync_landscape.go +++ b/cli/cmd/sync_landscape.go @@ -51,7 +51,7 @@ func AddSyncLandscapeCmd(sync *cobra.Command, opts *GlobalOptions) { workspace.cmd.RunE = workspace.RunE - sync.AddCommand(workspace.cmd) + AddCmd(sync, workspace.cmd) } func (c *SyncLandscapeCmd) SyncLandscape(client Client, wsId int) error { diff --git a/cli/cmd/update.go b/cli/cmd/update.go index f809b45..fdf3ae4 100644 --- a/cli/cmd/update.go +++ b/cli/cmd/update.go @@ -31,7 +31,7 @@ func AddUpdateCmd(rootCmd *cobra.Command) { Long: `Updates the Codesphere CLI to the latest release from GitHub.`, }, } - rootCmd.AddCommand(update.cmd) + AddCmd(rootCmd, update.cmd) update.cmd.RunE = update.RunE } diff --git a/cli/cmd/version.go b/cli/cmd/version.go index 0fee64b..0d737e4 100644 --- a/cli/cmd/version.go +++ b/cli/cmd/version.go @@ -30,6 +30,6 @@ func AddVersionCmd(rootCmd *cobra.Command) { Long: `Print current version of Codesphere CLI.`, }, } - rootCmd.AddCommand(version.cmd) + AddCmd(rootCmd, version.cmd) version.cmd.RunE = version.RunE } diff --git a/pkg/tmpl/NOTICE b/pkg/tmpl/NOTICE index c146e1e..d8bf93c 100644 --- a/pkg/tmpl/NOTICE +++ b/pkg/tmpl/NOTICE @@ -5,9 +5,9 @@ This project includes code licensed under the following terms: ---------- Module: code.gitea.io/sdk/gitea -Version: v0.23.2 +Version: v0.24.1 License: MIT -License URL: https://gitea.com/gitea/go-sdk/src/tag/gitea/v0.23.2/gitea/LICENSE +License URL: https://gitea.com/gitea/go-sdk/src/tag/gitea/v0.24.1/gitea/LICENSE ---------- Module: dario.cat/mergo @@ -17,9 +17,9 @@ License URL: https://github.com/imdario/mergo/blob/v1.0.2/LICENSE ---------- Module: github.com/42wim/httpsig -Version: v1.2.3 +Version: v1.2.4 License: BSD-3-Clause -License URL: https://github.com/42wim/httpsig/blob/v1.2.3/LICENSE +License URL: https://github.com/42wim/httpsig/blob/v1.2.4/LICENSE ---------- Module: github.com/Masterminds/semver/v3 @@ -29,9 +29,9 @@ License URL: https://github.com/Masterminds/semver/blob/v3.4.0/LICENSE.txt ---------- Module: github.com/ProtonMail/go-crypto -Version: v1.3.0 +Version: v1.4.0 License: BSD-3-Clause -License URL: https://github.com/ProtonMail/go-crypto/blob/v1.3.0/LICENSE +License URL: https://github.com/ProtonMail/go-crypto/blob/v1.4.0/LICENSE ---------- Module: github.com/beorn7/perks/quantile @@ -125,9 +125,9 @@ License URL: https://github.com/go-git/go-billy/blob/v5.8.0/LICENSE ---------- Module: github.com/go-git/go-git/v5 -Version: v5.17.0 +Version: v5.17.2 License: Apache-2.0 -License URL: https://github.com/go-git/go-git/blob/v5.17.0/LICENSE +License URL: https://github.com/go-git/go-git/blob/v5.17.2/LICENSE ---------- Module: github.com/go-logr/logr @@ -185,9 +185,9 @@ License URL: https://github.com/jbenet/go-context/blob/d14ea06fba99/LICENSE ---------- Module: github.com/jedib0t/go-pretty/v6 -Version: v6.7.8 +Version: v6.7.9 License: MIT -License URL: https://github.com/jedib0t/go-pretty/blob/v6.7.8/LICENSE +License URL: https://github.com/jedib0t/go-pretty/blob/v6.7.9/LICENSE ---------- Module: github.com/json-iterator/go @@ -395,9 +395,9 @@ License URL: https://cs.opensource.google/go/x/net/+/v0.52.0:LICENSE ---------- Module: golang.org/x/oauth2 -Version: v0.35.0 +Version: v0.36.0 License: BSD-3-Clause -License URL: https://cs.opensource.google/go/x/oauth2/+/v0.35.0:LICENSE +License URL: https://cs.opensource.google/go/x/oauth2/+/v0.36.0:LICENSE ---------- Module: golang.org/x/sync/errgroup