56 Commits
Author SHA1 Message Date
zeekayandHanzo Dev 1ab6e799c1 cd: the module is github.com/hanzoai/cd, where it is actually hosted
go.mod still declared `module github.com/hanzoai/deploy` after the repo was
renamed. A Go module path is not cosmetic — it is the resolvable location. So
`go get github.com/hanzoai/cd` could not work, and anything importing this
module had to spell a name that no longer exists at that address. The build log
of v3.6.0 is where it surfaced: the compiler was still emitting
github.com/hanzoai/deploy/cmd/cd/commands.

3541 import paths across 690 .go, 19 .proto, 4 .yaml, 3 .sh, 2 .mod, Procfile
and Makefile. Plus the 62 ghcr.io/hanzoai/deploy image references, moved to
ghcr.io/hanzoai/cd to match hanzo.yml's build target — a distinct string from
the module path, replaced separately so neither could clobber the other.

go mod tidy clean, CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build ./... clean.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-28 21:16:24 -07:00
zeekayandHanzo Dev 84ee9fa0ce cd: kill the argo naming — binaries, packages, identifiers
Every command is cd-*: cd, cd-server, cd-repo-server,
cd-application-controller, cd-applicationset-controller, cd-cmp-server,
cd-commit-server, cd-dex, cd-git-ask-pass, cd-k8s-auth, cd-notification.
util/argo is util/cd; util/notification/argocd is util/notification/cd.

Preserved deliberately: github.com/argoproj/argocd-example-apps is an
EXTERNAL repo used as an e2e fixture, and notifications-engine + pkg/v2 are
real dependencies. Renaming a URL we do not own would break the tests.

Two bugs I made and caught, both from a careless sed:
- s/argo/cd/g turned 'argocd' into 'cdcd' in two directory names
- renaming the package declaration left every call site saying argo.X

go build ./... exit 0.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-28 16:00:25 -07:00
15d87b3e72 refactor(cd): hard-fork - rename CRD API group argoproj.io -> deploy.hanzo.ai (#1)
* feat(api): hard-fork CRD API group argoproj.io -> deploy.hanzo.ai

Hanzo CD hard-fork, phase 1.1. Single source of truth is
pkg/apis/application/register.go's Group constant (Application/AppProject/
ApplicationSet all derive their FullName from it); every other Go call-site
that hardcoded the literal group string is updated to match: the 3 generated
informer GVRs, the app-of-apps nested-Application detector in types.go, the
resource-tree Application-kind cache populator, the 3 NotFound error
constructors in server/application, and the applicationset-controller's
leader-election Lease name/ID (kept in lockstep across Go source + RBAC
resourceNames, or leader election would get RBAC-denied on startup).

