47 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 446e343a3d cd: annotations are cd.hanzo.ai, API group is apps.hanzo.ai
Two corrections on top of the naming pass, both found by checking the live
cluster rather than the source.

The rename had silently changed the user-facing annotation key from
argocd.argoproj.io/sync-wave to cd.argoproj.io/sync-wave — 63 live
Applications carry the old key, so deploying that would have ignored every
sync-wave and broken fleet deploy ordering. The key is now cd.hanzo.ai/*,
and universe 575650286 moves the ApplicationSet template that stamps it, so
the controller regenerates all 63 consistently.

The API group in code said argoproj.io/v1alpha1 in 157 places while the
cluster has served apps.hanzo.ai/v1alpha1 since 2026-07-23 (the CRDs are
applications.apps.hanzo.ai). Code now matches what is actually served.

The legacy applications.argoproj.io/app-name label had ZERO live users, so it
went with the rest. foo.argoproj.io test fixtures became foo.example.com —
arbitrary test domains should not carry a vendor name.

go build ./... exit 0.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-28 16:32:14 -07:00
zeekayandHanzo Dev bc6d960ad4 cd: the credential store interface is DB, not ArgoDB
The last Argo in the core type surface. It is also the seam that matters for
going KMS-native: repo- and cluster- credentials are read through ONE
interface with ONE constructor (NewDB), so a KMS-backed store is a second
implementation, not a rewrite of the 26 files that touch Secrets.

go build ./... exit 0.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-28 16:04: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
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
Lohit KolluriandGitHub 679cee550c test: Add t.Parallel() to util/app tests (#28177)
Signed-off-by: Lohit Kolluri <[email protected]>
2026-06-10 16:37:18 -04: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
Jonathan OgilvieandGitHub 7fd013e054 feat: cross namespace hierarchy traversal from cluster-scoped parents to namespaced children (fixes #24379) (#24847)
Signed-off-by: Jonathan Ogilvie <[email protected]>
2025-12-15 02:30:41 +00:00
Matthieu MORELandGitHub d91af2e124 chore: refactor test functions to pass context from testing.T to fixtures (#25134)
Signed-off-by: Matthieu MOREL <[email protected]>
2025-11-02 13:39:24 +01:00
Matthieu MORELandGitHub 9bb1efbb02 chore: use Expecter Structs from mockery (#25133)
Signed-off-by: Matthieu MOREL <[email protected]>
2025-11-01 13:07:08 +00:00
Shota SugiuraandGitHub 051206cc31 chore: remove unnecessary lock value copy in test (#24939)
Signed-off-by: shota3506 <[email protected]>
2025-10-23 13:00:50 -04:00
Nitish KumarandGitHub 8df22d8a85 test: add tests for loading cache settings (#23605)
Signed-off-by: nitishfy <[email protected]>
2025-07-02 22:35:52 -04:00
Michael CrenshawandGitHub 8e380c63d5 chore: enable lint for unused private fields (#23242)
Signed-off-by: Michael Crenshaw <[email protected]>
2025-06-05 07:47:55 -04:00
Xiaopeng HanandGitHub 0f7adf7a20 fix: app tree parentRef response missing version info (#22927)
Signed-off-by: xiaopeng <[email protected]>
2025-05-12 14:30:22 +05:30
sivchariandGitHub b97525c11e chore: upgrade Go to 1.24 (#22242)
Signed-off-by: sivchari <[email protected]>
2025-03-10 10:14:41 -04:00
Michael CrenshawandGitHub ed6751851a fix: return cluster URL in error message, not full cluster object (#22094)
Signed-off-by: Michael Crenshaw <[email protected]>
2025-02-28 21:10:00 +00:00
Matthieu MORELandGitHub be13c7b8a8 chore: enable var-naming from revive (#21861)
Signed-off-by: Matthieu MOREL <[email protected]>
2025-02-18 11:02:38 -05:00
Matthieu MORELandGitHub eeba57b115 chore: enable nolintlint (#21559)
Signed-off-by: Matthieu MOREL <[email protected]>
2025-01-21 13:49:14 -05: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 75e3d10f27 chore: enable var-declaration from revive (#21370)
Signed-off-by: Matthieu MOREL <[email protected]>
2025-01-03 18:44:23 -05:00
Matthieu MORELandGitHub bc3c389196 chore: enable importas for k8s.io/apimachinery/pkg/api/errors (#21262)
Signed-off-by: Matthieu MOREL <[email protected]>
2025-01-03 17:09:37 +00:00
Matthieu MORELandGitHub 961e9bad5e chore: import k8s.io/api/core/v1 as corev1 (#21345)
Signed-off-by: Matthieu MOREL <[email protected]>
2025-01-03 11:10:00 -05:00
Matthieu MORELandGitHub 5051940c20 chore: use testify instead of testing.Fatal (#21258)
Signed-off-by: Matthieu MOREL <[email protected]>
2025-01-02 18:27:41 -05:00
Michael CrenshawandGitHub a2ea49ba1b chore: use new fake k8s client constructor (#21186)
Signed-off-by: Michael Crenshaw <[email protected]>
2024-12-16 14:49:30 +05:30
33aee61334 feat: Add ignore-resources-tracking annotation to ignore resources update (#18343)
* feat: Add ignore-resources-tracking annotation to ignore resources update

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

* add doc

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

* update annotation doc

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

* refactor annotation usage base on comment feedback

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

* update annotation

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

* do not store boolean in resourceInfo

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

* typo

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

* update logic

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

* refactor

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

* add comment

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

* add tests

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

* update doc

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

* update code base on comment feedback

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

* update annotation doc

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

* fix goimport

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

* fix golint

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

* update comments

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

* update docs

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

* update annotation name

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

* rename annotation

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

* lint check

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

---------

Signed-off-by: kahoulei <[email protected]>
Co-authored-by: kahoulei <[email protected]>
Co-authored-by: Ishita Sequeira <[email protected]>
2024-07-29 11:26:50 -04: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
Matthieu MORELandGitHub 8421ddbc37 chore: enable len and empty rules from testifylint linter (#18516)
Signed-off-by: Matthieu MOREL <[email protected]>
2024-06-07 15:12:50 -04:00
f5b414aff7 fix: copy visited map #11699 (#12667)
This commit fixed an issue #11699 that caused a warning even if the cycle didn't exist.
Fix false cycle discovery by copying the visited resource map before recursively calling of getAppRecursive.

Fixes #11699

Signed-off-by: Arata Furukawa <[email protected]>
Co-authored-by: Blake Pettersson <[email protected]>
2024-05-14 15:37:20 -07:00
c6f4dcdda9 fix: Use the cache for sharding (#15237)
* feat(sharding): use a cache

Signed-off-by: Alexandre Gaudreault <[email protected]>

* cluster cmd

Signed-off-by: Alexandre Gaudreault <[email protected]>

* - Assign shard 0 to in-cluster cluster and nil check updates
- Caching clusters while sharding: Fixing unit tests
- Update generated docs
- Debug e2e tests
- Default the shardNumber to the number of replicas if it is calculated to a higher value
- defered Unlock only when a lock is set
- Disabling temporarly other versions of k3s to check if e2e passes
- Do not fail if hostname format is not abc-n
- Fix unit test and skip some e2e
- Skip TestGitSubmoduleHTTPSSupport test
- Remove breaking defer c.lock.Unlock()
- Reverting testing all k3s version
- Default sharding fix
Signed-off-by: Akram Ben Aissi <[email protected]>

Signed-off-by: Akram Ben Aissi <[email protected]>

* fixes related to code review: renaming structure param, moving db initialisation

Signed-off-by: Akram Ben Aissi <[email protected]>

* Code review

Signed-off-by: Akram Ben Aissi <[email protected]>

* Set default shard to 0

Signed-off-by: Akram Ben Aissi <[email protected]>

* Set different default value for Sts and Deployment mode

Signed-off-by: Akram Ben Aissi <[email protected]>

* Expose ClusterShardingCache

Signed-off-by: Akram Ben Aissi <[email protected]>

* Removing use of argoDB.db for DistributionFunction

Signed-off-by: Akram Ben Aissi <[email protected]>

* Update generated documentation

Signed-off-by: Akram Ben Aissi <[email protected]>

* Fix comment about NoShardingDistributionFunction and NoShardingAlgorithm

Signed-off-by: Akram Ben Aissi <[email protected]>

---------

Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Akram Ben Aissi <[email protected]>
Co-authored-by: Alexandre Gaudreault <[email protected]>
2024-01-11 01:32:11 -05:00
Nathan RomriellandGitHub 81ba58cdb0 fix: delete event cache deadlock test flakiness (#15964)
Signed-off-by: Nathan Romriell <[email protected]>
2023-10-16 14:10:56 -04:00
Nathan RomriellandGitHub d1a06262e6 fix(controller): cache deadlock on delete and re-add cluster (#14780)
Signed-off-by: Nathan Romriell <[email protected]>
2023-07-31 09:04:01 -07:00
bb25090d99 feat: add ignoreResourceUpdates to reduce controller CPU usage (#13534) (#13912)
* feat: ignore watched resource update

Signed-off-by: Alexandre Gaudreault <[email protected]>

* add doc and CLI

Signed-off-by: Alexandre Gaudreault <[email protected]>

* update doc index

Signed-off-by: Alexandre Gaudreault <[email protected]>

* add command

Signed-off-by: Alexandre Gaudreault <[email protected]>

* codegen

Signed-off-by: Alexandre Gaudreault <[email protected]>

* revert formatting

Signed-off-by: Alexandre Gaudreault <[email protected]>

* do not skip on health change

Signed-off-by: Alexandre Gaudreault <[email protected]>

* update doc

Signed-off-by: Alexandre Gaudreault <[email protected]>

* update logging to use context

Signed-off-by: Alexandre Gaudreault <[email protected]>

* fix typos. local build broken...

Signed-off-by: Alexandre Gaudreault <[email protected]>

* change after review

Signed-off-by: Alexandre Gaudreault <[email protected]>

* manifestHash to string

Signed-off-by: Alexandre Gaudreault <[email protected]>

* more doc

Signed-off-by: Alexandre Gaudreault <[email protected]>

* example for argoproj Application

Signed-off-by: Alexandre Gaudreault <[email protected]>

* add unit test for ignored logs

Signed-off-by: Alexandre Gaudreault <[email protected]>

* codegen

Signed-off-by: Alexandre Gaudreault <[email protected]>

* Update docs/operator-manual/reconcile.md

Co-authored-by: Michael Crenshaw <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>

* move hash and set log to debug

Signed-off-by: Alexandre Gaudreault <[email protected]>

* Update util/settings/settings.go

Co-authored-by: Michael Crenshaw <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>

* Update util/settings/settings.go

Co-authored-by: Michael Crenshaw <[email protected]>
Signed-off-by: Alexandre Gaudreault <[email protected]>

* feature flag

Signed-off-by: Michael Crenshaw <[email protected]>

* fix

Signed-off-by: Michael Crenshaw <[email protected]>

* less aggressive managedFields ignore rule

Signed-off-by: Michael Crenshaw <[email protected]>

* Update docs/operator-manual/reconcile.md

Co-authored-by: Alexandre Gaudreault <[email protected]>

* use local settings

Signed-off-by: Michael Crenshaw <[email protected]>

* latest settings

Signed-off-by: Michael Crenshaw <[email protected]>

* safety first

Signed-off-by: Michael Crenshaw <[email protected]>

* since it's behind a feature flag, go aggressive on overrides

Signed-off-by: Michael Crenshaw <[email protected]>

---------

Signed-off-by: Alexandre Gaudreault <[email protected]>
Signed-off-by: Michael Crenshaw <[email protected]>
Co-authored-by: Michael Crenshaw <[email protected]>
2023-06-25 01:32:20 +00:00
e84ab9f36b fix: populate parentRefs correctly with multiple owners (#3910) (#11715)
* fix: populate parentRefs correctly with multiple owners

It previously simply wrote to key 0, instead of appending all owners

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

* test multiple resource owners

Signed-off-by: Michael Crenshaw <[email protected]>

Signed-off-by: Jellyfrog <[email protected]>
Signed-off-by: Michael Crenshaw <[email protected]>
Co-authored-by: Michael Crenshaw <[email protected]>
2023-01-19 11:57:45 -05:00
Yuan TangandGitHub c49c8d55a0 feat: Treat connection reset as a retryable error (#9739)
Signed-off-by: Yuan Tang <[email protected]>
2022-06-29 08:52:28 -07:00
Yuan TangandGitHub 9e699c8361 feat: Support additional retryable errors (#8578)
* feat: Support additional retryable errors

Signed-off-by: Yuan Tang <[email protected]>

* Concise conditions

Signed-off-by: Yuan Tang <[email protected]>
2022-02-26 09:21:16 +01: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
Alexander MatyushentsevandGitHub d351d134e3 feat: Support controller horizontal scaling (#4285) 2020-10-09 13:16:54 -07:00
Alexander MatyushentsevandGitHub 07374b294a fix: cluster settings change is not applied correctly (#4070) 2020-08-10 16:13:06 -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
Alexander MatyushentsevandGitHub 53365beda7 feat: use --api-versions during helm chart rendering (#3243) 2020-03-17 14:20:36 -07:00
4df619adde feat: improve api-server and controller performance (#3222)
* group read comparison settings during app reconciliation
* Reduce lock contention in clusterInfo::ensureSynced(). Add getRepoObj stats
* Remove additional source of lock contention
* Exclude the coordination.k8s.io/Lease resource

Co-authored-by: Alexander Matyushentsev <[email protected]>
2020-03-16 11:51:59 -07:00
Alexander MatyushentsevandGitHub d4974e1d8e fix: removes redundant mutex usage in controller cache and adds cluster cache metrics (#2898) 2019-12-26 14:08:31 -08:00
Alexander MatyushentsevandAlex Collins 496e07bb39 Issue #2721 - cache parsed repositories, repo credentials to avoid unnecessary yaml parsing (#2809) 2019-12-04 15:23:18 -08:00
Alexander MatyushentsevandGitHub b559962fd2 Issue #1247 - Fix CRD creation/deletion handling (#1249) 2019-03-11 08:50:00 -07:00
Alexander MatyushentsevandGitHub 09b80a789c Issue #1161 - no need to maintain map of existing CRDs since it is handled by resourceVersion usage (#1194) 2019-03-01 12:09:47 -08:00