Prerequisites
- Argo CD API server reachable from the machine running HealOps
- A dedicated Argo CD account or API token with read access to the applications you want HealOps to inspect
- The Argo CD base URL, for example
https://argocd.example.com - Optional alert annotations that identify the affected Argo CD application, project, namespace, or revision
Setup
Argo CD is configured through environment variables or the persistent integration store.Option 1: Environment variables
Add one authentication method to your.env:
HealOps rejects ambiguous auth configuration. Do not set a bearer token and username/password at the same time.
Option 2: Persistent store
You can also add Argo CD to~/.config/healops/integrations.json:
auth_token or token as aliases for bearer_token. For username/password auth, omit bearer_token and set username and password instead.
Option 3: Multiple Argo CD instances
For multiple Argo CD instances, setARGOCD_INSTANCES to a JSON array. The first valid instance is used as the default integration for investigations.
ARGOCD_INSTANCES is set, the single-instance ARGOCD_BASE_URL and auth variables are ignored for this service. healops integrations verify argocd validates the resolved default instance.
Verify
Run:Usage in investigations
When Argo CD is configured and an incoming alert contains GitOps context, HealOps can add Argo CD evidence to the investigation plan. HealOps recognizes these explicit alert fields:
HealOps also looks for GitOps hints in alert text such as
argocd, argo cd, argo-cd, gitops, outofsync, or outofsynced.
Example alert:
Evidence collected
argocd_application_status
Fetches application status from Argo CD.
- With
application_name, it returns a compact summary for that application: sync status, health status, current revision, operation phase/message, destination, images, and recent deployment history. - Without
application_name, it lists visible applications, optionally scoped byARGOCD_PROJECT.
OutOfSync, Degraded, on an unexpected revision, or correlated with a recent rollout.
argocd_application_diff
Fetches Argo CD server-side diff output for one application.
- Requires
application_name. - Returns
drift_detected,diff_count, and sanitized diff records. - Helps identify Kubernetes objects whose live state differs from the desired GitOps state.
Security best practices
- Use a dedicated read-only Argo CD account or token for HealOps.
- Store credentials in
.envor~/.config/healops/integrations.json, not in source code. - Use
https://for remote Argo CD URLs. Plainhttp://is accepted only for loopback or localhost development URLs. - Do not disable
ARGOCD_VERIFY_SSLfor production instances. - HealOps redacts bearer tokens, passwords, token-like strings, and Kubernetes
Secretdiffs before surfacing Argo CD errors or diff evidence. - The integration is read-only: it lists applications, reads application summaries, and reads server-side diff data. It does not sync, modify, or delete Argo CD resources.
Tracer