github.com/argoproj/argo-cd@v1.8.7/docs/faq.md (about) 1 # FAQ 2 3 ## I've deleted/corrupted my repo and can't delete my app. 4 5 Argo CD can't delete an app if it cannot generate manifests. You need to either: 6 7 1. Reinstate/fix your repo. 8 1. Delete the app using `--cascade=false` and then manually deleting the resources. 9 10 ## Why is my application still `OutOfSync` immediately after a successful Sync? 11 12 See [Diffing](user-guide/diffing.md) documentation for reasons resources can be OutOfSync, and ways to configure 13 Argo CD to ignore fields when differences are expected. 14 15 16 ## Why is my application stuck in `Progressing` state? 17 18 Argo CD provides health for several standard Kubernetes types. The `Ingress` and `StatefulSet` types have known issues which might cause health check 19 to return `Progressing` state instead of `Healthy`. 20 21 * `Ingress` is considered healthy if `status.loadBalancer.ingress` list is non-empty, with at least one value for `hostname` or `IP`. Some ingress controllers 22 ([contour](https://github.com/heptio/contour/issues/403), [traefik](https://github.com/argoproj/argo-cd/issues/968#issuecomment-451082913)) don't update 23 `status.loadBalancer.ingress` field which causes `Ingress` to stuck in `Progressing` state forever. 24 25 * `StatefulSet` is considered healthy if value of `status.updatedReplicas` field matches to `spec.replicas` field. Due to Kubernetes bug 26 [kubernetes/kubernetes#68573](https://github.com/kubernetes/kubernetes/issues/68573) the `status.updatedReplicas` is not populated. So unless you run Kubernetes version which 27 include the fix [kubernetes/kubernetes#67570](https://github.com/kubernetes/kubernetes/pull/67570) `StatefulSet` might stay in `Progressing` state. 28 * Your `StatefulSet` or `DaemonSet` is using `OnDelete` instead of `RollingUpdate` strategy. See [#1881](https://github.com/argoproj/argo-cd/issues/1881). 29 30 As workaround Argo CD allows providing [health check](operator-manual/health.md) customization which overrides default behavior. 31 32 ## I forgot the admin password, how do I reset it? 33 34 By default the password is set to the name of the server pod, as per [the getting started guide](getting_started.md). 35 36 To change the password, edit the `argocd-secret` secret and update the `admin.password` field with a new bcrypt hash. You 37 can use a site like https://www.browserling.com/tools/bcrypt to generate a new hash. For example: 38 39 ```bash 40 # bcrypt(password)=$2a$10$rRyBsGSHK6.uc8fntPwVIuLVHgsAhAX7TcdrqW/RADU0uh7CaChLa 41 kubectl -n argocd patch secret argocd-secret \ 42 -p '{"stringData": { 43 "admin.password": "$2a$10$rRyBsGSHK6.uc8fntPwVIuLVHgsAhAX7TcdrqW/RADU0uh7CaChLa", 44 "admin.passwordMtime": "'$(date +%FT%T%Z)'" 45 }}' 46 ``` 47 48 Another option is to delete both the `admin.password` and `admin.passwordMtime` keys and restart argocd-server. This will set the password back to the pod name as per [the getting started guide](getting_started.md). 49 50 ## How to disable admin user? 51 52 Add `admin.enabled: "false"` to the `argocd-cm` ConfigMap (see [user management](operator-manual/user-management/index.md)). 53 54 ## Argo CD cannot deploy Helm Chart based applications without internet access, how can I solve it? 55 56 Argo CD might fail to generate Helm chart manifests if the chart has dependencies located in external repositories. To solve the problem you need to make sure that `requirements.yaml` 57 uses only internally available Helm repositories. Even if the chart uses only dependencies from internal repos Helm might decide to refresh `stable` repo. As workaround override 58 `stable` repo URL in `argocd-cm` config map: 59 60 ```yaml 61 data: 62 # v1.2 or earlier use `helm.repositories` 63 helm.repositories: | 64 - url: http://<internal-helm-repo-host>:8080 65 name: stable 66 # v1.3 or later use `repositories` with `type: helm` 67 repositories: | 68 - type: helm 69 url: http://<internal-helm-repo-host>:8080 70 name: stable 71 ``` 72 73 ## I've configured [cluster secret](./operator-manual/declarative-setup.md#clusters) but it does not show up in CLI/UI, how do I fix it? 74 75 Check if cluster secret has `argocd.argoproj.io/secret-type: cluster` label. If secret has the label but the cluster is still not visible then make sure it might be a 76 permission issue. Try to list clusters using `admin` user (e.g. `argocd login --username admin && argocd cluster list`). 77 78 ## Argo CD is unable to connect to my cluster, how do I troubleshoot it? 79 80 Use the following steps to reconstruct configured cluster config and connect to your cluster manually using kubectl: 81 82 ```bash 83 kubectl exec -it <argocd-pod-name> bash # ssh into any argocd server pod 84 argocd-util kubeconfig https://<cluster-url> /tmp/config --namespace argocd # generate your cluster config 85 KUBECONFIG=/tmp/config kubectl get pods # test connection manually 86 ``` 87 88 Now you can manually verify that cluster is accessible from the Argo CD pod. 89 90 ## How Can I Terminate A Sync? 91 92 To terminate the sync, click on the "synchronisation" then "terminate": 93 94 ![Synchronization](assets/synchronization-button.png) ![Terminate](assets/terminate-button.png) 95 96 ## Why Is My App Out Of Sync Even After Syncing? 97 98 Is some cases, the tool you use may conflict with Argo CD by adding the `app.kubernetes.io/instance` label. E.g. using Kustomize common labels feature. 99 100 Argo CD automatically sets the `app.kubernetes.io/instance` label and uses it to determine which resources form the app. If the tool does this too, this causes confusion. You can change this label by setting the `application.instanceLabelKey` value in the `argocd-cm`. We recommend that you use `argocd.argoproj.io/instance`. 101 102 !!! note 103 When you make this change your applications will become out of sync and will need re-syncing. 104 105 See [#1482](https://github.com/argoproj/argo-cd/issues/1482). 106 107 ## Why Are My Resource Limits Out Of Sync? 108 109 Kubernetes has normalized your resource limits when they are applied, and then Argo CD has then compared the version in your generated manifests to the normalized one is Kubernetes - they won't match. 110 111 E.g. 112 113 * `'1000m'` normalized to `'1'` 114 * `'0.1'` normalized to `'100m'` 115 * `'3072Mi'` normalized to `'3Gi'` 116 * `3072` normalized to `'3072'` (quotes added) 117 118 To fix this use diffing customizations [settings](./user-guide/diffing.md#known-kubernetes-types-in-crds-resource-limits-volume-mounts-etc). 119 120 ## How Do I Fix "invalid cookie, longer than max length 4093"? 121 122 Argo CD uses a JWT as the auth token. You likely are part of many groups and have gone over the 4KB limit which is set for cookies. 123 You can get the list of groups by opening "developer tools -> network" 124 125 * Click log in 126 * Find the call to `<argocd_instance>/auth/callback?code=<random_string>` 127 128 Decode the token at https://jwt.io/. That will provide the list of teams that you can remove yourself from. 129 130 See [#2165](https://github.com/argoproj/argo-cd/issues/2165). 131 132 ## Why Am I Getting `rpc error: code = Unavailable desc = transport is closing` When Using The CLI? 133 134 Maybe you're behind a proxy that does not support HTTP 2? Try the `--grpc-web` flag.: 135 136 ```bash 137 argocd ... --grpc-web 138 ``` 139 140 ## Why Am I Getting `x509: certificate signed by unknown authority` When Using The CLI? 141 142 Your not running your server with correct certs. 143 144 If you're not running in a production system (e.g. you're testing Argo CD out), try the `--insecure` flag: 145 146 ```bash 147 argocd ... --insecure 148 ``` 149 150 !!! warning "Do not use `--insecure` in production" 151 152 ## I have configured Dex via `dex.config` in `argocd-cm`, it still says Dex is unconfigured. Why? 153 154 Most likely you forgot to set the `url` in `argocd-cm` to point to your ArgoCD as well. See also 155 [the docs](/operator-manual/user-management/#2-configure-argo-cd-for-sso)