CRD YAMLs (application/appproject/applicationset) and every RBAC apiGroups
rule that actually governs our 3 CRDs are repointed to deploy.hanzo.ai, across
both manifests/base/* (namespaced Roles) and manifests/cluster-rbac/* (cluster
scope). Two adjacent things that share the "argoproj.io" string but are NOT
ours are deliberately left untouched: gitops-engine's health-check dispatch
for Argo Workflows' `Workflow` kind, and argocd-server-clusterrole's second
apiGroups block granting read on Argo Workflows' `workflows` resource — both
belong to a separate, unrelated Argoproj-family project we are not forking.

Also untouched, per explicit scope: annotation/label keys (argocd.argoproj.io/*)
and finalizers (*.argoproj.io) that track already-applied live resources, and
argocd-cm.yaml's resource.customizations.ignoreResourceUpdates keys (a narrow
app-of-apps diffing nicety, not build- or RBAC-relevant).

CGO_ENABLED=0 go build ./... verified green.

* ci: wire canonical hanzo.yml + cicd.yml (Hanzo CD image build)

Phase 1.3. Follows the same one-way pattern every hanzo/lux/zoo repo uses:
hanzo.yml declares the image (root Dockerfile -> ghcr.io/hanzoai/deploy) and a
fast go-build sanity test (the multi-stage Dockerfile build is the slow, real
gate); cicd.yml is the ~10-line trigger shim importing hanzoai/ci's reusable
build workflow on the arc pool, secrets from KMS only.

No `deploy:` block yet, matching the hanzoai/cms build-only-first-cutover
pattern: this repo's own live hanzo-cd namespace runs the whole Hanzo fleet's
GitOps, so the prod image/CRD swap is a deliberate separate action (see the
[HELD] universe PR), never an automatic rollout on merge. Every PR/push still
builds and pushes an immutable ghcr.io/hanzoai/deploy:sha-<7>-amd64 image.

* feat(ui): rebrand Argo CD -> Hanzo CD (title, favicon, logo, sidebar)

Phase 1.2. User-facing "Argo CD"/"ArgoCD" text replaced with "Hanzo CD"
across the login page, help modal, settings screens, version-info panel,
sync-options warning, fullscreen-logs title, app.tsx page titles, and
index.html's <title>/noscript text (dropped the now-wrong upstream CLI
doc link rather than invent a hanzo.ai URL that doesn't exist).

Logo/favicon assets replaced with the canonical Hanzo mark (never
hand-drawn, copied from ~/work/hanzo/logo/dist): the two real usages of
Argo's logo collapse onto one Hanzo glyph (mono + white variants) at the
same 5 call sites (login icon + footer, login.scss $logoPath/
$logoNegativePath, sidebar text-logo), preserving the existing CSS
invert() filters so both the light login panel and dark sidebar still
render correctly. Old argologo.svg/argo_o.svg/argo.png deleted (no
longer referenced). favicon-{16x16,32x32}.png added at
ui/src/assets/favicon/ (index.html's links to that path were previously
dead - the directory didn't exist in this checkout). package.json name
argo-cd-ui -> hanzo-cd-ui.

Left alone, deliberately: the two Kubernetes resource-kind icon sets
under ui/src/assets/images/resources/ (unrelated to branding), and
upstream doc/project links (argoproj.io, argo-cd.readthedocs.io) since
we have no equivalent hanzo.ai docs to point to yet - except the login
footer logo's outbound link, which now points to hanzo.ai instead of
argoproj.io (a Hanzo-branded mark linking to the upstream project it
was forked from read as an obvious leftover).

* feat(module): rename Go module github.com/argoproj/argo-cd/v3 -> github.com/hanzoai/deploy

Phase 2. No version suffix on the new path (org policy: never publish our
own Go modules above v1.x.x / with a v2+ suffix) — this fork starts a fresh
v0/v1 module identity rather than carrying the v3 the upstream fork point
had reached.

Mechanical, symmetric rewrite: 704 .go files (import statements only; two
disjoint substitutions applied specific-first so the nested gitops-engine
module path never double-matches), plus go.mod (module line, the
gitops-engine require+replace pair, version reset to v0.0.0-... since a
suffix-less path can't carry a v3 semver), gitops-engine/go.mod, Makefile
(ldflags PACKAGE + 2 TEST_MODULE filters), .golangci.yaml, .goreleaser.yaml,
.mockery.yaml (+ gitops-engine's), Procfile, the codegen/proto generation
scripts (hack/generate-proto.sh, update-codegen.sh, update-openapi.sh), and
20 .proto files' go_package options. Also one OpenTelemetry tracer name
string in gitops-engine/pkg/sync/sync_context.go (a cosmestic label, not an
import, but worth keeping consistent).

CGO_ENABLED=0 go build ./... verified green for both the root module and
the nested gitops-engine module; go vet clean on both; go mod tidy run
(network available) to reconcile go.sum, dependency set unchanged.

Left alone, deliberately: doc-only mentions (docs/snyk/*.html scan reports,
gitops-engine/README.md), a comment-only reference in
.github/workflows/release.yaml, and one Renovate bot config line — none are
build- or codegen-load-bearing. Also left alone: comments citing upstream
GitHub issue URLs (github.com/argoproj/argo-cd/issues/NNNNN) and a handful
of test fixtures using "https://github.com/argoproj/argo-cd.git" as a
representative example repo URL — both are accurate historical/test-data
references, not stale self-references.

---------

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-19 11:27:06 -07:00
Blake PetterssonandGitHub 6ed56700fb feat(otel): add spans with configurable sampling (#28396)
Signed-off-by: Blake Pettersson <[email protected]>
2026-07-13 19:51:52 +02:00
rumsteadandGitHub 32da51eb6b ci(gitops-engine): support tagged releases for gitops-engine (#27740)
Signed-off-by: rumstead <[email protected]>
2026-07-08 15:26:50 +00:00
Matthieu MORELandGitHub 563b9c0b34 chore: enable unnecessary-format rule from revive (#26958)
Signed-off-by: Matthieu MOREL <[email protected]>
2026-04-16 11:21:56 -04:00
Pierluigi Lenoci a950630916 Honor stderrthreshold when logtostderr is enabled
Opt into the fixed klog behavior by setting legacy_stderr_threshold_behavior=false
after klog.InitFlags(). Ref: kubernetes/klog#212, kubernetes/klog#432

Signed-off-by: Pierluigi Lenoci <[email protected]>
2026-03-27 00:18:54 +01:00
Leonardo Luz AlmeidaandGitHub 3795f840c3 chore: fix gitops-engine mod name so it can be referenced by external repos (#26407)
Signed-off-by: Leonardo Luz Almeida <[email protected]>
2026-02-12 09:29:40 -05:00
Matthieu MORELandGitHub 2adedd4c14 chore(util): Fix modernize linter (#26329)
Signed-off-by: Matthieu MOREL <[email protected]>
2026-02-09 00:44:05 -10:00
Matthieu MORELandGitHub c16ce981b9 chore: enable noctx linter (#24765)
Signed-off-by: Matthieu MOREL <[email protected]>
2025-09-29 20:20:53 +02:00
Nitish KumarandGitHub 1175ae3fe0 test: add tests for setting log format and level (#23686)
Signed-off-by: nitishfy <[email protected]>
2025-07-12 10:34:01 -04:00
Nitish KumarandGitHub a8627dae54 feat: read argocd password from stdin (#23520)
Signed-off-by: nitishfy <[email protected]>
2025-07-05 23:25:12 +05:30
Michael CrenshawandGitHub 05ac7845c0 chore(lint): enable more gocritic linters (#23328)
Signed-off-by: Michael Crenshaw <[email protected]>
2025-06-11 23:50:02 -04:00
Kanika RanaandGitHub fc8411e9b8 chore: use name imports for argocd Utilio (#22836)
Signed-off-by: Kanika Rana <[email protected]>
2025-05-21 16:25:32 +00:00
8334da36f2 Bump major version to 3 (#21410)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: crenshaw-dev <[email protected]>
2025-01-10 16:14:00 -05:00
Matthieu MORELandGitHub eec6f8526a chore: enable unused-parameter from revive (#21365)
* chore: enable unused-parameter from revive

Signed-off-by: Matthieu MOREL <[email protected]>

* apply recommandations

Signed-off-by: Matthieu MOREL <[email protected]>

---------

Signed-off-by: Matthieu MOREL <[email protected]>
2025-01-07 10:12:56 -05:00
Matthieu MORELandGitHub bda1b76bd6 chore: enable superfluous-else from revive (#21373)
Signed-off-by: Matthieu MOREL <[email protected]>
2025-01-06 11:41:38 -05:00
Matthieu MORELandGitHub c85bb38a83 chore: enable errorf of perfsprint linter (#21280)
Signed-off-by: Matthieu MOREL <[email protected]>
2024-12-30 10:56:41 +02:00
Matthieu MORELandGitHub 4156151f8f chore: enable err-error and strconcat of perfsprint linter (#21267)
Signed-off-by: Matthieu MOREL <[email protected]>
2024-12-20 16:22:28 +00:00
Matthieu MORELandGitHub 417ff7b19e chore: enable gofumpt and whitespace linters (#18567)
Signed-off-by: Matthieu MOREL <[email protected]>
2024-06-11 15:41:55 +00:00
Ishita SequeiraandGitHub 11cb236909 chore: Add additional field to set Extra Build Information while building argo-cd by vendors (#13324)
* Add additonal field to set Extra Build Information while building argocd by vendors

Signed-off-by: ishitasequeira <[email protected]>

* Include spaces in extra build info

Signed-off-by: ishitasequeira <[email protected]>

* Address comments

Signed-off-by: ishitasequeira <[email protected]>

---------

Signed-off-by: ishitasequeira <[email protected]>
2023-04-27 00:10:12 +00:00
my-git9andGitHub 6c6916f07e fix: add space before prompt in CLI (#10362)
Signed-off-by: xin.li <[email protected]>

Signed-off-by: xin.li <[email protected]>
2022-08-18 10:25:17 -04:00
my-git9andGitHub f51940bce0 chore: improve argocd app delete (#10160)
Signed-off-by: xin.li <[email protected]>
2022-08-08 17:16:22 -04:00
jannfisandGitHub d65d195d33 chore: Replace deprecated ioutil in util packages (#9848)
Signed-off-by: jannfis <[email protected]>
2022-07-06 12:45:04 -04:00
jannfisandGitHub 24abd1342c fix: Improve user experience for update-password CLI command (#7581)
* fix: Improve user experience for update-password CLI command

Signed-off-by: jannfis <[email protected]>

* Regenerate CLI docs

Signed-off-by: jannfis <[email protected]>
2021-10-30 10:30:58 +02:00
Alexander MatyushentsevandGitHub c3a6e6f76c fix: Argo CD server address unspecified with Argo CD CLI v2.1.x (#7238)
Signed-off-by: Alexander Matyushentsev <[email protected]>
2021-09-16 11:23:29 -07:00
Alexander MatyushentsevandGitHub c78e1968f5 fix: util.cli.SetLogLevel should update global log level (#6852)
Signed-off-by: Alexander Matyushentsev <[email protected]>
2021-07-29 13:01:38 -07:00
Alexander MatyushentsevandGitHub c2901775fb feat: Headless Argo CD (aka GitOps Agent) (#6361)
* feat: add --headless flag to Argo CD CLI command

Signed-off-by: Alexander Matyushentsev <[email protected]>

* docs: add headless installation manifests and documentation

Signed-off-by: Alexander Matyushentsev <[email protected]>

* Apply reviewer notes

Signed-off-by: Alexander Matyushentsev <[email protected]>

* Remove port forwarding logs

Signed-off-by: Alexander Matyushentsev <[email protected]>
2021-07-20 21:51:36 -07:00
AikawaandGitHub ddca6da103 fix: use current logrus config when logrus is created internally (#6234) (#6301)
fix: use current logrus config when logrus is created internally (#6234) (#6301)
Signed-off-by: yu-croco <[email protected]>
2021-05-28 16:27:57 -07:00
Alexander MatyushentsevandGitHub 22a84a2fac refactor: upgrade k8s client to v0.21.0 (#6322)
Signed-off-by: Alexander Matyushentsev <[email protected]>
2021-05-27 10:20:53 -07:00
1d472ba293 chore: Upgrade Go module to v2 (#5931)
* chore: Upgrade Go module to v2

Signed-off-by: jannfis <[email protected]>

* Restore import order

Signed-off-by: jannfis <[email protected]>

* fix knowntypes_normalizer codegen error

Signed-off-by: Alexander Matyushentsev <[email protected]>

* fix codegen

Signed-off-by: Alexander Matyushentsev <[email protected]>

* fix Procfile

Signed-off-by: Alexander Matyushentsev <[email protected]>

Co-authored-by: Alexander Matyushentsev <[email protected]>
2021-04-01 20:44:18 +02:00
kshamajain99andGitHub 12f90f74fe fix: upgrade klog (#5697) (#5699)
fix: upgrade klog (#5697) (#5699)
2021-03-05 14:55:33 -08:00
Alexander MatyushentsevandGitHub 301d9bf4c9 refactor: upgrade gitops-engine version ( breaking API changes related to logr mirgation ) (#4652) 2020-10-27 14:10:24 -07:00
Alexander MatyushentsevandGitHub fe1068225d refactor: upgrade K8S client to v0.18.8 (#4149) 2020-08-24 16:46:38 -07:00
jannfisandGitHub eec65d7bea chore: Fix complaints of golang-ci lint v1.26.0 (#3673) 2020-05-30 18:54:14 -07:00
Alexander MatyushentsevandGitHub a68b34dd33 feat: move engine code to argoproj/gitops-engine repo (#3599) 2020-05-15 14:39:29 -07:00
Alexander MatyushentsevandGitHub 171127a40f feat: Gitops engine (#3066)
* Move utils packages that are required for gitops engine under engine/pkg/utils package.
Following changes were implemented:
* util/health package is split into two parts: resource health assessement & resource health assessement and moved into engine/pkg/utils
* utils packages moved: Closer and Close method of util package moved into engine/pkg/utils/io package
* packages diff, errors, exec, json, kube and tracing moved into engine/pkg/utils

* Move single cluster caching into engine/kube/cache package

* move sync functionality to engine/kube/sync package

* remove dependency on metrics package from engine/pkg/utils/kube/cache

* move annotation label definitions into engine/pkg/utils/kube/sync

* make sure engine/pkg has no dependencies on other argo-cd packages

* allow importing engine as a go module

* implement a high-level interface that might be consumed by flux

* fix deadlock caused by cluster cache event handler

* ClusterCache should return error if requested group kind not found

* remove obsolete tests

* apply reviewer notes
2020-05-15 10:01:18 -07:00
Shuhei KitagawaandGitHub e9fb1e5986 feat: Add --logformat switch to API server, repository server and controller (#3408) 2020-05-05 14:03:48 +02:00
Masayuki Ishiiandjannfis bca12a6cb0 feat: Add argocd cmd for Windows #2121 (#3015)
* fix: Explicitly cast Stdin file descriptors to int

Signed-off-by: Masayuki Ishii <[email protected]>

* feat: Add the windows CLI

Signed-off-by: Masayuki Ishii <[email protected]>

* fix: Fix warning message

Signed-off-by: Masayuki Ishii <[email protected]>
2020-01-24 08:18:00 +01:00
Jesse SuenandGitHub 7b98a9734b feat: Use kubectl apply library instead of forking binary (#2861) 2019-12-13 17:29:01 -08:00
Scott CabrinhaandAlexander Matyushentsev fb45fbc82a Issue #2833: use editor arguments in InteractiveEditor (#2850) 2019-12-11 10:06:54 -08:00
Jesse SuenandGitHub a1a2f49277 Update k8s dependency to v1.16 (#2828) 2019-12-10 18:33:58 -08:00
Jesse SuenandGitHub ab99302a36 Update k8s libraries to v1.14 (#1806) 2019-06-25 02:52:58 -07:00
Alexander MatyushentsevandGitHub 00a85bd801 Move generated api code to pkg package (#1696) 2019-06-05 12:58:11 -07:00
Alex CollinsandGitHub b5ad0a71d5 Force color logging locally (#1316) 2019-03-26 13:59:03 -07:00
Alex CollinsandGitHub e83b9cc419 Migrates from gometalinter to golangci-lint. Closes #1225 (#1226) 2019-03-08 16:22:04 -08:00
Alex CollinsandGitHub afe74b9fb4 Lints local imports. Closes #1197 (#1198) 2019-02-27 18:05:55 -08:00
Alexander MatyushentsevandGitHub 28265fd2ce Issue #1132 - Interactive application/project edit (#1133) 2019-02-15 14:59:52 -08:00
Jesse SuenandGitHub 5c034a9fbd Support for external OIDC providers and implicit login flows (#727) 2018-10-29 01:36:53 -07:00
dthomson25andGitHub 35683f7332 Add ksonnet version to version endpoint (#433)
* Add ksonnet version to version endpoint

I needed to move config.go out of the cli package to fix a circular dependency.

* Remove ksonnetVersion field from the ArgoCD version struct
2018-07-20 09:13:16 -07:00