Skip to main content
HealOps queries the Argo CD REST API as a read-only evidence source during GitOps incident investigations. It can list visible applications, inspect one application’s sync and health status, and fetch sanitized server-side diff output to show deployment drift.

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:
The store also accepts 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, set ARGOCD_INSTANCES to a JSON array. The first valid instance is used as the default integration for investigations.
When 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:
Expected output:
Verification performs a read-only application list call. It proves HealOps can reach Argo CD and list visible applications with the configured credentials; it does not write to Argo CD or sync applications.

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:
Then run HealOps with the alert payload:

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 by ARGOCD_PROJECT.
The investigation agent uses this evidence to determine whether a deployment is 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 .env or ~/.config/healops/integrations.json, not in source code.
  • Use https:// for remote Argo CD URLs. Plain http:// is accepted only for loopback or localhost development URLs.
  • Do not disable ARGOCD_VERIFY_SSL for production instances.
  • HealOps redacts bearer tokens, passwords, token-like strings, and Kubernetes Secret diffs 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.

Troubleshooting