Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 9 additions & 11 deletions docs/operator-manual/upgrading/3.0-3.1.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,21 @@
# v3.0 to 3.1

## Symlink protection in API `--staticassets` directory

The `--staticassets` directory in the API server (`/app/shared` by default) is now protected against out-of-bounds
symlinks. This is to help protect against symlink attacks. If you have any symlinks in your `--staticassets` directory
to a location outside the directory, they will return a 500 error starting with 3.1.

## Breaking Changes

### Kube versions
## No more KubeVersions variable modification

Until v3.0, Argo CD removed `+` identifier from `kubeVersions` in Helm, Kustomize and Plugins. For example, if Argo CD receive `kubeVersions` as vX.Y.Z+, we convert to vX.Y.Z internally. Starting with v3.1, the internal conversation is entirely removed.

#### Detection
### Detection

To detect if you are affected, check the `kubeVersions` you are using. If you use `kubeVersions` including `+` identifier, the application must be failed when you upgrade from v3.0 to v3.1.

#### Remediation
### Remediation

The plus symbol was originally removed [because Helm did not support it](https://github.com/argoproj/argo-cd/issues/2303). Helm no longer enforces this restriction, so apps should work fine even if your kubeVersions include `+`.

However, since Argo CD now sends unmodified kubeVersions to Helm, the generated manifests may differ due to the changed kubeVersions. For apps which require extra caution, it may be advisable to disable auto-sync, upgrade, check any diffs, and then reenable auto-sync.

## Symlink protection in API `--staticassets` directory

The `--staticassets` directory in the API server (`/app/shared` by default) is now protected against out-of-bounds
symlinks. This is to help protect against symlink attacks. If you have any symlinks in your `--staticassets` directory
to a location outside the directory, they will return a 500 error starting with 3.1.
57 changes: 29 additions & 28 deletions docs/operator-manual/upgrading/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@

Argo CD uses semver-like versioning that ensures the following rules:

* The patch release does not introduce any breaking changes. So if you are upgrading from v1.5.1 to v1.5.3
- The patch release does not introduce any breaking changes. So if you are upgrading from v1.5.1 to v1.5.3
there should be no special instructions to follow.
* The minor release might introduce minor changes with a workaround. If you are upgrading from v1.3.0 to v1.5.2
please make sure to check upgrading details in both [v1.3 to v1.4](./1.3-1.4.md) and [v1.4 to v1.5](./1.4-1.5.md)
- The minor release might introduce minor changes with a workaround. If you are upgrading from v1.3.0 to v1.5.2
please make sure to check upgrading details in both [v1.3 to v1.4](./1.3-1.4.md) and [v1.4 to v1.5](./1.4-1.5.md)
upgrading instructions.
* The major release introduces backward incompatible behavior changes. It is recommended to take a backup of
- The major release introduces backward incompatible behavior changes. It is recommended to take a backup of
Argo CD settings using the [disaster recovery guide](../disaster_recovery.md).

After reading the relevant notes about possible breaking changes introduced in a new Argo CD version, use the following
Expand All @@ -38,27 +38,28 @@ kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/<v

<hr/>

* [v2.14 to v3.0](./2.14-3.0.md)
* [v2.13 to v2.14](./2.13-2.14.md)
* [v2.12 to v2.13](./2.12-2.13.md)
* [v2.11 to v2.12](./2.11-2.12.md)
* [v2.10 to v2.11](./2.10-2.11.md)
* [v2.9 to v2.10](./2.9-2.10.md)
* [v2.8 to v2.9](./2.8-2.9.md)
* [v2.7 to v2.8](./2.7-2.8.md)
* [v2.6 to v2.7](./2.6-2.7.md)
* [v2.5 to v2.6](./2.5-2.6.md)
* [v2.4 to v2.5](./2.4-2.5.md)
* [v2.3 to v2.4](./2.3-2.4.md)
* [v2.2 to v2.3](./2.2-2.3.md)
* [v2.1 to v2.2](./2.1-2.2.md)
* [v2.0 to v2.1](./2.0-2.1.md)
* [v1.8 to v2.0](./1.8-2.0.md)
* [v1.7 to v1.8](./1.7-1.8.md)
* [v1.6 to v1.7](./1.6-1.7.md)
* [v1.5 to v1.6](./1.5-1.6.md)
* [v1.4 to v1.5](./1.4-1.5.md)
* [v1.3 to v1.4](./1.3-1.4.md)
* [v1.2 to v1.3](./1.2-1.3.md)
* [v1.1 to v1.2](./1.1-1.2.md)
* [v1.0 to v1.1](./1.0-1.1.md)
- [v3.0 to v3.1](./3.0-3.1.md)
- [v2.14 to v3.0](./2.14-3.0.md)
- [v2.13 to v2.14](./2.13-2.14.md)
- [v2.12 to v2.13](./2.12-2.13.md)
- [v2.11 to v2.12](./2.11-2.12.md)
- [v2.10 to v2.11](./2.10-2.11.md)
- [v2.9 to v2.10](./2.9-2.10.md)
- [v2.8 to v2.9](./2.8-2.9.md)
- [v2.7 to v2.8](./2.7-2.8.md)
- [v2.6 to v2.7](./2.6-2.7.md)
- [v2.5 to v2.6](./2.5-2.6.md)
- [v2.4 to v2.5](./2.4-2.5.md)
- [v2.3 to v2.4](./2.3-2.4.md)
- [v2.2 to v2.3](./2.2-2.3.md)
- [v2.1 to v2.2](./2.1-2.2.md)
- [v2.0 to v2.1](./2.0-2.1.md)
- [v1.8 to v2.0](./1.8-2.0.md)
- [v1.7 to v1.8](./1.7-1.8.md)
- [v1.6 to v1.7](./1.6-1.7.md)
- [v1.5 to v1.6](./1.5-1.6.md)
- [v1.4 to v1.5](./1.4-1.5.md)
- [v1.3 to v1.4](./1.3-1.4.md)
- [v1.2 to v1.3](./1.2-1.3.md)
- [v1.1 to v1.2](./1.1-1.2.md)
- [v1.0 to v1.1](./1.0-1.1.md)
Loading