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

Reply via email to