@@ -12,7 +12,35 @@ This toolset requires an ``ARGOCD_AUTH_TOKEN`` environment variable. Generate su
1212You can consult the `available environment variables <https://argo-cd.readthedocs.io/en/latest/user-guide/environment-variables/ >`_
1313on argocd's official documentation for the CLI.
1414
15- In addition to the auth token, you will need to tell argocd how to connect to the server. This can be done two ways:
15+ The permissions required are below (``kubectl edit configmap argocd-rbac-cm -n argocd ``). You can consult
16+ ArgoCD's documentation on `user creation <https://argo-cd.readthedocs.io/en/stable/operator-manual/user-management/ >`_
17+ and `permissions <https://argo-cd.readthedocs.io/en/stable/operator-manual/rbac/ >`_.
18+
19+ .. code-block :: yaml
20+
21+ # Ensure this data block is present in your argocd-rbac-cm configmap.
22+ # It enables the permissions for holmes to fetch the data it needs to
23+ # investifate argocd issues.
24+ # -
25+ # These permissions depend on a new user `holmesgpt` being created,
26+ # for example using the `argocd-cm` configmap
27+ data :
28+ policy.default : role:readonly
29+ policy.csv : |
30+ p, role:admin, *, *, *, allow
31+ p, role:admin, accounts, apiKey, *, allow
32+ p, holmesgpt, accounts, apiKey, holmesgpt, allow
33+ p, holmesgpt, projects, get, *, allow
34+ p, holmesgpt, applications, get, *, allow
35+ p, holmesgpt, repositories, get, *, allow
36+ p, holmesgpt, clusters, get, *, allow
37+ p, holmesgpt, applications, manifests, */*, allow
38+ p, holmesgpt, applications, resources, */*, allow
39+ g, admin, role:admin
40+
41+
42+ In addition to setting permissiong and generating an auth token, you will need to tell argocd how to connect to the server.
43+ This can be done two ways:
1644
17451. **Using port forwarding **. This is the recommended approach if your argocd is inside your Kubernetes cluster.
18462. **Setting the env var ** ``SERVER_URL ``. This is the recommended approach if your argocd is reachable through a public DNS
@@ -39,7 +67,7 @@ HolmesGPT needs permission to establish a port-forward to ArgoCD. The configurat
3967 toolsets :
4068 argocd/core :
4169 enabled : true
42-
70+
4371 .. note ::
4472
4573 Change the namespace ``--port-forward-namespace <your_argocd_namespace> `` to the namespace in which your argocd service
@@ -92,10 +120,10 @@ This is the recommended approach if your argocd is reachable through a public DN
92120 argocd/core :
93121 enabled : true
94122
95- To test, run:
123+ To test, run:
96124
97125 .. code-block :: yaml
98-
126+
99127 holmes ask "Which argocd applications are failing and why?"
100128
101129 Capabilities
@@ -109,12 +137,16 @@ Capabilities
109137
110138 * - Tool Name
111139 - Description
140+ * - argocd_app_list
141+ - List the applications in Argocd
112142 * - argocd_app_get
113143 - Retrieve information about an existing application, such as its status and configuration
144+ * - argocd_app_manifests
145+ - Retrieve manifests for an application
146+ * - argocd_app_resources
147+ - List resources of an application
114148 * - argocd_app_diff
115149 - Display the differences between the current state of an application and the desired state specified in its Git repository
116- * - argocd_app_list
117- - List the applications in Argocd
118150 * - argocd_app_history
119151 - List the deployment history of an application in ArgoCD
120152 * - argocd_repo_list
0 commit comments