81 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 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
zeekayandHanzo Dev dead2da249 cd: the configuration speaks CD_ and KV_
The fork was already ours everywhere that matters — our image, our IAM (dex
is not deployed), hanzo kv behind what the env still called REDIS. Only the
vocabulary was upstream's: ARGOCD_* across the Go, the manifests, the docs
and the plugin contract, and mkdocs still titled 'Argo CD' pointing at
argoproj/argo-cd.

ARGOCD_ -> CD_ and REDIS_ -> KV_ across 345 files, plus the 8 e2e/cmp
fixtures that assert the plugin env contract — those had to move with the
binary, which now emits CD_APP_NAME where they expected ARGOCD_APP_NAME.

Left alone deliberately, because renaming them would be wrong:
- util/helm/testdata/redis/ and gitops-engine/.../statefulset*.yaml are
  fixtures for a THIRD-PARTY chart named redis, not our config
- util/kustomize/testdata/ likewise
- generated.proto regenerates from types.go, which is already clean

go build ./... exit 0.

LOCKSTEP: the live StatefulSet sets 47 ARGOCD_* names the binary no longer
reads. universe 4a5375735 carries the matching manifest change; they deploy
together or the controller falls back to defaults.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-28 15:55:46 -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
Aditya RajandGitHub eed7fea788 fix: fix flaky tests (#28609)
Signed-off-by: Aditya Raj <[email protected]>
2026-07-07 11:31:50 +00:00
Alexandre GaudreaultandGitHub 87e922afbe feat(impersonation): allow to disable strict enforcement (#27084) (#27573)
Signed-off-by: Alexandre Gaudreault <[email protected]>
2026-07-06 11:12:06 -04:00
599f2743bd fix: respect ignore differences for individual array elements in CRDs (#28220)
Signed-off-by: nitishfy <[email protected]>
Signed-off-by: Nitish Kumar <[email protected]>
Signed-off-by: Blake Pettersson <[email protected]>
Co-authored-by: Blake Pettersson <[email protected]>
2026-07-02 10:04:52 +02:00
Blake PetterssonandGitHub c893272d31 fix: don't clobber non-ignored fields on "replace" (#27136)
Signed-off-by: Blake Pettersson <[email protected]>
2026-06-29 20:05:58 +05:30
Blake PetterssonandGitHub 8abc8a9699 chore: propagate contexts (#28353)
Signed-off-by: Blake Pettersson <[email protected]>
2026-06-22 14:44:08 -04:00
Blake PetterssonandGitHub 476d079137 fix: exclude live status from normalization (#28201)
Signed-off-by: Blake Pettersson <[email protected]>
2026-06-09 10:33:34 -07:00
Oliver GondžaGitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
bfdb38be2a feat(source-integrity): Implement Source Integrity checking (#25371)
Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Oliver Gondža <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-07 12:11:33 -04:00
Alexy ManthaandGitHub dd980721de feat: use impersonation for server operations (logs, delete, etc) #22996 (#26898)
Signed-off-by: Alexy Mantha <[email protected]>
2026-04-02 05:48:29 -04:00
Andy Lo-A-FoeandGitHub 43770a6fe7 fix: prevent panic on nil APIResource in permission validator (#26610)
Signed-off-by: Andy Lo-A-Foe <[email protected]>
2026-03-18 14:27:24 -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
Blake PetterssonandGitHub 1c149ae478 fix: revert #24197 (#25294)
Signed-off-by: Blake Pettersson <[email protected]>
2025-11-17 11:21:44 -08: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
Nitish KumarandGitHub 7446c4f96b fix: respect ignore differences for individual array elements in CRDs (#24197)
Signed-off-by: nitishfy <[email protected]>
2025-09-15 10:28:13 -04:00
Alexandre GaudreaultandGitHub 7a3a1fd528 chore(refactor): project as SyncAppState parameter (#23629)
Signed-off-by: Alexandre Gaudreault <[email protected]>
2025-07-03 13:16:58 -04:00
Alexandre GaudreaultandGitHub d723b8edd6 fix(sync): auto-sync loop when FailOnSharedResource (#23357) (#23641)
Signed-off-by: Alexandre Gaudreault <[email protected]>
2025-07-02 15:00:57 -04:00
Michael CrenshawandGitHub 0a62a0e562 fix(controller): impersonation with destination name (#23309) (#23504)
Signed-off-by: Michael Crenshaw <[email protected]>
2025-06-22 21:32:19 -04:00
Michael CrenshawandGitHub f181406784 chore(lint): enable typeSwitchVar linter (#23391)
Signed-off-by: Michael Crenshaw <[email protected]>
2025-06-16 15:02:32 +00:00
Peter JiangandGitHub a56442d954 feat: add SSA field manager migration options (#23337)
Signed-off-by: Peter Jiang <[email protected]>
Signed-off-by: Peter Jiang <[email protected]>
2025-06-13 21:58:07 +00:00
Michael CrenshawandGitHub cb484f375f chore(lint): enable tparallel linter (#23318)
Signed-off-by: Michael Crenshaw <[email protected]>
2025-06-08 15:10:55 +02: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
sivchariandGitHub b97525c11e chore: upgrade Go to 1.24 (#22242)
Signed-off-by: sivchari <[email protected]>
2025-03-10 10:14:41 -04: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
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 7a212a833c chore: enable use-any from revive (#21282)
Signed-off-by: Matthieu MOREL <[email protected]>
2025-01-02 18:26:59 -05:00
Matthieu MORELandGitHub 6a8208c4ca chore: enable importas for k8s.io/apimachinery/pkg/apis/meta/v1 (#21284)
Signed-off-by: Matthieu MOREL <[email protected]>
2024-12-31 10:34:11 +02:00
Michael CrenshawandGitHub ba889a0c86 feat: source hydrator (#20345)
* feat(hydrator): add sourceHydrator types

Co-authored-by: Alexandre Gaudreault <[email protected]>
Co-authored-by: Omer Azmon <[email protected]>
Co-authored-by: daengdaengLee <[email protected]>
Co-authored-by: Juwon Hwang (Kevin) <[email protected]>
Co-authored-by: thisishwan2 <[email protected]>
Co-authored-by: mirageoasis <[email protected]>
Co-authored-by: Robin Lieb <[email protected]>
Co-authored-by: miiiinju1 <[email protected]>
Signed-off-by: Michael Crenshaw <[email protected]>

fix(codegen): use kube_codegen.sh deepcopy and client gen correctly

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

deepcopy gen

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

* feat(hydrator): add commit-server component

Co-authored-by: Alexandre Gaudreault <[email protected]>
Co-authored-by: Omer Azmon <[email protected]>
Co-authored-by: daengdaengLee <[email protected]>
Co-authored-by: Juwon Hwang (Kevin) <[email protected]>
Co-authored-by: thisishwan2 <[email protected]>
Co-authored-by: mirageoasis <[email protected]>
Co-authored-by: Robin Lieb <[email protected]>
Co-authored-by: miiiinju1 <[email protected]>
Signed-off-by: Michael Crenshaw <[email protected]>

go mod tidy

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

one test file for both implementations

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

simplify

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

fix test for linux

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

fix git client mock

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

fix git client mock

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

address comments

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

unit tests

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

lint

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

fix image, fix health checks, fix merge issue

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

fix lint issues

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

remove code that doesn't work for GHE

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

changes from comments

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

* feat(hydrator): enable controller

Co-authored-by: Alexandre Gaudreault <[email protected]>
Co-authored-by: Omer Azmon <[email protected]>
Co-authored-by: daengdaengLee <[email protected]>
Co-authored-by: Juwon Hwang (Kevin) <[email protected]>
Co-authored-by: thisishwan2 <[email protected]>
Co-authored-by: mirageoasis <[email protected]>
Co-authored-by: Robin Lieb <[email protected]>
Co-authored-by: miiiinju1 <[email protected]>
Signed-off-by: Michael Crenshaw <[email protected]>

feat(hydrator): enable controller

Co-authored-by: Alexandre Gaudreault <[email protected]>
Co-authored-by: Omer Azmon <[email protected]>
Co-authored-by: daengdaengLee <[email protected]>
Co-authored-by: Juwon Hwang (Kevin) <[email protected]>
Co-authored-by: thisishwan2 <[email protected]>
Co-authored-by: mirageoasis <[email protected]>
Co-authored-by: Robin Lieb <[email protected]>
Co-authored-by: miiiinju1 <[email protected]>
Signed-off-by: Michael Crenshaw <[email protected]>

allow opt-in

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

separation between app controller and hydrator

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

simplify diff

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

todos

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

simplify

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

add dry sha to logs

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

add app name to logs

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

more logging, no caching

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

fix cluster install

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

don't interrupt an ongoing hydrate operation

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

revert hydrate loop fix

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

handle project-scoped repo creds

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

codegen

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

improve docs

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

fixes from comments

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

* set hydrator enabled key when using hydrator manifests

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

fix manifests

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

improve docs

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

* feat(hydrator): enable controller

Co-authored-by: Alexandre Gaudreault <[email protected]>
Co-authored-by: Omer Azmon <[email protected]>
Co-authored-by: daengdaengLee <[email protected]>
Co-authored-by: Juwon Hwang (Kevin) <[email protected]>
Co-authored-by: thisishwan2 <[email protected]>
Co-authored-by: mirageoasis <[email protected]>
Co-authored-by: Robin Lieb <[email protected]>
Co-authored-by: miiiinju1 <[email protected]>
Signed-off-by: Michael Crenshaw <[email protected]>

feat(hydrator): enable controller

Co-authored-by: Alexandre Gaudreault <[email protected]>
Co-authored-by: Omer Azmon <[email protected]>
Co-authored-by: daengdaengLee <[email protected]>
Co-authored-by: Juwon Hwang (Kevin) <[email protected]>
Co-authored-by: thisishwan2 <[email protected]>
Co-authored-by: mirageoasis <[email protected]>
Co-authored-by: Robin Lieb <[email protected]>
Co-authored-by: miiiinju1 <[email protected]>
Signed-off-by: Michael Crenshaw <[email protected]>

allow opt-in

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

separation between app controller and hydrator

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

simplify diff

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

todos

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

simplify

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

add dry sha to logs

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

add app name to logs

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

more logging, no caching

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

fix cluster install

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

don't interrupt an ongoing hydrate operation

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

revert hydrate loop fix

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

handle project-scoped repo creds

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

codegen

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

improve docs

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

fixes from comments

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

* feat(hydrator): add sourceHydrator types

Co-authored-by: Alexandre Gaudreault <[email protected]>
Co-authored-by: Omer Azmon <[email protected]>
Co-authored-by: daengdaengLee <[email protected]>
Co-authored-by: Juwon Hwang (Kevin) <[email protected]>
Co-authored-by: thisishwan2 <[email protected]>
Co-authored-by: mirageoasis <[email protected]>
Co-authored-by: Robin Lieb <[email protected]>
Co-authored-by: miiiinju1 <[email protected]>
Signed-off-by: Michael Crenshaw <[email protected]>

fix(codegen): use kube_codegen.sh deepcopy and client gen correctly

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

deepcopy gen

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

* feat(hydrator): enable controller

Co-authored-by: Alexandre Gaudreault <[email protected]>
Co-authored-by: Omer Azmon <[email protected]>
Co-authored-by: daengdaengLee <[email protected]>
Co-authored-by: Juwon Hwang (Kevin) <[email protected]>
Co-authored-by: thisishwan2 <[email protected]>
Co-authored-by: mirageoasis <[email protected]>
Co-authored-by: Robin Lieb <[email protected]>
Co-authored-by: miiiinju1 <[email protected]>
Signed-off-by: Michael Crenshaw <[email protected]>

feat(hydrator): enable controller

Co-authored-by: Alexandre Gaudreault <[email protected]>
Co-authored-by: Omer Azmon <[email protected]>
Co-authored-by: daengdaengLee <[email protected]>
Co-authored-by: Juwon Hwang (Kevin) <[email protected]>
Co-authored-by: thisishwan2 <[email protected]>
Co-authored-by: mirageoasis <[email protected]>
Co-authored-by: Robin Lieb <[email protected]>
Co-authored-by: miiiinju1 <[email protected]>
Signed-off-by: Michael Crenshaw <[email protected]>

allow opt-in

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

separation between app controller and hydrator

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

simplify diff

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

todos

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

simplify

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

add dry sha to logs

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

add app name to logs

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

more logging, no caching

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

fix cluster install

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

don't interrupt an ongoing hydrate operation

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

revert hydrate loop fix

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

handle project-scoped repo creds

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

codegen

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

* feat(hydrator): write credentials handling + UI

Co-authored-by: Alexandre Gaudreault <[email protected]>
Co-authored-by: Omer Azmon <[email protected]>
Co-authored-by: daengdaengLee <[email protected]>
Co-authored-by: Juwon Hwang (Kevin) <[email protected]>
Co-authored-by: thisishwan2 <[email protected]>
Co-authored-by: mirageoasis <[email protected]>
Co-authored-by: Robin Lieb <[email protected]>
Co-authored-by: miiiinju1 <[email protected]>
Signed-off-by: Michael Crenshaw <[email protected]>

feat(hydrator): enable controller

Co-authored-by: Alexandre Gaudreault <[email protected]>
Co-authored-by: Omer Azmon <[email protected]>
Co-authored-by: daengdaengLee <[email protected]>
Co-authored-by: Juwon Hwang (Kevin) <[email protected]>
Co-authored-by: thisishwan2 <[email protected]>
Co-authored-by: mirageoasis <[email protected]>
Co-authored-by: Robin Lieb <[email protected]>
Co-authored-by: miiiinju1 <[email protected]>
Signed-off-by: Michael Crenshaw <[email protected]>

allow opt-in

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

separation between app controller and hydrator

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

simplify diff

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

todos

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

simplify

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

add dry sha to logs

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

add app name to logs

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

more logging, no caching

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

fix cluster install

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

don't interrupt an ongoing hydrate operation

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

revert hydrate loop fix

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

feat(hydrator): write credentials handling + UI

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

WIP: add new APIs for write creds

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

write api and template api

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

fix time function

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

fix lint issues

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

don't enrich with read creds

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

revert tls change

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

don't disable buttons in UI

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

ask repo server for specific revision

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

fixes

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

lint ui

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

remove unnecessary change

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

fix test and lint

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

lint

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

enable hydrator for e2e tests

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

* free disk space for e2e tests

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

don't free disk space

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

* free disk space for e2e tests

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

* remove comment that breaks auth

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

* try removing extra function

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

* cleanup from comments

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

* fix test

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

---------

Signed-off-by: Michael Crenshaw <[email protected]>
2024-12-16 16:59:09 -05:00
Anand Francis JosephandGitHub 0931a86aa4 chore: Added unit tests and fix e2e tests for application sync decoupling feature (#19966)
* fixed doc comments and added unit tests

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

* Added comments for the newly added unit tests

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

* Refactored method name to deriveServiceAccountToImpersonate

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

* Using const name in return value

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

* Added unit tests for argocd proj add-destination-service-accounts

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

* Fixed failing e2e tests

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

* Fix linting errors

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

* Using require package instead of assert and fixed code generation

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

* Removed parallel execution of tests for sync with impersonate

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

* Added err checks for glob validations

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

* Fixed e2e tests for sync impersonation

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

* Using consistently based expects in E2E tests

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

* Added more unit tests and fixed go generate

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

* Fixed failed lint errors, unit and e2e test failures

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

* Fixed goimports linter issue

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

* Added code comments and added few missing unit tests

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

* Added missing unit test for GetDestinationServiceAccounts method

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

* Fixed goimports formatting with local for project_test.go

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

* Corrected typo in a field name additionalObjs

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

* Fixed failing unit tests

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

---------

Signed-off-by: anandf <[email protected]>
2024-10-03 07:37:50 -07:00
c348ce0796 chore: enable require-error rule from errorlint linter on controller folder (#18690)
Signed-off-by: Matthieu MOREL <[email protected]>
Signed-off-by: pasha-codefresh <[email protected]>
Co-authored-by: pasha-codefresh <[email protected]>
2024-06-17 13:05:27 +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
Matthieu MORELandGitHub 6042442da4 chore: enable error-nil rule from testifylint linter (#18544)
Signed-off-by: Matthieu MOREL <[email protected]>
2024-06-10 10:38:55 -04: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
pasha-codefreshandGitHub 1b4df21984 Merge pull request from GHSA-9m6p-x4h2-6frq
* feat: limit jq.Run with timeout

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

* feat: ignore normalizer jq execution timeout as env variable

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

* feat: customize error message and add doc section

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

* feat: improve log and change a way how to get variable

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

* chore: fix import`s order

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

* chore: rename variable inside sts

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

* chore: fix import order

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

---------

Signed-off-by: pashakostohrys <[email protected]>
2024-04-26 12:24:02 +03:00
9f667f77de fix: fix calculating patch for respect ignore diff feature (#17693)
* test: unit test for respectIgnoreDifferences bug

Signed-off-by: Jesse Suen <[email protected]>

* test: simplify unit test

Signed-off-by: Jesse Suen <[email protected]>

* fix: fix calculating patch for respect ignore diff feature

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

---------

Signed-off-by: Jesse Suen <[email protected]>
Signed-off-by: Alexander Matyushentsev <[email protected]>
Co-authored-by: Jesse Suen <[email protected]>
2024-04-03 22:56:59 +00:00
812473cf92 fix: Appcontroller respects sync windows (#16492)
* fix: Appcontroller keeps op running when denied by sync window

Signed-off-by: Charles Coupal-Jetté <[email protected]>

* fix: Update test name

Signed-off-by: Charles Coupal-Jetté <[email protected]>

---------

Signed-off-by: Charles Coupal-Jetté <[email protected]>
Co-authored-by: Blake Pettersson <[email protected]>
2024-03-26 08:45:35 -04:00
gdsoumyaandGitHub f63e51e7df feat: grace period for repo errors to prevent aggressive unknown sync state (#16085)
* feat: added grace period for repo errors to prevent aggressive sync state unknowns

Signed-off-by: Soumya Ghosh Dastidar <[email protected]>

* feat: updated docs

Signed-off-by: Soumya Ghosh Dastidar <[email protected]>

* fix: e2e test

Signed-off-by: Soumya Ghosh Dastidar <[email protected]>

* feat: resolved review comments

Signed-off-by: Soumya Ghosh Dastidar <[email protected]>

* feat: update unit test

Signed-off-by: Soumya Ghosh Dastidar <[email protected]>

* fix: codegen

Signed-off-by: Soumya Ghosh Dastidar <[email protected]>

---------

Signed-off-by: Soumya Ghosh Dastidar <[email protected]>
Signed-off-by: gdsoumya <[email protected]>
2023-11-02 11:51:16 -04:00
Eng Zer JunandGitHub 9807275c7b chore: use t.Setenv to set env vars in tests (#14377)
This commit replaces `os.Setenv` with `t.Setenv` in tests. The
environment variable is automatically restored to its original value
when the test and all its subtests complete.

Reference: https://pkg.go.dev/testing#T.Setenv

Signed-off-by: Eng Zer Jun <[email protected]>
2023-07-06 19:50:08 -04:00
Blake PetterssonandGitHub 0d52a16b14 fix: update managed namespace metadata (#13074)
* fix: update managed namespace metadata

This commit fixes an issue where a namespace does not get updated
unless a sync is performed. Since the `managedNamespaceMetadata` is not
a part of the Application Git state, we need a way to force a sync once
the metadata has changed. In order to do that, we need to add state
to compare with.

Once a sync is performed, the `ManagedNamespaceMetadata` gets copied
to `SyncResult`, which will then be compared with on subsequent syncs.
If there's a mismatch between
`app.Spec.SyncPolicy.ManagedNamespaceMetadata` and
`app.Status.OperationState.SyncResult.ManagedNamespaceMetadata` we mark
the Application as `OutOfSync`.

Fixes #12661.

Signed-off-by: Blake Pettersson <[email protected]>

* fix: nil check

Signed-off-by: Blake Pettersson <[email protected]>

* fix: allow empty apps to be updated

If an app is empty but still differs in terms of
`managedNamespaceMetadata`, it should still be kept up to date.

Signed-off-by: Blake Pettersson <[email protected]>

* test: add unit tests in appcontroller

Signed-off-by: Blake Pettersson <[email protected]>

* fix: rebase

Signed-off-by: Blake Pettersson <[email protected]>

* refactor: extract method

Consolidate checks to `app.HasChangedManagedNamespaceMetadata()`

Signed-off-by: Blake Pettersson <[email protected]>

* chore: make codegen

Signed-off-by: Blake Pettersson <[email protected]>

---------

Signed-off-by: Blake Pettersson <[email protected]>
2023-05-19 09:55:08 -04:00
f6c1a78677 feat: Multiple sources for applications (#2789) (#10432)
* feat: support multiple sources for application

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

remove debug logging and unwanted code

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

fix lint and unit test errors

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

fix lint and unit test errors

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

* fix bug introduced after rebase

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

executed make codegen

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

* rebase with master

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

remove unwanted logging

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

fix ci failures

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

* fix index out of bounds error

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

* ui fixes

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

* add revisions to SyncOperation for rollback

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

* change Source to *ApplicationSource in ApplicationSpec

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

* fix env variable read logic for ValueFiles

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

* update multiple sources doc

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

* add repository lock and checkout target revision

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

fix codegen

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

* checkout all sources before generating manifest

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

generate mock reposerverclient

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

* update logic for returning ManifestResponse to avoid nil pointer issues

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

* fix nil reference and key mismatch bugs; add more logs (#6)

* fix nil reference and key mismatch bugs; add more logs
* remove temporary comment
* addressed the lint failure and added chart to RefTargeRevisionMapping
* normalize git repo (#7)
* do not leak lock releases
* prevent deadlock
* allow spec update
* move settings fetch outside loop
* cache busing
* return err instead of logging it
* no caching in test
* fix cache key marshaling

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

Rebase with master

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

* update grpc field numbers

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

* path resolution tests (#12)

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

do things in better ways

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

consolidate

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

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

* add regex check for value of source.ref

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

* add webhook tests

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

change Source to *ApplicationSource in ApplicationSpec

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

address PR comments

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

rebase with master

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

Retrigger CI pipeline

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

rebased with master

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

* fix env variable read logic for ValueFiles

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

Address PR comments

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

* add repository lock and checkout target revision

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

fix codegen

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

* checkout all sources before generating manifest

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

* generate mock reposerverclient

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

* address comments

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

* update logic for returning ManifestResponse to avoid nil pointer issues

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

* fix nil reference and key mismatch bugs; add more logs (#6)

* fix nil reference and key mismatch bugs; add more logs
* remove temporary comment
* addressed the lint failure and added chart to RefTargeRevisionMapping
* normalize git repo (#7)
* do not leak lock releases
* prevent deadlock
* allow spec update
* move settings fetch outside loop
* cache busing
* return err instead of logging it
* no caching in test
* fix cache key marshaling

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

Rebase with master

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

* update grpc field numbers

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

* add regex check for value of source.ref

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

* Rebase with master

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

* Added unit tests (#15)

* add unit tests 1
* fix lint

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

* fix application parameters tab, rebased UI changes, tests

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

* More tests (#16)

* more tests

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

fix lint error

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

Test get ref sources (#17)

* test GetRefSources

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

* fix lint

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

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

GenerateManifests test (#18)

* GenerateManifests test

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

Fix broken tests (#19)

* fix broken tests

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

Symlink test (#20)

* check referenced sources for out-of-bounds symlinks

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

* unlock the values file repo before doing a symlink check (#22)

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

* multi source docs (#21)

* multi source docs

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

* fix warning title

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

* clarify

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

* clarify

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

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

* add e2e tests for multiple sources and fix UI lint (#23)

* add e2e tests for multiple sources and fix UI lint

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

* add auto-sync and hard refresh to e2e tests

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

* change refresh type to RefreshTypeNormal for e2e

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

* update e2e testcase with helm data

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

* add TestMultiSourceAppWithSourceOverride

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

* add missing yaml file

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

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

* rebase with master

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

* rebase with master

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

* fix lint

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

Signed-off-by: ishitasequeira <[email protected]>
Signed-off-by: Michael Crenshaw <[email protected]>
Signed-off-by: Michael Crenshaw <[email protected]>
Co-authored-by: Michael Crenshaw <[email protected]>
2022-12-16 15:47:08 -05:00
Leonardo Luz AlmeidaandGitHub bab3ef805a feat: new sync option to use ignore diff configs during sync (#8078)
feat: new sync option to use ignore diff configs during sync (#8078)

Signed-off-by: Leonardo Luz Almeida <[email protected]>
2022-01-13 13:00:17 -08:00
Leonardo Luz AlmeidaandGitHub 6dcaa08173 feat: add new sync option to fail if finds shared resources (#7444)
* feat: add new sync option to fail if finds shared resources

Signed-off-by: Leonardo Luz Almeida <[email protected]>

* docs: add docs for FailOnSharedResource sync option

Signed-off-by: Leonardo Luz Almeida <[email protected]>
2021-10-20 08:06:41 -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
Alexander MatyushentsevandGitHub 2326678221 refactor: upgrade k8s client to 1.18 (#4046)
* refactor: upgrade k8s client to 1.18

* remove unnecessary go mod replacements
2020-08-05 11:36:40 -07:00
Alexander MatyushentsevandGitHub 11b0b76735 fix: controller should not re-trigger auto-sync if sync failed due to comparison error (#3824) 2020-06-22 14:09:22 -07:00
Alexander MatyushentsevandGitHub a68b34dd33 feat: move engine code to argoproj/gitops-engine repo (#3599) 2020-05-15 14:39:29 -07:00