chore(argo-cd)!: Remove apps, appprojs and deprecated features (#1417)
* feat(argo-cd): move server additionalApplications/additionalProjects to argocd-apps chart Signed-off-by: yu-croco <yuki.kita22@gmail.com> * Remove deprecated features Signed-off-by: Petr Drastil <petr.drastil@gmail.com> * chore(argo-cd): improve release note Signed-off-by: yu-croco <yu.croco@gmail.com> Co-authored-by: yu-croco <yuki.kita22@gmail.com> Co-authored-by: Petr Drastil <petr.drastil@gmail.com>
This commit is contained in:
parent
f4501b21db
commit
31d6a5f329
9 changed files with 177 additions and 228 deletions
|
|
@ -98,6 +98,92 @@ kubectl apply -k "https://github.com/argoproj/argo-cd/manifests/crds?ref=<appVer
|
|||
kubectl apply -k "https://github.com/argoproj/argo-cd/manifests/crds?ref=v2.4.9"
|
||||
```
|
||||
|
||||
### 5.0.0
|
||||
|
||||
This version **removes support for**:
|
||||
|
||||
- deprecated repository credentials (parameter `configs.repositoryCredentials`)
|
||||
- option to run application controller as a Deployment
|
||||
- the parameters `server.additionalApplications` and `server.additionalProjects`
|
||||
|
||||
Please carefully read the following section if you are using these parameters!
|
||||
|
||||
In order to upgrade Applications and Projects safely against CRDs' upgrade, `server.additionalApplications` and `server.additionalProjects` are moved to [argocd-apps](../argocd-apps).
|
||||
|
||||
If you are using `server.additionalApplications` or `server.additionalProjects`, you can adopt to [argocd-apps](../argocd-apps) as below:
|
||||
|
||||
1. Add [helm.sh/resource-policy annotation](https://helm.sh/docs/howto/charts_tips_and_tricks/#tell-helm-not-to-uninstall-a-resource) to avoid resources being removed by upgrading Helm chart
|
||||
|
||||
You can keep your existing CRDs by adding `"helm.sh/resource-policy": keep` on `additionalAnnotations`, under `server.additionalApplications` and `server.additionalProjects` blocks, and running `helm upgrade`.
|
||||
|
||||
e.g:
|
||||
|
||||
```yaml
|
||||
server:
|
||||
additionalApplications:
|
||||
- name: guestbook
|
||||
namespace: argocd
|
||||
additionalLabels: {}
|
||||
additionalAnnotations:
|
||||
"helm.sh/resource-policy": keep # <-- add this
|
||||
finalizers:
|
||||
- resources-finalizer.argocd.argoproj.io
|
||||
project: guestbook
|
||||
source:
|
||||
repoURL: https://github.com/argoproj/argocd-example-apps.git
|
||||
targetRevision: HEAD
|
||||
path: guestbook
|
||||
directory:
|
||||
recurse: true
|
||||
destination:
|
||||
server: https://kubernetes.default.svc
|
||||
namespace: guestbook
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: false
|
||||
selfHeal: false
|
||||
ignoreDifferences:
|
||||
- group: apps
|
||||
kind: Deployment
|
||||
jsonPointers:
|
||||
- /spec/replicas
|
||||
info:
|
||||
- name: url
|
||||
value: https://argoproj.github.io/
|
||||
```
|
||||
|
||||
You can also keep your existing CRDs by running the following scripts.
|
||||
|
||||
```bash
|
||||
# keep Applications
|
||||
for app in "guestbook"; do
|
||||
kubectl annotate --overwrite application $app helm.sh/resource-policy=keep
|
||||
done
|
||||
|
||||
# keep Projects
|
||||
for project in "guestbook"; do
|
||||
kubectl annotate --overwrite appproject $project helm.sh/resource-policy=keep
|
||||
done
|
||||
```
|
||||
|
||||
2. Upgrade argo-cd Helm chart to v5.0.0
|
||||
|
||||
3. Remove keep [helm.sh/resource-policy annotation](https://helm.sh/docs/howto/charts_tips_and_tricks/#tell-helm-not-to-uninstall-a-resource)
|
||||
|
||||
```bash
|
||||
# delete annotations from Applications
|
||||
for app in "guestbook"; do
|
||||
kubectl annotate --overwrite application $app helm.sh/resource-policy-
|
||||
done
|
||||
|
||||
# delete annotations from Projects
|
||||
for project in "guestbook"; do
|
||||
kubectl annotate --overwrite appproject $project helm.sh/resource-policy-
|
||||
done
|
||||
```
|
||||
|
||||
4. Adopt existing resources to [argocd-apps](../argocd-apps)
|
||||
|
||||
### 4.9.0
|
||||
|
||||
This version starts to use upstream image with applicationset binary. Start command was changed from `applicationset-controller` to `argocd-applicationset-controller`
|
||||
|
|
@ -236,8 +322,6 @@ NAME: my-release
|
|||
| kubeVersionOverride | string | `""` | Override the Kubernetes version, which is used to evaluate certain manifests |
|
||||
| nameOverride | string | `"argocd"` | Provide a name in place of `argocd` |
|
||||
| openshift.enabled | bool | `false` | enables using arbitrary uid for argo repo server |
|
||||
| server.additionalApplications | list | `[]` (See [values.yaml]) | Deploy Argo CD Applications within this helm release |
|
||||
| server.additionalProjects | list | `[]` (See [values.yaml]) | Deploy Argo CD Projects within this helm release |
|
||||
|
||||
## Argo CD Configs
|
||||
|
||||
|
|
@ -252,7 +336,6 @@ NAME: my-release
|
|||
| configs.knownHostsAnnotations | object | `{}` | Known Hosts configmap annotations |
|
||||
| configs.repositories | object | `{}` | Repositories list to be used by applications |
|
||||
| configs.repositoriesAnnotations | object | `{}` | Annotations to be added to `configs.repositories` Secret |
|
||||
| configs.repositoryCredentials | object | `{}` | *DEPRECATED:* Instead, use `configs.credentialTemplates` and/or `configs.repositories` |
|
||||
| configs.secret.annotations | object | `{}` | Annotations to be added to argocd-secret |
|
||||
| configs.secret.argocdServerAdminPassword | string | `""` | Bcrypt hashed admin password |
|
||||
| configs.secret.argocdServerAdminPasswordMtime | string | `""` (defaults to current time) | Admin password modification time. Eg. `"2006-01-02T15:04:05Z"` |
|
||||
|
|
@ -283,7 +366,6 @@ NAME: my-release
|
|||
| controller.clusterRoleRules.rules | list | `[]` | List of custom rules for the application controller's ClusterRole resource |
|
||||
| controller.containerPort | int | `8082` | Application controller listening port |
|
||||
| controller.containerSecurityContext | object | `{}` | Application controller container-level security context |
|
||||
| controller.enableStatefulSet | bool | `true` | Deploy the application controller as a StatefulSet instead of a Deployment, this is required for HA capability. |
|
||||
| controller.env | list | `[]` | Environment variables to pass to application controller |
|
||||
| controller.envFrom | list | `[]` (See [values.yaml]) | envFrom to pass to application controller |
|
||||
| controller.extraArgs | list | `[]` | Additional command line arguments to pass to application controller |
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue