Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package argocd-autopilot for openSUSE:Factory checked in at 2025-03-15 16:16:26 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/argocd-autopilot (Old) and /work/SRC/openSUSE:Factory/.argocd-autopilot.new.19136 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "argocd-autopilot" Sat Mar 15 16:16:26 2025 rev:2 rq:1253173 version:0.4.19 Changes: -------- --- /work/SRC/openSUSE:Factory/argocd-autopilot/argocd-autopilot.changes 2024-11-27 22:15:50.167755735 +0100 +++ /work/SRC/openSUSE:Factory/.argocd-autopilot.new.19136/argocd-autopilot.changes 2025-03-15 16:17:19.043171108 +0100 @@ -1,0 +2,10 @@ +Fri Mar 14 18:59:12 UTC 2025 - opensuse_buildserv...@ojkastl.de + +- Update to version 0.4.19: + * chore: update version to v0.4.19 and release notes + * feat: add cluster-only uninstall option and resource deletion + handling (#634) + * Fix-vulns (#635) + * release-v0.4.18 (#556) + +------------------------------------------------------------------- Old: ---- argocd-autopilot-0.4.18.obscpio New: ---- argocd-autopilot-0.4.19.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ argocd-autopilot.spec ++++++ --- /var/tmp/diff_new_pack.nTj4pC/_old 2025-03-15 16:17:19.915207679 +0100 +++ /var/tmp/diff_new_pack.nTj4pC/_new 2025-03-15 16:17:19.919207847 +0100 @@ -1,7 +1,7 @@ # # spec file for package argocd-autopilot # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: argocd-autopilot -Version: 0.4.18 +Version: 0.4.19 Release: 0 Summary: Opinionated way of installing Argo-CD License: Apache-2.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.nTj4pC/_old 2025-03-15 16:17:19.951209189 +0100 +++ /var/tmp/diff_new_pack.nTj4pC/_new 2025-03-15 16:17:19.955209356 +0100 @@ -3,7 +3,7 @@ <param name="url">https://github.com/argoproj-labs/argocd-autopilot</param> <param name="scm">git</param> <param name="exclude">.git</param> - <param name="revision">v0.4.18</param> + <param name="revision">v0.4.19</param> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> <param name="changesgenerate">enable</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.nTj4pC/_old 2025-03-15 16:17:20.003211369 +0100 +++ /var/tmp/diff_new_pack.nTj4pC/_new 2025-03-15 16:17:20.003211369 +0100 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/argoproj-labs/argocd-autopilot</param> - <param name="changesrevision">d31992f1b38477ab3eac4ec2e713cc084162b379</param></service></servicedata> + <param name="changesrevision">5219caa2c688061b88ea5eee0aef9f97e3f62f25</param></service></servicedata> (No newline at EOF) ++++++ argocd-autopilot-0.4.18.obscpio -> argocd-autopilot-0.4.19.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/argocd-autopilot-0.4.18/.gitignore new/argocd-autopilot-0.4.19/.gitignore --- old/argocd-autopilot-0.4.18/.gitignore 2024-11-26 13:07:52.000000000 +0100 +++ new/argocd-autopilot-0.4.19/.gitignore 2025-03-13 21:20:59.000000000 +0100 @@ -4,6 +4,7 @@ *.dll *.so *.dylib +bin/* coverage.txt # Test binary, built with `go test -c` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/argocd-autopilot-0.4.18/.golangci.yaml new/argocd-autopilot-0.4.19/.golangci.yaml --- old/argocd-autopilot-0.4.18/.golangci.yaml 2024-11-26 13:07:52.000000000 +0100 +++ new/argocd-autopilot-0.4.19/.golangci.yaml 2025-03-13 21:20:59.000000000 +0100 @@ -3,15 +3,11 @@ # options for analysis running run: - # https://github.com/golangci/golangci-lint/issues/2649 - # enable go 1.17 linting, will not allow generics - go: "1.17" - # default concurrency is a available CPU number concurrency: 4 # timeout for analysis, e.g. 30s, 5m, default is 1m - timeout: 1m + timeout: 5m # exit code when at least one issue was found, default is 1 issues-exit-code: 1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/argocd-autopilot-0.4.18/CHANGELOG.md new/argocd-autopilot-0.4.19/CHANGELOG.md --- old/argocd-autopilot-0.4.18/CHANGELOG.md 2024-11-26 13:07:52.000000000 +0100 +++ new/argocd-autopilot-0.4.19/CHANGELOG.md 2025-03-13 21:20:59.000000000 +0100 @@ -1,5 +1,15 @@ # Changelog: +# v0.4.19 +- [chore] update github.com/argoproj/argo-cd/v2 v2.13.1 to v2.13.4 [#635](https://github.com/argoproj-labs/argocd-autopilot/pull/635) +- [chore] update github.com/go-git/go-billy/v5 v5.5.0 to v5.6.2 [#635](https://github.com/argoproj-labs/argocd-autopilot/pull/635) +- [chore] update github.com/go-git/go-git/v5 v5.12.0 to v5.13.2 [#635](https://github.com/argoproj-labs/argocd-autopilot/pull/635) +- [chore] replace github.com/xanzy/go-gitlab v0.91.1 with gitlab.com/gitlab-org/api/client-go v0.121.0 [#635](https://github.com/argoproj-labs/argocd-autopilot/pull/635) +- [chore] update sigs.k8s.io/kustomize/api v0.17.2 to v0.19.0 [#635](https://github.com/argoproj-labs/argocd-autopilot/pull/635) +- [chore] update sigs.k8s.io/kustomize/kyaml v0.17.1 to v0.19.0 [#635](https://github.com/argoproj-labs/argocd-autopilot/pull/635) +- [chore] update golang to 1.24 [#634](https://github.com/argoproj-labs/argocd-autopilot/pull/634) +- [feat] add cluster-only uninstall option and resource deletion handling [#634](https://github.com/argoproj-labs/argocd-autopilot/pull/634) + # v0.4.18 - [chore] update golang to 1.23 [#598](https://github.com/argoproj-labs/argocd-autopilot/pull/598) - [chore] code.gitea.io/sdk/gitea v0.17.1 => v0.19.0 [#598](https://github.com/argoproj-labs/argocd-autopilot/pull/598) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/argocd-autopilot-0.4.18/Dockerfile new/argocd-autopilot-0.4.19/Dockerfile --- old/argocd-autopilot-0.4.18/Dockerfile 2024-11-26 13:07:52.000000000 +0100 +++ new/argocd-autopilot-0.4.19/Dockerfile 2025-03-13 21:20:59.000000000 +0100 @@ -25,7 +25,7 @@ WORKDIR /home/autopilot ### Build -FROM docker.io/library/golang:1.23 AS build +FROM docker.io/library/golang:1.24 AS build WORKDIR /go/src/github.com/argoproj-labs/argocd-autopilot diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/argocd-autopilot-0.4.18/Makefile new/argocd-autopilot-0.4.19/Makefile --- old/argocd-autopilot-0.4.18/Makefile 2024-11-26 13:07:52.000000000 +0100 +++ new/argocd-autopilot-0.4.19/Makefile 2025-03-13 21:20:59.000000000 +0100 @@ -1,4 +1,4 @@ -VERSION=v0.4.18 +VERSION=v0.4.19 OUT_DIR=dist CLI_NAME?=argocd-autopilot @@ -107,19 +107,21 @@ @touch $(OUT_DIR)/$(CLI_NAME).image .PHONY: lint -lint: $(GOBIN)/golangci-lint tidy - @golangci-lint version - @echo linting go code... - @golangci-lint run --fix --timeout 10m +lint: tidy golangci-lint + $(GOLANGCI_LINT) run + +.PHONY: lint-fix +lint-fix: tidy golangci-lint + $(GOLANGCI_LINT) run --fix .PHONY: test test: ./hack/test.sh .PHONY: codegen -codegen: $(GOBIN)/mockgen +codegen: mockgen rm -f docs/commands/* - go generate ./... + @PATH=$(LOCALBIN):$(PATH) go generate ./... .PHONY: pre-commit pre-commit: lint @@ -156,11 +158,42 @@ check-worktree: @./hack/check_worktree.sh -$(GOBIN)/mockgen: - @go install github.com/golang/mock/mockgen@v1.6.0 - @mockgen -version - -$(GOBIN)/golangci-lint: - @mkdir dist || true - @echo installing: golangci-lint - @curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(GOBIN) v1.62.0 +## copied binary dependencies handling from kubebuilder generated code +## Location to install dependencies to +LOCALBIN ?= $(shell pwd)/bin +$(LOCALBIN): + mkdir -p $(LOCALBIN) + +## Tool Binaries +GOLANGCI_LINT = $(LOCALBIN)/golangci-lint +MOCKGEN = ${LOCALBIN}/mockgen + +## Tool Versions +MOCKGEN_VERSION ?= v1.6.0 +GOLANGCI_LINT_VERSION ?= v1.64.7 + +.PHONY: golangci-lint +golangci-lint: $(GOLANGCI_LINT) ## Download golangci-lint locally if necessary. +$(GOLANGCI_LINT): + $(call go-install-tool,$(GOLANGCI_LINT),github.com/golangci/golangci-lint/cmd/golangci-lint,$(GOLANGCI_LINT_VERSION)) + +.PHONY: mockgen +mockgen: $(MOCKGEN) ## Download mockgen locally if necessary. +$(MOCKGEN): $(LOCALBIN) + $(call go-install-tool,$(MOCKGEN),github.com/golang/mock/mockgen,$(MOCKGEN_VERSION)) + +# go-install-tool will 'go install' any package with custom target and name of binary, if it doesn't exist +# $1 - target path with name of binary +# $2 - package url which can be installed +# $3 - specific version of package +define go-install-tool +@[ -f "$(1)-$(3)" ] || { \ +set -e; \ +package=$(2)@$(3) ;\ +echo "Downloading $${package}" ;\ +rm -f $(1) || true ;\ +GOBIN=$(LOCALBIN) go install $${package} ;\ +mv $(1) $(1)-$(3) ;\ +} ;\ +ln -sf $(1)-$(3) $(1) +endef diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/argocd-autopilot-0.4.18/build/ci.yml new/argocd-autopilot-0.4.19/build/ci.yml --- old/argocd-autopilot-0.4.18/build/ci.yml 2024-11-26 13:07:52.000000000 +0100 +++ new/argocd-autopilot-0.4.19/build/ci.yml 2025-03-13 21:20:59.000000000 +0100 @@ -19,7 +19,7 @@ prepare_env_vars: &deps stage: Prepare title: prepare-env - image: quay.io/codefresh/golang-ci-helper:1.23 + image: quay.io/codefresh/golang-ci-helper:1.24.1 commands: - cf_export GO111MODULE=on - cf_export GOCACHE=/codefresh/volume/gocache # change gopath to codefresh shared volume diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/argocd-autopilot-0.4.18/build/release.yml new/argocd-autopilot-0.4.19/build/release.yml --- old/argocd-autopilot-0.4.18/build/release.yml 2024-11-26 13:07:52.000000000 +0100 +++ new/argocd-autopilot-0.4.19/build/release.yml 2025-03-13 21:20:59.000000000 +0100 @@ -20,7 +20,7 @@ check_version: &deps stage: Prepare title: check version - image: quay.io/codefresh/golang-ci-helper:1.23 + image: quay.io/codefresh/golang-ci-helper:1.24.1 commands: - cf_export GO111MODULE=on - cf_export GOCACHE=/codefresh/volume/gocache # change gopath to codefresh shared volume diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/argocd-autopilot-0.4.18/build/sanity.yml new/argocd-autopilot-0.4.19/build/sanity.yml --- old/argocd-autopilot-0.4.18/build/sanity.yml 2024-11-26 13:07:52.000000000 +0100 +++ new/argocd-autopilot-0.4.19/build/sanity.yml 2025-03-13 21:20:59.000000000 +0100 @@ -18,7 +18,7 @@ prep: &deps stage: "prepare" title: "prepare env vars" - image: quay.io/codefresh/golang-ci-helper:1.23 + image: quay.io/codefresh/golang-ci-helper:1.24.1 commands: - cf_export GO111MODULE=on - cf_export NAMESPACE=${{KUBE_NAMESPACE}}-$(date "+%M-%S") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/argocd-autopilot-0.4.18/cmd/commands/repo.go new/argocd-autopilot-0.4.19/cmd/commands/repo.go --- old/argocd-autopilot-0.4.18/cmd/commands/repo.go 2024-11-26 13:07:52.000000000 +0100 +++ new/argocd-autopilot-0.4.19/cmd/commands/repo.go 2025-03-13 21:20:59.000000000 +0100 @@ -72,6 +72,7 @@ CloneOptions *git.CloneOptions KubeFactory kube.Factory Force bool + ClusterOnly bool FastExit bool } @@ -322,9 +323,10 @@ func NewRepoUninstallCommand() *cobra.Command { var ( - cloneOpts *git.CloneOptions - f kube.Factory - force bool + cloneOpts *git.CloneOptions + f kube.Factory + force bool + clusterOnly bool ) cmd := &cobra.Command{ @@ -356,28 +358,44 @@ <BIN> repo uninstall --repo https://github.com/example/repo --force `), - PreRun: func(_ *cobra.Command, _ []string) { cloneOpts.Parse() }, + PreRunE: func(_ *cobra.Command, _ []string) error{ + if !clusterOnly { + cloneOpts.Parse() + } + + if !clusterOnly { + if cloneOpts.Repo == "" || cloneOpts.Auth.Password == "" { + return fmt.Errorf("both --repo and --git-token flags are required") + } + } + + return nil + }, RunE: func(cmd *cobra.Command, _ []string) error { kubeContextName, err := cmd.Flags().GetString("context") if err != nil { return fmt.Errorf("failed to get kube context name: %w", err) } + return RunRepoUninstall(cmd.Context(), &RepoUninstallOptions{ Namespace: cmd.Flag("namespace").Value.String(), KubeContextName: kubeContextName, Timeout: util.MustParseDuration(cmd.Flag("request-timeout").Value.String()), CloneOptions: cloneOpts, Force: force, + ClusterOnly: clusterOnly, KubeFactory: f, }) }, } cmd.Flags().BoolVar(&force, "force", false, "If true, will try to complete the uninstallation even if one or more of the uninstallation steps failed") + cmd.Flags().BoolVar(&clusterOnly, "clusterOnly", false, "If true, will uninstall directly from cluster, without touching the git repository") cloneOpts = git.AddFlags(cmd, &git.AddFlagsOptions{ FS: memfs.New(), CloneForWrite: true, + Optional: true, }) f = kube.AddFlags(cmd.Flags()) @@ -385,7 +403,11 @@ } func RunRepoUninstall(ctx context.Context, opts *RepoUninstallOptions) error { - var err error + var ( + r git.Repository + repofs fs.FS + err error + ) opts, err = setUninstallOptsDefaults(*opts) if err != nil { @@ -399,25 +421,27 @@ "kube-context": opts.KubeContextName, }).Debug("starting with options: ") - log.G(ctx).Infof("cloning repo: %s", opts.CloneOptions.URL()) - r, repofs, err := getRepo(ctx, opts.CloneOptions) - if err != nil { - if !opts.Force { - return err - } - - log.G().Warnf("Continuing uninstall, even though failed getting repo: %v", err) - } - var revision string - if r != nil && repofs != nil { - revision, err = removeFromRepo(ctx, r, repofs) + if !opts.ClusterOnly { + log.G(ctx).Infof("cloning repo: %s", opts.CloneOptions.URL()) + r, repofs, err = getRepo(ctx, opts.CloneOptions) if err != nil { if !opts.Force { return err } - log.G().Warnf("Continuing uninstall, even though failed uninstalling from repo: %v", err) + log.G().Warnf("Continuing uninstall, even though failed getting repo: %v", err) + } + + if r != nil && repofs != nil { + revision, err = removeFromRepo(ctx, r, repofs) + if err != nil { + if !opts.Force { + return err + } + + log.G().Warnf("Continuing uninstall, even though failed uninstalling from repo: %v", err) + } } } @@ -430,7 +454,7 @@ log.G().Warnf("Continuing uninstall, even though failed completing deletion of cluster resources: %v", err) } - if r != nil && repofs != nil { + if !opts.ClusterOnly { err = removeLeftoversFromRepo(ctx, r, repofs) if err != nil { if !opts.Force { @@ -845,18 +869,15 @@ } func removeFromCluster(ctx context.Context, opts *RepoUninstallOptions, revision string) error { - if revision != "" { - stop := util.WithSpinner(ctx, fmt.Sprintf("waiting for '%s' to be finish syncing", store.Default.BootsrtrapAppName)) - err := waitAppSynced(ctx, opts.KubeFactory, opts.Timeout, store.Default.BootsrtrapAppName, opts.Namespace, revision, false) - if err != nil { - se, ok := err.(*kerrors.StatusError) - if !ok || se.ErrStatus.Reason != metav1.StatusReasonNotFound { - stop() - return err - } - } + var err error + if opts.ClusterOnly { + err = waitForBootstrapAppDelete(ctx, opts) + } else { + err = waitForBootstrapAppSync(ctx, opts, revision) + } - stop() + if err != nil { + return err } log.G(ctx).Info("Deleting cluster resources") @@ -867,6 +888,40 @@ }) } +func waitForBootstrapAppSync(ctx context.Context, opts *RepoUninstallOptions, revision string) error { + stop := util.WithSpinner(ctx, fmt.Sprintf("waiting for '%s' to be finish syncing", store.Default.BootsrtrapAppName)) + err := waitAppSynced(ctx, opts.KubeFactory, opts.Timeout, store.Default.BootsrtrapAppName, opts.Namespace, revision, false) + if err != nil { + se, ok := err.(*kerrors.StatusError) + if !ok || se.ErrStatus.Reason != metav1.StatusReasonNotFound { + stop() + return fmt.Errorf("failed syncing '%s' application: %w", store.Default.BootsrtrapAppName, err) + } + } + + stop() + return err +} + +func waitForBootstrapAppDelete(ctx context.Context, opts *RepoUninstallOptions) error { + stop := util.WithSpinner(ctx, fmt.Sprintf("waiting for '%s' to be finish deleting", store.Default.BootsrtrapAppName)) + err := opts.KubeFactory.DeleteResource(ctx, &kube.DeleteResourceOptions{ + Namespace: opts.Namespace, + Name: store.Default.BootsrtrapAppName, + Resource: argocdv1alpha1.SchemeGroupVersion.WithResource("applications"), + }) + if err != nil { + se, ok := err.(*kerrors.StatusError) + if !ok || se.ErrStatus.Reason != metav1.StatusReasonNotFound { + stop() + return fmt.Errorf("failed deleting '%s' application: %w", store.Default.BootsrtrapAppName, err) + } + } + + stop() + return err +} + func deleteClusterResources(ctx context.Context, opts *deleteClusterResourcesOptions) error { labelSelectors := []string{ store.Default.LabelKeyAppManagedBy + "=" + store.Default.LabelValueManagedBy, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/argocd-autopilot-0.4.18/cmd/commands/repo_test.go new/argocd-autopilot-0.4.19/cmd/commands/repo_test.go --- old/argocd-autopilot-0.4.18/cmd/commands/repo_test.go 2024-11-26 13:07:52.000000000 +0100 +++ new/argocd-autopilot-0.4.19/cmd/commands/repo_test.go 2025-03-13 21:20:59.000000000 +0100 @@ -666,7 +666,7 @@ }, }, "Should fail if Wait fails": { - wantErr: "some error", + wantErr: "failed syncing 'autopilot-bootstrap' application: some error", beforeFn: func(r *gitmocks.MockRepository, f *kubemocks.MockFactory) { r.EXPECT().Persist(gomock.Any(), &git.PushOptions{CommitMsg: "Autopilot Uninstall"}). Return("revision", nil) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/argocd-autopilot-0.4.18/docs/commands/argocd-autopilot_repo_uninstall.md new/argocd-autopilot-0.4.19/docs/commands/argocd-autopilot_repo_uninstall.md --- old/argocd-autopilot-0.4.18/docs/commands/argocd-autopilot_repo_uninstall.md 2024-11-26 13:07:52.000000000 +0100 +++ new/argocd-autopilot-0.4.19/docs/commands/argocd-autopilot_repo_uninstall.md 2025-03-13 21:20:59.000000000 +0100 @@ -40,6 +40,7 @@ ### Options ``` + --clusterOnly If true, will uninstall directly from cluster, without touching the git repository --context string The name of the kubeconfig context to use --force If true, will try to complete the uninstallation even if one or more of the uninstallation steps failed --git-server-crt string Git Server certificate file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/argocd-autopilot-0.4.18/docs/releases/release_notes.md new/argocd-autopilot-0.4.19/docs/releases/release_notes.md --- old/argocd-autopilot-0.4.18/docs/releases/release_notes.md 2024-11-26 13:07:52.000000000 +0100 +++ new/argocd-autopilot-0.4.19/docs/releases/release_notes.md 2025-03-13 21:20:59.000000000 +0100 @@ -1,32 +1,17 @@ ### Changes -- [chore] update golang to 1.23 [#598](https://github.com/argoproj-labs/argocd-autopilot/pull/598) -- [chore] code.gitea.io/sdk/gitea v0.17.1 => v0.19.0 [#598](https://github.com/argoproj-labs/argocd-autopilot/pull/598) -- [chore] upgraded github.com/argoproj/argo-cd/v2 v2.10.0 => v2.13.1 [#598](https://github.com/argoproj-labs/argocd-autopilot/pull/598) -- [chore] upgraded github.com/briandowns/spinner v1.23.0 => v1.23.1 [#598](https://github.com/argoproj-labs/argocd-autopilot/pull/598) -- [chore] upgraded github.com/go-git/go-git/v5 v5.11.0 => v5.12.0 [#598](https://github.com/argoproj-labs/argocd-autopilot/pull/598) -- [chore] upgraded github.com/ktrysmt/go-bitbucket v0.9.75 => v0.9.81 [#598](https://github.com/argoproj-labs/argocd-autopilot/pull/598) -- [chore] upgraded github.com/spf13/cobra v1.8.0 => v1.8.1 [#598](https://github.com/argoproj-labs/argocd-autopilot/pull/598) -- [chore] upgraded github.com/spf13/viper v1.18.2 => v1.19.0 [#598](https://github.com/argoproj-labs/argocd-autopilot/pull/598) -- [chore] upgraded github.com/stretchr/testify v1.8.4 => v1.10.0 [#598](https://github.com/argoproj-labs/argocd-autopilot/pull/598) -- [chore] upgraded github.com/xanzy/go-gitlab v0.97.0 => v0.114.0 [#598](https://github.com/argoproj-labs/argocd-autopilot/pull/598) -- [chore] upgraded k8s.io/api v0.26.11 => v0.31.0 [#598](https://github.com/argoproj-labs/argocd-autopilot/pull/598) -- [chore] upgraded k8s.io/apimachinery v0.26.11 => v0.31.0 [#598](https://github.com/argoproj-labs/argocd-autopilot/pull/598) -- [chore] upgraded k8s.io/cli-runtime v0.26.11 => v0.31.0 [#598](https://github.com/argoproj-labs/argocd-autopilot/pull/598) -- [chore] upgraded k8s.io/client-go v0.26.11 => v0.31.0 [#598](https://github.com/argoproj-labs/argocd-autopilot/pull/598) -- [chore] upgraded k8s.io/kubectl v0.26.11 => v0.31.2 [#598](https://github.com/argoproj-labs/argocd-autopilot/pull/598) -- [chore] upgraded sigs.k8s.io/kustomize/api v0.12.1 => v0.17.2 [#598](https://github.com/argoproj-labs/argocd-autopilot/pull/598) -- [chore] upgraded sigs.k8s.io/kustomize/kyaml v0.13.9 => v0.17.1 [#598](https://github.com/argoproj-labs/argocd-autopilot/pull/598) -- [chore] replaced github.com/ghodss/yaml v1.0.0 with sigs.k8s.io/yaml v1.4.0 [#598](https://github.com/argoproj-labs/argocd-autopilot/pull/598) -- [chore] Bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc [#525](https://github.com/argoproj-labs/argocd-autopilot/pull/525) -- [chore] Bump github.com/go-jose/go-jose/v3 from 3.0.0 to 3.0.1 [#528](https://github.com/argoproj-labs/argocd-autopilot/pull/528) -- [chore] Bump golang.org/x/crypto from 0.16.0 to 0.17.1 [#542](https://github.com/argoproj-labs/argocd-autopilot/pull/542) [#544](https://github.com/argoproj-labs/argocd-autopilot/pull/544) -- [chore] Bump github.com/cloudflare/circl from 1.3.3 to 1.3.7 [#546](https://github.com/argoproj-labs/argocd-autopilot/pull/546) +- [chore] update github.com/argoproj/argo-cd/v2 v2.13.1 to v2.13.4 [#635](https://github.com/argoproj-labs/argocd-autopilot/pull/635) +- [chore] update github.com/go-git/go-billy/v5 v5.5.0 to v5.6.2 [#635](https://github.com/argoproj-labs/argocd-autopilot/pull/635) +- [chore] update github.com/go-git/go-git/v5 v5.12.0 to v5.13.2 [#635](https://github.com/argoproj-labs/argocd-autopilot/pull/635) +- [chore] replace github.com/xanzy/go-gitlab v0.91.1 with gitlab.com/gitlab-org/api/client-go v0.121.0 [#635](https://github.com/argoproj-labs/argocd-autopilot/pull/635) +- [chore] update sigs.k8s.io/kustomize/api v0.17.2 to v0.19.0 [#635](https://github.com/argoproj-labs/argocd-autopilot/pull/635) +- [chore] update sigs.k8s.io/kustomize/kyaml v0.17.1 to v0.19.0 [#635](https://github.com/argoproj-labs/argocd-autopilot/pull/635) +- [chore] update golang to 1.24 [#634](https://github.com/argoproj-labs/argocd-autopilot/pull/634) +- [feat] add cluster-only uninstall option and resource deletion handling [#634](https://github.com/argoproj-labs/argocd-autopilot/pull/634) ### Contributors: -- Noam Gal ([@noam-codefresh](https://github.com/noam-codefresh)) -- [priyanshusd](https://github.com/priyanshusd) +- Noam Gal ([@ATGardner](https://github.com/ATGardner)) ## Installation: @@ -69,7 +54,7 @@ ```bash # download and extract the binary -curl -L --output - https://github.com/argoproj-labs/argocd-autopilot/releases/download/v0.4.18/argocd-autopilot-linux-amd64.tar.gz | tar zx +curl -L --output - https://github.com/argoproj-labs/argocd-autopilot/releases/download/v0.4.19/argocd-autopilot-linux-amd64.tar.gz | tar zx # move the binary to your $PATH mv ./argocd-autopilot-* /usr/local/bin/argocd-autopilot @@ -82,7 +67,7 @@ ```bash # download and extract the binary -curl -L --output - https://github.com/argoproj-labs/argocd-autopilot/releases/download/v0.4.18/argocd-autopilot-darwin-amd64.tar.gz | tar zx +curl -L --output - https://github.com/argoproj-labs/argocd-autopilot/releases/download/v0.4.19/argocd-autopilot-darwin-amd64.tar.gz | tar zx # move the binary to your $PATH mv ./argocd-autopilot-* /usr/local/bin/argocd-autopilot diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/argocd-autopilot-0.4.18/go.mod new/argocd-autopilot-0.4.19/go.mod --- old/argocd-autopilot-0.4.18/go.mod 2024-11-26 13:07:52.000000000 +0100 +++ new/argocd-autopilot-0.4.19/go.mod 2025-03-13 21:20:59.000000000 +0100 @@ -1,13 +1,15 @@ module github.com/argoproj-labs/argocd-autopilot -go 1.23 +go 1.24 + +toolchain go1.24.1 require ( code.gitea.io/sdk/gitea v0.19.0 - github.com/argoproj/argo-cd/v2 v2.13.1 + github.com/argoproj/argo-cd/v2 v2.13.4 github.com/briandowns/spinner v1.23.1 - github.com/go-git/go-billy/v5 v5.5.0 - github.com/go-git/go-git/v5 v5.12.0 + github.com/go-git/go-billy/v5 v5.6.2 + github.com/go-git/go-git/v5 v5.13.2 github.com/golang/mock v1.6.0 github.com/google/go-github/v43 v43.0.0 github.com/ktrysmt/go-bitbucket v0.9.81 @@ -17,14 +19,14 @@ github.com/spf13/pflag v1.0.5 github.com/spf13/viper v1.19.0 github.com/stretchr/testify v1.10.0 - github.com/xanzy/go-gitlab v0.114.0 + gitlab.com/gitlab-org/api/client-go v0.121.0 k8s.io/api v0.31.0 k8s.io/apimachinery v0.31.0 k8s.io/cli-runtime v0.31.0 k8s.io/client-go v0.31.0 k8s.io/kubectl v0.31.2 - sigs.k8s.io/kustomize/api v0.17.2 - sigs.k8s.io/kustomize/kyaml v0.17.1 + sigs.k8s.io/kustomize/api v0.19.0 + sigs.k8s.io/kustomize/kyaml v0.19.0 sigs.k8s.io/yaml v1.4.0 ) @@ -38,13 +40,13 @@ github.com/Masterminds/sprig/v3 v3.3.0 // indirect github.com/Microsoft/go-winio v0.6.1 // indirect github.com/PagerDuty/go-pagerduty v1.7.0 // indirect - github.com/ProtonMail/go-crypto v1.0.0 // indirect + github.com/ProtonMail/go-crypto v1.1.5 // indirect github.com/RocketChat/Rocket.Chat.Go.SDK v0.0.0-20210112200207-10ab4d695d60 // indirect github.com/TomOnTime/utfutil v0.0.0-20180511104225-09c41003ee1d // indirect github.com/alicebob/gopher-json v0.0.0-20200520072559-a9ecdc9d1d3a // indirect github.com/alicebob/miniredis/v2 v2.33.0 // indirect github.com/antonmedv/expr v1.15.2 // indirect - github.com/argoproj/gitops-engine v0.7.1-0.20240905010810-bd7681ae3f8b // indirect + github.com/argoproj/gitops-engine v0.7.1-0.20250129155113-4c6e03c46314 // indirect github.com/argoproj/notifications-engine v0.4.1-0.20240606074338-0802cd427621 // indirect github.com/argoproj/pkg v0.13.7-0.20230626144333-d56162821bd1 // indirect github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect @@ -77,7 +79,7 @@ github.com/cloudflare/circl v1.3.7 // indirect github.com/coreos/go-oidc/v3 v3.11.0 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect - github.com/cyphar/filepath-securejoin v0.3.2 // indirect + github.com/cyphar/filepath-securejoin v0.3.6 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/davidmz/go-pageant v1.0.2 // indirect github.com/desertbit/timer v0.0.0-20180107155436-c41aec40b27f // indirect @@ -123,7 +125,7 @@ github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.4 // indirect github.com/google/btree v1.1.3 // indirect - github.com/google/gnostic-models v0.6.8 // indirect + github.com/google/gnostic-models v0.6.9 // indirect github.com/google/go-cmp v0.6.0 // indirect github.com/google/go-github/v41 v41.0.0 // indirect github.com/google/go-github/v62 v62.0.0 // indirect @@ -188,7 +190,7 @@ github.com/patrickmn/go-cache v2.1.0+incompatible // indirect github.com/pelletier/go-toml/v2 v2.2.2 // indirect github.com/peterbourgon/diskv v2.0.1+incompatible // indirect - github.com/pjbgf/sha1cd v0.3.0 // indirect + github.com/pjbgf/sha1cd v0.3.2 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.20.3 // indirect @@ -204,7 +206,7 @@ github.com/sagikazarmark/slog-shim v0.1.0 // indirect github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect github.com/shopspring/decimal v1.4.0 // indirect - github.com/skeema/knownhosts v1.2.2 // indirect + github.com/skeema/knownhosts v1.3.0 // indirect github.com/skratchdot/open-golang v0.0.0-20160302144031-75fb7ed4208c // indirect github.com/slack-go/slack v0.12.2 // indirect github.com/soheilhy/cmux v0.1.5 // indirect @@ -218,6 +220,7 @@ github.com/vmihailenco/msgpack/v5 v5.3.4 // indirect github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect github.com/x448/float16 v0.8.4 // indirect + github.com/xanzy/go-gitlab v0.114.0 // indirect github.com/xanzy/ssh-agent v0.3.3 // indirect github.com/xlab/treeprint v1.2.0 // indirect github.com/yuin/gopher-lua v1.1.1 // indirect @@ -228,20 +231,19 @@ go.opentelemetry.io/otel v1.30.0 // indirect go.opentelemetry.io/otel/metric v1.30.0 // indirect go.opentelemetry.io/otel/trace v1.30.0 // indirect - go.starlark.net v0.0.0-20230525235612-a134d8f9ddca // indirect go.uber.org/automaxprocs v1.5.3 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.27.0 // indirect - golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect - golang.org/x/mod v0.17.0 // indirect - golang.org/x/net v0.29.0 // indirect - golang.org/x/oauth2 v0.23.0 // indirect - golang.org/x/sync v0.8.0 // indirect - golang.org/x/sys v0.25.0 // indirect - golang.org/x/term v0.24.0 // indirect - golang.org/x/text v0.18.0 // indirect - golang.org/x/time v0.6.0 // indirect - golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect + golang.org/x/crypto v0.36.0 // indirect + golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect + golang.org/x/mod v0.20.0 // indirect + golang.org/x/net v0.37.0 // indirect + golang.org/x/oauth2 v0.28.0 // indirect + golang.org/x/sync v0.12.0 // indirect + golang.org/x/sys v0.31.0 // indirect + golang.org/x/term v0.30.0 // indirect + golang.org/x/text v0.23.0 // indirect + golang.org/x/time v0.8.0 // indirect + golang.org/x/tools v0.24.0 // indirect gomodules.xyz/envconfig v1.3.1-0.20190308184047-426f31af0d45 // indirect gomodules.xyz/notify v0.1.1 // indirect google.golang.org/api v0.171.0 // indirect @@ -249,7 +251,7 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 // indirect google.golang.org/grpc v1.66.2 // indirect - google.golang.org/protobuf v1.34.2 // indirect + google.golang.org/protobuf v1.35.1 // indirect gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df // indirect @@ -264,7 +266,7 @@ k8s.io/component-helpers v0.31.0 // indirect k8s.io/klog/v2 v2.130.1 // indirect k8s.io/kube-aggregator v0.31.2 // indirect - k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect + k8s.io/kube-openapi v0.0.0-20241212222426-2c72e554b1e7 // indirect k8s.io/kubernetes v1.31.0 // indirect k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 // indirect layeh.com/gopher-json v0.0.0-20190114024228-97fed8db8427 // indirect @@ -272,7 +274,7 @@ oras.land/oras-go/v2 v2.5.0 // indirect sigs.k8s.io/controller-runtime v0.19.0 // indirect sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect + sigs.k8s.io/structured-merge-diff/v4 v4.5.0 // indirect ) replace ( diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/argocd-autopilot-0.4.18/go.sum new/argocd-autopilot-0.4.19/go.sum --- old/argocd-autopilot-0.4.18/go.sum 2024-11-26 13:07:52.000000000 +0100 +++ new/argocd-autopilot-0.4.19/go.sum 2025-03-13 21:20:59.000000000 +0100 @@ -30,8 +30,8 @@ github.com/OvyFlash/telegram-bot-api/v5 v5.0.0-20240108230938-63e5c59035bf/go.mod h1:A2S0CWkNylc2phvKXWBBdD3K0iGnDBGbzRpISP2zBl8= github.com/PagerDuty/go-pagerduty v1.7.0 h1:S1NcMKECxT5hJwV4VT+QzeSsSiv4oWl1s2821dUqG/8= github.com/PagerDuty/go-pagerduty v1.7.0/go.mod h1:PuFyJKRz1liIAH4h5KVXVD18Obpp1ZXRdxHvmGXooro= -github.com/ProtonMail/go-crypto v1.0.0 h1:LRuvITjQWX+WIfr930YHG2HNfjR1uOfyf5vE0kC2U78= -github.com/ProtonMail/go-crypto v1.0.0/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= +github.com/ProtonMail/go-crypto v1.1.5 h1:eoAQfK2dwL+tFSFpr7TbOaPNUbPiJj4fLYwwGE1FQO4= +github.com/ProtonMail/go-crypto v1.1.5/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= github.com/RocketChat/Rocket.Chat.Go.SDK v0.0.0-20210112200207-10ab4d695d60 h1:prBTRx78AQnXzivNT9Crhu564W/zPPr3ibSlpT9xKcE= github.com/RocketChat/Rocket.Chat.Go.SDK v0.0.0-20210112200207-10ab4d695d60/go.mod h1:rjP7sIipbZcagro/6TCk6X0ZeFT2eyudH5+fve/cbBA= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= @@ -57,10 +57,10 @@ github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/appscode/go v0.0.0-20191119085241-0887d8ec2ecc/go.mod h1:OawnOmAL4ZX3YaPdN+8HTNwBveT1jMsqP74moa9XUbE= -github.com/argoproj/argo-cd/v2 v2.13.1 h1:qoa8LD5suPCAYtoDNHp+BuqODf46hl5gCuXNj2oiAy0= -github.com/argoproj/argo-cd/v2 v2.13.1/go.mod h1:RC23V2744nhZstZVpLCWTQLT2gR0+IXGC3GTBCI6M+I= -github.com/argoproj/gitops-engine v0.7.1-0.20240905010810-bd7681ae3f8b h1:wOPWJ5MBScQO767WpU55oUJDXObfvPL0EfAYWxogbSw= -github.com/argoproj/gitops-engine v0.7.1-0.20240905010810-bd7681ae3f8b/go.mod h1:b1vuwkyMUszyUK+USUJqC8vJijnQsEPNDpC+sDdDLtM= +github.com/argoproj/argo-cd/v2 v2.13.4 h1:YAj2J2RUq+gMaG2vmtQ+qyUxlbrAzk3P6SwYHXlkUPw= +github.com/argoproj/argo-cd/v2 v2.13.4/go.mod h1:1xggXUniuSkUtcBu0EWl45k1BTuYSASd0bn6WOma4vA= +github.com/argoproj/gitops-engine v0.7.1-0.20250129155113-4c6e03c46314 h1:UIM6b4b/eNmWLwnsaJNmLzcm0qjHCuyHTuJKeIq2WeE= +github.com/argoproj/gitops-engine v0.7.1-0.20250129155113-4c6e03c46314/go.mod h1:b1vuwkyMUszyUK+USUJqC8vJijnQsEPNDpC+sDdDLtM= github.com/argoproj/notifications-engine v0.4.1-0.20240606074338-0802cd427621 h1:Yg1nt+D2uDK1SL2jSlfukA4yc7db184TTN7iWy3voRE= github.com/argoproj/notifications-engine v0.4.1-0.20240606074338-0802cd427621/go.mod h1:N0A4sEws2soZjEpY4hgZpQS8mRIEw6otzwfkgc3g9uQ= github.com/argoproj/pkg v0.13.7-0.20230626144333-d56162821bd1 h1:qsHwwOJ21K2Ao0xPju1sNuqphyMnMYkyB3ZLoLtxWpo= @@ -129,7 +129,6 @@ github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c= github.com/bsm/gomega v1.27.10 h1:yeMWxP2pV2fG3FgAODIY8EiRE3dy0aeFYt4l7wh6yKA= github.com/bsm/gomega v1.27.10/go.mod h1:JyEr/xRbxbtgWNi8tIEVPUYZ5Dzef52k01W3YH0H+O0= -github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/bwmarrin/discordgo v0.19.0/go.mod h1:O9S4p+ofTFwB02em7jkpkV8M3R0/PUVOwN61zSZ0r4Q= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= github.com/casbin/casbin/v2 v2.99.0 h1:Y993vfRenh8Xtb4XVaK8KeYJTjD4Zn1XVewGszhzk1E= @@ -161,7 +160,6 @@ github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8= github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= @@ -182,8 +180,8 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= -github.com/cyphar/filepath-securejoin v0.3.2 h1:QhZu5AxQ+o1XZH0Ye05YzvJ0kAdK6VQc0z9NNMek7gc= -github.com/cyphar/filepath-securejoin v0.3.2/go.mod h1:F7i41x/9cBF7lzCrVsYs9fuzwRZm4NQsGTBdpp6mETc= +github.com/cyphar/filepath-securejoin v0.3.6 h1:4d9N5ykBnSp5Xn2JkhocYDkOpURL/18CYMpo6xB9uWM= +github.com/cyphar/filepath-securejoin v0.3.6/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= @@ -207,8 +205,8 @@ github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= -github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU= -github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= +github.com/elazarl/goproxy v1.4.0 h1:4GyuSbFa+s26+3rmYNSuUVsx+HgPrV1bk1jXI0l9wjM= +github.com/elazarl/goproxy v1.4.0/go.mod h1:X/5W/t+gzDyLfHW4DrMdpjqYjpXsURlBt9lpBDxZZZQ= github.com/emicklei/go-restful/v3 v3.8.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g= github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= @@ -255,20 +253,20 @@ github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.6.3 h1:ahKqKTFpO5KTPHxWZjEdPScmYaGtLo8Y4DMHoEsnp14= github.com/gin-gonic/gin v1.6.3/go.mod h1:75u5sXoLsGZoRN5Sgbi1eraJ4GU3++wFwWzhwvtwp4M= -github.com/gliderlabs/ssh v0.3.7 h1:iV3Bqi942d9huXnzEF2Mt+CY9gLu8DNM4Obd+8bODRE= -github.com/gliderlabs/ssh v0.3.7/go.mod h1:zpHEXBstFnQYtGnB8k8kQLol82umzn/2/snG7alWVD8= +github.com/gliderlabs/ssh v0.3.8 h1:a4YXD1V7xMF9g5nTkdfnja3Sxy1PVDCj1Zg4Wb8vY6c= +github.com/gliderlabs/ssh v0.3.8/go.mod h1:xYoytBv1sV0aL3CavoDuJIQNURXkkfPA/wxQ1pL1fAU= github.com/go-errors/errors v1.4.2 h1:J6MZopCL4uSllY1OfXM374weqZFFItUbrImctkmUxIA= github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= github.com/go-fed/httpsig v1.1.0 h1:9M+hb0jkEICD8/cAiNqEB66R87tTINszBRTjwjQzWcI= github.com/go-fed/httpsig v1.1.0/go.mod h1:RCMrTZvN1bJYtofsG4rd5NaO5obxQ5xBkdiS7xsT7bM= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= -github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU= -github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow= +github.com/go-git/go-billy/v5 v5.6.2 h1:6Q86EsPXMa7c3YZ3aLAQsMA0VlWmy43r6FHqa/UNbRM= +github.com/go-git/go-billy/v5 v5.6.2/go.mod h1:rcFC2rAsp/erv7CMz9GczHcuD0D32fWzH+MJAU+jaUU= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII= -github.com/go-git/go-git/v5 v5.12.0 h1:7Md+ndsjrzZxbddRDZjF14qK+NN56sy6wkqaVrjZtys= -github.com/go-git/go-git/v5 v5.12.0/go.mod h1:FTM9VKtnI2m65hNI/TenDDDnUf2Q9FHnXYjuz9i5OEY= +github.com/go-git/go-git/v5 v5.13.2 h1:7O7xvsK7K+rZPKW6AQR1YyNhfywkv7B8/FsP3ki6Zv0= +github.com/go-git/go-git/v5 v5.13.2/go.mod h1:hWdW5P4YZRjmpGHwRH2v3zkWcNl6HeXaXQEMGb3NJ9A= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-jose/go-jose/v3 v3.0.3 h1:fFKWeig/irsp7XD2zBxvnmA/XaRWp5V3CBsZXJF7G7k= github.com/go-jose/go-jose/v3 v3.0.3/go.mod h1:5b+7YgP7ZICgJDBdfjZaIt+H/9L9T/YQrVfLAMboGkQ= @@ -382,14 +380,14 @@ github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg= github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= +github.com/google/gnostic-models v0.6.9 h1:MU/8wDLif2qCXZmzncUQ/BOfxWfthHi63KqpoNbWqVw= +github.com/google/gnostic-models v0.6.9/go.mod h1:CiWsm0s6BSQd1hRn8/QmxqB6BesYcbSZxsz9b0KuDBw= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= @@ -418,8 +416,9 @@ github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw= -github.com/google/pprof v0.0.0-20240525223248-4bfdf5a9a2af h1:kmjWCqn2qkEml422C2Rrd27c3VGxi6a/6HNq8QmHRKM= github.com/google/pprof v0.0.0-20240525223248-4bfdf5a9a2af/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo= +github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8 h1:FKHo8hFI3A+7w0aUQuYXQ+6EN5stWmeY/AZqtM8xk9k= +github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o= github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= @@ -727,8 +726,9 @@ github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= github.com/onsi/gomega v1.30.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ= github.com/onsi/gomega v1.33.0/go.mod h1:+925n5YtiFsLzzafLUHzVMBpvvRAzrydIBiSIxjX3wY= -github.com/onsi/gomega v1.33.1 h1:dsYjIxxSR755MDmKVsaFQTE22ChNBcuuTWgkUDSubOk= github.com/onsi/gomega v1.33.1/go.mod h1:U4R44UsT+9eLIaYRB2a5qajjtQYn0hauxvRm16AVYg0= +github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k= +github.com/onsi/gomega v1.34.1/go.mod h1:kU1QgUvBDLXBJq618Xvm2LUX6rSAfRaFRTcdOeDLwwY= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= @@ -757,8 +757,8 @@ github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4= -github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI= +github.com/pjbgf/sha1cd v0.3.2 h1:a9wb0bp1oC2TGwStyn0Umc/IGKQnEgF0vVaZ8QF8eo4= +github.com/pjbgf/sha1cd v0.3.2/go.mod h1:zQWigSxVmsHEZow5qaLtPYxpcKMMQpa09ixqBxuCS6A= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -843,8 +843,8 @@ github.com/sirupsen/logrus v1.9.2/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/skeema/knownhosts v1.2.2 h1:Iug2P4fLmDw9f41PB6thxUkNUkJzB5i+1/exaj40L3A= -github.com/skeema/knownhosts v1.2.2/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo= +github.com/skeema/knownhosts v1.3.0 h1:AM+y0rI04VksttfwjkSTNQorvGqmwATnvnAHpSgc0LY= +github.com/skeema/knownhosts v1.3.0/go.mod h1:sPINvnADmT/qYH1kfv+ePMmOBTH6Tbl7b5LvTDjFK7M= github.com/skratchdot/open-golang v0.0.0-20160302144031-75fb7ed4208c h1:fyKiXKO1/I/B6Y2U8T7WdQGWzwehOuGIrljPtt7YTTI= github.com/skratchdot/open-golang v0.0.0-20160302144031-75fb7ed4208c/go.mod h1:sUM3LWHvSMaG192sy56D9F7CNvL7jUJVXoqM1QKLnog= github.com/slack-go/slack v0.12.2 h1:x3OppyMyGIbbiyFhsBmpf9pwkUzMhthJMRNmNlA4LaQ= @@ -932,6 +932,8 @@ github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yuin/gopher-lua v1.1.1 h1:kYKnWBjvbNP4XLT3+bPEwAXJx262OhaHDWDVOPjL46M= github.com/yuin/gopher-lua v1.1.1/go.mod h1:GBR0iDaNXjAgGg9zfCvksxSRnQx76gclCIb7kdAd1Pw= +gitlab.com/gitlab-org/api/client-go v0.121.0 h1:tivRdXcu5d7sOB2aR2BhQkp16tMmESnfhYPYPZN03eo= +gitlab.com/gitlab-org/api/client-go v0.121.0/go.mod h1:ygHmS3AU3TpvK+AC6DYO1QuAxLlv6yxYK+/Votr/WFQ= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= go.mongodb.org/mongo-driver v1.14.0 h1:P98w8egYRjYe3XDjxhYJagTokP/H6HzlsnojRgZRd80= @@ -951,8 +953,6 @@ go.opentelemetry.io/otel/metric v1.30.0/go.mod h1:aXTfST94tswhWEb+5QjlSqG+cZlmyXy/u8jFpor3WqQ= go.opentelemetry.io/otel/trace v1.30.0 h1:7UBkkYzeg3C7kQX8VAidWh2biiQbtAKjyIML8dQ9wmc= go.opentelemetry.io/otel/trace v1.30.0/go.mod h1:5EyKqTzzmyqB9bwtCCq6pDLktPK6fmGf/Dph+8VI02o= -go.starlark.net v0.0.0-20230525235612-a134d8f9ddca h1:VdD38733bfYv5tUZwEIskMM93VanwNIi5bIKnDrJdEY= -go.starlark.net v0.0.0-20230525235612-a134d8f9ddca/go.mod h1:jxU+3+j+71eXOW14274+SmmuW82qJzl6iZSeqEtTGds= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= @@ -987,8 +987,6 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= -golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= -golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= golang.org/x/crypto v0.9.0/go.mod h1:yrmDGqONDYtNj3tH8X9dzUun2m2lzPa9ngI6/RUPGR0= golang.org/x/crypto v0.10.0/go.mod h1:o4eNf7Ede1fv+hwOwZsTHl9EsPFO6q6ZvYR8vYfY45I= golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= @@ -1002,13 +1000,13 @@ golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= -golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A= -golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70= +golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34= +golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= -golang.org/x/exp v0.0.0-20230905200255-921286631fa9 h1:GoHiUyI/Tp2nVkLI2mCxVkOjsbSXD66ic0XW0js0R9g= -golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k= +golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8= +golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -1033,8 +1031,9 @@ golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= -golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.20.0 h1:utOm6MM3R3dnawAiJgn0y+xvuYRsm1RKM/4giyfDgV0= +golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1089,16 +1088,16 @@ golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= -golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo= -golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0= +golang.org/x/net v0.37.0 h1:1zLorHbz+LYj7MQlSf1+2tPIIgibq2eL5xkrGk6f+2c= +golang.org/x/net v0.37.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.20.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= -golang.org/x/oauth2 v0.23.0 h1:PbgcYx2W7i4LvjJWEbf0ngHV6qJYr86PkAV3bXdLEbs= -golang.org/x/oauth2 v0.23.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.28.0 h1:CrgCKl8PPAVtLnU3c+EDw6x11699EWlsDeWNWKdIOkc= +golang.org/x/oauth2 v0.28.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1114,8 +1113,8 @@ golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= -golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw= +golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1187,13 +1186,12 @@ golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34= -golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= +golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/telemetry v0.0.0-20240208230135-b75ee8823808/go.mod h1:KG1lNk5ZFNssSZLrpVb4sMXKMpGwGXOxSG3rnu2gZQQ= golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= @@ -1213,8 +1211,8 @@ golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk= golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= -golang.org/x/term v0.24.0 h1:Mh5cbb+Zk2hqqXNO7S1iTjEphVL+jb8ZWaqh/g+JWkM= -golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8= +golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= +golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -1233,13 +1231,13 @@ golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= -golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224= -golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= +golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.6.0 h1:eTDhh4ZXt5Qf0augr54TN6suAUudPcawVZeIAPU7D4U= -golang.org/x/time v0.6.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/time v0.8.0 h1:9i3RxcPv3PZnitoVGMPDKZSq1xW1gK1Xy3ArNOGZfEg= +golang.org/x/time v0.8.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1276,8 +1274,9 @@ golang.org/x/tools v0.18.0/go.mod h1:GL7B4CwcLLeo59yx/9UWWuNOW1n3VZ4f5axWfML7Lcg= golang.org/x/tools v0.20.0/go.mod h1:WvitBU7JJf6A4jOdg4S1tviW9bhUxkgeCui/0JHctQg= golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.24.0 h1:J1shsA93PJUEVaUSaay7UXAyE8aimq3GW0pjlolpa24= +golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1336,8 +1335,9 @@ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc h1:2gGKlE2+asNV9m7xrywl36YYNnBG5ZQ0r/BOOxqPpmk= gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc/go.mod h1:m7x9LTH6d71AHyAX77c9yqWCCa3UKHcVEj9y7hAtKDk= @@ -1395,8 +1395,9 @@ k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= k8s.io/kube-aggregator v0.31.0 h1:3DqSpmqHF8rey7fY+qYXLJms0tYPhxrgWvjpnKVnS0Y= k8s.io/kube-aggregator v0.31.0/go.mod h1:Fa+OVSpMQC7zbTTz7/QG7FXe9jZ8usuJQej5sMdCrkM= -k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 h1:BZqlfIlq5YbRMFko6/PM7FjZpUb45WallggurYhKGag= k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340/go.mod h1:yD4MZYeKMBwQKVht279WycxKyM84kkAx2DPrTXaeb98= +k8s.io/kube-openapi v0.0.0-20241212222426-2c72e554b1e7 h1:hcha5B1kVACrLujCKLbr8XWMxCxzQx42DY8QKYJrDLg= +k8s.io/kube-openapi v0.0.0-20241212222426-2c72e554b1e7/go.mod h1:GewRfANuJ70iYzvn+i4lezLDAFzvjxZYK1gn1lWcfas= k8s.io/kubectl v0.31.0 h1:kANwAAPVY02r4U4jARP/C+Q1sssCcN/1p9Nk+7BQKVg= k8s.io/kubectl v0.31.0/go.mod h1:pB47hhFypGsaHAPjlwrNbvhXgmuAr01ZBvAIIUaI8d4= k8s.io/kubernetes v1.31.0 h1:sYAB12TTWexXKp4RxqJMm/7EC+P0mNOgn4Xdj5eu7HM= @@ -1415,13 +1416,14 @@ sigs.k8s.io/controller-runtime v0.19.0/go.mod h1:iRmWllt8IlaLjvTTDLhRBXIEtkCK6hwVBJJsYS9Ajf4= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/kustomize/api v0.17.2 h1:E7/Fjk7V5fboiuijoZHgs4aHuexi5Y2loXlVOAVAG5g= -sigs.k8s.io/kustomize/api v0.17.2/go.mod h1:UWTz9Ct+MvoeQsHcJ5e+vziRRkwimm3HytpZgIYqye0= -sigs.k8s.io/kustomize/kyaml v0.17.1 h1:TnxYQxFXzbmNG6gOINgGWQt09GghzgTP6mIurOgrLCQ= -sigs.k8s.io/kustomize/kyaml v0.17.1/go.mod h1:9V0mCjIEYjlXuCdYsSXvyoy2BTsLESH7TlGV81S282U= +sigs.k8s.io/kustomize/api v0.19.0 h1:F+2HB2mU1MSiR9Hp1NEgoU2q9ItNOaBJl0I4Dlus5SQ= +sigs.k8s.io/kustomize/api v0.19.0/go.mod h1:/BbwnivGVcBh1r+8m3tH1VNxJmHSk1PzP5fkP6lbL1o= +sigs.k8s.io/kustomize/kyaml v0.19.0 h1:RFge5qsO1uHhwJsu3ipV7RNolC7Uozc0jUBC/61XSlA= +sigs.k8s.io/kustomize/kyaml v0.19.0/go.mod h1:FeKD5jEOH+FbZPpqUghBP8mrLjJ3+zD3/rf9NNu1cwY= sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4= sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08= +sigs.k8s.io/structured-merge-diff/v4 v4.5.0 h1:nbCitCK2hfnhyiKo6uf2HxUPTCodY6Qaf85SbDIaMBk= +sigs.k8s.io/structured-merge-diff/v4 v4.5.0/go.mod h1:N8f93tFZh9U6vpxwRArLiikrE5/2tiu1w1AGfACIGE4= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/argocd-autopilot-0.4.18/pkg/git/gitlab/mocks/client.go new/argocd-autopilot-0.4.19/pkg/git/gitlab/mocks/client.go --- old/argocd-autopilot-0.4.18/pkg/git/gitlab/mocks/client.go 2024-11-26 13:07:52.000000000 +0100 +++ new/argocd-autopilot-0.4.19/pkg/git/gitlab/mocks/client.go 2025-03-13 21:20:59.000000000 +0100 @@ -8,7 +8,7 @@ reflect "reflect" gomock "github.com/golang/mock/gomock" - gitlab "github.com/xanzy/go-gitlab" + gitlab "gitlab.com/gitlab-org/api/client-go" ) // MockGitlabClient is a mock of GitlabClient interface. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/argocd-autopilot-0.4.18/pkg/git/provider_gitlab.go new/argocd-autopilot-0.4.19/pkg/git/provider_gitlab.go --- old/argocd-autopilot-0.4.18/pkg/git/provider_gitlab.go 2024-11-26 13:07:52.000000000 +0100 +++ new/argocd-autopilot-0.4.19/pkg/git/provider_gitlab.go 2025-03-13 21:20:59.000000000 +0100 @@ -6,7 +6,7 @@ "net/http" "github.com/argoproj-labs/argocd-autopilot/pkg/util" - gl "github.com/xanzy/go-gitlab" + gl "gitlab.com/gitlab-org/api/client-go" ) //go:generate mockgen -destination=./gitlab/mocks/client.go -package=mocks -source=./provider_gitlab.go GitlabClient diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/argocd-autopilot-0.4.18/pkg/git/provider_gitlab_test.go new/argocd-autopilot-0.4.19/pkg/git/provider_gitlab_test.go --- old/argocd-autopilot-0.4.18/pkg/git/provider_gitlab_test.go 2024-11-26 13:07:52.000000000 +0100 +++ new/argocd-autopilot-0.4.19/pkg/git/provider_gitlab_test.go 2025-03-13 21:20:59.000000000 +0100 @@ -9,7 +9,7 @@ glmocks "github.com/argoproj-labs/argocd-autopilot/pkg/git/gitlab/mocks" "github.com/golang/mock/gomock" "github.com/stretchr/testify/assert" - gl "github.com/xanzy/go-gitlab" + gl "gitlab.com/gitlab-org/api/client-go" ) func Test_gitlab_CreateRepository(t *testing.T) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/argocd-autopilot-0.4.18/pkg/kube/kube.go new/argocd-autopilot-0.4.19/pkg/kube/kube.go --- old/argocd-autopilot-0.4.18/pkg/kube/kube.go 2024-11-26 13:07:52.000000000 +0100 +++ new/argocd-autopilot-0.4.19/pkg/kube/kube.go 2025-03-13 21:20:59.000000000 +0100 @@ -2,6 +2,7 @@ import ( "context" + "fmt" "os" "strings" "time" @@ -13,8 +14,10 @@ "github.com/spf13/pflag" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/cli-runtime/pkg/genericclioptions" + "k8s.io/client-go/dynamic" "k8s.io/client-go/kubernetes" restclient "k8s.io/client-go/rest" "k8s.io/client-go/tools/clientcmd" @@ -62,6 +65,9 @@ // Delete delets the resources by their type(s) and labelSelector Delete(context.Context, *DeleteOptions) error + // Delete deletes a specific resource by namespace/name + DeleteResource(context.Context, *DeleteResourceOptions) error + // Wait waits for all of the provided `Resources` to be ready by calling // the `WaitFunc` of each resource until all of them returns `true` Wait(context.Context, *WaitOptions) error @@ -86,6 +92,12 @@ WaitForDeletion bool } + DeleteResourceOptions struct { + Namespace string + Name string + Resource schema.GroupVersionResource + } + WaitOptions struct { // Inverval the duration between each iteration of calling all of the resources' `WaitFunc`s. Interval time.Duration @@ -252,6 +264,17 @@ return cmd.ExecuteContext(ctx) } +func (f *factory) DeleteResource(ctx context.Context, opts *DeleteResourceOptions) error { + config, _ := f.ToRESTConfig() + clientset, _ := dynamic.NewForConfig(config) + err := clientset.Resource(opts.Resource).Namespace(opts.Namespace).Delete(ctx, opts.Name, metav1.DeleteOptions{}) + if err != nil { + return fmt.Errorf("failed to delete resource %s/%s: %w", opts.Namespace, opts.Name, err) + } + + return nil +} + func (f *factory) Wait(ctx context.Context, opts *WaitOptions) error { itr := 0 resources := map[*Resource]bool{} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/argocd-autopilot-0.4.18/pkg/kube/mocks/kube.go new/argocd-autopilot-0.4.19/pkg/kube/mocks/kube.go --- old/argocd-autopilot-0.4.18/pkg/kube/mocks/kube.go 2024-11-26 13:07:52.000000000 +0100 +++ new/argocd-autopilot-0.4.19/pkg/kube/mocks/kube.go 2025-03-13 21:20:59.000000000 +0100 @@ -65,6 +65,20 @@ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Delete", reflect.TypeOf((*MockFactory)(nil).Delete), arg0, arg1) } +// DeleteResource mocks base method. +func (m *MockFactory) DeleteResource(arg0 context.Context, arg1 *kube.DeleteResourceOptions) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteResource", arg0, arg1) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteResource indicates an expected call of DeleteResource. +func (mr *MockFactoryMockRecorder) DeleteResource(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteResource", reflect.TypeOf((*MockFactory)(nil).DeleteResource), arg0, arg1) +} + // KubernetesClientSet mocks base method. func (m *MockFactory) KubernetesClientSet() (kubernetes.Interface, error) { m.ctrl.T.Helper() ++++++ argocd-autopilot.obsinfo ++++++ --- /var/tmp/diff_new_pack.nTj4pC/_old 2025-03-15 16:17:20.207219925 +0100 +++ /var/tmp/diff_new_pack.nTj4pC/_new 2025-03-15 16:17:20.211220093 +0100 @@ -1,5 +1,5 @@ name: argocd-autopilot -version: 0.4.18 -mtime: 1732622872 -commit: d31992f1b38477ab3eac4ec2e713cc084162b379 +version: 0.4.19 +mtime: 1741897259 +commit: 5219caa2c688061b88ea5eee0aef9f97e3f62f25 ++++++ vendor.tar.gz ++++++ /work/SRC/openSUSE:Factory/argocd-autopilot/vendor.tar.gz /work/SRC/openSUSE:Factory/.argocd-autopilot.new.19136/vendor.tar.gz differ: char 5, line 1