From c76f4f4cc1feba84d7ad3d0a8f4ff7039d6740eb Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Fri, 14 Jun 2024 10:18:21 -0400 Subject: [PATCH] docs: Improve the FAQ (#12039) (#18645) * docs: Fix whitespace around after open paren in FAQ Signed-off-by: Josh Soref * docs: Fix trailing whitespace Signed-off-by: Josh Soref * docs: Fix grammar in FAQ wrt redis auth Signed-off-by: Josh Soref * docs: Fix FAQ markdown for turning off redis auth Signed-off-by: Josh Soref * docs: Start talking about manifest generation Signed-off-by: Josh Soref --------- Signed-off-by: Josh Soref --- docs/faq.md | 55 +++++++++++++++++++++++++++++++++-------------------- 1 file changed, 34 insertions(+), 21 deletions(-) diff --git a/docs/faq.md b/docs/faq.md index 5ce6ca134ff1b..9dcbc7e8f1e0e 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -70,14 +70,14 @@ kubectl -n argocd patch secret argocd-secret \ ``` Another option is to delete both the `admin.password` and `admin.passwordMtime` keys and restart argocd-server. This -will generate a new password as per [the getting started guide](getting_started.md), so either to the name of the pod ( -Argo CD 1.8 and earlier) +will generate a new password as per [the getting started guide](getting_started.md), so either to the name of the pod +(Argo CD 1.8 and earlier) or a randomly generated password stored in a secret (Argo CD 1.9 and later). ## How to disable admin user? -Add `admin.enabled: "false"` to the `argocd-cm` ConfigMap ( -see [user management](./operator-manual/user-management/index.md)). +Add `admin.enabled: "false"` to the `argocd-cm` ConfigMap +(see [user management](./operator-manual/user-management/index.md)). ## Argo CD cannot deploy Helm Chart based applications without internet access, how can I solve it? @@ -110,8 +110,8 @@ to all manifest generators. ## 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? 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 permission issue. Try to list clusters using `admin` user ( -e.g. `argocd login --username admin && argocd cluster list`). +still not visible then make sure it might be a permission issue. Try to list clusters using `admin` user +(e.g. `argocd login --username admin && argocd cluster list`). ## Argo CD is unable to connect to my cluster, how do I troubleshoot it? @@ -127,7 +127,7 @@ Now you can manually verify that cluster is accessible from the Argo CD pod. ## How Can I Terminate A Sync? -To terminate the sync, click on the "synchronisation" then "terminate": +To terminate the sync, click on the "synchronization" then "terminate": ![Synchronization](assets/synchronization-button.png) ![Terminate](assets/terminate-button.png) @@ -270,7 +270,7 @@ The most common instance of this error is with `env:` fields for `containers`. It's possible that your application is being generated by a tool in which case the duplication might not be evident within the scope of a single file. If you have trouble debugging this problem, consider filing a ticket to the owner of the generator tool asking them to improve its validation and error reporting. ## How to rotate Redis secret? -* Delete `argocd-redis` secret in the namespace where Argo CD is installed. +* Delete `argocd-redis` secret in the namespace where Argo CD is installed. ```bash kubectl delete secret argocd-redis -n ``` @@ -291,22 +291,35 @@ kubectl rollout restart statefulset argocd-application-controller ## How to turn off Redis auth if users really want to? -Argo CD default installation is now configured automatically enable Redis authentication. +Argo CD default installation is now configured to automatically enable Redis authentication. If for some reason authenticated Redis does not work for you and you want to use non-authenticated Redis, here are the steps: -* You need to have your own Redis installation. -* Configure Argo CD to use your own Redis instance. See this [doc](https://argo-cd.readthedocs.io/en/stable/operator-manual/argocd-cmd-params-cm-yaml/) for the Argo CD configuration. -* If you already installed Redis shipped with Argo CD, you also need to clean up the existing components: - * When HA Redis is used: - * kubectl delete deployment argocd-redis-ha-haproxy - * kubectl delete statefulset argocd-redis-ha-server - * When non-HA Redis is used: - * kubectl delete deployment argocd-redis -* Remove environment variable `REDIS_PASSWORD` from the following manifests - * Deployment: argocd-repo-server: +1. You need to have your own Redis installation. +2. Configure Argo CD to use your own Redis instance. See this [doc](https://argo-cd.readthedocs.io/en/stable/operator-manual/argocd-cmd-params-cm-yaml/) for the Argo CD configuration. +3. If you already installed Redis shipped with Argo CD, you also need to clean up the existing components: + + * When HA Redis is used: + + - kubectl delete deployment argocd-redis-ha-haproxy + - kubectl delete statefulset argocd-redis-ha-server + + * When non-HA Redis is used: + + - kubectl delete deployment argocd-redis + +4. Remove environment variable `REDIS_PASSWORD` from the following manifests: + * Deployment: argocd-repo-server * Deployment: argocd-server * StatefulSet: argocd-application-controller - + ## How do I provide my own Redis credentials? The Redis password is stored in Kubernetes secret `argocd-redis` with key `auth` in the namespace where Argo CD is installed. -You can config your secret provider to generate Kubernetes secret accordingly. \ No newline at end of file +You can config your secret provider to generate Kubernetes secret accordingly. + +## How do I fix `Manifest generation error (cached)`? + +`Manifest generation error (cached)` means that there was an error when generating manifests and that the error message has been cached to avoid runaway retries. + +Doing a hard refresh (ignoring the cached error) can overcome transient issues. But if there's an ongoing reason manifest generation is failing, a hard refresh will not help. + +Instead, try searching the repo-server logs for the app name in order to identify the error that is causing manifest generation to fail.