argoproj/argo-cd
Dependencies
Selected third-party libraries Argo CD depends on, drawn from go.mod and ui/package.json.
Go (go.mod)
The full list is large (go.mod is ~18 KB). Highlights:
| Library | Why |
|---|---|
github.com/argoproj/argo-cd/gitops-engine |
Diff/sync/health primitives. Argo CD vendors a snapshot under gitops-engine/. |
github.com/argoproj/notifications-engine |
The notifications service registry and trigger/template engine. |
github.com/argoproj/pkg/v2 |
Shared utilities (stats, time, etc.). |
github.com/spf13/cobra |
All command-line UIs. |
github.com/sirupsen/logrus |
Logging. |
github.com/redis/go-redis/v9 |
Redis client. |
github.com/casbin/casbin/v2 + github.com/casbin/govaluate |
RBAC engine. |
github.com/coreos/go-oidc/v3 + github.com/go-jose/go-jose/v4 |
OIDC + JWT. |
k8s.io/client-go, k8s.io/apimachinery, sigs.k8s.io/controller-runtime |
Kubernetes interaction. |
github.com/go-git/go-git/v5 |
In-process Git library. |
code.gitea.io/sdk/gitea, github.com/google/go-github/..., github.com/xanzy/go-gitlab, github.com/gfleury/go-bitbucket-v1, github.com/ktrysmt/go-bitbucket |
SCM provider clients used by ApplicationSet generators. |
github.com/aws/aws-sdk-go-v2 |
CodeCommit + STS for AWS-hosted repos and EKS auth. |
github.com/Azure/azure-sdk-for-go/sdk/azidentity + github.com/Azure/kubelogin |
Azure auth (AKS, Azure DevOps). |
github.com/bradleyfalzon/ghinstallation/v2 |
GitHub App auth. |
github.com/dlclark/regexp2, github.com/expr-lang/expr |
RE2-incompatible regexes (e.g., for diff suppressions) and the expression engine for notifications. |
github.com/Masterminds/sprig/v3, github.com/Masterminds/semver/v3 |
Templating helpers used in ApplicationSet templates and Helm. |
github.com/cyphar/filepath-securejoin |
Safe path joining (used widely in util/security/). |
github.com/alicebob/miniredis/v2 |
In-process Redis for tests. |
github.com/bombsimon/logrusr/v4 |
logrus → logr adapter so klog can pipe through. |
gopkg.in/yaml.v3, sigs.k8s.io/yaml, github.com/evanphx/json-patch, dario.cat/mergo |
YAML/JSON tooling used throughout. |
helm.sh/helm/v3 (transitive) |
Helm primitives — invoked through util/helm/cmd.go for shelling out, but the Go API is also used in places. |
github.com/cenkalti/backoff/v5 |
Retry/backoff utility. |
github.com/cespare/xxhash/v2 |
Cheap hashes for cache keys. |
UI (ui/package.json)
The UI is React 16/17-era, currently maintained against a pinned set of libraries. Highlights (from ui/package.json and ui/pnpm-lock.yaml):
react,react-dom,react-router-dom.argo-ui(component library shared with the rest of the Argo project).rxjsfor streaming UI state.monaco-editorfor the in-UI YAML/JSON editor.dagre,@zoom/lightbox,react-formand other helpers.webpack,babel,typescript,jest,prettier,eslintfor build/test/lint.pnpmis the package manager;pnpm-lock.yamlis checked in.
Vendored sub-trees
Two non-go.mod sub-trees live in the repo:
gitops-engine/— a snapshot of the upstream Argo gitops-engine library, brought in so the controller and engine can ship in lockstep.notifications_catalog/— pre-baked notification triggers/templates shipped as a built-in catalog ConfigMap.
Renovate / dependabot
renovate.json and the bots open continuous chore(deps): bump … PRs. The repo scopes bump groups (e.g., aws-sdk-v2 group) and pinned-version comments in go.mod (// DO NOT BUMP UNTIL ...) constrain what may move.
Snyk and CodeQL
hack/snyk-*.sh produce SARIF reports for docs/snyk/. .github/workflows/codeql.yml runs CodeQL on every push.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.