github.com/argoproj/argo-cd/v2@v2.10.9/docs/operator-manual/upgrading/1.8-2.0.md (about)

     1  # v1.8 to 2.0
     2  
     3  ## Redis Upgraded to v6.2.1
     4  
     5  The bundled Redis version has been upgraded to v6.2.1.
     6  
     7  The Redis itself should be able to upgrade with no downtime, as well as Argo CD does not use it as a persistent store.
     8  However, if you are running Argo CD in production with multiple users it is recommended to upgrade during off-peak
     9  hours to avoid user-visible failures.
    10  
    11  ## Environment variables expansion
    12  
    13  Argo CD supports using [environment variables](../../../user-guide/build-environment/) in
    14  config management tools parameters. The expansion logic has been improved and now expands missing environment variables
    15  into an empty string.
    16  
    17  ## Docker image migrated to use Ubuntu as base
    18  
    19  The official Docker image has been migrated to use `ubuntu:20.10` instead of
    20  `debian:10-slim` as base image. While this should not affect user experience,
    21  you might be affected if you use custom-built images and/or include third party
    22  tools in custom-built images.
    23  
    24  Please make sure that your custom tools are still working with the update to
    25  v2.0 before deploying it onto production.
    26  
    27  ## Container registry switched to quay.io and sundown of Docker Hub repository
    28  
    29  Due to Docker Hub's new rate-limiting and retention policies, the Argo project
    30  has decided to switch to the
    31  [quay.io](https://quay.io)
    32  registry as a new home for all images published by its sub-projects.
    33  
    34  As of Argo CD version 2.0, the installation manifests are configured to pull the
    35  container images from `quay.io` and we announce the **sundown** of the existing
    36  Docker Hub repositories. For the 2.0 release this means, we will still push to
    37  both registries, but we will stop pushing images to Docker Hub once Argo CD 2.1
    38  has been released.
    39  
    40  Please make sure that your clusters can pull from the `quay.io` registry.
    41  If you aren't able to do so timely, you can change the container image slugs in
    42  the installation manually to Docker Hub as a workaround to install Argo CD 2.0.
    43  This workaround will not be possible anymore with 2.1, however.
    44  
    45  ## Dex tool migrated from argocd-util to argocd-dex
    46  
    47  The dex commands `rundex` and `gendexcfg` have been migrated from `argocd-util` to `argocd-dex`.
    48  It means that you need to update `argocd-dex-server` deployment's commands to install `argocd-dex` 
    49  binary instead of `argocd-util` in init container and run dex command from `argocd-dex` instead of `argocd-util`:
    50  
    51  ```bash
    52  initContainers:
    53  - command:
    54    - cp
    55    - -n
    56    - /usr/local/bin/argocd
    57    - /shared/argocd-dex
    58  ```
    59  
    60  ```bash
    61  containers:
    62  - command:
    63    - /shared/argocd-dex
    64    - rundex
    65  ```
    66  Note that starting from v2.0 argocd binary behaviour has changed. 
    67  It will have all argocd binaries such `argocd-dex`, `argocd-server`, `argocd-repo-server`, 
    68  `argocd-application-controller`, `argocd-util`, `argocd` baked inside. 
    69  The binary will change behaviour based on its name. 
    70  
    71  ## Updated retry params type from String to Duration for app sync
    72  
    73  App Sync command exposes certain retry options, which allows the users to parameterize the sync retries. 
    74  Two of those params, `retry-backoff-duration` and `retry-backoff-max-duration` were declared as type `string` rather than `duration`. 
    75  This allowed users to provide the values to these flags without time unit (seconds, minutes, hours ...) or any random string as well, 
    76  but since we have migrated from `string` to `duration`, it is now mandatory for users to provide a unit (valid duration).
    77  
    78  ```bash
    79  EXAMPLE: 
    80  argocd app sync <app-name> --retry-backoff-duration=10 -> invalid
    81  argocd app sync <app-name> --retry-backoff-duration=10s -> valid
    82  ```
    83  
    84  ## Switch to Golang 1.16
    85  
    86  The official Argo CD binaries are now being build using Go 1.16, making a jump
    87  from the previous 1.14.x. Users should note that Go 1.15 introduced deprecation
    88  of validating server names against the `CommonName` property of a certificate
    89  when performing TLS connections.
    90  
    91  If you have repository servers with an incompatible certificate, connections to
    92  those servers might break. You will have to issue correct certificates to 
    93  unbreak such a situation.
    94  
    95  ## Migration of CRDs from apiextensions/v1beta1 to apiextensions/v1
    96  
    97  Our CRDs (`Application` and `AppProject`) have been moved from the
    98  deprecated `apiextensions/v1beta1` to the `apiextensions/v1` API group.
    99  
   100  This does **not** affect the version of the CRDs themselves.
   101  
   102  We do not expect that changes to existing CRs for `Application` and `AppProject`
   103  are required from users, or that this change requires otherwise actions and this
   104  note is just included for completeness.
   105  
   106  ## Helm v3 is now the default when rendering Charts
   107  
   108  With this release, we made Helm v3 being the default version for rendering any
   109  Helm charts through Argo CD. We also disabled the Helm version auto-detection
   110  depending on the `apiVersion` field of the `Chart.yaml`, so the charts will
   111  be rendered using Helm v3 regardless of what's in the Chart's `apiVersion`
   112  field.
   113  
   114  This can result in minor out-of-sync conditions on your Applications that were
   115  previously rendered using Helm v2 (e.g. a change in one of the annotations that
   116  Helm adds). You can fix this by syncing the Application.
   117  
   118  If you have existing Charts that require to be rendered using Helm v2, you will
   119  need to explicitly configure your Application to use Helm v2 for rendering the
   120  chart, as described 
   121  [here](../../user-guide/helm.md#helm-version).
   122  
   123  Please also note that Helm v2 is now being considered deprecated in Argo CD, as
   124  it will not receive any updates from the upstream Helm project anymore. We will
   125  still ship the Helm v2 binary for the next two releases, but it will be subject
   126  to removal after that grace period.
   127  
   128  Users are encouraged to upgrade any Charts that still require Helm v2 to be
   129  compatible with Helm v3.
   130  
   131  ## Kustomize version updated to v3.9.4
   132  
   133  Argo CD now ships with Kustomize v3.9.4 by default. Please make sure that your
   134  manifests will render correctly with this Kustomize version.
   135  
   136  If you need backwards compatibility to a previous version of Kustomize, please
   137  consider setting up a custom Kustomize version and configure your Applications
   138  to be rendered using that specific version.