Uploaded image for project: 'OpenShift GitOps'
  1. OpenShift GitOps
  2. GITOPS-5783

ImageUpdater: upgrade argo-cd from 2.11.7 to 2.13.0, and related changes

XMLWordPrintable

    • GitOps Tangerine - Sprint 3266

      Description of Problem

      Currently image-updater has argo-cd v2.11.7, which is a few versions behind the latest argo-cd v2.13.0. How do we want to upgrade argo-cd versions? If we go for the latest release v2.13.0, it will include all the latest fixes and features in argo-cd, but we'll be skipping 2.12.x altogether.

      An old version of argo-cd also prevents us from upgrading other dependencies to their newer versions. Below are just examples of errors when dependabot trying to upgrading kustomize/api and kustomize/kyaml alone.

      The versions of sigs.k8s.io/kustomize/api and sigs.k8s.io/kustomize/kyaml used in image-updater project are pretty old (0.12.1 and 0.13.9, respectively). It also lags behind the versions used in argo-cd project: v0.17.2 and v0.17.1. We should keep them up to date with argo-cd project and latest releases of these dependencies.

      There have been several dependabot PRs to upgrade them, but all failed with errors. For example,
      https://github.com/argoproj-labs/argocd-image-updater/pull/805
      https://github.com/argoproj-labs/argocd-image-updater/pull/874

      bump sigs.k8s.io/kustomize/api from 0.12.1 to 0.18.0 https://github.com/argoproj-labs/argocd-image-updater/pull/909
      bump sigs.k8s.io/kustomize/kyaml from 0.13.9 to 0.18.1 https://github.com/argoproj-labs/argocd-image-updater/pull/910

      go get sigs.k8s.io/kustomize/api@v0.17.2 sigs.k8s.io/kustomize/kyaml@v0.17.1
      
      47.62 # k8s.io/client-go/applyconfigurations/meta/v1
      47.62 /go/pkg/mod/k8s.io/client-go@v0.26.11/applyconfigurations/meta/v1/unstructured.go:64:38: cannot use doc (variable of type *"github.com/google/gnostic/openapiv2".Document) as *"github.com/google/gnostic-models/openapiv2".Document value in argument to proto.NewOpenAPIData
      47.93 # k8s.io/cli-runtime/pkg/resource
      47.93 /go/pkg/mod/k8s.io/cli-runtime@v0.26.11/pkg/resource/kustomizevisitor.go:41:8: kOpts.DoLegacyResourceSort undefined (type *krusty.Options has no field or method DoLegacyResourceSort)
      48.04 # k8s.io/kubectl/pkg/util/openapi
      48.04 /go/pkg/mod/k8s.io/kubectl@v0.26.11/pkg/util/openapi/openapi.go:52:38: cannot use doc (variable of type *"github.com/google/gnostic/openapiv2".Document) as *"github.com/google/gnostic-models/openapiv2".Document value in argument to proto.NewOpenAPIData
      

              cfang@redhat.com Cheng Fang
              cfang@redhat.com Cheng Fang
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: