Compare commits

...

1992 Commits

Author SHA1 Message Date
github-actions[bot]
48549a2035 Bump version to 3.2.7 on release-3.2 branch (#26503)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: reggie-k <19544836+reggie-k@users.noreply.github.com>
2026-02-18 14:35:48 +02:00
dudinea
10c3fd02f4 fix: Fix excessive ls-remote requests on monorepos with Auto Sync enabled apps (26277) (cherry-pick #26278 for 3.2) (#26502)
Signed-off-by: Eugene Doudine <eugene.doudine@octopus.com>
Co-authored-by: Dan Garfield <dan.garfield@octopus.com>
2026-02-18 14:26:28 +02:00
argo-cd-cherry-pick-bot[bot]
ca08f90e96 fix(server): OIDC config via secrets fails (#18269) (cherry-pick #26214 for 3.2) (#26389)
Signed-off-by: Valéry Fouques <48053275+BZValoche@users.noreply.github.com>
Co-authored-by: Valéry Fouques <48053275+BZValoche@users.noreply.github.com>
2026-02-16 22:08:24 -10:00
argo-cd-cherry-pick-bot[bot]
1f03b27fd5 ci: exclude testdata from sonar.exclusions (cherry-pick #26398 and #26371 for 3.2) (#26424)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
Co-authored-by: Regina Voloshin <regina.voloshin@codefresh.io>
2026-02-12 17:42:27 +02:00
argo-cd-cherry-pick-bot[bot]
9c128e2d4c fix: compressedLayerExtracterStore+isCompressedLayer - allow tar.gzip suffixes (cherry-pick #26355 for 3.2) (#26375)
Signed-off-by: erin liman <erin.liman@tiktokusds.com>
Co-authored-by: erin <6914822+nepeat@users.noreply.github.com>
2026-02-10 10:58:06 -05:00
Nitish Kumar
75eddbd910 chore(deps): update group golang to v1.25.6 (cherry-pick release-3.2) (#26291)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2026-02-06 00:30:10 -10:00
github-actions[bot]
65b029342d Bump version to 3.2.6 on release-3.2 branch (#26120)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: crenshaw-dev <350466+crenshaw-dev@users.noreply.github.com>
2026-01-22 14:34:29 -05:00
Codey Jenkins
2ff406ae33 fix: cherry pick #25516 to release-3.2 (#26115)
Signed-off-by: Codey Jenkins <FourFifthsCode@users.noreply.github.com>
Signed-off-by: pbhatnagar-oss <pbhatifiwork@gmail.com>
Co-authored-by: pbhatnagar-oss <pbhatifiwork@gmail.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2026-01-22 13:34:06 -05:00
John Soutar
76fc92f655 chore(deps): update notifications-engine to fix GitHub PR comments nil panic (cherry-pick #26065 for 3.2) (#26074)
Signed-off-by: John Soutar <john@tella.com>
2026-01-21 09:21:20 +02:00
dudinea
ad117b88a6 fix: invalid error message on health check failure (#26040) (cherry pick #26039 for 3.2) (#26070)
Signed-off-by: Eugene Doudine <eugene.doudine@octopus.com>
2026-01-20 17:34:00 +02:00
argo-cd-cherry-pick-bot[bot]
508da9c791 fix(hydrator): empty links for failed operation (#25025) (cherry-pick #26014 for 3.2) (#26016)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2026-01-15 16:26:37 -05:00
argo-cd-cherry-pick-bot[bot]
20866f4557 fix(hydrator): .gitattributes include deeply nested files (#25870) (cherry-pick #26011 for 3.2) (#26012)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2026-01-15 15:39:26 -05:00
argo-cd-cherry-pick-bot[bot]
e3b108b738 fix: close response body on error paths to prevent connection leak (cherry-pick #25824 for 3.2) (#26006)
Signed-off-by: chentiewen <tiewen.chen@aminer.cn>
Co-authored-by: QingHe <634008786@qq.com>
Co-authored-by: chentiewen <tiewen.chen@aminer.cn>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-15 14:34:59 +01:00
github-actions[bot]
c56f4400f2 Bump version to 3.2.5 on release-3.2 branch (#25982)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: reggie-k <19544836+reggie-k@users.noreply.github.com>
2026-01-14 18:10:41 +02:00
Regina Voloshin
e9d03a633e docs: Run make codegen for notifications engine changes (#25958)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
2026-01-13 14:00:42 +02:00
github-actions[bot]
030b4f982b Bump version to 3.2.4 on release-3.2 branch (#25954)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: reggie-k <19544836+reggie-k@users.noreply.github.com>
2026-01-13 10:02:02 +02:00
Regina Voloshin
fafbd44489 feat: Cherry-pick to 3.2 update notifications engine to v0.5.1 0.20251223091026 8c0c96d8d530 (#25930)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
2026-01-12 17:06:36 +05:30
argo-cd-cherry-pick-bot[bot]
d7d9674e33 fix(appset): do not trigger reconciliation on appsets not part of allowed namespaces when updating a cluster secret (cherry-pick #25622 for 3.2) (#25911)
Signed-off-by: OpenGuidou <guillaume.doussin@gmail.com>
Co-authored-by: OpenGuidou <73480729+OpenGuidou@users.noreply.github.com>
2026-01-09 16:17:42 +01:00
argo-cd-cherry-pick-bot[bot]
e6f54030f0 fix: Only show please update resource specification message when spec… (cherry-pick #25066 for 3.2) (#25895)
Signed-off-by: Josh Soref <jsoref@gmail.com>
Co-authored-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2026-01-07 10:11:25 -05:00
Nitish Kumar
b4146969ed chore(cherry-pick-3.2): bump expr to v1.17.7 (#25889)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2026-01-07 13:31:41 +02:00
argo-cd-cherry-pick-bot[bot]
51c6375130 ci: test against k8s 1.34.2 (cherry-pick #25856 for 3.2) (#25859)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
Co-authored-by: Regina Voloshin <regina.voloshin@codefresh.io>
2026-01-05 18:47:45 +02:00
argo-cd-cherry-pick-bot[bot]
b67eb40a45 docs: link to source hydrator (cherry-pick #25813 for 3.2) (#25814)
Signed-off-by: Josh Soref <jsoref@gmail.com>
Co-authored-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2026-01-05 10:52:46 +02:00
Nitish Kumar
8a0633b74a chore(deps): bump go to 1.25.5 (cherry-pick) (#25805)
Signed-off-by: nitishfy <justnitish06@gmail.com>
Co-authored-by: Papapetrou Patroklos <1743100+ppapapetrou76@users.noreply.github.com>
2026-01-05 10:36:04 +02:00
argo-cd-cherry-pick-bot[bot]
0d4f505954 test: fix flaky create repository test by resyncing informers (cherry-pick #25706 for 3.2) (#25795)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
Co-authored-by: Regina Voloshin <regina.voloshin@codefresh.io>
2025-12-24 17:45:02 +02:00
github-actions[bot]
2b6251dfed Bump version to 3.2.3 on release-3.2 branch (#25796)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: reggie-k <19544836+reggie-k@users.noreply.github.com>
2025-12-24 14:06:14 +02:00
Anand Francis Joseph
8f903c3a11 chore(deps): bump golang.org/x/crypto from 0.42.0 to 0.46.0 (#25791)
Signed-off-by: anandf <anjoseph@redhat.com>
2025-12-24 14:01:26 +02:00
github-actions[bot]
8d0dde1388 Bump version to 3.2.2 on release-3.2 branch (#25729)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: reggie-k <19544836+reggie-k@users.noreply.github.com>
2025-12-18 11:39:51 +02:00
argo-cd-cherry-pick-bot[bot]
784f62ca6d fix(server): update resourceVersion on Terminate retry (cherry-pick #25650 for 3.2) (#25718)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-12-18 01:15:13 +01:00
Marco Maurer (-Kilchhofer)
33b5043405 fix(oidc): check userinfo endpoint in AuthMiddleware (cherry-pick #23586 for 3.2) (#25415)
Signed-off-by: Nathanael Liechti <technat@technat.ch>
Co-authored-by: Nathanael Liechti <technat@technat.ch>
2025-12-17 18:48:23 -05:00
Regina Voloshin
88fe638aff chore(deps):bumped gitops-engine to v0.7.1-0.20251217140045-5baed5604d2d with bumped k8s.io/kubernetes to 1.34.2 (#25708)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
2025-12-17 11:23:22 -05:00
argo-cd-cherry-pick-bot[bot]
a29703877e test(controller): avoid race in test (cherry-pick #25655 for 3.2) (#25691)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-12-16 21:06:06 +02:00
Regina Voloshin
95e7cdb16f chore(deps): bumped k8s.io/kubernetes v1.34.0 to v1.34.2 - manual cherry-pick of 25682 for 3-2 (#25687)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
2025-12-16 18:07:01 +02:00
argo-cd-cherry-pick-bot[bot]
122f4db3db fix(hydrator): appset should preserve annotation when hydration is requested (cherry-pick #25644 for 3.2) (#25654)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Regina Voloshin <regina.voloshin@codefresh.io>
2025-12-16 10:05:22 -05:00
argo-cd-cherry-pick-bot[bot]
2d65b26420 test: fix flaky impersonation test (cherry-pick #25641 for 3.2) (#25688)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-12-16 16:08:22 +02:00
Andreas Lindhé
0ace9bb9a3 docs: sync-waves guide: Use markdown formatting (cherry-pick #25372 for 3.2) (#25659)
Signed-off-by: Andreas Lindhé <7773090+lindhe@users.noreply.github.com>
Co-authored-by: Dov Murik <dov.murik@gmail.com>
2025-12-16 08:07:21 +02:00
argo-cd-cherry-pick-bot[bot]
6398ec3dcb chore: release champ 3.3 (cherry-pick #25202 for 3.2) (#25663)
Signed-off-by: Peter Jiang <35584807+pjiang-dev@users.noreply.github.com>
Co-authored-by: Peter Jiang <35584807+pjiang-dev@users.noreply.github.com>
2025-12-15 17:05:43 +02:00
argo-cd-cherry-pick-bot[bot]
732b16fb2a fix: create read and write secret for same url (cherry-pick #25581 for 3.2) (#25589)
Signed-off-by: emirot <emirot.nolan@gmail.com>
Co-authored-by: Nolan Emirot <emirot.nolan@gmail.com>
2025-12-10 11:17:58 +02:00
Ivan Pedersen
024c7e6020 chore: reference gitops-engine fork with nil pointer fix (#25522)
Signed-off-by: Ivan Pedersen <ivan.pedersen@volvocars.com>
2025-12-04 17:41:59 -05:00
argo-cd-cherry-pick-bot[bot]
26b7fb2c61 docs: add added healthchecks to upgrade docs (cherry-pick #25487 for 3.2) (#25490)
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-12-03 13:48:57 +01:00
github-actions[bot]
8c4ab63a9c Bump version to 3.2.1 on release-3.2 branch (#25449)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: reggie-k <19544836+reggie-k@users.noreply.github.com>
2025-11-30 13:37:38 +02:00
dudinea
29f869c82f fix: the concurrency issue with git detached processing in Repo Server (#25101) (cherry-pick #25127 for 3.2) (#25448)
Signed-off-by: Eugene Doudine <eugene.doudine@octopus.com>
2025-11-30 13:24:37 +02:00
argo-cd-cherry-pick-bot[bot]
c11e67d4bf docs: Document usage of ?. in notifications triggers and fix examples (#25352) (cherry-pick #25418 for 3.2) (#25421)
Signed-off-by: Eugene Doudine <eugene.doudine@octopus.com>
Co-authored-by: dudinea <eugene.doudine@octopus.com>
2025-11-26 09:41:59 +02:00
Regina Voloshin
a0a18438ab docs: Improve switch to annotation tracking docs, clarifying that a new Git commit may be needed to avoid orphan resources - (cherry-pick #25309 for 3.2) (#25338)
Signed-off-by: Regina Voloshin <regina.voloshin@codefresh.io>
2025-11-19 11:46:19 +01:00
Jaewoo Choi
dabdf39772 fix(ui): overlapping UI elements and add resource units to tooltips (cherry-pick #24717 for 3.2) (#25225)
Signed-off-by: choejwoo <jaewoo45@gmail.com>
2025-11-18 14:17:12 -08:00
argo-cd-cherry-pick-bot[bot]
cd8df1721c fix: Allow the ISVC to be healthy when the Stopped Condition is False (cherry-pick #25312 for 3.2) (#25318)
Signed-off-by: Hannah DeFazio <h2defazio@gmail.com>
Co-authored-by: Hannah DeFazio <h2defazio@gmail.com>
2025-11-17 23:20:41 -10:00
argo-cd-cherry-pick-bot[bot]
27c5065308 fix: revert #24197 (cherry-pick #25294 for 3.2) (#25314)
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-11-17 23:19:48 -10:00
Peter Jiang
1545390cd8 fix(cherry-pick): bump gitops-engine ssd regression (#25226)
Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-11-08 19:13:02 -05:00
argo-cd-cherry-pick-bot[bot]
7bd02d7f02 fix:(ui) don't render ApplicationSelector unless the panel is showing (cherry-pick #25201 for 3.2) (#25208)
Signed-off-by: Jonathan Winters <wintersjonathan0@gmail.com>
Co-authored-by: jwinters01 <34199886+jwinters01@users.noreply.github.com>
2025-11-06 17:55:27 -05:00
argo-cd-cherry-pick-bot[bot]
86c9994394 docs: update user content for deleting applications (cherry-pick #25124 for 3.2) (#25174)
Signed-off-by: Atif Ali <atali@redhat.com>
Co-authored-by: Atif Ali <atali@redhat.com>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2025-11-05 01:15:04 -10:00
argo-cd-cherry-pick-bot[bot]
6dd5e7a6d2 fix(ui): add null-safe handling for assignedWindows in status panel (cherry-pick #25128 for 3.2) (#25180)
Signed-off-by: choejwoo <jaewoo45@gmail.com>
Co-authored-by: Jaewoo Choi <jaewoo45@gmail.com>
2025-11-05 01:12:47 -10:00
github-actions[bot]
66b2f302d9 Bump version to 3.2.0 on release-3.2 branch (#25160)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: crenshaw-dev <350466+crenshaw-dev@users.noreply.github.com>
2025-11-04 09:50:07 -05:00
argo-cd-cherry-pick-bot[bot]
a1df57df93 fix: capture stderr in executil RunWithExecRunOpts (cherry-pick #25139 for 3.2) (#25140)
Signed-off-by: Eugene Doudine <eugene.doudine@octopus.com>
Co-authored-by: dudinea <eugene.doudine@octopus.com>
2025-11-02 16:52:25 +01:00
argo-cd-cherry-pick-bot[bot]
8884b27381 fix(ui): Improve Delete Dialog Behaviour when deleting child apps in the app-of-app pattern (cherry-pick #24802 for 3.2) (#25123)
Signed-off-by: Atif Ali <atali@redhat.com>
Co-authored-by: Atif Ali <atali@redhat.com>
2025-11-02 08:16:39 +02:00
rumstead
be8e79eb31 feat(appset): add pprof endpoints (cherry-pick #25044 for 3.2) (#25051)
Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
2025-10-27 10:37:39 -04:00
Alexander Lindeskär
6aa9c20e47 fix: Health status for HTTPRoute with multiple generations (#24958) (cherry-pick #24959 for 3.2) (#25039)
Signed-off-by: Alexander Lindeskär <lindeskar@users.noreply.github.com>
2025-10-23 07:09:06 +03:00
github-actions[bot]
1963030721 Bump version to 3.2.0-rc4 on release-3.2 branch (#25010)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: crenshaw-dev <350466+crenshaw-dev@users.noreply.github.com>
2025-10-20 17:13:42 -04:00
argo-cd-cherry-pick-bot[bot]
b227ef1559 fix: don't show error about missing appset (cherry-pick #24995 for 3.2) (#24997)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
Co-authored-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2025-10-17 12:28:38 -07:00
argo-cd-cherry-pick-bot[bot]
d1251f407a fix(health): use promotion resource Ready condition regardless of reason (cherry-pick #24971 for 3.2) (#24973)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-10-15 22:28:47 -04:00
argo-cd-cherry-pick-bot[bot]
3db95b1fbe fix: make webhook payload handlers recover from panics (cherry-pick #24862 for 3.2) (#24912)
Signed-off-by: Jakub Ciolek <jakub@ciolek.dev>
Co-authored-by: Jakub Ciolek <66125090+jake-ciolek@users.noreply.github.com>
2025-10-14 14:15:16 -04:00
Carlos R.F.
7628473802 chore(deps): bump redis from 8.2.1 to 8.2.2 to address vuln (release-3.2) (#24891)
Signed-off-by: Carlos Rodriguez-Fernandez <carlosrodrifernandez@gmail.com>
2025-10-09 17:12:30 -04:00
github-actions[bot]
059e8d220e Bump version to 3.2.0-rc3 on release-3.2 branch (#24885)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: crenshaw-dev <350466+crenshaw-dev@users.noreply.github.com>
2025-10-07 13:33:02 -04:00
argo-cd-cherry-pick-bot[bot]
1ba3929520 fix(server): ensure resource health status is inferred on application retrieval (#24832) (cherry-pick #24851 for 3.2) (#24865)
Signed-off-by: Viacheslav Rianov <rianovviacheslav@gmail.com>
Co-authored-by: Rianov Viacheslav <55545103+vr009@users.noreply.github.com>
2025-10-06 16:57:56 -04:00
Peter Jiang
a42ccaeeca chore: bump gitops engine (#24864)
Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-10-06 14:58:54 -04:00
Peter Jiang
d75bcfd7b2 fix(cherry-pick): server-side diff shows duplicate containerPorts (#24842)
Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-10-03 17:25:06 -04:00
argo-cd-cherry-pick-bot[bot]
35e3897f61 fix(health): incorrect reason in PullRequest script (cherry-pick #24826 for 3.2) (#24828)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-10-02 17:32:19 -04:00
argo-cd-cherry-pick-bot[bot]
dc309cbe0d docs: fix typo in hydrator commit message template documentation (cherry-pick #24822 for 3.2) (#24827)
Signed-off-by: gyu-young-park <gyoue200125@gmail.com>
Co-authored-by: gyu-young-park <44598664+gyu-young-park@users.noreply.github.com>
2025-10-02 17:06:47 -04:00
Alexandre Gaudreault
a1f42488d9 fix: hydration errors not set on applications (#24755) (#24809)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-10-01 11:46:15 -04:00
github-actions[bot]
973eccee0a Bump version to 3.2.0-rc2 on release-3.2 branch (#24797)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: crenshaw-dev <350466+crenshaw-dev@users.noreply.github.com>
2025-09-30 11:32:15 -04:00
Ville Vesilehto
8f8a1ecacb Merge commit from fork
Fixed a race condition in repository credentials handling by
implementing deep copying of secrets before modification.
This prevents concurrent map read/write panics when multiple
goroutines access the same secret.

The fix ensures thread-safe operations by always operating on
copies rather than shared objects.

Signed-off-by: Ville Vesilehto <ville@vesilehto.fi>
2025-09-30 10:45:59 -04:00
Michael Crenshaw
46409ae734 Merge commit from fork
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-09-30 10:45:32 -04:00
Michael Crenshaw
5f5d46c78b Merge commit from fork
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-09-30 10:07:24 -04:00
Michael Crenshaw
722036d447 Merge commit from fork
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-09-30 09:45:21 -04:00
argo-cd-cherry-pick-bot[bot]
001bfda068 fix: #24781 update crossplane healthchecks to V2 version (cherry-pick #24782 for 3.2) (#24784)
Signed-off-by: Jonasz Łasut-Balcerzak <jonasz.lasut@gmail.com>
Co-authored-by: Jonasz Łasut-Balcerzak <jonasz.lasut@gmail.com>
2025-09-30 18:04:50 +05:30
argo-cd-cherry-pick-bot[bot]
4821d71e3d fix(health): typo in PromotionStrategy health.lua (cherry-pick #24726 for 3.2) (#24760)
Co-authored-by: Leonardo Luz Almeida <leoluz@users.noreply.github.com>
2025-09-27 23:45:10 +02:00
Atif Ali
ef8ac49807 fix: Clear ApplicationSet applicationStatus when ProgressiveSync is disabled (cherry-pick #24587 for 3.2 (#24716)
Signed-off-by: Atif Ali <atali@redhat.com>
2025-09-26 10:19:45 -04:00
Alexander Matyushentsev
feab307df3 feat: add status.resourcesCount field to appset and change limit default (#24698) (#24711)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2025-09-24 17:35:03 +05:30
argo-cd-cherry-pick-bot[bot]
087378c669 fix: update ExternalSecret discovery.lua to also include the refreshPolicy (cherry-pick #24707 for 3.2) (#24713)
Signed-off-by: AvivGuiser <avivguiser@gmail.com>
Co-authored-by: AvivGuiser <avivguiser@gmail.com>
2025-09-23 13:38:41 -04:00
Alexander Matyushentsev
f3c8e1d5e3 fix: limit number of resources in appset status (#24690) (#24697)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2025-09-22 14:58:00 -07:00
argo-cd-cherry-pick-bot[bot]
28510cdda6 fix: resolve argocdService initialization issue in notifications CLI (cherry-pick #24664 for 3.2) (#24680)
Signed-off-by: puretension <rlrlfhtm5@gmail.com>
Co-authored-by: DOHYEONG LEE <rlrlfhtm5@gmail.com>
2025-09-22 19:40:48 +02:00
argo-cd-cherry-pick-bot[bot]
6a2df4380a ci(release): only set latest release in github when latest (cherry-pick #24525 for 3.2) (#24686)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-09-22 11:46:55 -04:00
Michael Crenshaw
cd87a13a0d chore(ci): update github runners to oci gh arc runners (3.2) (#24632) (#24653)
Signed-off-by: Koray Oksay <koray.oksay@gmail.com>
Co-authored-by: Koray Oksay <koray.oksay@gmail.com>
2025-09-18 20:01:54 -04:00
argo-cd-cherry-pick-bot[bot]
1453367645 fix: Progress Sync Unknown in UI (cherry-pick #24202 for 3.2) (#24641)
Signed-off-by: Atif Ali <atali@redhat.com>
Co-authored-by: Atif Ali <56743004+aali309@users.noreply.github.com>
2025-09-18 14:37:39 -04:00
argo-cd-cherry-pick-bot[bot]
50531e6ab3 fix(oci): loosen up layer restrictions (cherry-pick #24640 for 3.2) (#24648)
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-09-18 06:25:30 -10:00
argo-cd-cherry-pick-bot[bot]
bf9f927d55 fix: use informer in webhook handler to reduce memory usage (cherry-pick #24622 for 3.2) (#24623)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
Co-authored-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2025-09-17 14:51:08 -07:00
argo-cd-cherry-pick-bot[bot]
ee0de13be4 docs: Delete dangling word in Source Hydrator docs (cherry-pick #24601 for 3.2) (#24604)
Signed-off-by: José Maia <josecbmaia@hotmail.com>
Co-authored-by: José Maia <josecbmaia@hotmail.com>
2025-09-17 11:36:06 -04:00
argo-cd-cherry-pick-bot[bot]
4ac3f920d5 chore: bumps redis version to 8.2.1 (cherry-pick #24523 for 3.2) (#24582)
Signed-off-by: Patroklos Papapetrou <ppapapetrou76@gmail.com>
Co-authored-by: Papapetrou Patroklos <1743100+ppapapetrou76@users.noreply.github.com>
2025-09-16 12:22:10 -04:00
github-actions[bot]
06ef059f9f Bump version to 3.2.0-rc1 on release-3.2 branch (#24581)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: crenshaw-dev <350466+crenshaw-dev@users.noreply.github.com>
2025-09-16 09:37:35 -04:00
Alexandre Gaudreault
45c8fd9d2b chore: add triage/pending label to new issues (#24572)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-09-15 16:38:46 -04:00
Blake Pettersson
2bba563a76 chore(ci): cherry-pick workflow improvements (#24575)
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-09-15 20:15:49 +00:00
Josef Kolář
f13aa46e7f fix(cli): respect refresh type when running with specified revision (#22463) (#22462)
Signed-off-by: Josef Kolář <josef.kolar@firma.seznam.cz>
2025-09-15 17:24:30 +00:00
Austin Palazzesi
3af3a056a2 feat: add sso-host flag for OAuth2 login configuration (#22738) (#22784)
Signed-off-by: PaleHazy <austinrpg@live.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-09-15 13:10:43 -04:00
Ryosuke Matsui
aed63c628d fix: remove platform flag to fix multi-platform binary architecture of CLI tools #24549 (#24550)
Signed-off-by: Ryosuke Matsui <pinelibg@outlook.jp>
2025-09-15 10:37:16 -04:00
Nitish Kumar
22d3ef0ef6 fix: respect ignore differences for individual array elements in CRDs (#24197)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2025-09-15 10:28:13 -04:00
looperunbalanced
e8875bbe7b docs: Correct a minor typo (#24566)
Signed-off-by: looperunbalanced <224083069+looperunbalanced@users.noreply.github.com>
2025-09-15 19:54:46 +05:30
Revital Barletz
5c10b47d27 docs: Update rbac.md to include more examples for group policies: g, role:admin, role:readonly, ... (#24569)
Signed-off-by: Revital Barletz <Revital.barletz@octopus.com>
2025-09-15 10:20:09 -04:00
github-actions[bot]
1680134dc2 [Bot] docs: Update Snyk report (#24552)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
Co-authored-by: rumstead <37445536+rumstead@users.noreply.github.com>
2025-09-15 14:00:28 +00:00
dependabot[bot]
a330ae4355 chore(deps): bump sigstore/cosign-installer from 3.9.2 to 3.10.0 (#24558)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-15 09:44:54 -04:00
dependabot[bot]
cd3dc7a1cf chore(deps): bump tj-actions/changed-files from 46.0.5 to 47.0.0 (#24560)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-15 09:31:40 -04:00
dependabot[bot]
f4541a60c0 chore(deps): bump github.com/casbin/casbin/v2 from 2.122.0 to 2.123.0 (#24557)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-15 09:30:48 -04:00
dependabot[bot]
81da5ea740 chore(deps): bump renovatebot/github-action from 43.0.11 to 43.0.12 (#24559)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-15 07:15:24 -04:00
Kai Udo
c4d99bb224 fix(controller): expose ARGOCD_SYNC_WAVE_DELAY as configurable parameter (#24536)
Signed-off-by: u-kai <76635578+u-kai@users.noreply.github.com>
2025-09-14 21:39:04 +00:00
dependabot[bot]
21ec075fd9 chore(deps): bump google.golang.org/protobuf from 1.36.8 to 1.36.9 (#24495)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-14 17:15:19 -04:00
Jaewoo Choi
b834987db9 docs: Fix typos in user guide documentation (#24548)
Signed-off-by: choejwoo <jaewoo45@gmail.com>
Co-authored-by: Ishita Sequeira <46771830+ishitasequeira@users.noreply.github.com>
2025-09-14 21:11:28 +00:00
Omar
139debe3bb docs: clarify timeout.reconciliation values (#24551)
Signed-off-by: Omar Soriano <osoriano2@gmail.com>
2025-09-14 17:01:00 -04:00
Dale Haiducek
f4c4c66f38 fix(health): add logic for disabled policies (#21347)
Signed-off-by: Dale Haiducek <19750917+dhaiducek@users.noreply.github.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-09-12 22:09:30 +00:00
fpetr
0793efb5e4 fix: Badge display revision for multiple-sources application #17986 (#22547)
Signed-off-by: fpetr <petr.frantisek@gmail.com>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: fpetr <111520435+fpetr@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-12 19:37:42 +00:00
Kim Brose
15a35daf16 docs: Clarifications in in user-guide/helm.md (#23281)
Signed-off-by: Kim Brose <2803622+HarHarLinks@users.noreply.github.com>
2025-09-12 15:10:44 -04:00
Xiao Yang
4e5b201ba5 fix: ArgoCD CLI diff shows installationID annotations (#22409) (#22567)
Signed-off-by: yang.xiao <yang.xiao@daocloud.io>
2025-09-12 14:59:54 -04:00
Brian Fox
bb56b9ea67 fix: Ensure application sets in custom namespace can be upserted (#23860)
Signed-off-by: Brian Fox <brian.fox@embark-studios.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-09-12 18:57:05 +00:00
Jaewoo Choi
b18ea682c4 fix(ui): prevent undefined values in filter state causing checkbox corruption (#23733)
Signed-off-by: choejwoo <jaewoo45@gmail.com>
2025-09-12 14:53:20 -04:00
Michael Crenshaw
7fafc99a7a chore(ci): use existing label standard (#24543)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-09-12 13:44:56 -04:00
Jongwon Youn
ba38778d8c fix: improve CMP logging and error messages (#24022)
Signed-off-by: Jongwon Youn <eatingcookieman@gmail.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-09-12 16:54:58 +00:00
Viktor Hellström
48933252b4 chore: Adds an option to control what Docker network the virtualized … (#24174)
Signed-off-by: anfly0 <anfly0@gmail.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-09-12 16:49:05 +00:00
Xinzhao Xu
adf89ea322 chore(cmd): remove duplicate code in argocd-notification (#23929)
Signed-off-by: Xinzhao Xu <z2d@jifangcheng.com>
2025-09-12 12:41:23 -04:00
Yusuke Shimizu yu_ke
e492587fb1 docs: update Google OIDC connector to support Workload Identity (#23955)
Signed-off-by: Yusuke Shimizu <yusuke.shimizu@legalontech.jp>
2025-09-12 12:26:16 -04:00
DOHYEONG LEE
fed3c7eef7 docs: add TLS configuration quick reference table for easier understanding (#23888)
Signed-off-by: puretension <rlrlfhtm5@gmail.com>
2025-09-12 12:06:32 -04:00
Nitish Kumar
922e459665 chore(cli): rewrite supported formats (#24483)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2025-09-12 15:47:04 +00:00
Blake Pettersson
0fe2a2110c chore(ci): cherry pick v2 (#24322)
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-09-12 11:41:39 -04:00
Sven Mollinga
1e4cfcc4a0 docs(users): Add Shock Media to users (#24538)
Signed-off-by: Sven Mollinga <smollinga@gmail.com>
2025-09-12 11:12:39 -04:00
downfa11
8d018bbf2e feat(ui): add sortable columns to application list (#24213) (#24535)
Signed-off-by: downfa11 <downfa11@naver.com>
2025-09-12 11:07:44 -04:00
dependabot[bot]
41f664493e chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azcore from 1.19.0 to 1.19.1 (#24527)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-12 10:16:05 +00:00
Andrii Korotkov
939d88c5c6 chore: Fix data race in TestLogAppProjEvent (#24528) (#24529)
Signed-off-by: Andrii Korotkov <myolymp@gmail.com>
2025-09-12 15:14:16 +05:30
Edvin N
0174fccf28 docs: inform about #11104 in applicationset docs (#24533)
Signed-off-by: Edvin Norling <edvin.norling@kognic.com>
2025-09-12 11:41:56 +02:00
jiwlee
6212ea2afb feat(ui): adjust line-height and spacing for multi-line text in details row (#24173)
Signed-off-by: jiwlee <ddazi9576@gmail.com>
2025-09-11 19:29:22 -04:00
Tony
873c2fcfc7 fix: labels field is nil in values interpolation (#24501) (#24502)
Signed-off-by: tonychg <tonychg7@pm.me>
2025-09-11 18:52:43 -04:00
Aditya Raj
2229f9d6fc feat(ui): Add hydration in status to dashboard application tiles (#24319)
Signed-off-by: Aditya Raj <adityaraj10600@gmail.com>
2025-09-11 17:08:45 -04:00
Oliver Gondža
5a8b427322 feat(controller): Permit using newer revision when retrying failed sync (#11494) (#23038)
Signed-off-by: Zadkiel AHARONIAN <hello@zadkiel.fr>
Signed-off-by: Oliver Gondža <ogondza@gmail.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Zadkiel AHARONIAN <hello@zadkiel.fr>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-09-11 15:19:00 +00:00
Nitish Kumar
2e5601f932 chore(cli): print groups when retrieving roles info (#24522)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2025-09-11 10:50:39 -04:00
Nitish Kumar
7ae14c89d9 feat: preserve non-hydrated files during hydration (#24129)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2025-09-11 10:47:00 -04:00
Bhavishya Mohan Aggarwal
8b8d04ecfa fix: propagate gRPC context to HTTP client in grpcproxy (#23840) (#24157)
Signed-off-by: Bhavishya Mohan Aggarwal <handballaggarwal@gmail.com>
2025-09-11 10:31:53 -04:00
Cayde6
c64183717b fix: replace grpc.NewClient (#19653) (#24188)
Signed-off-by: Jack-R-lantern <tjdfkr2421@gmail.com>
2025-09-11 10:05:57 -04:00
Suraj yadav
d54c8afc09 fix(ui): Made App name font bolder in applications-list rows (#24256)
Signed-off-by: Surajyadav <harrypotter1108@gmail.com>
2025-09-11 10:04:36 -04:00
downfa11
762114c6df feat(ui): Sort by application-sync-order in the list page (#23521) (#24191)
Signed-off-by: downfa11 <downfa11@naver.com>
2025-09-11 10:04:11 -04:00
jiwlee
564e507dd7 fix(ui): convert PolicyWrapper component to functional component (#23809)
Signed-off-by: jiwlee <ddazi9576@gmail.com>
Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-09-11 13:35:07 +02:00
Linus Ehlers
e4eb86d2db docs: Add code comment to explain relativizing all symlinks on extraction (#24514) 2025-09-11 07:12:37 -04:00
Yuvraj Shekhawat
bed3d56d17 docs: Update command to check PKCE usage in ArgoCD (#24516)
Signed-off-by: Yuvraj Shekhawat <56301121+yuvraj9@users.noreply.github.com>
2025-09-11 16:19:50 +05:30
dependabot[bot]
f401a0ee11 chore(deps): bump renovatebot/github-action from 43.0.10 to 43.0.11 (#24476)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-11 07:55:42 +03:00
dependabot[bot]
bc4775468a chore(deps): bump golang.org/x/net from 0.43.0 to 0.44.0 (#24493)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-11 07:54:29 +03:00
dependabot[bot]
17e5c1f68f chore(deps): bump google.golang.org/grpc from 1.75.0 to 1.75.1 (#24511)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-11 07:51:48 +03:00
Linus Ehlers
df324c07d8 fix: Ensure that symlink targets are not made absolute on extracting a tar (#24145) (#24146)
Signed-off-by: Linus Ehlers <Linus.Ehlers@ppi.de>
Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-09-10 16:12:31 -04:00
yafeiaa
6028dea3a5 feat: add OpenTelemetry trace context propagation for HTTP requests (#23029)
Signed-off-by: yafeiaa <fengyafei0405@163.com>
2025-09-10 10:24:58 -04:00
Michael Crenshaw
b68601255c docs: remove incorrect ignoreDifferences example (#24425)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
2025-09-10 14:14:15 +00:00
downfa11
e24d8d4024 fix(ui): resolve duplicate sync-policy (#24233)
Signed-off-by: downfa11 <downfa11@naver.com>
2025-09-10 10:06:20 -04:00
Papapetrou Patroklos
93148b52c4 chore: adds scripts to perform gitops-engine migration (#24291)
Signed-off-by: Patroklos Papapetrou <ppapapetrou76@gmail.com>
Signed-off-by: Papapetrou Patroklos <1743100+ppapapetrou76@users.noreply.github.com>
Co-authored-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Co-authored-by: Leonardo Luz Almeida <leoluz@users.noreply.github.com>
2025-09-10 13:44:58 +00:00
Codey Jenkins
12d3f5dba1 fix: RunResourceAction: error getting Lua resource action: built-in script does not exist #24490 (#24491)
Signed-off-by: Codey Jenkins <FourFifthsCode@users.noreply.github.com>
2025-09-09 20:58:22 +00:00
dependabot[bot]
f5a562ac30 chore(deps): bump golang.org/x/term from 0.34.0 to 0.35.0 (#24472)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-09 16:12:58 +00:00
dependabot[bot]
1268dd9bff chore(deps): bump golang.org/x/oauth2 from 0.30.0 to 0.31.0 (#24444)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-09 11:24:43 -04:00
Michael Crenshaw
8b2799c51c feat(hydrator): parallelize repo-server calls (#24451) (#24436)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-09-09 09:51:49 -04:00
Peter Jiang
993344e232 chore: bump k8s 1.34 (#24405)
Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-09-08 16:06:51 -04:00
Nitish Kumar
670d383f69 fix: change the appset namespace to server namespace when generating appset (#23900)
Signed-off-by: nitishfy <justnitish06@gmail.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-09-08 15:47:17 -04:00
Michael Crenshaw
7829e2c6c1 chore(refactor): simplify hydrator manifest generation (#24427)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-09-08 16:00:22 +00:00
Pavel
ed752cb540 fix: correct post-delete finalizer removal when cluster not found (#24415)
Signed-off-by: Pavel Aborilov <aborilov@gmail.com>
2025-09-08 08:50:23 -07:00
github-actions[bot]
12b1bf5f34 [Bot] docs: Update Snyk report (#24437)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2025-09-08 15:45:42 +00:00
dependabot[bot]
52683fdd3e chore(deps): bump golang.org/x/time from 0.12.0 to 0.13.0 (#24441)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-08 11:38:43 -04:00
Michael Crenshaw
3247474212 chore(refactor): use contexts in hydration operations (#24431)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-09-08 11:14:48 -04:00
dependabot[bot]
c69d30e52d chore(deps): bump github.com/prometheus/client_golang from 1.23.0 to 1.23.2 (#24442)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-08 16:11:21 +03:00
Fox Piacenti
2cfc70afa9 docs: Change reference URL for HA manifests to stable. (#24049)
Signed-off-by: Fox Danger Piacenti <fox@opencraft.com>
2025-09-08 15:33:01 +03:00
Navaneethan
728674f922 docs: Fix cluster bootstrapping documentation (#24353)
Signed-off-by: Navaneethan <59121948+FalseDev@users.noreply.github.com>
2025-09-08 15:03:11 +03:00
dependabot[bot]
cb2b7faa6d chore(deps): bump codecov/codecov-action from 5.5.0 to 5.5.1 (#24413)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-08 14:01:59 +03:00
dependabot[bot]
a608753071 chore(deps): bump golang.org/x/sync from 0.16.0 to 0.17.0 (#24443)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-08 13:53:04 +03:00
dependabot[bot]
cc39e63e24 chore(deps): bump softprops/action-gh-release from 2.3.2 to 2.3.3 (#24445)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-08 12:12:32 +03:00
gsalamin
db7acf8501 docs: Use enabled in application example (#24448)
Signed-off-by: Grégoire Salamin <gregoire.salamin@gmail.com>
2025-09-08 09:08:13 +02:00
Aamir
23f3472f25 docs: clarify manifest-generate-paths annotation usage without webhooks (#24421)
Signed-off-by: Aamir017 <skaamir2005@gmail.com>
2025-09-07 14:49:14 +02:00
OpenGuidou
b96401bb76 fix(project): Do not block project update when a cluster referenced in an App doesn't exist (#23659)
Signed-off-by: OpenGuidou <guillaume.doussin@gmail.com>
2025-09-06 15:09:04 -04:00
Jean-Pierre Bergamin
f953976d92 docs: enhance orphaned resources documentation (#24243)
Signed-off-by: Jean-Pierre Bergamin <james.bergamin@comparis.ch>
Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
2025-09-06 15:05:22 -04:00
Kevin Park
26b970b5bd feat: Add gRPC health check in argocd-server (#24276)
Signed-off-by: Kevin Park <krapi0314@gmail.com>
2025-09-06 15:04:58 -04:00
Dan Garfield
f44de4b854 chore: Add make test-local to tiltfile (#24325)
Signed-off-by: Dan Garfield <dan.garfield@octopus.com>
2025-09-06 15:04:08 -04:00
dependabot[bot]
634ef6ff1c chore(deps): bump gitlab.com/gitlab-org/api/client-go from 0.142.4 to 0.142.6 (#24373)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-06 15:03:36 -04:00
dependabot[bot]
4a3884f516 chore(deps): bump github.com/spf13/pflag from 1.0.7 to 1.0.10 (#24377)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-06 15:03:21 -04:00
sqs
fd4355baae feat(health-check): Add resource_customizations for game.kruise.io (new) (#23558)
Signed-off-by: shiqisong <1355703321@qq.com>
2025-09-06 14:35:27 -04:00
Adriano Machado
d954789d47 feat(server): 3scale health checks (#24327) (#24326)
Signed-off-by: Adriano Machado <60320+ammachado@users.noreply.github.com>
2025-09-06 14:24:18 -04:00
github-actions[bot]
66f7b4caa1 [Bot] docs: Update Snyk report (#24331)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2025-09-06 18:20:00 +00:00
Szymon Kośla
c447628913 feat: Implement Altinity clickhouse-operator CRD health checks (#24017)
Signed-off-by: Szymon Kośla <szymon.kosla@gmail.com>
2025-09-06 14:15:01 -04:00
vetclippy
9922336968 chore: fix some function names in comments (#24381)
Signed-off-by: vetclippy <vetclippy@icloud.com>
2025-09-06 14:11:58 -04:00
Alexandre Gaudreault
8fa3e47d17 fix(health): remove CronJob progressing/suspended status (#24430)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-09-05 21:45:41 +00:00
dependabot[bot]
ae16c00916 chore(deps): bump actions/setup-go from 5.5.0 to 6.0.0 (#24412)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-05 16:27:12 -04:00
Nitish Kumar
267eb2ff0f chore: add cli scoped approver role for argocd (#24006)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2025-09-05 15:14:33 -04:00
Michael Crenshaw
1cec174803 chore(ci): run e2e tests on CNCF runner (#24320)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-09-05 11:27:44 -04:00
dependabot[bot]
05385b3dd8 chore(deps): bump github.com/casbin/govaluate from 1.9.0 to 1.10.0 (#24411)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-05 09:45:09 -04:00
dependabot[bot]
c07768cd64 chore(deps): bump github.com/casbin/casbin/v2 from 2.121.0 to 2.122.0 (#24409)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-05 06:43:33 -04:00
dependabot[bot]
b88527cb39 chore(deps): bump library/ubuntu from 1041699 to a61c057 in /test/container (#24382)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-04 11:22:38 -04:00
Michael Crenshaw
e8f86101f5 fix(security): repository.GetDetailedProject exposes repo secrets (#24387)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2025-09-04 10:59:58 -04:00
dependabot[bot]
5e5c4b7d03 chore(deps): bump github.com/ktrysmt/go-bitbucket from 0.9.86 to 0.9.87 (#24383)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-04 19:48:30 +05:30
dependabot[bot]
c7588ffb44 chore(deps): bump actions/setup-node from 4.4.0 to 5.0.0 (#24384)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-04 19:48:10 +05:30
pbhatnagar-oss
6f6c39d8f4 feat(hydrator): Commit message templating (#23679) (#24204)
Signed-off-by: pbhatnagar-oss <pbhatifiwork@gmail.com>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-09-03 14:04:15 -04:00
downfa11
4c9291152b fix: syncPolicy.automated.enabled=false does not disable automated sync (#24254)
Signed-off-by: downfa11 <downfa11@naver.com>
2025-09-03 21:33:59 +05:30
Michael Crenshaw
f2233ccd67 chore(refactor): simplify logic that generates server cert (#24335)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-09-03 11:21:28 -04:00
Alexandre Gaudreault
871b0b434c chore: bump gitops-engine w/ finalizer fix (#24348)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-09-03 09:39:42 -04:00
dependabot[bot]
35331553bf chore(deps): bump SonarSource/sonarqube-scan-action from 5.3.0 to 5.3.1 (#24358)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-03 06:58:50 -04:00
dependabot[bot]
3e70033247 chore(deps): bump gitlab.com/gitlab-org/api/client-go from 0.142.4 to 0.142.5 (#24361)
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Regina Voloshin <regina.voloshin@codefresh.io>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Regina Voloshin <regina.voloshin@codefresh.io>
2025-09-03 12:44:17 +03:00
Donghyun Kang
22c652cf97 fix: correct typo in applicationset/utils/utils.go (#24352)
Signed-off-by: augustkang <iamaugustkang@gmail.com>
Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-09-03 11:11:03 +02:00
dependabot[bot]
2ffaf43c1d chore(deps): bump github.com/spf13/cobra from 1.9.1 to 1.10.1 (#24362)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-03 11:09:55 +03:00
dependabot[bot]
4445dbafb2 chore(deps): bump renovatebot/github-action from 43.0.8 to 43.0.10 (#24363)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-03 11:06:29 +03:00
dependabot[bot]
04cf408264 chore(deps): bump the otel group with 4 updates (#24364)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-03 11:05:19 +03:00
Alexandre Gaudreault
5b8e4b57ac feat(server): pass authenticated userId as header to extensions (#24356)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-09-02 22:29:11 +00:00
Peter Jiang
88a32d6aab fix(ui): handle missing resources on UI (#24355)
Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-09-02 17:26:56 -04:00
Alexandre Gaudreault
51fa4e8a54 fix: do not change CronJob to progressing (#24269)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-09-02 14:51:47 -04:00
Michael Crenshaw
56320a7b08 fix(hydrator): handle empty path (#24349)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Akhil Singh <singhakhil69@gmail.com>
2025-09-02 13:54:06 -04:00
Aditya Raj
87faf58733 fix: Hydrator wipes out entire branch when multiple Applications hydrate to the same branch with different path (fixes #24179) (#24185)
Signed-off-by: Aditya Raj <adityaraj10600@gmail.com>
2025-08-30 16:23:36 -04:00
Nitish Kumar
1db5f2e618 chore(migrate): migrate renovate to renovate GH action (#24253)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2025-08-29 15:46:47 +00:00
Michael Crenshaw
d269e6f936 fix(appset): add applicationsets to the built-in readonly role (#24190) (#24318)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-08-29 11:03:13 -04:00
dependabot[bot]
e6a7c1d4e2 chore(deps): bump gitlab.com/gitlab-org/api/client-go from 0.142.1 to 0.142.4 (#24316)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-29 10:57:00 -04:00
Adrian Berger
91b8bba570 fix(health): custom resource health for flux helm repository of type oci (#24294)
Signed-off-by: Adrian Berger <adrian.berger@bedag.ch>
2025-08-28 14:39:44 -04:00
dependabot[bot]
29805b0e8f chore(deps): bump code.gitea.io/sdk/gitea from 0.21.0 to 0.22.0 (#24304)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-28 14:37:39 -04:00
Michael Crenshaw
69f24f007b chore(refactor): use new root.Mkdirall (#24298)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-08-28 09:47:57 -04:00
Blake Pettersson
7168674403 fix: downgrade go-git (#24288)
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-08-28 03:18:32 -10:00
dependabot[bot]
24d4cb57c5 chore(deps): bump github.com/casbin/casbin/v2 from 2.120.0 to 2.121.0 (#24302)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-28 03:17:19 -10:00
dependabot[bot]
d135f73160 chore(deps): bump github.com/stretchr/testify from 1.11.0 to 1.11.1 (#24306)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-28 03:16:35 -10:00
Viktor Oreshkin
37b0f0f767 docs: document server-side diff requests being issued on resource change (#24299)
Signed-off-by: Viktor Oreshkin <imselfish@stek29.rocks>
2025-08-27 15:56:27 -04:00
Dillen Padhiar
8c3b78ef88 fix: set correct path to metadata for numa rollout pause actions (#24280)
Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>
2025-08-27 18:59:59 +00:00
Michael Crenshaw
68e5a4a12c chore(hydrator): simplify dupe destination detection (#23566)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-08-27 13:05:26 -04:00
Michael Crenshaw
d154627681 docs(hydrator): remove trailer that doesn't exist (#23923)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-08-27 10:28:00 -04:00
pbhatnagar-oss
e85e353b81 feat(hydrator): Credential template to source hydrator (#23999)
Signed-off-by: pbhatnagar-oss <pbhatifiwork@gmail.com>
2025-08-27 10:13:42 -04:00
Nitish Kumar
c39fde74f0 chore: replace bitnami images (#24101)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2025-08-27 11:29:49 +03:00
dependabot[bot]
08cd547750 chore(deps): bump gitlab.com/gitlab-org/api/client-go from 0.142.0 to 0.142.1 (#24249)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-26 15:22:37 -04:00
ygit
4362e8ccb7 docs(users): Add 100ms to the list of users (#24265)
Signed-off-by: ygit <ygit@users.noreply.github.com>
2025-08-26 09:54:44 -04:00
Nitish Kumar
a06dfeb832 chore: check for gotestsum installation when running tests locally (#24271)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2025-08-26 13:13:01 +03:00
jan-mrm
b20fd4342f fix(discovery): add missing lua syntax and return to discovery (fixes #24257) (#24262)
Signed-off-by: jan-mrm <67435696+jan-mrm@users.noreply.github.com>
2025-08-25 15:08:34 -04:00
Matthew Bennett
1c5d7f1f65 fix: cache external TLS cert to avoid Loading TLS config log spam (#17277) (#23965) (#24080) 2025-08-25 10:38:08 +02:00
Archy
49f3c05d7d docs: Add Sophotech to adopters list (#24247)
Signed-off-by: Artem Muterko <artem@sopho.tech>
2025-08-25 09:13:25 +02:00
dependabot[bot]
9bc35de19d chore(deps): bump github.com/stretchr/testify from 1.10.0 to 1.11.0 (#24248)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-25 09:12:58 +02:00
dependabot[bot]
a4919edffb chore(deps): bump library/redis from 7.4.3 to 8.2.1 in /test/container (#24200)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-24 21:44:45 -04:00
dependabot[bot]
9e804f99f0 chore(deps): bump the otel group across 1 directory with 2 updates (#24217)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-24 21:24:25 -04:00
dependabot[bot]
ef8d03cea5 chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.10.1 to 1.11.0 (#24050)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-23 17:20:30 -04:00
dependabot[bot]
6265da106e chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azcore from 1.18.2 to 1.19.0 (#24227)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-23 16:19:07 -04:00
portly-halicore-76
b1b157068e fix: prevent idle connection buildup by cloning http.DefaultTransport in Bitbucket SCM/PR generator #24209 (#24210)
Signed-off-by: portly-halicore-76 <170707699+portly-halicore-76@users.noreply.github.com>
2025-08-23 07:23:41 -04:00
Codey Jenkins
7129a2c147 fix: High Application Controller CPU Usage - Reduce calls to db.GetSettings (#24235)
Signed-off-by: Codey Jenkins <FourFifthsCode@users.noreply.github.com>
Co-authored-by: Matthew Bennett <mtbennett@godaddy.com>
2025-08-22 13:28:20 -04:00
raweber
6c38186f7f fix: resolve argocd ui error for externalSecrets, fixes #23886 (#24232)
Signed-off-by: ralf.weber <ralf.weber@cistec.com>
Co-authored-by: ralf.weber <ralf.weber@cistec.com>
2025-08-22 18:41:55 +02:00
Kanika Rana
d3bdc9d5f3 docs: add docs for Progressive Sync's deletionOrder feature (#24201)
Signed-off-by: Kanika Rana <krana@redhat.com>
Signed-off-by: Kanika Rana <46766610+ranakan19@users.noreply.github.com>
Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
2025-08-22 21:36:09 +05:30
jiwlee
728262ac55 chore(ui/refactor): convert Login component to functional component (#23780)
Signed-off-by: jiwlee <ddazi9576@gmail.com>
Signed-off-by: jiwlee <53519832+jiwlee97@users.noreply.github.com>
Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-08-22 16:40:54 +02:00
Hugues Alary
928aee5dff docs: Update rbac.md (#24224)
Signed-off-by: Hugues Alary <hugues.alary@gmail.com>
2025-08-22 09:43:23 -04:00
dependabot[bot]
5ce60ca6e3 chore(deps): bump gitlab.com/gitlab-org/api/client-go from 0.141.2 to 0.142.0 (#24226)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-22 09:42:46 -04:00
dependabot[bot]
88fccc91c6 chore(deps): bump google.golang.org/protobuf from 1.36.7 to 1.36.8 (#24218)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-21 05:15:03 -04:00
dependabot[bot]
7a2dc7e80f chore(deps): bump gitlab.com/gitlab-org/api/client-go from 0.139.2 to 0.141.2 (#24216)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-21 05:14:32 -04:00
dependabot[bot]
8657798324 chore(deps): bump codecov/codecov-action from 5.4.3 to 5.5.0 (#24219)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-21 05:13:22 -04:00
dependabot[bot]
98f2760d50 chore(deps): bump github.com/jarcoal/httpmock from 1.4.0 to 1.4.1 (#24205)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-20 20:44:03 +00:00
dependabot[bot]
7ed0f2300e chore(deps): bump google.golang.org/grpc from 1.74.2 to 1.75.0 (#24206)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-20 11:11:25 -04:00
dependabot[bot]
5d5d17ae35 chore(deps): bump library/ubuntu from acdb2d3 to 1041699 in /test/container (#24207)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-20 11:11:05 -04:00
Denis Iskandarov
bfe8b30d9a docs: Document ARGOCD_CONFIG_DIR env variable (#24193) (#24194)
Signed-off-by: Denis Iskandarov <d.iskandarov@gmail.com>
Signed-off-by: Denis Iskandarov <den-is@users.noreply.github.com>
Co-authored-by: Afzal Ansari <afzal442@gmail.com>
2025-08-19 20:13:23 +05:30
Alexandre Gaudreault
65a082b12c fix(sync): do not retry when sync timeout has elapsed (#24020)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-08-19 09:27:43 -04:00
Dillen Padhiar
14a22ad926 feat: update unpause action for Numaproj CRDs (#24036)
Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>
2025-08-18 15:12:46 -04:00
Lee Jiny
70c8f4612f fix(cli): honor ALL_PROXY and other proxy environment variables (#24177)
Signed-off-by: SinnoLn <sintmtn69@gmail.com>
2025-08-18 23:16:34 +05:30
SoMin Park
b1a9fab70c feat(appset): enhance ApplicationSet status debugging logs (#23869)
Signed-off-by: Somin Park <ps4708@naver.com>
2025-08-18 16:33:11 +00:00
dependabot[bot]
1e5761c1d0 chore(deps): bump library/ubuntu from fcdea13 to acdb2d3 in /test/container (#24184)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-18 12:05:28 -04:00
Alexandre Gaudreault
8c8902b93f fix(server): validate new project on update (#23970) (#23973)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-08-17 23:29:22 -04:00
Suraj yadav
13c47ee244 feat(ui): Added repo connection state message (#24175)
Signed-off-by: Surajyadav <harrypotter1108@gmail.com>
2025-08-17 23:27:42 -04:00
dependabot[bot]
82391027d9 chore(deps): bump github.com/Azure/kubelogin from 0.2.9 to 0.2.10 (#23825)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-17 15:45:04 -04:00
Anthony Fiddes
0c82f4079b docs: mention that applicationsets resource can be used with project roles (#24182)
Signed-off-by: Anthony Fiddes <11233666+Anthony-Fiddes@users.noreply.github.com>
2025-08-17 11:11:59 +00:00
anthisfan
97af89a3b3 feat(ui): add prune option to application rollback (#23861) (#23932)
Signed-off-by: anthisfan <gtpgx305@gmail.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-08-15 19:25:37 +00:00
dependabot[bot]
d737f8fe43 chore(deps): bump library/busybox from f9a104f to ab33eac in /test/e2e/multiarch-container (#24162)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-15 11:53:54 -04:00
dependabot[bot]
57cccb65c2 chore(deps): bump gitlab.com/gitlab-org/api/client-go from 0.139.0 to 0.139.2 (#24160)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-15 11:45:46 -04:00
dependabot[bot]
9bca4859e0 chore(deps): bump library/ubuntu from 10b61aa to fcdea13 in /test/container (#24158)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-15 11:45:07 -04:00
dependabot[bot]
940a489cfa chore(deps): bump goreleaser/goreleaser-action from 6.3.0 to 6.4.0 (#24161)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-15 13:34:50 +02:00
Blake Pettersson
7dae82dfd3 chore: remove automaxprocs (#24164)
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-08-15 12:15:49 +03:00
dependabot[bot]
0984b03805 chore(deps): bump actions/cache from 4.2.3 to 4.2.4 (#24072)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-15 10:33:47 +02:00
dependabot[bot]
b74c0a0e1a chore(deps): bump github.com/casbin/casbin/v2 from 2.119.0 to 2.120.0 (#24159)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-15 10:20:17 +02:00
Kanika Rana
eaef25c3eb docs(progressivesync): Proposal of Deletion strategy for progressive sync (#22843)
Signed-off-by: Kanika Rana <krana@redhat.com>
2025-08-14 13:17:54 -04:00
Anand Francis Joseph
a8cae97da0 fix(util): Fix default key exchange algorthims used for SSH connection to be FIPS compliant (#24086)
Signed-off-by: anandf <anjoseph@redhat.com>
2025-08-14 13:01:19 +00:00
Blake Pettersson
b2b6d9822b chore: add oci env vars to manifests (#24113)
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-08-14 10:27:40 +00:00
Blake Pettersson
da7f11a826 chore: upgrade to go 1.25 (#24148)
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-08-14 13:01:55 +03:00
dependabot[bot]
2b1f5959bd chore(deps): bump gitlab.com/gitlab-org/api/client-go from 0.138.0 to 0.139.0 (#24141)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-14 08:15:56 +03:00
Peter Jiang
5e2a8a86d0 docs: promote server-side diff stable (#24138)
Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-08-13 22:41:24 -04:00
Alexandre Gaudreault
d3de4435ce feat(health): CronJob health and suspend, resume and terminate Job actions (#23991)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-08-13 16:08:24 -04:00
Jesse Hitch
5510bdfd71 docs: add Content-Type header to example curl command in api doc (#24127)
Signed-off-by: Jesse Hitch <jessebot@linux.com>
2025-08-13 14:43:52 -04:00
dependabot[bot]
c67763b069 chore(deps): bump library/ubuntu from 25.04 to 25.10 in /test/container (#23961)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-13 14:38:07 -04:00
Peter Jiang
1d6ba890a8 docs: promote server-side diff from beta to stable (#24119)
Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-08-13 20:22:19 +05:30
dependabot[bot]
2e90919fe6 chore(deps): bump google.golang.org/grpc from 1.74.0 to 1.74.2 (#23894)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-13 06:27:20 +00:00
dependabot[bot]
34bc56352c chore(deps): bump gitlab.com/gitlab-org/api/client-go from 0.137.0 to 0.138.0 (#24125)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-13 08:44:44 +03:00
dependabot[bot]
e039293b7e chore(deps): bump github.com/expr-lang/expr from 1.17.5 to 1.17.6 (#24124)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-13 08:43:05 +03:00
dependabot[bot]
2a0eac0ca9 chore(deps): bump github.com/casbin/casbin/v2 from 2.118.0 to 2.119.0 (#24123)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-13 08:41:58 +03:00
Peter Jiang
6a2077642e feat(cli): Support Server-Side Diff CLI (#23978)
Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-08-12 13:02:21 -04:00
jiwlee
24b0ecc657 fix(ui): convert GroupWrapper to a functional component (#23796)
Signed-off-by: jiwlee <ddazi9576@gmail.com>
2025-08-12 10:14:37 +02:00
Adrian Berger
d7364b4662 fix(dashboard): Allow quantile label as float and integer (#24087)
Signed-off-by: Adrian Berger <adrian.berger@bedag.ch>
2025-08-11 14:58:55 +05:30
Alexandre Gaudreault
f78cddf736 fix: revert kubeVersion change to preserve trailing + (#24066)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-08-11 12:10:18 +03:00
Blake Pettersson
45a7a18256 fix: kustomize edit add component check (#24100)
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-08-11 09:04:17 +00:00
Honglian You
04d1ca4733 fix(ui): catch AbortError during data fetch cancellation (#24054)
Signed-off-by: youhonglian <honglian.you@foxmail.com>
2025-08-11 11:02:20 +02:00
Nitish Kumar
6d9b5bdf53 chore: add @nitishfy for v3.2 release champion (#24097)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2025-08-11 10:46:06 +03:00
Ville Vesilehto
90123bac04 chore: update Go to 1.24.6 (#24090)
Signed-off-by: Ville Vesilehto <ville@vesilehto.fi>
2025-08-11 10:39:08 +03:00
dependabot[bot]
37b67fa4a5 chore(deps): bump github.com/casbin/casbin/v2 from 2.116.0 to 2.118.0 (#24099)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-11 10:04:22 +03:00
dependabot[bot]
48faed19f1 chore(deps): bump github.com/r3labs/diff/v3 from 3.0.1 to 3.0.2 (#24098)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-11 10:03:33 +03:00
dependabot[bot]
0e42012778 chore(deps): bump library/golang from 1.24.5 to 1.24.6 in /test/remote (#24061)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-10 22:07:28 -04:00
Noam Gal
1b3ced9261 fix: "admin cluster generate-spec" fails on missing "argocd-cm" (#10429) (#24088)
Signed-off-by: Noam Gal <noam.gal@octopus.com>
2025-08-10 15:41:10 +03:00
dependabot[bot]
ad2e4450f2 chore(deps): bump google.golang.org/protobuf from 1.36.6 to 1.36.7 (#24077)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-08 10:00:12 -04:00
dependabot[bot]
90e2148667 chore(deps): bump actions/download-artifact from 4.3.0 to 5.0.0 (#24052)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-08 12:04:09 +03:00
dependabot[bot]
2558e80f41 chore(deps): bump github.com/casbin/casbin/v2 from 2.111.0 to 2.116.0 (#24073)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-08 12:02:53 +03:00
dependabot[bot]
3c6449da89 chore(deps): bump golang.org/x/net from 0.42.0 to 0.43.0 (#24075)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-08 12:02:00 +03:00
Laurent Rochette
e5417e1eb3 docs: Incorporate grafana service doc change (#24069)
Signed-off-by: lrochette <laurent.rochette@codefresh.io>
2025-08-07 20:45:06 +03:00
Christopher Coco
69f7d39717 feat(cli): add 'get-resource' command (#23196) (#23609)
Signed-off-by: Christopher Coco <chriscoco1205@gmail.com>
2025-08-07 00:59:10 -04:00
dependabot[bot]
390ea4ff54 chore(deps): bump docker/login-action from 3.4.0 to 3.5.0 (#24043)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-06 21:42:41 -04:00
Quentin Ågren
7e868da310 docs: RBAC: Fix typo and rephrase fine-grained action syntax (#24033)
Signed-off-by: Quentin Ågren <quentin.agren@gmail.com>
2025-08-06 13:10:02 -04:00
Kevin Park
03ac864dde fix(cli): avoid panic in configure command when no local config exists (#23085) (#23967)
Signed-off-by: Kevin Park <krapi0314@gmail.com>
2025-08-06 12:48:22 -04:00
Josh Baird
27b70cf56e chore(ci): Use default TARGETPLATFORM for base ArgoCD image to fix multi-platform builds (#24048)
Signed-off-by: Josh Baird <jbaird@galileo.io>
2025-08-05 20:25:41 +00:00
Papapetrou Patroklos
8ed3a24d49 fix: improves message for diff-exit-code configuration option (#24039)
Signed-off-by: Patroklos Papapetrou <ppapapetrou76@gmail.com>
2025-08-05 09:27:18 +00:00
dependabot[bot]
9a990b7e89 chore(deps): bump github.com/go-jose/go-jose/v4 from 4.1.1 to 4.1.2 (#24032)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-05 10:48:25 +03:00
Gusty Sapto Ady Prakoso
ec80ebdf67 docs: add batumbu to USERS.md (#24035)
Signed-off-by: Gusty Sapto Ady Prakoso <gustysaptoadyprakoso@gmail.com>
2025-08-04 13:35:42 -04:00
Nitish Kumar
4dfab5d136 fix: remove tracking annotation from git manifest when performing hydration (#23857)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2025-08-04 17:21:47 +03:00
dudinea
8f23c885b6 fix: remove mounting of host /tmp when running argocd-test-(client|server) images (#24025) (#24028) (#24024)
Signed-off-by: Eugene Doudine <eugene.doudine@octopus.com>
2025-08-04 17:02:41 +03:00
Suraj yadav
48a7030125 fix(UI): Add missing icon colors to auto-sync (#23962)
Signed-off-by: Surajyadav <harrypotter1108@gmail.com>
2025-08-03 23:22:57 -04:00
renovate[bot]
38ad19fd95 chore(deps): update dependency pymdown-extensions to v10.16.1 (#23974)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-03 22:43:12 -04:00
Matthieu MOREL
24c08922e5 chore: enable exposedSyncMutex rule from go-critic (#24026)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-08-03 12:47:33 +00:00
Alexandre Gaudreault
323f993816 chore: local docker build on MAC with amd64 target (#23993)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-08-01 11:35:49 -04:00
Michael Crenshaw
6ec53193fd chore(refactor): remove unused actions parameter fields (#24008)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-08-01 08:01:49 -07:00
Yusuke Abe
559744a65e fix: replace ⤴️ for MS teams (#22258) (#22725)
Signed-off-by: chansuke <moonset20@gmail.com>
2025-08-01 10:44:25 -04:00
dependabot[bot]
3f03097983 chore(deps): bump github.com/prometheus/client_golang from 1.22.0 to 1.23.0 (#24012)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-01 10:36:32 -04:00
dependabot[bot]
9928c906a2 chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azcore from 1.18.1 to 1.18.2 (#24013)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-01 06:43:34 -07:00
dependabot[bot]
99710b5183 chore(deps): bump github.com/casbin/casbin/v2 from 2.110.0 to 2.111.0 (#24011)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-01 06:40:06 -07:00
Itai Spiegel
42d4cfb857 fix: existingWindows to treat all fields of the window instead of a small subset of them (#20712) (#23636)
Signed-off-by: Itai Spiegel <itai.spiegel@gmail.com>
2025-07-31 19:24:02 -04:00
Michael Crenshaw
751550562c docs(actions): document parameterized resource actions (#24007)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-07-31 14:42:31 -07:00
Suraj yadav
72d054d772 feat(ui): Requests info for Cpu and Mem added to Pod details (#20637)
Signed-off-by: Surajyadav <harrypotter1108@gmail.com>
Signed-off-by: Suraj yadav <harrypotter1108@gmail.com>
2025-07-31 12:55:12 -04:00
xfrnk2
f3dbc6f9de fix(ui): wrap log lines are wrapped to the next line (#23946)
Signed-off-by: Beomseok Kim <xfrnk2@gmail.com>
2025-07-31 09:13:26 -07:00
Eunji
16cc1b15af fix: support dynamic field path based on Hydrator state in summary view (#23950)
Signed-off-by: EunJiJung <bianbbc87@gmail.com>
2025-07-31 10:37:48 -04:00
Alexandre Gaudreault
aff3ae3f4d fix(api): app create --upsert should not error on invalid current destination (#23922)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-07-31 10:32:54 -04:00
dependabot[bot]
b8decb798a chore(deps): bump github.com/golang-jwt/jwt/v5 from 5.2.3 to 5.3.0 (#24003)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-31 06:58:37 -07:00
EmilyXinyi
4393f7deb8 docs: PR generator title match (#24000)
Signed-off-by: EmilyXinyi <xinyi_0302@yahoo.com>
2025-07-31 06:58:12 -07:00
KIMJiho
4024fe7c22 docs(cli): improve example usage for argocd logout command (#24001)
Signed-off-by: Kimjiho <rlawlgh1028@naver.com>
2025-07-30 22:45:30 -04:00
Etienne Lafarge
678f61b8d3 chore(reposerver): Remove last occurrences of deprecated otelgrpc interceptors (#23921)
Signed-off-by: Étienne Lafarge <etienne.lafarge@gmail.com>
2025-07-29 23:55:27 +02:00
rumstead
31e0f428e8 fix(appset): add applicationset leader election to roles and clean up (#14369) (#23976)
Signed-off-by: Manuelraa <kontakt@manuel-rapp.de>
Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
Co-authored-by: Manuelraa <kontakt@manuel-rapp.de>
2025-07-29 11:38:53 -04:00
dudinea
998253aa41 docs: add notes related to Revision Cache Expiration settings (#23986) (#23963)
Signed-off-by: Eugene Doudine <eugene.doudine@octopus.com>
Signed-off-by: dudinea <eugene.doudine@octopus.com>
Co-authored-by: Papapetrou Patroklos <1743100+ppapapetrou76@users.noreply.github.com>
Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
2025-07-29 18:17:26 +03:00
Alexandre Gaudreault
69d1d88807 chore: remove ErrApplicationNotAllowedToUseProject from API (#23972)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-07-29 10:29:22 -04:00
JulesTriomphe
58b0116d75 fix: Allow metrics ingress for redis-ha-proxy (#23926) (#23928)
Signed-off-by: Jules Triomphe <35426973+JulesTriomphe@users.noreply.github.com>
2025-07-29 08:34:13 -04:00
Kevin Park
b9daeac44e chore: Update PR title guide link in PR checklist (#23979)
Signed-off-by: Kevin Park <krapi0314@gmail.com>
Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
2025-07-29 13:10:23 +03:00
dependabot[bot]
a78a616566 chore(deps): bump github.com/olekukonko/tablewriter from 1.0.8 to 1.0.9 (#23982)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-29 13:08:08 +03:00
dependabot[bot]
d2b881ae4a chore(deps): bump library/busybox from f64ff79 to f9a104f in /test/e2e/multiarch-container (#23980)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-29 05:52:06 -04:00
mikebordon
796f72c3d4 fix(server): Send Azure DevOps token via git extra headers (#23478) (#23631)
Signed-off-by: Mike Bordon <mikebordon@gmail.com>
2025-07-28 22:28:35 -04:00
dependabot[bot]
7da3ecc08f chore(deps): bump github.com/bmatcuk/doublestar/v4 from 4.9.0 to 4.9.1 (#23960)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-28 15:17:21 -07:00
Fernando Carletti
fca42e3fd4 feat: log a warning instead of debug when repository webhook does not match an application (#23939)
Signed-off-by: Fernando Carletti <contato@fernandocarletti.net>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-07-28 18:42:43 +00:00
Alain
7f5072f286 docs: update USERS.md adding Hotjar (#23971)
Signed-off-by: Alain <alain.devcs@gmail.com>
2025-07-28 12:21:36 -04:00
Xiaopeng Han
fe6aaad4f0 fix: resource tree endpoint doesn't have missing state (#23948)
Signed-off-by: xiaopeng <hanxiaop8@outlook.com>
2025-07-28 13:05:50 +05:30
Regina Voloshin
90eae48c77 docs: 3.0 migration - added remediation for explicitly syncing apps that use ApplyOutOfSyncOnly=true (#23918)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
2025-07-28 00:32:07 +03:00
Matthew Clarke
9895f55781 fix: helm GetTags cache writing (#23865)
Signed-off-by: Matthew Clarke <mclarke@spotify.com>
Co-authored-by: Linghao Su <linghao.su@daocloud.io>
2025-07-27 00:02:10 +02:00
Peter Jiang
660295f656 chore: bump gitops engine + remove IterateHierarchyv1 (#23924)
Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-07-25 16:25:58 -07:00
dependabot[bot]
be2c243ac8 chore(deps): bump library/golang from 1.24.4 to 1.24.5 in /test/container (#23930)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-25 07:45:29 -04:00
dependabot[bot]
8eac64d54c chore(deps): bump sigs.k8s.io/yaml from 1.5.0 to 1.6.0 (#23931)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-25 07:45:04 -04:00
Michael Crenshaw
c68ec277d4 fix(health): undeclared var used in ChangeTransferPolicy check (#23912)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-07-24 14:26:51 +00:00
Xinzhao Xu
51d88197d7 fix: the specified namespace is not taking effect in argocd-notifications (#23839)
Signed-off-by: Xinzhao Xu <z2d@jifangcheng.com>
2025-07-24 15:20:16 +03:00
solomon-kibret
4e63bc7563 feat: Adding ExtensionService health-check (#23576)
Signed-off-by: Solomon Kibret <solomon.kibret@gmail.com>
Co-authored-by: Solomon Kibret <solomon.kibret@gmail.com>
2025-07-24 13:39:22 +03:00
Oleksandr Saulyak
19415979e8 chore: improving e2e stability (#23587)
Signed-off-by: oleksandr-codefresh <oleksandr.saulyak@octopus.com>
2025-07-24 13:31:02 +03:00
SoMin Park
5ac055d2a2 docs(cli): Add example usage for 'argocd repo rm' command (#23833)
Signed-off-by: Somin Park <ps4708@naver.com>
2025-07-24 13:12:25 +03:00
daniel-leinov
dcf1965c52 feat: Add health checks for Coralogix (#23853)
Signed-off-by: Daniel Leinov <daniellei@jfrog.com>
Co-authored-by: Pasha Kostohrys <pasha.kostohrys@gmail.com>
2025-07-24 13:03:55 +03:00
SoMin Park
0a1572b9d9 fix(server): preserve webhook secret references on server restart (#22588) (#23905)
Signed-off-by: Somin Park <ps4708@naver.com>
2025-07-24 12:20:42 +03:00
gyu-young-park
853b8dddd3 feat(cli): support password prompt input when --password is not provided in bcrypt cli (#23906)
Signed-off-by: gyu-young-park <gyoue200125@gmail.com>
2025-07-24 11:35:29 +03:00
Ruyut
9fffcd50d3 docs: fix TLS certificate installation guide link error (#23908)
Signed-off-by: ruyut <a@ruyut.com>
2025-07-24 11:16:09 +03:00
dependabot[bot]
835c1fbd3c chore(deps): bump library/golang from 267159c to ef5b4be in /test/remote (#23914)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-24 11:11:40 +03:00
dependabot[bot]
2ed67e8fac chore(deps): bump github.com/casbin/govaluate from 1.8.0 to 1.9.0 (#23913)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-24 03:50:40 +00:00
Yusuke Abe
dd1547fcb4 fix(ui): convert RevisionFormField components to functional components (#23813)
Signed-off-by: chansuke <moonset20@gmail.com>
2025-07-23 23:18:27 +02:00
dependabot[bot]
635b9fe8fb chore(deps): bump github.com/casbin/casbin/v2 from 2.109.0 to 2.110.0 (#23895)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-23 09:15:30 -04:00
dependabot[bot]
195b238a37 chore(deps): bump gitlab.com/gitlab-org/api/client-go from 0.134.0 to 0.137.0 (#23896)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-23 09:14:51 -04:00
dependabot[bot]
cb61611816 chore(deps): bump SonarSource/sonarqube-scan-action from 5.2.0 to 5.3.0 (#23897)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-23 09:14:33 -04:00
dependabot[bot]
a37a4d4073 chore(deps): bump library/golang from 14fd8a5 to 267159c in /test/remote (#23898)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-23 09:14:10 -04:00
Alexandre GV.
2de6819422 docs: fix code block errors in web_based_terminal.md (#23892)
Signed-off-by: Alexandre GV. <contact@alexandregv.fr>
2025-07-23 09:13:56 -04:00
Alexandre GV.
df3a45ac02 chore: add 42School to USERS.md (#23893)
Signed-off-by: Alexandre GV. <contact@alexandregv.fr>
2025-07-23 09:12:27 -04:00
Vicenç Juan Tomàs Montserrat
f8aea44398 chore: add Close to USERS.md (#23904)
Signed-off-by: Vicenç Juan Tomàs Montserrat <vicenc.monserrat@close.com>
Signed-off-by: Vicens Juan Tomas Monserrat <vicenc.monserrat@close.com>
2025-07-23 09:12:03 -04:00
pbhatnagar-oss
02de363d9c fix(metrics): grpc prometheus stats missing (#23877) (#23838)
Signed-off-by: pbhatnagar-oss <pbhatifiwork@gmail.com>
2025-07-22 10:09:07 -07:00
Regina Voloshin
79943d8189 docs: Improve developer guide (#23669)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
Signed-off-by: Regina Voloshin <regina.voloshin@codefresh.io>
Co-authored-by: Dan Garfield <dan@codefresh.io>
Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
2025-07-22 10:09:00 -06:00
Michael Crenshaw
36f1a59c09 feat(health): add health checks for GitOps Promoter (#23663)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-07-22 15:04:57 +00:00
renovate[bot]
d5383de5c5 chore(deps): update module github.com/golangci/golangci-lint to v2.3.0 (#23874)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-22 07:55:59 -04:00
dependabot[bot]
9cc960d07d chore(deps): bump form-data from 4.0.0 to 4.0.4 in /ui-test (#23875)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-22 07:50:27 -04:00
dependabot[bot]
fd78d66f4d chore(deps): bump form-data from 4.0.0 to 4.0.4 in /ui (#23876)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-22 07:50:02 -04:00
Linghao Su
3e6f11e08e fix(ui): fix filter header label wrap (#23560)
Signed-off-by: linghaoSu <linghao.su@daocloud.io>
Signed-off-by: choejwoo <jaewoo45@gmail.com>
Co-authored-by: Jaewoo Choi <jaewoo45@gmail.com>
2025-07-21 09:54:12 -04:00
github-actions[bot]
e5b83f1d1b [Bot] docs: Update Snyk report (#23852)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2025-07-21 13:50:49 +00:00
dependabot[bot]
60adba2d5f chore(deps): bump github.com/golang-jwt/jwt/v5 from 5.2.2 to 5.2.3 (#23802)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-20 19:30:41 -04:00
dependabot[bot]
be37e0aa3d chore(deps): bump sigstore/cosign-installer from 3.9.1 to 3.9.2 (#23841)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-20 19:26:21 -04:00
downfa11
ce35b4c484 docs(cli): add command argocd repo get examples (#23843)
Signed-off-by: downfa11 <downfa11@naver.com>
2025-07-20 19:26:04 -04:00
dmgress
01d00ac952 docs: rewrite section on self-heal and autosync for clarity (#23812)
Signed-off-by: dmgress <dmgress@users.noreply.github.com>
2025-07-20 19:22:59 -04:00
gyu-young-park
7f5ef5c087 fix(cli): correct typo in bcrypt error message (#23849)
Signed-off-by: gyu-young-park <gyoue200125@gmail.com>
2025-07-19 13:40:42 +00:00
Keith Chong
1c9bb478e8 fix: Selecting repoType in dropdown doesn't do anything (#23747) (#23750)
Signed-off-by: Keith Chong <kykchong@redhat.com>
2025-07-18 14:23:52 -04:00
JT
bc49329691 docs: Update Kustomize script in Custom Namespace Instructions (#23803)
Signed-off-by: JT <justin.taylor@octopus.com>
2025-07-18 10:56:58 -04:00
dependabot[bot]
6747cfa28d chore(deps): bump library/registry from 45fbac2 to 3725021 in /test/container (#23842)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-18 09:13:37 -04:00
Oliver Gondža
5ee35ad707 fix: Address shellcheck detected shell warnings (#22686)
Signed-off-by: Oliver Gondža <ogondza@gmail.com>
2025-07-18 07:38:27 -04:00
dependabot[bot]
908c73255e chore(deps): bump github.com/spf13/pflag from 1.0.6 to 1.0.7 (#23826)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-17 12:03:48 -04:00
dependabot[bot]
b090ee70a8 chore(deps): bump google.golang.org/grpc from 1.73.0 to 1.74.0 (#23827)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-17 12:02:09 -04:00
Donghyun Kang
3eb442ed82 fix: correct misleading log and linter directive (#23824)
Signed-off-by: augustkang <iamaugustkang@gmail.com>
2025-07-17 12:01:49 -04:00
rumstead
a5c6898655 feat(appset): increase concurrent reconcile maximum to max int64 (#23721)
Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
2025-07-17 11:56:09 -04:00
sangeer
ac4ae1779e fix(appset): When Appset is deleted, the controller should reconcile applicationset #23723 (#23823)
Signed-off-by: Sangeetha Madamanchi <smadamanchi@expediagroup.com>
Co-authored-by: Sangeetha Madamanchi <smadamanchi@expediagroup.com>
2025-07-17 07:44:02 -04:00
Jemin Seo
d83ef2c224 docs(cli): add argocd repo list example (#23822)
Signed-off-by: Jemin <jemin9812@gmail.com>
2025-07-17 07:41:43 -04:00
Alexandre Gaudreault
9dfa9db097 fix(sync): operations in errors without status cause infinite auto-sync loop (#23356)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-07-16 10:39:30 -07:00
Bittrance
20e3877633 docs: intersection of apps-in-any-namespace and parameter overrides clarification (#23810) (#23816)
Signed-off-by: Bittrance <bittrance@gmail.com>
2025-07-16 09:02:10 -07:00
Michael Crenshaw
8e00df5326 fix(repo-server): support .argocd-source.yaml kustomize version (#23643) (#23644)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: rumstead <37445536+rumstead@users.noreply.github.com>
2025-07-16 15:12:25 +00:00
dependabot[bot]
6b6512ae30 chore(deps): bump library/registry from 1fc7de6 to 45fbac2 in /test/container (#23800)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-16 06:50:32 -04:00
warjiang
262c8151ae fix: typo err for GetConditions comment (#23807)
Signed-off-by: warjiang <1096409085@qq.com>
2025-07-16 06:48:46 -04:00
Xiaopeng Han
1bc9adb134 fix(ui): account detail page crashes for accounts with empty capabilities (#23787)
Signed-off-by: xiaopeng <hanxiaop8@outlook.com>
2025-07-15 09:13:47 +02:00
dependabot[bot]
733350ce7c chore(deps): bump github.com/bmatcuk/doublestar/v4 from 4.8.1 to 4.9.0 (#23774)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-14 12:18:05 -04:00
David Noreña Perez
a74d8996b7 docs: Microsoft SSO requestedIDTokenClaims to be ApplicationGroup (#23711)
Signed-off-by: David Noreña Perez <jdavid.norena@hotmail.com>
2025-07-14 15:17:14 +00:00
gyu-young-park
4e72dd7c55 docs: fix missing closing parenthesis in onelogin (#23779)
Signed-off-by: gyu-young-park <gyoue200125@gmail.com>
2025-07-14 11:16:28 -04:00
Alexandre Gaudreault
2c4dd51e15 chore(refactor): simplify auto-sync and alreadyAttemptedSync (#23628)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-07-14 14:36:05 +00:00
Yusuke Abe
1e2a66d5b2 chore(ui): convert ApplicationParametersSource components to functional components (#23769)
Signed-off-by: chansuke <moonset20@gmail.com>
2025-07-14 07:28:23 -07:00
github-actions[bot]
ffc3b1a11d [Bot] docs: Update Snyk report (#23770)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2025-07-14 13:11:35 +00:00
Papapetrou Patroklos
54e2648b3f chore: adds all components in goreman run script (#23777)
Signed-off-by: Patroklos Papapetrou <ppapapetrou76@gmail.com>
2025-07-14 09:01:33 -04:00
Jaewoo Choi
aa5d1395bc fix(ui): fix misleading pointer cursor and animation click-block issue (#23688)
Signed-off-by: choejwoo <jaewoo45@gmail.com>
2025-07-13 23:04:08 -04:00
dependabot[bot]
4e69156e18 chore(deps): bump library/golang from a9219eb to 14fd8a5 in /test/remote (#23728)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-13 23:02:52 -04:00
Noé Charmet
9aff762531 docs: add shipfox to argocd user list (#23771)
Signed-off-by: Noe Charmet <noe.charmet@shipfox.io>
2025-07-13 12:14:48 -04:00
Nitish Kumar
0cfc2fd861 test: add tests for setting log format and level (#23686)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2025-07-12 10:34:01 -04:00
dependabot[bot]
88ce38e450 chore(deps): bump golang.org/x/net from 0.41.0 to 0.42.0 (#23756)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-11 18:40:14 +00:00
renovate[bot]
5bd2d0d917 chore(deps): update module github.com/golangci/golangci-lint to v2.2.2 (#23761)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-11 18:35:05 +00:00
dependabot[bot]
ebff248ba8 chore(deps): bump golang.org/x/crypto from 0.39.0 to 0.40.0 (#23757)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-11 13:58:48 -04:00
dependabot[bot]
6f1e27e93c chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azcore from 1.18.0 to 1.18.1 (#23759)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-11 15:23:03 +00:00
dudinea
965c83e016 fix(test): Test_SSHCreds_Environ_TempFileCleanupOnInvalidProxyURL fails on Macos dev. env. (#23755)
Signed-off-by: Eugene Doudine <eugene.doudine@octopus.com>
2025-07-11 07:28:44 -04:00
dependabot[bot]
276d92d4e0 chore(deps): bump github.com/casbin/casbin/v2 from 2.108.0 to 2.109.0 (#23758)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-10 22:53:54 -10:00
Kanika Rana
79f152c1ba feat(appset): deleting applications in order when Progressive sync enabled on applicationSet (#23465)
Signed-off-by: Kanika Rana <krana@redhat.com>
2025-07-10 18:16:42 -04:00
Codey Jenkins
a3eb4e722e chore(tilt): fix sync reference to argocd build file (#23749)
Signed-off-by: Codey Jenkins <FourFifthsCode@users.noreply.github.com>
2025-07-10 20:09:25 +00:00
dudinea
3349949835 fix(test): TestFailKustomizeBuildPatches fails on MacOS dev. env (#23737)
Signed-off-by: Eugene Doudine <eugene.doudine@octopus.com>
2025-07-10 15:39:34 -04:00
Codey Jenkins
562194b35c feat(hydrator): add .gitattributes file to hydrated repo root (#23678) (#23725)
Signed-off-by: Codey Jenkins <FourFifthsCode@users.noreply.github.com>
2025-07-10 17:27:55 +00:00
Yusuke Abe
56f8797a2b chore: fix contradiction between function name and comment (#23736)
Signed-off-by: chansuke <moonset20@gmail.com>
2025-07-10 11:55:47 -04:00
rumstead
313e8bf70f docs(images): add a note about missing images for 3.0 releases (#23741)
Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
2025-07-10 14:09:51 +00:00
Michael Crenshaw
786b24e2c4 fix(health): CRD health check message (#23690) (#23691)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-07-10 08:34:05 -04:00
dependabot[bot]
69b1f0a33c chore(deps): bump golang.org/x/sync from 0.15.0 to 0.16.0 (#23730)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-10 09:17:16 +00:00
dependabot[bot]
e452870b0e chore(deps): bump golang.org/x/term from 0.32.0 to 0.33.0 (#23729)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-09 22:35:45 -10:00
Mubarak Jama
e8e39a996e feat(helm): upgrading helm to 3.18.4 (#23724)
Signed-off-by: Mubarak Jama <mubarak.jama@gmail.com>
2025-07-10 08:16:52 +02:00
Cayde6
6ead52c21c chore(migrate): migrate otelgrpc pkg interceptor to stats handler(#18258) (#18366)
Signed-off-by: Jack-R-lantern <tjdfkr2421@gmail.com>
2025-07-09 22:29:24 +02:00
rumstead
9e25f93e03 docs(images): add a note about missing images for 3.0 releases (#23612) (#23712)
Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-07-09 17:28:43 +00:00
OpenGuidou
3f44b85a77 chore: Add unit test to cover apps health status in an app in any namespace context (#23693)
Signed-off-by: OpenGuidou <guillaume.doussin@gmail.com>
2025-07-09 11:42:20 -04:00
dependabot[bot]
ff019243a1 chore(deps): bump gitlab.com/gitlab-org/api/client-go from 0.133.0 to 0.134.0 (#23681)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-09 15:33:06 +00:00
dependabot[bot]
cd11e44d8b chore(deps): bump library/golang from 1.24.4 to 1.24.5 in /test/remote (#23699)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-09 10:48:14 -04:00
Michael Crenshaw
f420cce7a5 fix(server): make parameterized resource actions backwards-compatible (#23695)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-07-09 10:41:28 -04:00
olegt-codefresh
d39c0083ea chore: Convert ProjectsList and VersionPanel components to functional components (#23606)
Signed-off-by: olegt-codefresh <oleg.turbovsky@codefresh.io>
2025-07-09 15:30:06 +03:00
Atif Ali
4cd4e5e74e fix(e2e-tests): ArgoCD E2E test logs print auth-token (#23696)
Signed-off-by: Atif Ali <atali@redhat.com>
2025-07-09 06:34:17 +03:00
Alexandre Gaudreault
2e4af5fa5a fix: autosync would not trigger for different sources (#23615) (#23655)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-07-08 16:00:32 -04:00
Nitish Kumar
e692a22b01 test: add tests for retrieving the version (#23572)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2025-07-08 09:13:55 -04:00
Alexandre Gaudreault
abbdfa26fd chore(refactor): simplify selfHeal logic (#23626)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-07-07 13:38:37 -04:00
dependabot[bot]
36345afeb2 chore(deps): bump github.com/olekukonko/tablewriter from 1.0.7 to 1.0.8 (#23670)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-07 14:16:51 +00:00
github-actions[bot]
bf035b3cb4 [Bot] docs: Update Snyk report (#23664)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2025-07-06 14:59:30 -04:00
Linghao Su
d58ba040e9 chore(ui): add jsx-no-useless-fragment lint rule (#23666)
Signed-off-by: linghaoSu <linghao.su@daocloud.io>
2025-07-06 14:45:39 -04:00
dependabot[bot]
09b5cbdda2 chore(deps): bump gitlab.com/gitlab-org/api/client-go from 0.132.0 to 0.133.0 (#23656)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-05 17:41:24 -04:00
Nitish Kumar
c012702ce0 feat: read argocd password from stdin (#23520)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2025-07-05 23:25:12 +05:30
ruby
fb94cad141 fix(applications): update application navigation URLs (#22671) (#23285)
Signed-off-by: ruichao.hu <ruichao.hu@daocloud.io>
Signed-off-by: ruby <ruichao.hu@daocloud.io>
Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
Co-authored-by: Linghao Su <slh001@live.cn>
2025-07-04 13:19:47 -04:00
solomon-kibret
c94874fd18 fix: HTTPProxy health-check update (#23575)
Signed-off-by: Solomon Kibret <solomon.kibret@gmail.com>
Co-authored-by: Solomon Kibret <solomon.kibret@gmail.com>
2025-07-04 10:47:24 -04:00
Papapetrou Patroklos
a90c54599b fix: improves the ui message when an operation is terminated due to controller sync timeout (#23657)
Signed-off-by: Patroklos Papapetrou <ppapapetrou76@gmail.com>
2025-07-04 09:27:45 -04:00
Alexandre Gaudreault
3b1ac4b22d chore(refactor): project as SyncAppState parameter (#23629)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-07-03 13:16:58 -04:00
dependabot[bot]
0864f1ac95 chore(deps): bump gitlab.com/gitlab-org/api/client-go from 0.131.0 to 0.132.0 (#23647)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-02 23:48:58 -04:00
Nitish Kumar
671107cb10 test: add tests for loading cache settings (#23605)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2025-07-02 22:35:52 -04:00
Alexandre Gaudreault
5c2b13f07c fix: incorrect source used in CompareAppState (#23630)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-07-02 22:31:19 -04:00
Alexandre Gaudreault
5ca752429e chore(refactor): remove redundant rollback argument (#23627)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-07-02 18:32:31 -04:00
Alexandre Gaudreault
1fbd63d095 fix(sync): auto-sync loop when FailOnSharedResource (#23357) (#23641)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-07-02 15:00:57 -04:00
Aaron Hoffman
07bd5e0f9e feat: show operation state UI (#23589)
Signed-off-by: Aaron Hoffman <31711338+Aaron-9900@users.noreply.github.com>
2025-07-02 13:17:21 -04:00
Regina Voloshin
be042c4474 feat: AppSet PR generator return 0 results upon repo not found instead of failing (#23447)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
Signed-off-by: Regina Voloshin <regina.voloshin@codefresh.io>
Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
Co-authored-by: dudinea <dudinea@gmail.com>
2025-07-02 17:37:14 +03:00
Michael Crenshaw
346a749cde chore(ci): allow make mockgen for renovate (#23633)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-07-02 09:22:44 -04:00
dependabot[bot]
04794332d2 chore(deps): bump gitlab.com/gitlab-org/api/client-go from 0.130.1 to 0.131.0 (#23634)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-01 23:49:40 -04:00
renovate[bot]
39b9e4f8c5 chore(deps): update module github.com/vektra/mockery/v3 to v3.5.0 (#23632)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-02 02:10:13 +00:00
Yusuke Abe
0f822ff801 chore: add renovate config to update mockery (#23388) (#23508)
Signed-off-by: chansuke <moonset20@gmail.com>
2025-07-01 21:29:12 -04:00
Michael Crenshaw
4d16fdcea4 fix(hydrator): normalize repo URL when grouping (#23564) (#23565)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-07-01 16:33:04 +00:00
Michael Crenshaw
c60a727524 fix(hydrator): omit Argocd- trailers from hydrator.metadata (#23463)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-07-01 11:41:57 -04:00
Alexandre Gaudreault
6ec1aa1b84 fix(appset): do not remove progressive sync conditions (#23506)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-07-01 15:28:06 +00:00
Michael Crenshaw
a6a78ef8d6 feat(kustomize): upgrade to 5.7.0 (#23619)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-07-01 15:21:09 +00:00
Michael Crenshaw
99fea7c12e feat(helm): upgrade to 3.18.3 (#23618)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-07-01 10:38:43 -04:00
Henry Liu
0c1eb30b4d fix(fullscreen log): retain filters after fullscreen log (issue #23608) (#23614)
Signed-off-by: henry.liu <henry.liu@daocloud.io>
2025-07-01 16:46:28 +03:00
dependabot[bot]
ca6e205332 chore(deps): bump github.com/casbin/govaluate from 1.7.0 to 1.8.0 (#23602)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-30 17:40:22 +00:00
Oliver Gondža
5107ec1ce3 chore(sonar): Fix sonar warnings in applicationset/generators/cluster.go (#23210)
Signed-off-by: Oliver Gondža <ogondza@gmail.com>
2025-06-30 13:16:27 -04:00
sathiya06
3401d3bf92 feat: Export metrics to track number of users (#20801) (#23343)
Signed-off-by: Sathiya Narayanan Venkatesan <sathiyavenkat06@gmail.com>
Signed-off-by: sathiya06 <64639742+sathiya06@users.noreply.github.com>
2025-06-30 10:00:33 -07:00
dependabot[bot]
0a0176f4fd chore(deps): bump github.com/Masterminds/semver/v3 from 3.3.1 to 3.4.0 (#23603)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-30 09:14:44 -04:00
Dziyana Tsetserava
d6ecc66216 fix(ui): enable natural sort ordering for resources, add autocomplete attributes to login form #22853 (#23599)
Signed-off-by: DziyanaT <dziyana.tsetserava@etu.umontpellier.fr>
2025-06-30 08:46:59 -04:00
renovate[bot]
203e07c9a4 chore(deps): update module github.com/golangci/golangci-lint to v2.2.1 (#23598)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-30 08:44:15 -04:00
Nitish Kumar
29df864ae1 feat: add title matching filter for Pull Request Generator (#23569)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2025-06-30 16:13:09 +05:30
github-actions[bot]
7d0820f5ca [Bot] docs: Update Snyk report (#23600)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2025-06-30 00:26:37 -04:00
jaqxues
8d47727d38 fix: UI error with ApplicationSet in any namespace (#23601)
Signed-off-by: jaqxues <32979131+jaqxues@users.noreply.github.com>
2025-06-30 00:26:13 -04:00
Charles Chan
3df2883a4d docs: Added Intel to USERS.md (#23596)
Signed-off-by: Charles Chan <charles.chan@intel.com>
2025-06-27 21:31:50 -06:00
dependabot[bot]
54b3c95e84 chore(deps): bump github.com/go-jose/go-jose/v4 from 4.1.0 to 4.1.1 (#23585)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-27 14:21:31 -04:00
Diego Erdody
b8ac5ef635 fix: OCI client, avoid calling tags/list if revision is not a constraint #23580 (#23581)
Signed-off-by: Diego Erdody <diego.erdody@dexterity.ai>
Co-authored-by: Diego Erdody <diego.erdody@dexterity.ai>
2025-06-26 23:12:44 +02:00
dependabot[bot]
986e1f8589 chore(deps): bump sigs.k8s.io/yaml from 1.4.0 to 1.5.0 (#23567)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-26 07:42:18 -04:00
Christophe Collot
ea31d17f53 docs: update declarative-setup.md (azure auth) (#23408)
Signed-off-by: Christophe Collot <52134228+CCOLLOT@users.noreply.github.com>
2025-06-25 18:03:31 -06:00
dependabot[bot]
9567183b7c chore(deps): bump github.com/Azure/kubelogin from 0.2.8 to 0.2.9 (#23551)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-25 18:42:56 +03:00
ChristianCiach
460111f7bc fix(applicationset): Git generator: Don't append default object to literal empty json array (#23500) (#23513)
Signed-off-by: Christian Ciach <christian.ciach@gmail.com>
2025-06-24 13:56:56 -04:00
Pavel Skuratovich
ac49c67403 docs: Fix a typo in 3.0-3.1 upgrade manual (#23544)
Signed-off-by: Pavel Skuratovich <chupaka@gmail.com>
2025-06-24 18:17:39 +02:00
Alexej Disterhoft
e9811678fa fix(controller): get commit server url from env (#23536)
Signed-off-by: Alexej Disterhoft <alexej.disterhoft@redcare-pharmacy.com>
2025-06-24 11:51:58 -04:00
github-actions[bot]
061c1fc7c5 chore: Bump version in master (#23527)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: crenshaw-dev <350466+crenshaw-dev@users.noreply.github.com>
2025-06-24 15:20:00 +00:00
Blake Pettersson
e37c3dbd40 fix: kustomize components + monorepos (#23486)
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-06-24 10:41:54 -04:00
dependabot[bot]
a1bcd4246e chore(deps): bump sigstore/cosign-installer from 3.9.0 to 3.9.1 (#23530)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-23 23:31:00 -10:00
Mubarak Jama
4501ebb93f fix(docs): include v3.1 upgrade docs (#23529)
Signed-off-by: Mubarak Jama <mubarak.jama@gmail.com>
2025-06-23 22:46:18 -06:00
rumstead
e0f4b00126 fix(darwin): remove the need for cgo when building a darwin binary on linux (#23507)
Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
2025-06-23 12:05:29 -04:00
dependabot[bot]
d518f13b2a chore(deps): bump github.com/casbin/casbin/v2 from 2.107.0 to 2.108.0 (#23518)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-23 04:04:46 -10:00
Alexandre Gaudreault
c880373aae fix(tests): race condition creating the sync id (#23460)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-06-22 22:39:49 -04:00
Dan Garfield
b0336b8f79 docs: Update how crd-install hook is handled in helm.md (#23452)
Signed-off-by: Dan Garfield <dan@codefresh.io>
2025-06-22 22:38:07 -04:00
Josh Soref
9fd0601e52 docs: Add example of using argocd.argoproj.io/hook: Skip (#23505)
Signed-off-by: Josh Soref <jsoref@gmail.com>
2025-06-22 22:23:06 -04:00
Michael Crenshaw
83d553ca51 fix(controller): impersonation with destination name (#23309) (#23504)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-06-22 21:32:19 -04:00
github-actions[bot]
d43fbe6148 [Bot] docs: Update Snyk report (#23512)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2025-06-23 00:07:45 +00:00
dudinea
1b48f363bb chore: Upgrade ubuntu base image to latest 25.04 digest (#23479) (#23514)
Signed-off-by: Eugene Doudine <eugene.doudine@octopus.com>
2025-06-22 17:54:39 +03:00
Regina Voloshin
614c85cb72 fix(docs): fix applicationsetcontroller.enable.github.api.metrics to false in docs cm (#23516)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
2025-06-22 17:09:02 +03:00
renovate[bot]
414d9eb5db chore(deps): update docs dependencies (#23510)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-21 16:28:19 -04:00
Nicolas Richard
5c9a5ef9a6 feat(health): Add healthCheck for CRD DatadogMetric (#23464)
Signed-off-by: Nicolas Richard <nicolas.richard@chime.com>
2025-06-20 14:38:04 -04:00
renovate[bot]
d1113970cd chore(deps): update dependency markdown to v3.8.2 (#23499)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-19 22:06:23 -04:00
Alexandre Gaudreault
58d82bedb8 ci: fix supported-version script (#23496)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-06-19 17:00:01 +00:00
renovate[bot]
4dd9bc7642 chore(deps): update dependency gotestyourself/gotestsum to v1.12.3 (#23483)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-19 12:56:58 -04:00
dependabot[bot]
7f3709374b chore(deps): bump github.com/hashicorp/go-retryablehttp from 0.7.7 to 0.7.8 (#23482)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-19 12:55:41 -04:00
Blake Pettersson
7922c77991 chore(test): prevent data race (#23488)
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-06-19 12:04:59 -04:00
Marcus Söderberg
20f9081fb4 docs(docs/operator-manual/ui-customization.md): fix typo in setting name (#23485)
Signed-off-by: Marcus Söderberg <msoderb@gmail.com>
2025-06-19 13:01:37 +02:00
Alexandre Gaudreault
1d09c8c8a1 fix(tests): race condition creating the sync id (#23481)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-06-18 20:37:57 +00:00
renovate[bot]
bee23628a8 chore(deps): update dependency markdown to v3.8.1 (#23480)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 14:50:41 -04:00
Peter Jiang
f03ffb3592 fix: bump gitops-engine for ssd fix (#23456)
Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-06-18 14:38:12 -04:00
dependabot[bot]
d4ebcc0c15 chore(deps): bump docker/setup-buildx-action from 3.10.0 to 3.11.0 (#23442)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-18 21:27:45 +03:00
dependabot[bot]
a671cc9b23 chore(deps): bump sigstore/cosign-installer from 3.8.2 to 3.9.0 (#23467)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-18 01:06:24 -10:00
Blake Pettersson
49514c9b4c fix: minor oci fixes (#23434)
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-06-18 00:45:34 -10:00
Collin Walker
f7590fa302 fix(appset): Add token to enterprise client (#23240) (#23455)
Signed-off-by: Collin Walker <cwalker@ancestry.com>
Co-authored-by: Collin Walker <cwalker@ancestry.com>
2025-06-18 11:13:06 +05:30
rumstead
8ede222650 fix(goreleaser): add darwin with CGO enabled and remove static to gorelease (#23457)
Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
2025-06-17 20:01:00 +00:00
Alexandre Gaudreault
e25123b63d chore(test): add e2e tests for gitops-engine (#23304)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-06-17 20:34:02 +02:00
Yann Soubeyrand
d6efb9e538 chore: move OIDC PKCE support from UI to backend (#21729)
Signed-off-by: Yann Soubeyrand <8511577+yann-soubeyrand@users.noreply.github.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-06-17 18:18:24 +00:00
Flávio Roberto Santos
9849d2743b docs: Explain repo definition for source hydrators (#23454)
Signed-off-by: Flávio Santos <flavios@spotify.com>
Co-authored-by: Flávio Santos <flavios@spotify.com>
2025-06-17 13:33:45 -04:00
Matthieu MOREL
8b2560497a chore(lint): enable filepathJoin rule from go-critic (#23453)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-06-17 13:32:44 -04:00
Tanner Stirrat
2fc05c58e7 docs: Docs usage fix (#23450)
Signed-off-by: Tanner Stirrat <tstirrat@gmail.com>
2025-06-17 12:23:36 -04:00
Oleksandr Tkachenko
590d0cda64 fix(ui): make Name column wider (argoproj#21080) (#21375)
Signed-off-by: Oleksandr Tkachenko <korsar182@gmail.com>
2025-06-17 11:51:05 -04:00
Matthieu MOREL
fa25f278c0 chore(lint): enable sloppyReassign rule from go-critic (#23443)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-06-17 11:46:50 -04:00
Bob Du
127293dcc7 docs: Clarify Google Directory API scope requirements in documentation (#23386)
Signed-off-by: Bob Du <i@bobdu.cc>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
2025-06-17 15:23:51 +00:00
Codey Jenkins
b39e3a8d1e chore: initial support for tilt based development (#22337) (#23002)
Signed-off-by: Codey Jenkins <FourFifthsCode@users.noreply.github.com>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-06-17 11:19:50 -04:00
Mason Liu
531b79ad8d fix: #23041 Add resource support to 'argocd proj role add-policy/remove-policy' (#23213)
Signed-off-by: Mason Liu <fuyin.liu@fmr.com>
2025-06-17 10:55:27 -04:00
dependabot[bot]
fb0a89864c chore(deps): bump github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus from 1.0.1 to 1.1.0 (#23441)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-17 10:42:51 -04:00
Eric Fortin
0893d7349d docs: regroup generators reference fixes #23439 (#23440)
Signed-off-by: Eric Fortin <eric.fortin2@gmail.com>
2025-06-17 10:42:17 -04:00
Kanika Rana
a3ef471913 chore(finalizers): remove hardcoding of application and applicationset finalizers (#23420)
Signed-off-by: Kanika Rana <krana@redhat.com>
2025-06-17 01:56:58 -10:00
Cheng Fang
25fc5d2b0c chore(cli): fix argocd admin repo command usage docs and examples (#23375)
Signed-off-by: Cheng Fang <cfang@redhat.com>
2025-06-16 22:51:13 -04:00
Michael Crenshaw
c11b36d455 docs(cli): improve argocd actions run docs (#23376)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-06-16 22:49:43 -04:00
Kunho Lee
3ff30dfac1 fix: add optional chaining before access to the targetRevision field (#23397)
Signed-off-by: daengdaengLee <gunho1020@gmail.com>
2025-06-16 22:48:52 -04:00
Alexandre Gaudreault
1b6c8237d3 chore(docs): prepare for new release (#23437)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-06-16 22:46:52 -04:00
Regina Voloshin
964f26901c feat: Add GitHub API rate limit metrics (#22864)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
Signed-off-by: Regina Voloshin <regina.voloshin@codefresh.io>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-06-17 01:41:38 +00:00
Cayde6
98ca41125c feat: add metric for sync durations(#11675) (#18474)
Signed-off-by: Jack-R-lantern <tjdfkr2421@gmail.com>
2025-06-16 19:00:49 -04:00
Keith Chong
2c53861edb feat: Polish off UI changes for OCI support (#21685) (#22410)
Signed-off-by: Keith Chong <kykchong@redhat.com>
2025-06-16 18:58:21 -04:00
Matthieu MOREL
54501c05a8 chore(lint): enable builtinShadow rule from go-critic (#23430)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-06-16 21:20:57 +00:00
rumstead
0b8d018fdf fix(goreleaser): add darwin with CGO enabled to goreleaser (#23433)
Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
2025-06-16 17:08:52 -04:00
Michael Crenshaw
91e5f954a3 fix(hydrator): incorrect json tag (#23432)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-06-16 20:31:43 +00:00
Michael Crenshaw
30c325d952 chore(refactor): simplify maps util (#23431)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-06-16 16:29:45 -04:00
Matthieu MOREL
ede2b32aea chore(lint): enable ptrToRefParam rule from go-critic (#23424)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-06-16 19:28:57 +00:00
Michael Crenshaw
061d5992da chore(refactor): replace trivial function w/ standard lib (#23429)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-06-16 15:23:39 -04:00
Matthieu MOREL
1203ad0660 chore(lint): enable-all govet rules by default (#23426)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-06-16 19:03:03 +00:00
Matthieu MOREL
4731c61d7a chore(lint): enable evalOrder rule from go-critic (#23422)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-06-16 14:04:05 -04:00
Matthieu MOREL
7cc360e5af chore(lint): enable mapKey rule from go-critic (#23417)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-06-16 14:03:28 -04:00
Peter Jiang
df5ff1f746 fix(doc): Fix typo in SSA doc (#23421)
Signed-off-by: Peter Jiang <35584807+pjiang-dev@users.noreply.github.com>
2025-06-16 16:45:16 +00:00
Matthieu MOREL
6b24fcb32c chore(lint): enable typeDefFirst rule from go-critic (#23414)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-06-16 16:09:08 +00:00
Michael Crenshaw
114693dcc2 chore(lint): enable typeSwitchVar linter (#23391)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-06-16 15:02:32 +00:00
Matthieu MOREL
10fa1aa8c8 chore(lint): enable unnecessaryBlock rule from go-critic (#23404)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-06-16 10:00:55 -04:00
Oliver Gondža
28e871e7e2 chore(sonar): Fix sonar warnings in applicationset/generators/duck_type.go (#23211)
Signed-off-by: Oliver Gondža <ogondza@gmail.com>
Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
2025-06-16 08:59:35 -04:00
Matthieu MOREL
a91a6594a1 chore(lint): enable regexpSimplify rule from go-critic (#23405)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-06-16 08:55:05 -04:00
Matthieu MOREL
52ad029110 chore(lint): enable typeUnparen rule from go-critic (#23406)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-06-16 08:54:28 -04:00
Matthieu MOREL
fd48c47cf9 chore(lint): enable typeAssertChain rule from go-critic (#23407)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-06-16 09:28:20 +02:00
Matthieu MOREL
b6e90ea92c chore(lint): enable sprintfQuotedString rule from go-critic (#23401)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-06-15 16:33:20 -04:00
Matthieu MOREL
c6ebc19c1f chore(lint): enable emptyStringTest rule from go-critic (#23400)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-06-15 20:25:12 +00:00
github-actions[bot]
c2e93a3e95 [Bot] docs: Update Snyk report (#23394)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2025-06-15 20:19:27 +00:00
Matthieu MOREL
79c75876a8 chore(lint): enable httpNoBody rule from go-critic (#23399)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-06-15 16:11:38 -04:00
Jennifer Weir
2801a11efc fix(health-check): StorageCluster.ocs.openshift.io (#23393)
Signed-off-by: Jennifer Weir <contact@jenniferpweir.com>
2025-06-14 18:08:44 -04:00
Michael Crenshaw
64198e8042 feat(ci): don't cancel-in-progress on master (#23392)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-06-14 17:33:59 -04:00
Peter Jiang
dc1d148a5d feat: add SSA field manager migration options (#23337)
Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
Signed-off-by: Peter Jiang <35584807+pjiang-dev@users.noreply.github.com>
2025-06-13 21:58:07 +00:00
Mike Ng
7a064000a0 fix(appset): add default retry limit for operations triggered via RollingSync (#20428) (#23335)
Signed-off-by: Mike Ng <ming@redhat.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-06-13 21:14:02 +00:00
Michael Crenshaw
96fd06165e fix(hydrator): split commit subject and body, make author one string (#23389)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-06-13 17:00:29 -04:00
Michael Crenshaw
8c6f35bf5c chore: enforce JS bundle size limit (#12922)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-06-13 16:53:02 -04:00
Blake Pettersson
2ae9f43410 chore: upgrade mockery (#23387)
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-06-13 19:58:11 +00:00
Christian Hernandez
d14ba140d1 feat(cli): Adding whoami alias (#23385)
Signed-off-by: Christian Hernandez <christian@chernand.io>
Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-06-13 15:37:43 -04:00
Michael Crenshaw
81ae77a4ad feat(hydrator): commit tracing (#19441) (#23361)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-06-13 15:14:03 -04:00
Michael Crenshaw
d33b9b98ba chore(lint): enable nestingReduce linter (#23378)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-06-13 13:43:16 -04:00
Peter Jiang
1df47e9aa4 chore: upgrade k8s to 1.33.1 (#23362)
Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-06-13 17:06:19 +00:00
Hazel Sudzilouski
44fce0e478 fix: add fatal timeout upgrade with SIGKILL to ARGO_EXEC_TIMEOUT (closes #20785, #18478) (#22713)
Signed-off-by: Hazel Sudzilouski <dsudzilouski@olin.edu>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-06-13 15:59:45 +00:00
fprovencherdrw
8f1f5c7234 feat(health): add Logstash resource customization (#22028)
Signed-off-by: Francis Provencher <fprovencher@drw.com>
2025-06-13 11:57:56 -04:00
Michael Crenshaw
6174b94d6a fix(test): race condition in kubectl metrics (#23382) (#23383)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-06-13 15:41:43 +00:00
Marcus Söderberg
00ee32f7f5 feat: optionally propagate node labels to application pod view (#15274) (#23260)
Signed-off-by: Marcus Söderberg <msoderb@gmail.com>
Co-authored-by: Linghao Su <slh001@live.cn>
2025-06-13 11:19:27 -04:00
Jonathan Gonzalez V.
f4edcf7717 feat: add custom health check for CloudNativePG (#22802)
Signed-off-by: Jonathan Gonzalez V. <jonathan.abdiel@gmail.com>
2025-06-13 11:08:27 -04:00
Joe Bowbeer
6d25734852 fix: typo in native-oci-support.md (#23379)
Signed-off-by: Joe Bowbeer <joe.bowbeer@gmail.com>
2025-06-13 08:59:59 +02:00
Jennifer Weir
6c299bc783 feat(health-check): add resource_customizations for ocs.openshift.io (#23173)
Signed-off-by: Jennifer Weir <contact@jenniferpweir.com>
2025-06-12 21:27:56 -04:00
Yusuke Abe
a2152a1216 feat: Implement healthcheck gateway api (#20986) (#22855)
Signed-off-by: chansuke <moonset20@gmail.com>
2025-06-12 16:44:22 -04:00
mikebordon
d4bdabd64d fix(server): Propagate useAzureWorkloadIdentity flag from during repo validation (#23348) (#23358)
Signed-off-by: Mike Bordon <mikebordon@gmail.com>
2025-06-12 12:56:47 -04:00
Blake Pettersson
6e972e436a fix: properly handle shutdown signal for admin dashboard (#23231)
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-06-12 05:50:13 -10:00
Michael Crenshaw
7814790ff3 fix(repo-server): sort images (#23372)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-06-12 11:28:45 -04:00
dependabot[bot]
ee92cf56f2 chore(deps): bump softprops/action-gh-release from 2.3.0 to 2.3.2 (#23351)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-12 08:22:38 -04:00
Cheng Fang
8b567c99b4 chore(cli): fix argocd repo command usage docs and description (#23364)
Signed-off-by: Cheng Fang <cfang@redhat.com>
2025-06-12 08:21:49 -04:00
Dillen Padhiar
5091f9a3f7 feat: remove suspended state from numaproj crds (#23359)
Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>
2025-06-12 07:35:58 -04:00
dependabot[bot]
c7a0fa3a8c chore(deps): bump gitlab.com/gitlab-org/api/client-go from 0.129.0 to 0.130.1 (#23365)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-12 11:25:19 +00:00
Michael Crenshaw
2bf3f6850e chore(lint): enable more gocritic linters (#23328)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-06-11 23:50:02 -04:00
dependabot[bot]
046b9e7d97 chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.10.0 to 1.10.1 (#23350)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-11 23:45:52 -04:00
dependabot[bot]
dbd8009f18 chore(deps): bump github.com/go-git/go-git/v5 from 5.16.1 to 5.16.2 (#23341)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-11 13:47:08 -04:00
dependabot[bot]
0a8a7e246f chore(deps): bump github.com/ktrysmt/go-bitbucket from 0.9.85 to 0.9.86 (#23349)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-11 12:11:25 -04:00
dependabot[bot]
7496ede7c2 chore(deps): bump softprops/action-gh-release from 2.2.2 to 2.3.0 (#23340)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-10 09:07:41 -04:00
Michael Crenshaw
7ee59d02b6 docs: document syncPolicy.automated.enable field (#23332)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-06-09 17:50:18 +00:00
Saptadip Sarkar
463155b8b4 docs: Update 2.14-3.0.md (#23314)
Signed-off-by: Saptadip Sarkar <12973082+saptadip@users.noreply.github.com>
2025-06-09 11:34:34 -04:00
J3m3
5dba0648f3 docs: clean up ci_automation.md for correctness and clarity (#23329)
Signed-off-by: Jesung Yang <y.j3ms.n@gmail.com>
2025-06-09 11:33:11 -04:00
Michael Crenshaw
949c9eabd3 feat(commit-server): use os.Root for traversal protection (#22956)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-06-09 10:09:21 -04:00
Dan Rice
8fde8d0a4b fix(ui): Improve light/dark theme selector label (#22958)
Signed-off-by: Dan Rice <dan@dnrce.com>
2025-06-09 10:54:41 +03:00
dependabot[bot]
2093179488 chore(deps): bump github.com/casbin/casbin/v2 from 2.106.0 to 2.107.0 (#23322)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-09 01:06:53 -04:00
sivchari
61b3ea1187 fix: context cancellation handling (#22824)
Signed-off-by: sivchari <shibuuuu5@gmail.com>
2025-06-08 14:10:46 -04:00
Kim Brose
80a194af85 docs: Fix section nesting in webhook.md (#23278)
Signed-off-by: Kim Brose <2803622+HarHarLinks@users.noreply.github.com>
2025-06-08 14:08:18 -04:00
Regina Voloshin
2e1e3162e5 docs: Add docs for local chain e2e tests run (#23319)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
2025-06-08 11:44:41 -04:00
Michael Crenshaw
0fa3c3d67d chore(lint): enable tparallel linter (#23318)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-06-08 15:10:55 +02:00
github-actions[bot]
68c8b99270 [Bot] docs: Update Snyk report (#23315)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2025-06-07 20:47:56 -04:00
ABBOUD Moncef
01a882d429 fix: do not fail on manifest-like yaml #21934 (#22043)
Signed-off-by: Moncef Abboud <moncef.abboud95@gmail.com>
2025-06-07 14:51:18 -04:00
Philippe Merle
edf36831ab fix: Add metadata labels to all NetworkPolicy resources (#23313)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Signed-off-by: Philippe Merle <philippe.merle@inria.fr>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Kim Brose <2803622+HarHarLinks@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kim Brose <2803622+HarHarLinks@users.noreply.github.com>
2025-06-07 13:05:41 -04:00
Michael Crenshaw
7915002382 fix(server): race condition in revoked token logic (#23311) (#23312)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-06-06 16:49:59 -04:00
Kim Brose
43ce82801d docs: spelling, formatting, etc updates (#23306)
Signed-off-by: Kim Brose <2803622+HarHarLinks@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-06-06 15:37:59 -04:00
Michael Crenshaw
36f91a0231 fix(metrics): populate dest_server label (#23246) (#23269)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-06-06 13:25:29 -04:00
dependabot[bot]
47326bda6d chore(deps): bump google.golang.org/grpc from 1.72.2 to 1.73.0 (#23292)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-06 13:08:23 -04:00
Michael Crenshaw
8010b4f733 chore: bump gitops-engine for error wrapping (#23282)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-06-06 11:51:04 -04:00
Blake Pettersson
18c4d9d568 feat: oci support (Beta) (#18646)
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-06-06 13:27:02 +02:00
Ville Vesilehto
109cd6c382 fix(tls): validate RSA keys before marshaling (#23295)
Signed-off-by: Ville Vesilehto <ville@vesilehto.fi>
2025-06-06 13:05:41 +02:00
Ville Vesilehto
e1195fd931 chore: upgrade Go from 1.24.3 to 1.24.4 (#23287)
Signed-off-by: Ville Vesilehto <ville@vesilehto.fi>
2025-06-06 12:46:46 +02:00
dependabot[bot]
41a4cd3032 chore(deps): bump golang.org/x/sync from 0.14.0 to 0.15.0 (#23290)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-06 04:25:30 +00:00
dependabot[bot]
ee45d0fc1b chore(deps): bump golang.org/x/time from 0.11.0 to 0.12.0 (#23288)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-06 04:25:15 +00:00
dependabot[bot]
d9b102bea0 chore(deps): bump golang.org/x/net from 0.40.0 to 0.41.0 (#23289)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-06 04:24:39 +00:00
Kim Brose
fc3c929cea docs: Fix notice blocks in reconcile.md (#23277)
Signed-off-by: Kim Brose <2803622+HarHarLinks@users.noreply.github.com>
2025-06-05 11:57:36 -04:00
KoB
9472273a1b feat(health-check): Add resource_customizations for karpenter (#23139)
Signed-off-by: 김병준 <kingbj0429@gmail.com>
2025-06-05 14:22:39 +00:00
Ragul Shanmugarajan
b3e72ac3e6 docs: Add replace syncOption in application.yaml (#23274)
Signed-off-by: Ragul Shanmugarajan <96675784+ragul-engg@users.noreply.github.com>
2025-06-05 08:58:19 -04:00
dependabot[bot]
9050798094 chore(deps): bump github.com/alicebob/miniredis/v2 from 2.34.0 to 2.35.0 (#23271)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-05 07:48:50 -04:00
dependabot[bot]
23ab5fc23c chore(deps): bump github.com/go-git/go-git/v5 from 5.16.0 to 5.16.1 (#23270)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-05 07:48:25 -04:00
Michael Crenshaw
30a0088c84 chore: enable lint for unused private fields (#23242)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-06-05 07:47:55 -04:00
Blake Pettersson
f532299f7c fix: parse project with applicationset resource (#23252)
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-06-04 23:38:24 +02:00
github-actions[bot]
1ecc561d9e [Bot] docs: Update Snyk report (#23265)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2025-06-04 13:24:25 -04:00
dependabot[bot]
7246c0246f chore(deps): bump github.com/expr-lang/expr from 1.17.4 to 1.17.5 (#23248)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-04 12:56:48 -04:00
Oliver Gondža
7bb7385e46 fix(snyk-report): Sort analyzed released, add master (#23250)
Signed-off-by: Oliver Gondža <ogondza@gmail.com>
2025-06-04 12:52:51 -04:00
Jethro Lee (이드로)
eb794b7db9 feat(ui): set validate=false for "disable autosync" request during rollback via ui (#22898) (#23101)
Signed-off-by: 이드로 (Jethro Lee) <dlemfh96@gmail.com>
2025-06-04 10:43:35 -04:00
Eric Fortin
e691ee35b4 docs: improved applicationset doc when deployed using helm. addresses #23155 (#23256)
Signed-off-by: Eric Fortin <eric.fortin2@gmail.com>
2025-06-04 07:52:08 -06:00
Kim Brose
e89e05486d docs: Fix typos (#23259)
Signed-off-by: Kim Brose <2803622+HarHarLinks@users.noreply.github.com>
2025-06-04 07:50:30 -06:00
Bryan Montaño Estrada
9df2fd9a67 docs: Added eSave to USERS.md (#23258)
Signed-off-by: Bryan <bryan.montano@esave.es>
2025-06-04 08:24:28 -04:00
dependabot[bot]
8679549c38 chore(deps): bump github.com/casbin/casbin/v2 from 2.105.0 to 2.106.0 (#23247)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-04 08:19:51 -04:00
Revital Barletz
ae6e35976d docs: update the defaultAppResyncPeriodJitter value to 60 (#23251)
Signed-off-by: Revital Barletz <revitalbarletz@gmail.com>
2025-06-04 11:05:37 +02:00
Eunji
0e9519314b feat(ui): allows more convenient sorting of repository. (#19829)
Signed-off-by: EunJiJung <bianbbc87@gmail.com>
Signed-off-by: Eunji <129590633+bianbbc87@users.noreply.github.com>
Co-authored-by: Suraj yadav <harrypotter1108@gmail.com>
2025-06-03 16:09:59 -04:00
Oliver Gondža
4b1bd1852f fix(snyk-report): Improve calculation of latest patch release (#23223)
Signed-off-by: Oliver Gondža <ogondza@gmail.com>
2025-06-03 17:42:15 +00:00
Jonathan Ballet
4b866292e5 docs: Fix formatting in the "high-availability" documentation page (#23235)
Signed-off-by: Jonathan Ballet <jon@multani.info>
2025-06-03 15:31:23 +02:00
dependabot[bot]
5290de32b8 chore(deps): bump library/golang from 4c0a181 to 81bf592 in /test/remote (#23220)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-03 07:46:22 -04:00
Michael Crenshaw
2c3a452fd7 chore: remove unused Trunc function (#23232)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-06-03 08:27:43 +02:00
sivchari
ea97dec642 fix: KubeVersion passed to helm template is incorrectly (#22650)
Signed-off-by: sivchari <shibuuuu5@gmail.com>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-06-02 20:53:51 +00:00
Jagpreet Singh Tamber
c0c6abedc4 fix: #23100 Change workloadidentity token cache expiry based on token expiry. (#23133)
Signed-off-by: Jagpreet Singh Tamber <jagpreetstamber@gmail.com>
2025-06-02 20:51:30 +00:00
dependabot[bot]
b39ca155dc chore(deps): bump github.com/bradleyfalzon/ghinstallation/v2 from 2.15.0 to 2.16.0 (#23221)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-02 07:05:40 -06:00
Nitish Kumar
81ac6216a6 chore: update release notes blog post link to v3.0 (#23222)
Signed-off-by: Nitish Kumar <justnitish06@gmail.com>
2025-06-02 09:42:15 +02:00
Kunho Lee
76f80b375c fix: #22879 override default variables in Makefile when your env is local Mac (#23182)
Signed-off-by: daengdaengLee <gunho1020@gmail.com>
2025-06-02 12:20:36 +05:30
dependabot[bot]
fb40acdd79 chore(deps): bump ossf/scorecard-action from 2.4.1 to 2.4.2 (#23217)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-01 22:10:00 -06:00
Andrew Block
4a15925edc feat: improve Helm documentation (#22859)
Signed-off-by: Andrew Block <andy.block@gmail.com>
2025-05-31 14:30:43 +02:00
dependabot[bot]
234c73a688 chore(deps): bump library/golang from e84f2e8 to 4c0a181 in /test/remote (#23209)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-30 08:00:54 -04:00
Michael Crenshaw
2e3f9eb1c0 chore(ci): pin tj-actions/changed-files to v46.0.5 (#23206)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-30 07:32:41 -04:00
Michael Crenshaw
5509dd8646 test(server): handle string groups claim (#22973) (#23208)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-29 20:17:20 +00:00
dependabot[bot]
b9cf44b584 chore(deps): bump library/golang from 1bcf884 to e84f2e8 in /test/remote (#23106)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-29 12:40:25 -07:00
Michael Crenshaw
7fda067767 fix(server): avoid unnecessary claims restrictions (#22973) (#23202)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-29 18:57:12 +00:00
Lehlogonolo N. Masubelele
f43523a69e docs: Bulk typo fix (#23144) 2025-05-29 12:54:40 -06:00
Michael Crenshaw
54a45c4f89 chore: disable gitpod (#23201)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-29 12:54:21 -06:00
Michael Crenshaw
33959d0605 chore(ci): disable dependabot for ui-test (#23200)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-29 12:54:07 -06:00
Luke
7d6604404f feat(health): Implement spinkube SpinApp CRD health checks (#21896)
Signed-off-by: lukepatrick <lukephilips@gmail.com>
2025-05-29 11:27:19 -06:00
Christian Hernandez
1be1d1c0ae chore: setting up 3.1 release champion and approver (#23203)
Signed-off-by: Christian Hernandez <christian@chernand.io>
2025-05-29 15:42:09 +00:00
Dillen Padhiar
ddb1021440 feat: improve numa actions (#22835)
Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>
2025-05-29 09:24:32 -06:00
dependabot[bot]
b8051c60a9 chore(deps): bump github.com/go-logr/logr from 1.4.2 to 1.4.3 (#23194)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-29 07:28:52 -06:00
Michael Crenshaw
3bbbac4bb9 fix(hydrator): increase max msg size (#23190)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-28 21:09:13 +00:00
dependabot[bot]
7735b743b3 chore(deps): bump github.com/olekukonko/tablewriter from 1.0.6 to 1.0.7 (#23174)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-28 09:13:53 -06:00
dependabot[bot]
ee3752df70 chore(deps): bump github.com/expr-lang/expr from 1.17.3 to 1.17.4 (#23175)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-28 09:12:02 -06:00
dependabot[bot]
8ad0e22bf1 chore(deps): bump docker/build-push-action from 6.17.0 to 6.18.0 (#23179)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-28 09:11:03 -06:00
RyotaK
a5b4041a79 Merge commit from fork
Fix shadowed variable name

Signed-off-by: Ry0taK <49341894+Ry0taK@users.noreply.github.com>
2025-05-28 08:20:48 -06:00
Aaron Hoffman
18ce5c271f feat: Add images to resources in sync result #20896 (#20954)
Signed-off-by: Aaron Hoffman <31711338+Aaron-9900@users.noreply.github.com>
2025-05-27 19:58:28 +00:00
dependabot[bot]
10abed751e chore(deps): bump ossf/scorecard-action from 2.4.0 to 2.4.1 (#23149)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-27 11:53:24 -06:00
Pavel Skuratovich
81f3843f04 docs: fix a typo in config-management-plugins.md (#23172)
Signed-off-by: Pavel Skuratovich <chupaka@gmail.com>
2025-05-27 10:21:17 -06:00
Poojan Savani
65464d8b77 feat(health): OpenTelemetryCollector CRD Healthcheck (#23156)
Signed-off-by: poojan <poojan@hasura.io>
2025-05-27 09:08:41 -06:00
dependabot[bot]
ad6f0afa57 chore(deps): bump SonarSource/sonarqube-scan-action from 4.2.1 to 5.2.0 (#23164)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-27 08:18:10 -06:00
Eric Fortin
6ef971330a fix(test): #23137 removed left over file that breaks subsequent make test run. (#23138)
Signed-off-by: Eric Fortin <eric.fortin2@gmail.com>
2025-05-27 08:13:06 -06:00
dependabot[bot]
3de278ef85 chore(deps): bump tj-actions/changed-files from 3981e4f74104e7a4c67a835e1e5dd5d9eb0f0a57 to c6634ca281a9fc05b03bee224ba00910cb78ab6e (#23165)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-27 01:00:54 -04:00
dependabot[bot]
1ff739dccb chore(deps): bump library/busybox from 3308bdf to f64ff79 in /test/e2e/multiarch-container (#23145)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-27 01:00:27 -04:00
dependabot[bot]
2f0bde61b5 chore(deps): bump google.golang.org/grpc from 1.72.1 to 1.72.2 (#23161)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-27 00:57:26 -04:00
dependabot[bot]
a5012404fb chore(deps): bump goreleaser/goreleaser-action from 6.1.0 to 6.3.0 (#23163)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-27 00:56:55 -04:00
dependabot[bot]
a2ff605212 chore(deps): bump slsa-framework/slsa-github-generator from 2.0.0 to 2.1.0 (#23166)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-27 00:56:20 -04:00
dependabot[bot]
1d44046141 chore(deps): bump actions/setup-go from 5.2.0 to 5.5.0 (#23151)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-26 18:39:39 -06:00
dependabot[bot]
d076bfa074 chore(deps-dev): bump @babel/core from 7.7.2 to 7.27.1 in /ui (#23148)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-26 10:24:03 -04:00
dependabot[bot]
45f12f2676 chore(deps): bump softprops/action-gh-release from 2.2.1 to 2.2.2 (#23150)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-26 10:20:27 -04:00
dependabot[bot]
8c23cbdf13 chore(deps): bump selenium-webdriver from 4.32.0 to 4.33.0 in /ui-test (#23147)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-26 10:19:57 -04:00
dependabot[bot]
e5ee3e42d2 chore(deps-dev): bump mocha from 11.4.0 to 11.5.0 in /ui-test (#23146)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-26 10:19:37 -04:00
dependabot[bot]
e9863708b6 chore(deps): bump docker/setup-buildx-action from 3.8.0 to 3.10.0 (#23152)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-26 10:18:06 -04:00
dependabot[bot]
c63885298c chore(deps): bump actions/download-artifact from 4.1.8 to 4.3.0 (#23153)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-26 10:17:40 -04:00
dependabot[bot]
0205eafa8e chore(deps-dev): bump @types/jest from 29.5.12 to 29.5.14 in /ui (#23117)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-25 14:56:25 -04:00
Matthieu MOREL
b6d9d6dd33 chore: enable exptostd linter (#23136)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-05-24 08:13:47 -06:00
dependabot[bot]
df9ea61424 chore(deps): bump library/busybox from 37f7b37 to 3308bdf in /test/e2e/multiarch-container (#23119)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-23 09:18:38 -07:00
dependabot[bot]
f138b35889 chore(deps): bump tj-actions/changed-files from bab30c2299617f6615ec02a68b9a40d10bd21366 to 3981e4f74104e7a4c67a835e1e5dd5d9eb0f0a57 (#23121)
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-23 15:02:30 +00:00
dependabot[bot]
6dc031987f chore(deps): bump docker/setup-qemu-action from 3.2.0 to 3.6.0 (#23120)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-23 10:24:02 -04:00
dependabot[bot]
81c17cbcdd chore(deps): bump docker/build-push-action from 6.10.0 to 6.17.0 (#23122)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-23 10:20:46 -04:00
dependabot[bot]
2ed3ebe807 chore(deps): bump actions/cache from 4.2.0 to 4.2.3 (#23123)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-23 10:20:15 -04:00
Thiago Perrotta
47213a4392 docs(reconcile.md): fix command example (#23132)
Signed-off-by: Thiago Perrotta <tbperrotta@gmail.com>
2025-05-23 09:17:29 -04:00
dependabot[bot]
cefb62292d chore(deps): bump codecov/test-results-action from 1.0.1 to 1.1.1 (#23124)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-23 13:13:08 +02:00
Alexandre Gaudreault
0484f9f8a6 fix(manifest): using wrong container registry for non-ha redis (#23114)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-05-22 19:38:51 +00:00
Michael Crenshaw
d9e93f43e8 docs: add more release dates (#23113)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-22 15:22:29 -04:00
dependabot[bot]
fe52b4d6d9 chore(deps): bump docker/login-action from 3.3.0 to 3.4.0 (#23110)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-22 17:41:31 +00:00
dependabot[bot]
22c11cee10 chore(deps): bump actions/setup-node from 4.1.0 to 4.4.0 (#23108)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-22 17:41:21 +00:00
dependabot[bot]
4a41a86e43 chore(deps): bump peter-evans/create-pull-request from 7.0.5 to 7.0.8 (#23107)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-22 17:34:27 +00:00
dependabot[bot]
dbdc6eafdb chore(deps): bump sigstore/cosign-installer from 3.7.0 to 3.8.2 (#23109)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-22 13:19:17 -04:00
dependabot[bot]
5831c948db chore(deps): bump golangci/golangci-lint-action from 6.1.1 to 8.0.0 (#23111)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-22 13:14:18 -04:00
dependabot[bot]
d2d344ba01 chore(deps): bump @fortawesome/fontawesome-free from 6.5.2 to 6.7.2 in /ui (#23105)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-22 12:26:12 -04:00
dependabot[bot]
a823e12595 chore(deps): bump gitlab.com/gitlab-org/api/client-go from 0.116.0 to 0.129.0 (#23098)
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-22 15:45:32 +00:00
Michael Crenshaw
878d6f715e chore(ci): fix otel dependabot group pattern (#23102)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-22 15:08:06 +00:00
dependabot[bot]
d69f37bb35 chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc from 1.35.0 to 1.36.0 (#23096)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-22 10:58:20 -04:00
sangeer
e6065b88e5 fix(updateAppsetFinalizers): Update Finalizers in addition to other metadata updates when updating Appsets (#23006)
Signed-off-by: Sangeetha Madamanchi <sangeetha@Sangeethas-MBP.attlocal.net>
Signed-off-by: raweber <99535319+raweber42@users.noreply.github.com>
Signed-off-by: Sangeetha Madamanchi <smadamanchi@expediagroup.com>
Signed-off-by: Matteo Baiguini <22518997+bygui86@users.noreply.github.com>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Sangeetha Madamanchi <smadamanchi@expediagroup.com>
Co-authored-by: raweber <99535319+raweber42@users.noreply.github.com>
Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
Co-authored-by: Matteo Baiguini <22518997+bygui86@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-22 10:33:50 -04:00
Michael Crenshaw
57b039f12c chore(deps): bump style-loader to v1 (#23091)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-22 10:32:58 -04:00
Michael Crenshaw
5b21f98d7c fix(server): infer resource status health for apps-in-any-ns (#22944)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-22 09:46:48 -04:00
Michael Crenshaw
198aa8a37a chore(deps): bump Dex from 2.41.1 to 2.43.0 (#23088)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-22 09:46:33 -04:00
dependabot[bot]
9183506de8 chore(deps): bump library/golang from 86b4cff to 1bcf884 in /test/remote (#23094)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-22 06:17:15 -07:00
Michael Crenshaw
9149021b2c feat(health): add crossplane and upbound health checks (#21479) (#22919)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-05-22 08:38:40 -04:00
Soumya Ghosh Dastidar
722da4e70f fix: add cooldown to prevent resetting autoheal exp backoff preemptively (#23057)
Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2025-05-22 15:05:12 +05:30
dependabot[bot]
4febded784 chore(deps): bump codecov/codecov-action from 4.6.0 to 5.1.2 (#21252)
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-21 21:30:20 +00:00
dependabot[bot]
f9971fa370 chore(deps): bump actions/upload-artifact from 4.4.3 to 4.5.0 (#21231)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-21 21:12:26 +00:00
dependabot[bot]
e131d273e1 chore(deps): bump prismjs from 1.27.0 to 1.30.0 in /ui (#22296)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-21 16:44:00 -04:00
dependabot[bot]
e22cd46a86 chore(deps): bump @babel/runtime from 7.14.6 to 7.26.10 in /ui (#22304)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-21 16:37:56 -04:00
dependabot[bot]
baa679d2dc chore(deps-dev): bump esbuild-loader from 2.18.0 to 4.3.0 in /ui (#21852)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-21 16:22:31 -04:00
fprovencherdrw
96039be4e0 feat(health): add Rabbitmq topology resource customizations (#22066)
Signed-off-by: Francis Provencher <fprovencher@drw.com>
2025-05-21 16:09:18 -04:00
crabique
4905876108 fix: Disable ESO refresh/push custom actions when they would do nothing (#22305)
Signed-off-by: crabique <crabique@users.noreply.github.com>
2025-05-21 15:59:24 -04:00
Matthieu MOREL
17e03ff335 chore: simplify user agent version constraint handling in interceptors (#22358)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-05-21 15:56:25 -04:00
Greg Barasch
ce4b7a28cc feat: Contour HTTPProxy health check support for issue # 22504 (#22596)
Signed-off-by: Greg Barasch <gregbarasch@gmail.com>
2025-05-21 15:54:36 -04:00
Oslan Villalobos
18a26d624b chore: Update USERS.md (#22640)
Signed-off-by: Oslan Villalobos <oslanevillalobos@gmail.com>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-21 19:51:15 +00:00
Rick Brouwer
d3223a8c9f feat: add Fallback condition to KEDA ScaledObject health assessment (#22844)
Signed-off-by: Rick Brouwer <rickbrouwer@gmail.com>
2025-05-21 15:23:40 -04:00
dependabot[bot]
fff55f23f1 chore(deps): bump github.com/casbin/govaluate from 1.3.0 to 1.6.0 (#23074)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-21 16:57:24 +00:00
Kanika Rana
e8f568a70d chore: use name imports for argocd Utilio (#22836)
Signed-off-by: Kanika Rana <krana@redhat.com>
2025-05-21 16:25:32 +00:00
dependabot[bot]
4210535a17 chore(deps-dev): bump @types/node from 22.15.19 to 22.15.21 in /ui-test (#23073)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-21 06:36:50 -07:00
dependabot[bot]
146a7798ed chore(deps): bump sigs.k8s.io/controller-runtime from 0.20.1 to 0.20.4 (#22959)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-20 23:03:18 -04:00
dhawos
7d58ca3ef7 chore(logs): standardize application logging (#20731) (#21442)
Signed-off-by: Louis Gérard <louis.gerard.pro@proton.me>
2025-05-20 15:48:09 -04:00
Michael Crenshaw
f4e12ad2d6 fix: revert "added tasks to upgrade Redis HA using renovate (#22054)" (#23068)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-20 19:23:26 +00:00
Peter Jiang
4f35f7f09a chore: bump gitops-engine ssd fix (#23066)
Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-05-20 19:14:49 +00:00
Michael Crenshaw
be6ba0e446 chore(refactor): replace trivial functions w/ standard lib (#23063)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-20 15:57:57 +00:00
Michael Crenshaw
45a8c68f2a fix(controller): only update lastTransitionTime when needed (#23018)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-20 11:26:07 -04:00
dependabot[bot]
e1db296752 chore(deps-dev): bump mocha from 11.3.0 to 11.4.0 in /ui-test (#23054)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-20 07:54:20 -07:00
dependabot[bot]
30ede8ac81 chore(deps): bump github.com/olekukonko/tablewriter from 0.0.6-0.20230925090304-df64c4bbad77 to 1.0.6 (#23030)
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-20 14:37:47 +00:00
Afzal Ansari
aefa93ff4e fix: added tasks to upgrade Redis HA using renovate (#22054)
Signed-off-by: Afzal Ansari <afzal442@gmail.com>
2025-05-20 10:18:03 -04:00
Anand Francis Joseph
3e7625a255 fix(webhook): Fix panic when web URL string is empty in webhook payload (#23042)
Signed-off-by: anandf <anjoseph@redhat.com>
2025-05-20 09:47:14 -04:00
Alexei Fedotov
95efc16cd8 fix: add shellcheck and fix a few warnings (#22569)
Signed-off-by: Alexei Fedotov <alexei.fedotov@gmail.com>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-19 21:06:45 +00:00
Cyril Gaudin
ff7870d27c docs: fix jsonpath in 2.14-3.0 upgrade doc (#23045)
Signed-off-by: Cyril Gaudin <cyril.gaudin@camunda.com>
2025-05-19 09:56:10 -07:00
Dmitry Shmelev
25dc9605eb fix(applicationset_controller): requeue by ApplicationStatus changes (#23043)
Signed-off-by: Dmitry Shmelev <Dmitry.Shmelev@jetbrains.com>
Signed-off-by: Dmitry Shmelev <avikez@gmail.com>
Co-authored-by: rumstead <37445536+rumstead@users.noreply.github.com>
2025-05-19 09:01:24 -07:00
Sai pavan
a0a82a1407 chore: Disable trace exports to Telemetry for helm-registry server (#23020)
Signed-off-by: Sai Pavan Nunna <saipavan9999@yahoo.com>
Signed-off-by: Sai Pavan <saipavan9999@yahoo.com>
2025-05-19 11:00:48 -04:00
Nitish Kumar
309acd161c chore: replace heptio-images with argocd-e2e-container (#23040)
Signed-off-by: nitishfy <justnitish06@gmail.com>
Signed-off-by: Nitish Kumar <justnitish06@gmail.com>
2025-05-19 07:49:11 -07:00
Masanori Tani
f550dc0592 docs: Fix typo in releasing.md (#23027)
Signed-off-by: Masanori Tani <uta8a@uta8a.org>
2025-05-19 06:23:36 -07:00
Ville Vesilehto
90408cbafd chore: upgrade Go from 1.24.1 to 1.24.3 (#23026)
Signed-off-by: Ville Vesilehto <ville@vesilehto.fi>
2025-05-19 12:53:38 +02:00
Jonas Mai
899e9964e0 docs: remove projects as an allowed resource type from project level policy declarations documentation (#23036)
Signed-off-by: Jonas Mai <hubwoop@users.noreply.github.com>
2025-05-19 12:38:12 +02:00
dependabot[bot]
cbb76a587a chore(deps-dev): bump mocha from 11.2.2 to 11.3.0 in /ui-test (#23031)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-19 06:25:12 -04:00
dependabot[bot]
17d356fe38 chore(deps-dev): bump @types/node from 22.15.18 to 22.15.19 in /ui-test (#23032)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-19 06:24:41 -04:00
Regina Voloshin
ec9b43f9fa feat: implement custom resource action skip-current-step for argo rollouts (#23025)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
2025-05-18 22:26:53 +03:00
siddharth
f763b2a97c feat: add pause action for argo-rollouts #20505 (#20506)
Signed-off-by: Siddharth Yadav <siddharth.yadav@king.com>
Signed-off-by: siddharth <sedflix@gmail.com>
Co-authored-by: Siddharth Yadav <siddharth.yadav@king.com>
Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
2025-05-18 15:20:15 +03:00
Takumi Sue
0707bff1c2 fix: remove default spec.preserveUnknownFields ignoreDifference for CRD (#22948)
Signed-off-by: mikutas <23391543+mikutas@users.noreply.github.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-05-18 09:33:59 +03:00
Michael Crenshaw
797f1d693b chore(test): upgrade to mockery v3 (#22999)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-16 16:38:51 -04:00
Michael Crenshaw
6c1cfedd14 chore(deps): bump controller-gen to v0.18.0 (#23000)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-16 09:33:48 -07:00
Matteo Baiguini
6aa5f84631 docs: Added Swissblock Technologies to USERS.md (#23010)
Signed-off-by: Matteo Baiguini <22518997+bygui86@users.noreply.github.com>
2025-05-15 23:38:43 -10:00
raweber
bf488ccc4d docs: Add RequeueAfterSeconds documentation for git generator (#22890)
Signed-off-by: raweber <99535319+raweber42@users.noreply.github.com>
Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-05-15 22:58:43 +02:00
Michael Crenshaw
f0d783b1e7 chore(test): fix mockery deprecation warnings (#22998)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-15 11:06:03 -07:00
dependabot[bot]
af3a37b053 chore(deps): bump github.com/Azure/kubelogin from 0.2.7 to 0.2.8 (#22813)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-15 15:31:51 +00:00
dependabot[bot]
41e7b26d03 chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.9.0 to 1.10.0 (#22990)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-15 10:46:21 -04:00
Bo Xuan
2e4d8e58d3 refactor: Improve checkResourceStatus readability (#21260)
Signed-off-by: Boxuan Tang <tangboxuan@google.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-05-15 14:20:44 +00:00
Karsten Thoms
0e800341bb docs: detailed valid states for pullRequestState (#21873)
Signed-off-by: Karsten Thoms <karsten.thoms@gmail.com>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2025-05-15 09:39:16 -04:00
Michael Crenshaw
8398380d46 chore(refactor): initialize slice to exact length (#22981)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-15 06:26:34 -07:00
dependabot[bot]
32eaea7533 chore(deps): bump github.com/expr-lang/expr from 1.17.2 to 1.17.3 (#22989)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-15 06:03:32 -04:00
dependabot[bot]
570b3424b0 chore(deps): bump google.golang.org/grpc from 1.72.0 to 1.72.1 (#22988)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-15 06:02:44 -04:00
dependabot[bot]
2078f40a6f chore(deps): bump chromedriver from 136.0.0 to 136.0.2 in /ui-test (#22987)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-15 06:01:54 -04:00
dependabot[bot]
7b09aef22a chore(deps-dev): bump @types/node from 22.15.17 to 22.15.18 in /ui-test (#22986)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-15 06:01:06 -04:00
dependabot[bot]
b63bf8f1d4 chore(deps): bump library/golang from 39d9e7d to 86b4cff in /test/remote (#22985)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-15 06:00:25 -04:00
Oleksandr Saulyak
be3efbd98f fix: settings request doesn't return default tracking method (#22965)
Signed-off-by: oleksandr-codefresh <oleksandr.saulyak@octopus.com>
Co-authored-by: Regina Voloshin <regina.voloshin@codefresh.io>
2025-05-15 11:26:47 +03:00
Nitish Kumar
dd5a8780e1 feat: add ability to exclude files when using git file generator (#22734)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2025-05-15 03:55:27 +00:00
Atif Ali
9675487a16 feat(ui): integrate Progressive Sync feature (#22781)
Signed-off-by: Atif Ali <atali@redhat.com>
2025-05-14 16:26:42 -04:00
Michael Crenshaw
db6ece9b9f fix(test): broken e2e test (#22975)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-14 13:31:53 -04:00
rumstead
02185d7056 docs(server): no resource health when using the list api (#22954)
Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
2025-05-14 11:39:44 -04:00
Michael Crenshaw
97a38b486b chore(server): remove dead code (#22955)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-13 20:45:06 -04:00
Michael Crenshaw
76a63a1cac feat(api): protect static assets endpoint from symlink traversal (#22936)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-13 16:43:14 -04:00
Grischa Ekart
44294a5102 docs: Fixed link to argocd-cm.yaml [minor] (#22923)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Signed-off-by: Grischa Ekart <gekart@gmx.de>
Signed-off-by: Dan Garfield <dan@codefresh.io>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2025-05-13 14:58:02 +00:00
Nitish Kumar
e0b278fd5d docs: mention about requirement for go template when using template patch (#22950)
Signed-off-by: nitishfy <justnitish06@gmail.com>
Signed-off-by: Nitish Kumar <justnitish06@gmail.com>
Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-05-13 00:58:42 -10:00
Grischa Ekart
0c20652c9a docs: Correct project role RBAC wording in projects.md [Minor] (#22922)
Signed-off-by: Grischa Ekart <gekart@users.noreply.github.com>
2025-05-12 12:17:36 +03:00
Xiaopeng Han
299286dea1 fix: app tree parentRef response missing version info (#22927)
Signed-off-by: xiaopeng <hanxiaop8@outlook.com>
2025-05-12 14:30:22 +05:30
Ibrahim Lawal
31e8ff8759 docs(users): Update USERS.md - adding Paystack (#22925)
Signed-off-by: Ibrahim Lawal <ibrahim@paystack.com>
2025-05-11 20:03:33 +02:00
Michael Crenshaw
610523b784 fix(commit-server): apply image override (#22916)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-09 19:33:24 -04:00
Michael Crenshaw
e28f6090d1 fix(commit-server): remove unnecessary init container (#22915)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-09 16:30:55 -04:00
afarbos
5a3a104793 feat: Implement grafana-operator Dashboard and Folder CRD health checks (#22493)
Signed-off-by: Arnaud Farbos <afarbos@nvidia.com>
2025-05-09 12:05:19 -07:00
dependabot[bot]
59b9ffa094 chore(deps): bump oras.land/oras-go/v2 from 2.5.0 to 2.6.0 (#22912)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-09 07:03:58 -07:00
dependabot[bot]
09f874da24 chore(deps-dev): bump @types/node from 22.15.16 to 22.15.17 in /ui-test (#22911)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-09 07:38:32 -04:00
Suraj yadav
f4e2c6ea3b fix(ui): replace current spinning webfont icon with svg icons (#21012)
Signed-off-by: Surajyadav <harrypotter1108@gmail.com>
Signed-off-by: Suraj yadav <harrypotter1108@gmail.com>
2025-05-08 20:14:31 -04:00
Linghao Su
30742f6d5d feat(ui): disable select not running pod and bring back arrow to selected pod (#21576)
Signed-off-by: linghaoSu <linghao.su@daocloud.io>
2025-05-08 16:49:06 -07:00
KoB
274e918fc8 fix(appcontroller): if a history limit is negative, automatically converted to 0 (#22036)
Signed-off-by: kingbj0429 <kingbj0429@lunit.io>
2025-05-08 16:45:08 -07:00
vivian-xu
2dafcba595 feat(ui): add keydown event to the pod dropdown menu (#20996)
Signed-off-by: vivian.zhang <vivian.zhang@daocloud.io>
2025-05-08 16:24:04 -07:00
lxw
d284b15400 feat: support gitea PR labels filter in appset PR generator (#21115) (#21148)
Signed-off-by: livelxw <livelxw@live.cn>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-05-08 22:57:40 +00:00
vamsikrishna9640
3d73f37738 docs: add missing URL configuration for Google Groups SSO with Dex (#22197)
Signed-off-by: vamsikrishna9640 <91549516+vamsikrishna9640@users.noreply.github.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-05-08 22:46:58 +00:00
Timothy Griffiths
bd30eea239 fix(haproxy): setting maxconn in haproxy config (#15319) (#18283)
Signed-off-by: Timothy Griffiths <griffiths.timothy@gmail.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-05-08 21:40:40 +00:00
raweber
56c556e707 fix: clarify applicationSet sync-policy (#22888)
Signed-off-by: raweber <99535319+raweber42@users.noreply.github.com>
2025-05-08 22:00:23 +02:00
Kylash M R
0455e840b7 docs(users): Update USERS.md - adding Schneider Electric (#22907)
Signed-off-by: Kylash M R <105107963+kylash-mr@users.noreply.github.com>
2025-05-08 09:59:49 -07:00
Michael Crenshaw
e9483a6a0d fix(health): handle nil lastTransitionTime (#22897) (#22900)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-05-08 07:00:30 -07:00
Mathieu Agar
992ee25bd3 fix: Race condition in nativeGitClient.LsFiles (issue #21754) (#22878)
Signed-off-by: Mathieu Agar <magar@mirakl.com>
Co-authored-by: rumstead <37445536+rumstead@users.noreply.github.com>
2025-05-08 06:29:19 -07:00
dependabot[bot]
d0afa89a82 chore(deps): bump github.com/google/go-jsonnet from 0.21.0-rc2 to 0.21.0 (#22902)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-08 15:26:39 +03:00
dependabot[bot]
bdcc705956 chore(deps): bump dario.cat/mergo from 1.0.1 to 1.0.2 (#22903)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-08 15:21:30 +03:00
dependabot[bot]
ff1b935905 chore(deps-dev): bump @types/node from 22.15.14 to 22.15.16 in /ui-test (#22904)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-08 06:26:32 -04:00
dependabot[bot]
ef07bbdea1 chore(deps): bump library/golang from 1.24.2 to 1.24.3 in /test/remote (#22905)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-08 06:26:03 -04:00
Ratul Basak
111da3966e feat(actions): parametrized actions to scale workloads (#15505) (#20097)
Signed-off-by: Ratul Basak <ratulbasak93@gmail.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-05-08 11:19:04 +03:00
Paul Larsen
6625d07859 chore(repo-server): unify semver resolution in new versions subpackage (#20216)
Signed-off-by: Paul Larsen <pnvlarsen@gmail.com>
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-05-08 07:10:28 +00:00
Suraj yadav
3f3ac06fd1 feat(ui): add toggle for fullname of resources in application-details-tree (#20812)
Signed-off-by: Surajyadav <harrypotter1108@gmail.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-05-08 00:00:26 +00:00
Suraj yadav
bb37b10517 feat(ui): allow to sort by age in Pod-view (#20783)
Signed-off-by: Surajyadav <harrypotter1108@gmail.com>
2025-05-07 16:52:37 -07:00
Linghao Su
ceec669b0b feat(ui): support delete all expired token in project roles (#21782)
Signed-off-by: linghaoSu <linghao.su@daocloud.io>
2025-05-07 16:50:51 -07:00
Diasker
d4a20e4136 fix: prevent rootpath duplication in OIDC redirect URLs, fixes #21857 #20790 #12195 (#22254)
Signed-off-by: Diasker <kennardniko@foxmail.com>
2025-05-07 16:43:23 -07:00
Shun Nishitsuji
c7fa14e3b8 fix(repo-server): When using custom kustomize versions, obtain the correct path (#21449) (#21537)
Signed-off-by: asuforce <owata.sn@gmail.com>
2025-05-07 16:40:05 -07:00
Geoffrey MUSELLI
6047e91d15 feat(AppProject): Add sync window description (#20766)
Signed-off-by: gmuselli <geoffrey.muselli@gmail.com>
Signed-off-by: speedfl <geoffrey.muselli@gmail.com>
Signed-off-by: gmuselli <Geoffrey Muselli>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: gmuselli <Geoffrey Muselli>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-05-07 23:15:38 +00:00
Marc Khair
e578b85410 feat(health): add kyverno Policy resource customization (#21552)
Signed-off-by: Marc Khair <67377306+marckhair@users.noreply.github.com>
2025-05-07 16:14:34 -07:00
dependabot[bot]
92589dea2f chore(deps): bump library/busybox from sha256:498a000f370d8c37927118ed80afe8adc38d1edcbfc071627d17b25c88efcab0 to sha256:37f7b378a29ceb4c551b1b5582e27747b855bbfaa73fa11914fe0df028dc581f in /test/e2e/multiarch-container (#22703)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-07 18:17:16 -04:00
Suraj yadav
38e7a03c51 fix(ui): Added tooltip for buttons in narrow window (#20886)
Signed-off-by: Surajyadav <harrypotter1108@gmail.com>
2025-05-07 14:51:32 -07:00
asela-nomihealth
0b7d7df6ac docs: update USERS.md to include Artemis Health (#22895)
Signed-off-by: asela-nomihealth <120056260+asela-nomihealth@users.noreply.github.com>
Co-authored-by: asela-nomihealth <arigsela@gmail.com>
2025-05-07 17:06:37 -04:00
dependabot[bot]
a12f517ebd chore(deps-dev): bump @types/node from 22.15.11 to 22.15.14 in /ui-test (#22886)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-07 06:09:30 -07:00
dependabot[bot]
f31807d5da chore(deps): bump library/golang from d9db321 to 8131d99 in /test/remote (#22818)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2025-05-07 06:09:10 -07:00
jheyduk
acd8844064 fix(docs): upgrading 3.0 docs (#22891)
Signed-off-by: Joerg Heyduk <joerg@heyduk.org>
2025-05-07 12:17:03 +02:00
Oliver Gondža
73f68af2a6 fix(docs): Fix UI port in E2E docs (#22881)
Signed-off-by: Oliver Gondža <ogondza@gmail.com>
2025-05-07 10:28:44 +02:00
Dmitry Fedorov
70fc269834 chore(docs): fix indentation for Important admonition (#22883)
Signed-off-by: Dmitry Fedorov <fedorovdima@users.noreply.github.com>
2025-05-06 18:30:45 -04:00
dependabot[bot]
73c976003a chore(deps): bump golang.org/x/net from 0.39.0 to 0.40.0 (#22874)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-06 15:09:54 +00:00
renovate[bot]
362dc663cd chore(deps): update dependency gotestyourself/gotestsum to v1.12.2 (#22875)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-06 07:18:13 -07:00
dependabot[bot]
410a0a54cf chore(deps): bump golang.org/x/term from 0.31.0 to 0.32.0 (#22873)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-06 07:17:25 -07:00
dependabot[bot]
c37be2122b chore(deps): bump golang.org/x/oauth2 from 0.29.0 to 0.30.0 (#22871)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-06 07:16:37 -07:00
dependabot[bot]
969b043503 chore(deps-dev): bump @types/node from 22.15.3 to 22.15.11 in /ui-test (#22870)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-06 07:16:16 -07:00
almoelda
0dfdb0a86a fix(cli): Prevent Get & Sync from Hanging on Invalid Application Spec (#21702)
Signed-off-by: almoelda <42950693+almoelda@users.noreply.github.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-05-06 00:54:56 +00:00
Nitish Kumar
6cf29619ae feat(cli): Add Plugin Support to the Argo CD CLI (#20074)
Signed-off-by: nitishfy <justnitish06@gmail.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-05-05 16:12:33 -07:00
dependabot[bot]
9a738b2880 chore(deps): bump github.com/ktrysmt/go-bitbucket from 0.9.83 to 0.9.85 (#22866)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-05 10:50:46 -07:00
dependabot[bot]
f6861aa353 chore(deps): bump github.com/grpc-ecosystem/go-grpc-middleware/v2 from 2.3.1 to 2.3.2 (#22868)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-05 06:16:29 -04:00
dependabot[bot]
11736abfb9 chore(deps): bump selenium-webdriver from 4.31.0 to 4.32.0 in /ui-test (#22867)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-05 06:16:07 -04:00
renovate[bot]
8950d0a46c chore(deps): update module github.com/golangci/golangci-lint to v2.1.6 (#22865)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-05 06:12:24 -04:00
Hrittik Roy
5cd1ef9e67 docs: add external IP LoadBalancer Step (#22851)
Signed-off-by: Hrittik Roy <67012359+hrittikhere@users.noreply.github.com>
2025-05-02 18:29:44 -04:00
dependabot[bot]
53a2005b43 chore(deps-dev): bump mocha from 11.0.1 to 11.2.2 in /ui-test (#22849)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-02 08:11:24 -07:00
CMDMichalKoval
99faf82474 feat(appset): add target branch support for bitbucket cloud pull request generator (#22402)
Signed-off-by: Michal Koval <michal.koval@commander.sk>
Co-authored-by: Ishita Sequeira <46771830+ishitasequeira@users.noreply.github.com>
2025-05-02 08:54:24 -04:00
dependabot[bot]
7d81d1a59e chore(deps): bump library/redis from d000041 to 7df1eef in /test/container (#22841)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-01 08:59:22 -07:00
dependabot[bot]
9d93eb2054 chore(deps): bump library/golang from 8131d99 to 30baaea in /test/container (#22840)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-01 06:09:34 -07:00
dependabot[bot]
08d52f3617 chore(deps): bump chromedriver from 135.0.4 to 136.0.0 in /ui-test (#22839)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-01 06:09:14 -07:00
Dmitry Fedorov
d0dbafcf0d chore(docs): fix ZipRecruiter name in USERS.md (#22837)
Signed-off-by: Dmitry Fedorov <fedorovdima@users.noreply.github.com>
2025-04-30 17:35:36 -06:00
dependabot[bot]
274bdcca8b chore(deps): bump library/golang from d9db321 to 8131d99 in /test/container (#22820)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2025-04-30 09:20:29 -07:00
dependabot[bot]
8d8ca44487 chore(deps): bump library/redis from 8bc6664 to d000041 in /test/container (#22821)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2025-04-30 09:20:04 -07:00
Afzal Ansari
ba9ad75ac7 docs: remove argocd installation redundant steps for Mac users (#22705)
Signed-off-by: Afzal Ansari <afzal442@gmail.com>
2025-04-29 15:37:54 -06:00
Revital Barletz
aa7f5726e8 docs: Helm values can't be used as soon as valuesObject is used (#22807)
Signed-off-by: Revital Barletz <revitalbarletz@gmail.com>
2025-04-29 15:35:22 -06:00
Revital Barletz
a7dce39444 docs: Update sync-waves.md to include more details about phases and waves (#22768)
Signed-off-by: Revital Barletz <revitalbarletz@gmail.com>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2025-04-28 14:55:49 -06:00
Peter Jiang
db9c82a886 fix: remove project from cache key for project scoped credentials (#22712)
Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-04-28 13:26:39 -04:00
dependabot[bot]
a00446565c chore(deps-dev): bump @types/node from 22.15.0 to 22.15.2 in /ui-test (#22812)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-28 06:14:25 -07:00
renovate[bot]
1cd3ac511c chore(deps): update dependency pymdown-extensions to v10.15 (#22811)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-28 05:12:10 -07:00
dependabot[bot]
a5626a3432 chore(deps): bump library/golang from 1ecc479 to d9db321 in /test/remote (#22790)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-28 04:58:28 -07:00
Jorge Ivan Tapicha Bedoya
a9dff073b2 chore(docs): Added Yuno to the USERS.md (#22806)
Signed-off-by: Jorge Ivan Tapicha Bedoya <jitapichab@gmail.com>
2025-04-27 21:43:01 -04:00
Yiwei Gong
814a24e229 fix(ui): resolve refresh page issue with multi system extensions (#22775)
Signed-off-by: Yiwei Gong <imwithye@gmail.com>
Co-authored-by: Ishita Sequeira <46771830+ishitasequeira@users.noreply.github.com>
2025-04-27 20:18:36 -04:00
Mike Bryant
b2ad0122d5 fix: Only port-forward to ready pods (#10610) (#22794)
Signed-off-by: Mike Bryant <mike.bryant@mettle.co.uk>
2025-04-27 18:18:02 -04:00
dependabot[bot]
89f006a351 chore(deps): bump library/redis from 7.4.2 to 7.4.3 in /test/container (#22789)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-27 18:17:04 -04:00
dependabot[bot]
7079a4cc7a chore(deps-dev): bump @types/node from 22.14.1 to 22.15.0 in /ui-test (#22788)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-27 18:16:39 -04:00
dependabot[bot]
5500a375f7 chore(deps): bump chromedriver from 135.0.3 to 135.0.4 in /ui-test (#22787)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-27 18:16:08 -04:00
geichelberger
19669d2daf feat: add repository_id to AppSet generators (#15820) (#22416)
Signed-off-by: Gregor Eichelberger <gregor.eichelberger@tuwien.ac.at>
2025-04-27 17:39:26 -04:00
Mike Tougeron
895dcf7fa7 fix: Allow ClusterAPI MachinePool scaling to be considered Healthy (#22040)
Signed-off-by: Mike Tougeron <tougeron@adobe.com>
2025-04-27 16:55:41 -04:00
dependabot[bot]
ca431dc5e4 chore(deps): bump google.golang.org/grpc from 1.71.1 to 1.72.0 (#22742)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-27 16:48:09 -04:00
renovate[bot]
eaf83ba29d chore(deps): update module github.com/golangci/golangci-lint to v2.1.5 (#22783)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-25 08:34:37 -07:00
Linghao Su
fdb035017f fix(ui): fix bearerToken validate in helm connect page (#22791)
Signed-off-by: linghaoSu <linghao.su@daocloud.io>
2025-04-25 08:33:22 -07:00
dependabot[bot]
0ad3a2c986 chore(deps): bump chromedriver from 135.0.2 to 135.0.3 in /ui-test (#22774)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-24 07:26:41 -07:00
Fernando Crespo Grávalos
f26b7cd1ac fix(ApplicationSet): Check strategy type to verify it's a progressive sync (#22563)
Signed-off-by: Fernando Crespo Gravalos <fcrespo@fastly.com>
Signed-off-by: Fernando Crespo Grávalos <59588094+fcrespofastly@users.noreply.github.com>
Co-authored-by: rumstead <37445536+rumstead@users.noreply.github.com>
2025-04-23 11:30:00 -07:00
dependabot[bot]
0be041a834 chore(deps): bump github.com/aws/aws-sdk-go from 1.55.6 to 1.55.7 (#22761)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-23 09:11:02 -07:00
dependabot[bot]
3a529f338d chore(deps): bump github.com/ktrysmt/go-bitbucket from 0.9.82 to 0.9.83 (#22762)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-23 09:10:38 -07:00
Revital Barletz
4aea93b867 docs: Update Appset-Any-Namespace.md - removed extra 'and' for clarity (#22767)
Signed-off-by: Revital Barletz <revitalbarletz@gmail.com>
2025-04-23 02:04:34 -10:00
Revital Barletz
0864318ac2 docs: multiple resources should set a relative path in the valueFiles (#22745)
Signed-off-by: Revital Barletz <revitalbarletz@gmail.com>
Signed-off-by: Dan Garfield <dan@codefresh.io>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2025-04-22 16:54:17 +00:00
Oliver Gondža
27ae11ac58 docs: Style and formatting fixes in the developer guide (#22677)
Signed-off-by: Oliver Gondža <ogondza@gmail.com>
2025-04-22 07:45:42 -07:00
dependabot[bot]
c8c74b5d83 chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.8.2 to 1.9.0 (#22614)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-21 22:06:13 -04:00
Regina Voloshin
d22e28a28e fix: AppSet PullRequest and SCM generators get 401 from GitHub without tokenRef (#22737)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
2025-04-21 15:38:16 -04:00
dependabot[bot]
713f9473af chore(deps): bump github.com/casbin/casbin/v2 from 2.104.0 to 2.105.0 (#22732)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-21 06:17:47 -07:00
dependabot[bot]
04809649f8 chore(deps): bump library/golang from 1.24.2@sha256:1ecc479bc712a6bdb56df3e346e33edcc141f469f82840bab9f4bc2bc41bf91d to sha256:d9db32125db0c3a680cfb7a1afcaefb89c898a075ec148fdc2f0f646cc2ed509 in /test/container (#22729)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-21 06:17:25 -07:00
Blake Pettersson
8c3c778bee fix: do not normalize resource tracking on live crds (#22722)
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-04-21 14:48:45 +05:30
Pasha Kostohrys
2bd2488989 feat: Enable SkipDryRunOnMissingResource sync option on Application level (#22679)
Co-authored-by: pasha <pasha.k@fyxt.com>
2025-04-20 14:54:38 +03:00
dependabot[bot]
86fa92d954 chore(deps): bump library/ubuntu from 24.04@sha256:80dd3c3b9c6cecb9f1667e9290b3bc61b78c2678c02cbdae5f0fea92cc6734ab to sha256:1e622c5f073b4f6bfad6632f2616c7f59ef256e96fe78bf6a595d1dc4376ac02 in /test/container (#22716)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-20 14:42:21 +03:00
Denis Karpelevich
569f5d4ce5 docs: Document GitHub App credentials GitHub Enterprise Base URL when creating repository (argoproj#22389) (#22433)
Signed-off-by: Denis Karpelevich <dkarpele@redhat.com>
2025-04-20 13:33:27 +03:00
Sascha Spreitzer
4b6566a8ef docs: add a precise description on helm chart prerelease version comparison. Fixes #21818 (#22724)
Signed-off-by: Sascha Spreitzer <sascha@spreitzer.ch>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-04-19 20:33:43 +02:00
Michael Crenshaw
bde7bcfb29 fix(ui): avoid spurious error on hydration (#22506) (#22711)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-04-17 16:34:34 -07:00
Grant Birkinbine
5002f8a24e fix: disable golang caching on releases to harden against cache poisoning (#22699)
Signed-off-by: Grant Birkinbine <grant.birkinbine@gmail.com>
2025-04-17 08:16:15 -07:00
dependabot[bot]
23f6822cab chore(deps): bump chromedriver from 135.0.1 to 135.0.2 in /ui-test (#22704)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-17 06:20:38 -07:00
dependabot[bot]
b85fec60a5 chore(deps): bump library/redis from 7.4.2@sha256:ca65ea36ae16e709b0f1c7534bc7e5b5ac2e5bb3c97236e4fec00e3625eb678d to sha256:fbdbaea47b9ae4ecc2082ecdb4e1cea81e32176ffb1dcf643d422ad07427e5d9 in /test/container (#22702)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-17 06:20:10 -07:00
kahou82
8fd61195f0 fix: Race condition occurs during initial sharing (#22696)
Signed-off-by: Kahou Lei <kahou82@gmail.com>
Co-authored-by: Ishita Sequeira <46771830+ishitasequeira@users.noreply.github.com>
2025-04-17 02:03:14 +00:00
dependabot[bot]
89d1ff95cf chore(deps): bump http-proxy-middleware from 2.0.7 to 2.0.9 in /ui (#22698)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-16 21:16:14 -04:00
Michael Crenshaw
2d2efdc48f chore(deps): bump github.com/argoproj/pkg to v2.0.1 (#22516)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-04-16 13:15:42 -07:00
Nitish Kumar
a5b57d43a2 test: add unit tests for argocd admin export command to validate behaviour (#22391)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2025-04-16 21:33:30 +05:30
Michael Crenshaw
e97114c3cd docs: remove links to code (#22680)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-04-16 07:13:57 -07:00
dependabot[bot]
6ce6976cf1 chore(deps): bump github.com/go-git/go-git/v5 from 5.14.0 to 5.16.0 (#22684)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-16 07:13:40 -07:00
dependabot[bot]
8c2fc74306 chore(deps): bump github.com/bradleyfalzon/ghinstallation/v2 from 2.14.0 to 2.15.0 (#22685)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-16 07:13:20 -07:00
sivchari
8e846a56f9 fix: test/container/Dockerfile (#22681)
Signed-off-by: sivchari <shibuuuu5@gmail.com>
2025-04-15 11:14:52 -07:00
renovate[bot]
88ecbe2e27 chore(deps): update module github.com/golangci/golangci-lint to v2.1.2 (#22675)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-15 09:47:54 -07:00
Michael Crenshaw
a2233562df fix(controller): always set health.status.lastTransitionTime (#22665) (#22666)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-04-14 17:16:40 +00:00
Nitish Kumar
e72ebb0098 fix: respect delete confirmation for argocd app deletion (#22657)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2025-04-14 07:49:28 -07:00
dependabot[bot]
f6e15d2984 chore(deps): bump sigs.k8s.io/structured-merge-diff/v4 from 4.6.0 to 4.7.0 (#22653)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-14 04:55:30 -07:00
dependabot[bot]
600ab18087 chore(deps-dev): bump @types/node from 22.14.0 to 22.14.1 in /ui-test (#22652) 2025-04-14 07:19:33 -04:00
dependabot[bot]
5e1d2b9bb7 chore(deps): bump github.com/prometheus/client_model from 0.6.1 to 0.6.2 (#22654) 2025-04-14 07:19:03 -04:00
renovate[bot]
faf0073ebc chore(deps): update module github.com/golangci/golangci-lint to v2.1.1 (#22458)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-12 17:47:52 -04:00
dependabot[bot]
127eef95fd chore(deps): bump github.com/prometheus/client_golang from 1.21.1 to 1.22.0 (#22615)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-12 09:13:47 +01:00
renovate[bot]
01e8bd1c2f chore(deps): update dependency markdown to v3.8 (#22642)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-12 09:11:46 +01:00
Nirmal Arya
1eeaab4564 Added Bayer AG to the USERS.md (#22645)
Signed-off-by: Nirmal Arya <2323680+nirmalarya@users.noreply.github.com>
2025-04-11 22:13:50 -06:00
dependabot[bot]
923edeafa0 chore(deps): bump library/golang from 18a1f2d to 1ecc479 in /test/remote (#22636)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-11 07:42:23 -07:00
dependabot[bot]
8cc091c3d2 chore(deps): bump library/golang from 18a1f2d to 1ecc479 in /test/container (#22637)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-11 07:42:09 -07:00
dependabot[bot]
580ae1db1f chore(deps-dev): bump dotenv from 16.4.7 to 16.5.0 in /ui-test (#22638)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-11 07:41:51 -07:00
Wesley Charles Blake
4d0d80731e docs: Adds chronicle-labs to users (#22635)
Signed-off-by: Wesley Charles Blake <hello@stratonode.dev>
2025-04-11 07:41:27 -07:00
Seth Gupton
cde5b4b7d4 fix: Increase Scan count and move Scan outside of mutex lock to avoid slow calls timing out (#17645) (#21926)
Signed-off-by: Seth Gupton <seth.gupton@mastery.net>
2025-04-10 14:08:21 -07:00
Christian Hernandez
8401dcead0 docs: Removed IgnoreExtraneous since it is now in the new compare-options doc (#22632)
Signed-off-by: Christian Hernandez <christian@chernand.io>
2025-04-10 15:40:13 +00:00
Oliver Gondža
f54238bae4 docs: Style and formatting improvements to User Guide (#22622)
Signed-off-by: Oliver Gondža <ogondza@gmail.com>
Co-authored-by: rumstead <37445536+rumstead@users.noreply.github.com>
2025-04-10 07:47:13 -07:00
dependabot[bot]
a1fd1ba178 chore(deps): bump chromedriver from 135.0.0 to 135.0.1 in /ui-test (#22628)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-10 07:03:30 -04:00
dependabot[bot]
e4d7103508 chore(deps): bump library/golang from c0b66cf to 18a1f2d in /test/remote (#22627)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-10 07:03:05 -04:00
dependabot[bot]
e292cc4441 chore(deps): bump library/golang from c0b66cf to 18a1f2d in /test/container (#22626)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-10 07:02:37 -04:00
de-slalonde
e4a8c9ee98 docs(users): Add DigitalEd to official USERS.md (#22624)
Signed-off-by: Sam Lalonde <slalonde@digitaled.com>
2025-04-09 12:47:38 -07:00
Atif Ali
999dbb264e feat(UI): add enabled field to explicitly set in automatedSync in SyncPolicy (#22482)
Signed-off-by: Atif Ali <atali@redhat.com>
2025-04-09 15:43:43 -04:00
dependabot[bot]
81dda34ab8 chore(deps): bump library/golang from 991aa6a to c0b66cf in /test/remote (#22618)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-09 06:11:19 -07:00
dependabot[bot]
4e2d2d3459 chore(deps): bump library/golang from 991aa6a to c0b66cf in /test/container (#22613)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-09 06:10:44 -07:00
Peter Jiang
99b8761a64 chore(docs): Update Server Side Diff Documentation (#22600)
Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-04-08 20:21:43 +00:00
dependabot[bot]
93a8014aed chore(deps): bump github.com/go-jose/go-jose/v4 from 4.0.5 to 4.1.0 (#22598)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-08 07:54:02 -07:00
dependabot[bot]
f7b5bef7db chore(deps): bump library/golang from 1.24.1 to 1.24.2 in /test/container (#22597)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-08 08:15:47 -04:00
dependabot[bot]
fc147e3e9a chore(deps): bump golang.org/x/net from 0.38.0 to 0.39.0 (#22599)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-08 09:21:46 +01:00
Alexandre Gaudreault
76d1772b5c fix: do not exclude APIService resources (#22586)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-04-07 11:22:46 +00:00
dependabot[bot]
17337de6eb chore(deps): bump golang.org/x/oauth2 from 0.28.0 to 0.29.0 (#22580)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-07 11:47:57 +01:00
dependabot[bot]
a85a760ffe chore(deps): bump library/registry from 2.8 to 3.0 in /test/container (#22575)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-07 10:36:50 +00:00
dependabot[bot]
c5f7898382 chore(deps): bump selenium-webdriver from 4.30.0 to 4.31.0 in /ui-test (#22574)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-07 05:56:40 -04:00
dependabot[bot]
b99e8e73c0 chore(deps-dev): bump typescript from 5.8.2 to 5.8.3 in /ui-test (#22573)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-07 05:56:18 -04:00
dependabot[bot]
bc73ff9023 chore(deps): bump github.com/jarcoal/httpmock from 1.3.1 to 1.4.0 (#22576)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-07 05:55:43 -04:00
dependabot[bot]
54d7dbff62 chore(deps): bump github.com/fsnotify/fsnotify from 1.8.0 to 1.9.0 (#22577)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-07 05:55:18 -04:00
dependabot[bot]
3a49fc87eb chore(deps): bump library/golang from 1.24.1 to 1.24.2 in /test/remote (#22581)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-07 05:54:40 -04:00
dependabot[bot]
d016dbec4d chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azcore from 1.17.1 to 1.18.0 (#22564)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-05 23:39:43 +01:00
dependabot[bot]
6fb4cb56eb chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc from 1.32.0 to 1.35.0 (#22215)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-04 11:21:47 -07:00
dependabot[bot]
d0d53d3639 chore(deps): bump golang.org/x/net from 0.37.0 to 0.38.0 (#22509)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-04 10:14:44 -07:00
dependabot[bot]
fa02355001 chore(deps): bump google.golang.org/grpc from 1.71.0 to 1.71.1 (#22542)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-04 10:14:12 -07:00
dependabot[bot]
0e17da4880 chore(deps): bump github.com/ktrysmt/go-bitbucket from 0.9.81 to 0.9.82 (#22543)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-04 10:13:53 -07:00
dependabot[bot]
bc00d08261 chore(deps): bump code.gitea.io/sdk/gitea from 0.20.0 to 0.21.0 (#22565)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-04 10:12:04 -07:00
dependabot[bot]
bd5e6af609 chore(deps): bump github.com/coreos/go-oidc/v3 from 3.13.0 to 3.14.1 (#22566)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-04 10:11:47 -07:00
dependabot[bot]
7a2242a6f5 chore(deps): bump library/golang from c5adecd to 8678013 in /test/remote (#22327)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-04 08:11:38 -07:00
dependabot[bot]
765d2d36b6 chore(deps): bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc from 0.59.0 to 0.60.0 (#22214)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-04 08:10:43 -07:00
dependabot[bot]
2ed31a7b8c chore(deps): bump go.opentelemetry.io/otel/sdk from 1.34.0 to 1.35.0 (#22210)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-04 08:10:19 -07:00
dependabot[bot]
73495d0707 chore(deps): bump chromedriver from 134.0.2 to 135.0.0 in /ui-test (#22555)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-03 05:21:03 -07:00
dependabot[bot]
f63b807789 chore(deps-dev): bump @types/node from 22.13.17 to 22.14.0 in /ui-test (#22556)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-03 05:20:36 -07:00
Dag Andersen
0f7da63220 docs(users): Add Doubble to official USERS.md (#22557)
Signed-off-by: Dag Andersen <dagbjerreandersen@gmail.com>
2025-04-03 05:20:12 -07:00
xvirgov
8bfb4f456a fix: fixing broken md link (#22517)
Signed-off-by: Michal Virgovic <michal.virgovic1@gmail.com>
2025-04-02 10:53:06 -07:00
Matthieu MOREL
5b0d76503f chore: clean-up golangci-lint configuration (#22544)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-04-02 08:04:17 -07:00
Alex Eftimie
6bee96c375 fix: #20183 preserve syncOptions when rolling back from the UI (#21871)
Signed-off-by: Alex Eftimie <alex.eftimie@getyourguide.com>
Co-authored-by: Linghao Su <slh001@live.cn>
2025-04-02 09:26:20 -04:00
dependabot[bot]
38b4cba146 chore(deps-dev): bump @types/node from 22.13.14 to 22.13.17 in /ui-test (#22541)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-02 06:29:22 -04:00
Jagermaist3r
e55840a455 docs: Add Wakacje.pl to USERS.md (#22534)
Signed-off-by: Jagermaist3r <101060952+Jagermaist3r@users.noreply.github.com>
2025-04-01 06:22:18 -07:00
Alex Kári Ívarsson
b3cd6fee77 chore: Add Icelandair to USERS.md (#22533)
Signed-off-by: Alex Kári Ívarsson <alexkivars@gmail.com>
2025-04-01 06:21:10 -07:00
Max Gautier
c73796da90 fix: Always create manual long lived token (#19970)
Signed-off-by: Max Gautier <mg@max.gautier.name>
2025-03-31 14:29:08 +00:00
Michael Crenshaw
ffe42256e9 chore: fix missed lint issues (#22518)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-03-31 08:15:54 -04:00
Michael Crenshaw
0ec46f6857 chore(ci): upgrade golangci-lint to v2 (#22484)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-27 12:37:52 -04:00
Eadred
4a987ddbf2 fix: Check for semver constraint matching in application webhook handler (#21634) (#21648)
Signed-off-by: eadred <eadred77@googlemail.com>
2025-03-27 11:26:02 -04:00
dependabot[bot]
344b434cc5 chore(deps-dev): bump @types/node from 22.13.13 to 22.13.14 in /ui-test (#22495)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-27 06:45:58 -07:00
Javier Solana
75098e5aed chore: add "dry_run" label to sync metrics (#22010)
Co-authored-by: Javier Solana <javier.solana@cabify.com>
Co-authored-by: Pasha Kostohrys <pasha.kostohrys@gmail.com>
2025-03-26 19:31:12 -04:00
Alexy Mantha
d9ef10a817 feat(hydrator): handle sourceHydrator fields from webhook (#19397) (#22485)
Signed-off-by: daengdaengLee <gunho1020@gmail.com>
Signed-off-by: Alexy Mantha <alexy@mantha.dev>
Co-authored-by: Kunho Lee <gunho1020@gmail.com>
2025-03-26 12:08:35 -04:00
Nitish Kumar
06dd876038 docs: update apps/appsets in any namespace flags documentation (#22480)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2025-03-26 07:03:33 -07:00
Anand Francis Joseph
2fbace3fe7 feat(webhook): Fixed manifest-generate-paths annotation support for monorepos in BitBucket (#21811)
Signed-off-by: anandf <anjoseph@redhat.com>
2025-03-26 08:27:06 -04:00
dependabot[bot]
a1f90b5cb6 chore(deps): bump github.com/expr-lang/expr from 1.17.1 to 1.17.2 (#22477)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-25 06:14:20 -07:00
dependabot[bot]
c943ad2d40 chore(deps): bump google.golang.org/protobuf from 1.36.5 to 1.36.6 (#22478)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-25 06:13:55 -07:00
dependabot[bot]
76f3e9841d chore(deps-dev): bump @types/node from 22.13.11 to 22.13.13 in /ui-test (#22479)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-25 06:13:17 -07:00
dependabot[bot]
f8b5b0ba54 chore(deps): bump github.com/google/go-jsonnet from 0.21.0-rc1.0.20250311032901-bc787d68ca30 to 0.21.0-rc2 (#22454)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-24 15:16:15 -04:00
Michael Crenshaw
d2da1b3f4e chore: move pkg/exec in-tree (#22175) (#22460)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-03-24 14:29:34 -04:00
Aaron Hoffman
66d7f1b060 docs: add notifications examples section (#22032)
Signed-off-by: Aaron Hoffman <31711338+Aaron-9900@users.noreply.github.com>
Co-authored-by: Pasha Kostohrys <pasha.kostohrys@gmail.com>
2025-03-24 14:27:04 -04:00
dependabot[bot]
fe8083adf5 chore(deps): bump github.com/Azure/kubelogin from 0.2.6 to 0.2.7 (#22453)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-24 12:31:24 -04:00
Anand Kumar Singh
fe347e39f7 fix: update field name from syncPolicy.automated.enable to enabled (#22440)
Signed-off-by: Anand Kumar Singh <anandrkskd@gmail.com>
2025-03-24 10:10:16 -04:00
hua-ri
d171179dbd fix: invalid version for 'k8s.io/externaljwt@v0.0.0' (#22434)
Signed-off-by: qiqiuyang <qiqiuyang@163.com>
2025-03-24 06:25:17 -07:00
dependabot[bot]
528f6ad58b chore(deps): bump selenium-webdriver from 4.29.0 to 4.30.0 in /ui-test (#22451)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-24 06:29:01 -04:00
dependabot[bot]
77ecfe527e chore(deps-dev): bump @types/node from 22.13.10 to 22.13.11 in /ui-test (#22452)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-24 06:28:46 -04:00
Alexandre Gaudreault
a628db994b chore: allow to set CGO flags in makefile (#22437)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-03-23 22:02:18 -04:00
dependabot[bot]
881448ec76 chore(deps): bump github.com/golang-jwt/jwt/v5 from 5.2.1 to 5.2.2 (#22441)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-22 22:23:35 -04:00
dependabot[bot]
ff9e40ef8f chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azcore from 1.17.0 to 1.17.1 (#22429)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-22 18:46:33 -04:00
dependabot[bot]
9c177584fa chore(deps): bump github.com/golang-jwt/jwt/v4 from 4.5.1 to 4.5.2 (#22442)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-22 18:45:43 -04:00
Anand Francis Joseph
3f90f99ee8 fix(cli): Fix for removing auto generated tag for applicationset command (#22446)
Signed-off-by: anandf <anjoseph@redhat.com>
2025-03-22 13:48:15 -04:00
dependabot[bot]
a916289a66 chore(deps): bump github.com/redis/go-redis/v9 from 9.7.1 to 9.7.3 (#22425)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-21 13:33:59 -04:00
Andrii Korotkov
6d63683bff chore(deps): Update some dependencies versions (#22228) (#22260)
Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2025-03-21 16:27:12 +00:00
Linghao Su
401e835d08 fix(ui): use correct monaco editor config for correct behavior (#22421)
Signed-off-by: linghaoSu <linghao.su@daocloud.io>
2025-03-21 10:27:32 -04:00
Anand Kumar Singh
432a0cdef4 feat: add enable field for automatedSync (#21999)
Signed-off-by: Anand Kumar Singh <anandrkskd@gmail.com>
2025-03-21 07:47:01 -04:00
nmirasch
b4fc122d3b fix: CVE-2025-26791 upgrading redoc dep to 2.4.0 to avoid DOMPurify b… (#21998)
Signed-off-by: nmirasch <neus.miras@gmail.com>
2025-03-21 07:31:02 -04:00
Amit Oren
98faf392a7 docs: Add note about needing to restart the controller when excluding child resources (#22362)
Signed-off-by: Amit Oren <amit@coralogix.com>
Signed-off-by: Amit Oren <github@amitoren.dev>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-03-20 20:58:02 +00:00
ianyc
6340e7ebdd fix: UI log viewer 'Show logs since a given time' filed has no effect bug #22330 (#22331)
Signed-off-by: ianyc <ychsiaoo@gmail.com>
2025-03-20 16:46:33 -04:00
Linghao Su
04186aa3e4 fix(ui): fix podGroup expansion background (#22279)
Signed-off-by: linghaoSu <linghao.su@daocloud.io>
2025-03-20 15:08:51 -04:00
almoelda
6d7e75d5cc feat: Add link to get the list of applications of a cluster/project (#21561)
Signed-off-by: Almo Elda <almogldbh@gmail.com>
2025-03-20 13:17:02 -04:00
dependabot[bot]
545b26756d chore(deps): bump github.com/Azure/kubelogin from 0.2.3 to 0.2.6 (#22419)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-20 10:27:24 -04:00
Ishita Sequeira
39e483ddef chore: add ApplicationSet Controller docs to clisdocsgen (#22417)
Signed-off-by: Ishita Sequeira <ishiseq29@gmail.com>
2025-03-20 15:54:58 +02:00
dependabot[bot]
9f37d43672 chore(deps): bump github.com/Azure/kubelogin from 0.1.9 to 0.2.3 (#22401)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-19 10:31:37 -04:00
dependabot[bot]
08f34b4545 chore(deps): bump github.com/expr-lang/expr from 1.17.0 to 1.17.1 (#22400)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-19 10:30:42 -04:00
Alexandre Gaudreault
8a4ba4d2e2 ci: add breaking changes section to changelog (#22395)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-03-18 13:17:16 -04:00
Atif Ali
f6f10c0521 fix: handle annotated git tags correctly in repo server cache (#21771)
Signed-off-by: Atif Ali <atali@redhat.com>
2025-03-18 11:46:19 -04:00
github-actions[bot]
dd0c300698 [Bot] docs: Update Snyk report (#22360)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2025-03-18 11:10:53 -04:00
dependabot[bot]
065e298ab4 chore(deps): bump github.com/expr-lang/expr from 1.16.9 to 1.17.0 (#22364)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-18 08:05:51 -07:00
renovate[bot]
2a50dcb6c2 chore(deps): update module github.com/golangci/golangci-lint to v1.64.8 (#22384)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-18 09:58:05 -04:00
dependabot[bot]
a2e99a055a chore(deps): bump github.com/casbin/casbin/v2 from 2.103.0 to 2.104.0 (#22388)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-18 09:57:26 -04:00
Michael Crenshaw
a445fcb4f6 chore(ci): address goreleaser deprecations (#22379)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-03-18 09:50:16 -04:00
github-actions[bot]
20b1870d75 chore: Bump version in master (#22383)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: reggie-k <19544836+reggie-k@users.noreply.github.com>
2025-03-17 21:29:53 +00:00
Andrii Korotkov
b0d00d521a fix: Enable service account token automount for haproxy (#22226) (#22353)
Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2025-03-17 20:34:53 +00:00
Michael Crenshaw
bde63b5a5b chore(ci): improve previous-version script readability, fix bug (#22378)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-03-17 15:17:50 -04:00
Andrii Korotkov
1a25d7c52c fix: Account for batch event processing in e2e tests (#22356)
Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2025-03-17 14:59:40 -04:00
Michael Crenshaw
e9ae886c3c fix(ci): get correct previous version, fail workflow if not (#22376)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-03-17 13:58:17 -04:00
Michael Crenshaw
9a8ec4aa09 fix(ci): use tags instead of branches (#22372)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-03-17 11:42:53 -04:00
Michael Crenshaw
9c2ffb74c9 fix(ci): handle major versions in compatibility table generator (#22370)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-03-17 11:14:46 -04:00
Regina Voloshin
ab337ed807 docs: promote proxy extensions to beta (#22361)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
2025-03-17 10:05:45 -04:00
Cheng Fang
8545d214b6 fix(docs): update --auth-token description in argocd_appset_update.md to account for environment variable (#22350)
Signed-off-by: Cheng Fang <cfang@redhat.com>
2025-03-16 16:49:50 -04:00
Andrii Korotkov
bfd72b42df fix: Revert "fix: Race condition occurs during initial sharding (#22264)" (#22354)
Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2025-03-14 17:00:08 -07:00
Peter Jiang
f044200d9e chore: bump gitops-engine (#22335)
Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-03-14 16:52:00 -04:00
Linghao Su
0fab3cfeec feat(ui): support display sync wave (#20614)
Signed-off-by: linghaoSu <linghao.su@daocloud.io>
2025-03-14 12:05:32 -04:00
dependabot[bot]
c8e1de6146 chore(deps): bump github.com/Azure/kubelogin from 0.1.8 to 0.1.9 (#22308)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-14 11:30:06 -04:00
dependabot[bot]
de40dc2334 chore(deps): bump github.com/coreos/go-oidc/v3 from 3.12.0 to 3.13.0 (#22347)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-14 10:12:11 -04:00
Dan Garfield
9f8d68f07b docs: various wording fixes for 3.0 migration guide (#22343)
Signed-off-by: Dan Garfield <dan@codefresh.io>
2025-03-14 10:08:26 -04:00
Alexandre Gaudreault
fe598a831e chore!: add 60s default jitter (#22342)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-03-13 22:01:12 +00:00
Michael Crenshaw
aeb0002877 chore: set default tracking to annotation (#22289)
Signed-off-by: Yuan Tang <terrytangyuan@gmail.com>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Yuan Tang <terrytangyuan@gmail.com>
2025-03-13 17:40:51 -04:00
Michael Crenshaw
910b9518e4 feat(controller): enable batch event processing by default (#22338)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-03-13 17:40:31 -04:00
Marco Franssen
2ce593b5de chore: Optimize Docker image layers (#21525)
Signed-off-by: Marco Franssen <marco.franssen@gmail.com>
2025-03-13 15:24:45 -04:00
Matthieu MOREL
83257a9e73 chore: use grpc-middleware interceptors (#22329)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-03-13 15:25:38 +00:00
renovate[bot]
cae840bb13 chore(deps): update dependency gotestyourself/gotestsum to v1.12.1 (#22328)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-13 06:42:34 -07:00
Regina Voloshin
8d12e352f4 docs: document logs RBAC enforcement remediation (#22285)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
2025-03-13 09:39:45 -04:00
Michael Crenshaw
d54ae98b20 fix(controller): wrong tracking annotation for malformed resources (#22325)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-03-13 09:34:20 -04:00
renovate[bot]
12928cbdcc chore(deps): update module github.com/golangci/golangci-lint to v1.64.7 (#22306)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-12 16:40:13 -04:00
Alexandre Gaudreault
9c443b6501 fix(cli): improve performance for admin export/import cmd (#22322)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-03-12 20:05:39 +00:00
dependabot[bot]
a45f715763 chore(deps): bump chromedriver from 134.0.0 to 134.0.2 in /ui-test (#22307)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: rumstead <37445536+rumstead@users.noreply.github.com>
2025-03-12 15:31:42 +00:00
Alexandre Gaudreault
335b65baf8 chore(config)!: Ignore all .status updates & known high churn changes by default (#21760)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-03-12 09:12:47 +02:00
Regina Voloshin
f27515783a docs: Document Helm 3.17.1 breaking changes (#22283)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
2025-03-11 17:27:04 -04:00
Michael Crenshaw
2afcb6f107 fix(test): delete CRD between tests, install CRD before syncing CRs (#22299)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-03-11 17:11:26 -04:00
dependabot[bot]
05a9171b42 chore(deps-dev): bump typescript from 5.7.3 to 5.8.2 in /ui-test (#22118)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-11 17:00:17 -04:00
Alexandre Gaudreault
ac50d8e1c1 feat(config)!: exclude known interim resources by default (#20013) (#21635)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-03-11 12:57:42 -04:00
Brett Dudo
f775e7bf28 feat(appset): Add values to PR generator (#21557)
Signed-off-by: Brett C. Dudo <brett@dudo.io>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Tobias Lindberg <tobias.ehlert@gmail.com>
Signed-off-by: Afzal Ansari <afzal442@gmail.com>
Signed-off-by: Revital Barletz <revitalbarletz@gmail.com>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
Signed-off-by: asuforce <owata.sn@gmail.com>
Signed-off-by: Michele Baldessari <michele@acksyn.org>
Signed-off-by: Laurent Lavaud <laurent.lavaud@mirakl.com>
Signed-off-by: Prune <prune@lecentre.net>
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
Signed-off-by: Jacob Colvin <jacobcolvin1@gmail.com>
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
Signed-off-by: Christopher J. Adkins <chris@cjadkins.com>
Signed-off-by: Almo Elda <almogldbh@gmail.com>
Signed-off-by: CI <ci@argoproj.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Rafal Pelczar <rafal@akuity.io>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tobias Lindberg <tobias.ehlert@gmail.com>
Co-authored-by: Afzal Ansari <afzal442@gmail.com>
Co-authored-by: Revital Barletz <revitalbarletz@gmail.com>
Co-authored-by: Regina Voloshin <reginakagan@gmail.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Regina Voloshin <regina.voloshin@codefresh.io>
Co-authored-by: Shun Nishitsuji <owata.sn@gmail.com>
Co-authored-by: Michele Baldessari <michele@acksyn.org>
Co-authored-by: Laurent Lavaud <llavaud@users.noreply.github.com>
Co-authored-by: Prune Sebastien THOMAS <prune@lecentre.net>
Co-authored-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
Co-authored-by: Jacob Colvin <jacobcolvin1@gmail.com>
Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
Co-authored-by: Matthieu MOREL <matthieu.morel35@gmail.com>
Co-authored-by: Chris Adkins <chris@cjadkins.com>
Co-authored-by: almoelda <42950693+almoelda@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: CI <ci@argoproj.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Rafal <rafal@akuity.io>
2025-03-11 11:44:20 -04:00
Dillen Padhiar
fa0b5f56ab feat: add force promote actions for Numaplane rollouts (#22141)
Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>
2025-03-11 10:03:51 -04:00
kahou82
43e5941042 fix: Race condition occurs during initial sharding (#22264)
Signed-off-by: Kahou Lei <kahou82@gmail.com>
2025-03-11 01:20:20 -04:00
dependabot[bot]
2168221092 chore(deps): bump library/golang from 1.24.0 to 1.24.1 in /test/remote (#22184)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-11 01:18:44 -04:00
dependabot[bot]
64569e61a1 chore(deps): bump go.opentelemetry.io/otel from 1.34.0 to 1.35.0 (#22217)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-11 01:14:37 -04:00
Alexandre Gaudreault
cca7485917 feat!: update compareoptions default values (#22230)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-03-11 01:14:17 -04:00
Keith Chong
74b35322a2 feat: Make certain Status panel items look more 'clickable' (#19698) (#22232)
Signed-off-by: Keith Chong <kykchong@redhat.com>
2025-03-11 01:03:15 -04:00
Atif Ali
0ed7c5618f fix: Unable to edit http repo credentials from ArgoCD UI (#22065)
Signed-off-by: Atif Ali <atali@redhat.com>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2025-03-10 20:16:04 +00:00
Michael Crenshaw
42219fd7b7 chore(lint): fix deep copy informers lint (#22290)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-03-10 15:31:17 -04:00
dependabot[bot]
111cf2ce9f chore(deps-dev): bump @types/node from 22.13.5 to 22.13.10 in /ui-test (#22272)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-10 08:35:36 -07:00
sivchari
d301b40c6b feat: Upgrade notifications engine (#22273)
Signed-off-by: sivchari <shibuuuu5@gmail.com>
2025-03-10 11:02:16 -04:00
rumstead
e3bd56972d feat(server): make deep copies of objects returned by informers (#22173) (#22179)
Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
2025-03-10 14:29:07 +00:00
sivchari
922d080ae5 chore: upgrade Go to 1.24 (#22242)
Signed-off-by: sivchari <shibuuuu5@gmail.com>
2025-03-10 10:14:41 -04:00
Michael Crenshaw
bd1018af5e docs: fix tmp path and document Rancher caveat (#22252)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-03-10 10:10:47 -04:00
Matthieu MOREL
76dbaaa3e0 chore: bump to github.com/grpc-ecosystem/go-grpc-middleware/v2 (#22098)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-03-10 10:06:54 -04:00
Andrii Korotkov
376e8d5260 fix: Update haproxy version to match the chart (#22226) (#22236)
Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2025-03-10 10:03:04 -04:00
dependabot[bot]
627da11384 chore(deps): bump github.com/Azure/kubelogin from 0.1.6 to 0.1.8 (#22271)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-10 06:28:41 -07:00
Gahl Peled
75cb7fc42d fix: issue 22206 - fixes overlapping lines in logs by increasing line height (#22207)
Signed-off-by: Gahl_Peled <gahl.peled@talentsystems.com>
2025-03-09 19:59:24 +02:00
Andrii Korotkov
a8f646e430 fix: Notifications on-deployed would now be delivered if sync didn't change the health status of the app in a process (#22203) (#22204)
Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2025-03-09 19:58:52 +02:00
Linghao Su
4202168c44 fix(ui): reduce rerender in pod log view (#22241)
Signed-off-by: linghaoSu <linghao.su@daocloud.io>
2025-03-09 19:39:09 +02:00
sivchari
e3b333a860 fix: JSON format (#22237)
Signed-off-by: sivchari <shibuuuu5@gmail.com>
2025-03-09 19:28:58 +02:00
dependabot[bot]
cb135fdd0d chore(deps): bump axios from 1.7.4 to 1.8.2 in /ui-test (#22247)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-09 19:22:27 +02:00
Sven Schliesing
3c3410cf5d docs: fix typo in declarative-setup.md (#22256)
Signed-off-by: Sven Schliesing <muffl0n@raffts.net>
2025-03-09 19:21:12 +02:00
github-actions[bot]
5e9fc55783 [Bot] docs: Update Snyk report (#22263)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2025-03-09 19:12:18 +02:00
Andrii Korotkov
9d66e89d14 chore: Remove k8s 1.28 from e2e testing (#22245)
Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2025-03-07 13:41:44 -05:00
Andrii Korotkov
14a09be652 chore(deps): Bump utfutil to v1.0.0 (#22228) (#22243)
Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2025-03-07 15:52:22 +00:00
sivchari
fbd7f29056 feat: use errors.Join for debuggable (#22235)
Signed-off-by: sivchari <shibuuuu5@gmail.com>
2025-03-07 09:56:15 -05:00
dependabot[bot]
2cefcc5a36 chore(deps): bump chromedriver from 133.0.3 to 134.0.0 in /ui-test (#22218)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-07 06:06:05 -08:00
dependabot[bot]
683e4e0d95 chore(deps): bump selenium-webdriver from 4.27.0 to 4.29.0 in /ui-test (#22117)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ishita Sequeira <46771830+ishitasequeira@users.noreply.github.com>
2025-03-06 18:23:56 -05:00
Andrii Korotkov
8d1aeb58a2 chore: Update some dependencies and add some comments about old libs (#22104) (#22208)
Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2025-03-06 16:17:14 -05:00
dependabot[bot]
4c27f73559 chore(deps): bump golang.org/x/oauth2 from 0.27.0 to 0.28.0 (#22211)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-06 15:55:03 -05:00
Dan Garfield
dc3286730a docs: Fix typos and grammar in tls.md (#22229)
Signed-off-by: Dan Garfield <dan@codefresh.io>
2025-03-06 15:54:38 -05:00
Andrii Korotkov
62ec9fef36 fix: Use t.Fatal instead of os.Exit in tests (part 2) (#21003) (#22187)
Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2025-03-06 19:24:07 +00:00
dependabot[bot]
a8b76f2951 chore(deps): bump golang.org/x/net from 0.36.0 to 0.37.0 (#22209)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-06 11:13:03 -05:00
Michael Crenshaw
8a752a56d6 docs: document bearerToken in repo example doc (#22195)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-03-06 09:58:39 -05:00
dependabot[bot]
4f179a192d chore(deps): bump jinja2 from 3.1.5 to 3.1.6 in /docs (#22219)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-06 09:51:28 -05:00
dependabot[bot]
270b352cbd chore(deps): bump golang.org/x/time from 0.10.0 to 0.11.0 (#22212)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-06 09:47:00 -05:00
dependabot[bot]
2d994038be chore(deps): bump golang.org/x/sync from 0.11.0 to 0.12.0 (#22216)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-06 09:46:08 -05:00
Nitish Kumar
753f7b6e72 chore: enable parallel helm manifest generation by default (#22224)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2025-03-06 09:43:14 -05:00
Soumya Ghosh Dastidar
6959e54f06 fix: have argocd server pass the appLabelKey for proper caching (#22186)
Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2025-03-06 07:28:53 +00:00
Michael Crenshaw
7327093b66 docs: custom resource action UI tweaks (#22202)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-03-05 16:49:07 -05:00
Michael Crenshaw
74582e9965 chore: embed trivial rand string function (#22177)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-03-05 16:34:16 -05:00
Andrii Korotkov
29c69b3601 chore(deps): Bump argoproj repos versions (#22104) (#22198)
Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2025-03-05 14:58:32 -05:00
Nitish Kumar
546383a8e5 fix(cli): log correct error message when updating a cluster that is not present (#22190)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2025-03-05 11:48:35 -05:00
dependabot[bot]
0444fcdf37 chore(deps): bump github.com/prometheus/client_golang from 1.21.0 to 1.21.1 (#22180)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-05 11:46:55 -05:00
dependabot[bot]
527ef92c30 chore(deps): bump sigs.k8s.io/structured-merge-diff/v4 from 4.4.4-0.20241211184406-7bf59b3d70ee to 4.6.0 (#22181)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-05 11:46:11 -05:00
dependabot[bot]
2731c3f18d chore(deps): bump google.golang.org/grpc from 1.70.0 to 1.71.0 (#22183)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-05 11:45:22 -05:00
dependabot[bot]
9783c5ea24 chore(deps): bump golang.org/x/net from 0.35.0 to 0.36.0 (#22182)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-05 11:44:34 -05:00
Michael Crenshaw
db82e23ebb chore: use internal errors util instead of pkg's (#22174)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-03-05 11:40:56 -05:00
Regina Voloshin
04a1608643 docs: 3.0 release date on May 06 (#22189)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
2025-03-05 10:13:38 -05:00
sivchari
6b002a5106 feat: upgrade to v1.32.2 (#22168)
Signed-off-by: sivchari <shibuuuu5@gmail.com>
2025-03-04 16:39:28 -05:00
Andrii Korotkov
5223ce546a chore: Upgrade Redis from 7.0.15-alpine to 7.2.7-alpine and haproxy (#22108) (#22110)
Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2025-03-04 15:59:03 -05:00
renovate[bot]
95a43e0416 chore(deps): update module github.com/golangci/golangci-lint to v1.64.6 (#22115)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-04 15:57:44 -05:00
Michael Crenshaw
c6b00007f2 fix(actions): don't run empty Lua scripts (#22084) (#22161)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-03-04 14:25:36 -05:00
Michael Crenshaw
eb6732ec9e fix(ci): use pinned Helm version for init-release (#22164) (#22165)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-03-04 13:06:01 -05:00
Nitish Kumar
0b0c737af0 chore(deps): bump github.com/go-jose/go-jose/v3 to v4 (#22154)
Signed-off-by: nitishfy <justnitish06@gmail.com>
Co-authored-by: rumstead <37445536+rumstead@users.noreply.github.com>
2025-03-04 12:30:12 -05:00
sivchari
c0b278738c feat: Support kube 1.32 (#21805)
Signed-off-by: sivchari <shibuuuu5@gmail.com>
2025-03-04 11:15:35 -05:00
rumstead
029927b25e feat(appcontroller): store application health status in redis by default (#10312) (#21532)
Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
2025-03-04 11:29:23 +00:00
dependabot[bot]
f2490fccdd chore(deps): bump go.opentelemetry.io/otel/sdk from 1.33.0 to 1.34.0 (#21570)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-03 19:55:58 -05:00
Dag Andersen
898a126f10 docs: Add section on how to lock down/restrict the default project (#21757)
Signed-off-by: Dag Andersen <dagbjerreandersen@gmail.com>
2025-03-03 19:55:47 -05:00
Michael Crenshaw
bfb04ddf3e fix(ui): parameter tab null ref w/ hydrator (#22097) (#22131)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-03-03 16:16:32 -05:00
Andrii Korotkov
416b7d0c32 fix(test): Use t.Fatal instead of os.Exit in tests (part 1) (#21003) (#22114)
Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2025-03-03 13:36:13 -05:00
Mike Cutsail
561cbef5cc feat: checking user defined roles and policies for referential integrity (#20825) (#22132)
Signed-off-by: Mike Cutsail <mcutsail15@apple.com>
2025-03-03 10:15:43 -08:00
rumstead
2bcaa19894 revert: add a check for user defined role referential integrity #21065 (#22130)
Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
2025-03-03 22:03:27 +05:30
Soumya Ghosh Dastidar
228b86d3b5 chore: update mockery version (#22126)
Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2025-03-03 16:57:20 +02:00
Andrii Korotkov
f542ae5158 fix: Revert "split arrays in yaml to fix ambiguous collapse when array items have nested objects (#21064)" (#22099) (#22128)
Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2025-03-03 09:48:41 -05:00
Mike Cutsail
c71dd1a9e6 feat: add a check for user defined role referential integrity (#21065)
Signed-off-by: Mike Cutsail <mcutsail15@apple.com>
2025-03-03 06:09:25 -08:00
dependabot[bot]
f2c5093013 chore(deps): bump @types/selenium-webdriver from 4.1.27 to 4.1.28 in /ui-test (#21414)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-02 18:43:57 -05:00
dependabot[bot]
21ea59d600 chore(deps): bump go.opentelemetry.io/otel from 1.33.0 to 1.34.0 (#21569)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-02 18:35:32 -05:00
Karl Taylor
e2e6faa3b5 fix(ui): prevent parameter editor from resetting when props update (fixes #14351) (#21625)
Signed-off-by: Karl Taylor <16408267+k4r1@users.noreply.github.com>
2025-03-02 18:32:03 -05:00
renovate[bot]
42fa72d499 chore(deps): update dependency pymdown-extensions to v10.14.3 (#21619)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-02 18:25:06 -05:00
Linghao Su
6f9389c2ea feat(log): support match case in pod log search (#21919)
Signed-off-by: linghaoSu <linghao.su@daocloud.io>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2025-03-02 18:21:51 -05:00
dependabot[bot]
98cd061ac9 chore(deps): bump library/golang from 2b1cbf2 to cd0c949 in /test/remote (#22020)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-02 18:04:34 -05:00
Michael Crenshaw
b9131c1802 feat(cmp): pass empty env vars to plugins (#18720) (#22096)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-03-02 18:01:50 -05:00
Blake Pettersson
e6f94f227c fix(appcontroller): selfhealattemptscount needs to be reset at times (#22095)
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-03-02 17:46:39 -05:00
Abhinandh B G
74244323f8 fix: Rephrased sentence to a meaningfull one (#22113)
Signed-off-by: Abhinandh B G <97796199+babugeet@users.noreply.github.com>
2025-03-02 23:33:43 +05:30
github-actions[bot]
e38c7ae00f [Bot] docs: Update Snyk report (#22106)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2025-03-02 17:14:06 +00:00
Michael Crenshaw
261137df9d chore(health): report progressing status for AppSets (#22092)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-02-28 18:09:06 -05:00
dependabot[bot]
c47152d017 chore(deps): bump chromedriver from 133.0.2 to 133.0.3 in /ui-test (#22018)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-28 16:50:44 -05:00
BWagenerGenerali
7c7dda0e93 fix(grafanadashboard): add memory units to panels showing memory usage (#22078)
Signed-off-by: BWagenerGenerali <69955643+BWagenerGenerali@users.noreply.github.com>
2025-02-28 16:46:22 -05:00
Michael Crenshaw
806c5f6b6d fix: return cluster URL in error message, not full cluster object (#22094)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-02-28 21:10:00 +00:00
Matthieu MOREL
795bda5dd8 chore: use github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus (#21937)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-02-28 15:44:33 -05:00
Matias Reparaz
499f74dc27 docs: Update USERS.md (#22093)
Signed-off-by: Matias Reparaz <mreparaz@gmail.com>
2025-02-28 15:01:20 -05:00
Mathias Petermann
c4183aad76 docs: Document askpass socket sharing between reposerver and cmp sidecar (#22083)
Signed-off-by: Mathias Petermann <mathias.petermann@gmail.com>
2025-02-28 09:30:20 -07:00
Christian Hernandez
3f74b24c0a docs: Adding Argo CD CLI plugin support proposal (#19624)
Signed-off-by: Christian Hernandez <christian@chernand.io>
Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-02-28 11:20:51 -05:00
Dale Haiducek
1905d127a5 fix: Check placement exists before length check (#22060) (#22057)
Signed-off-by: Dale Haiducek <19750917+dhaiducek@users.noreply.github.com>
2025-02-28 10:55:14 -05:00
Andrii Korotkov
07da3d41da chore: Option to disable sync with replace on API Server level (#21427) (#22073)
Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2025-02-28 09:43:53 -05:00
dependabot[bot]
cbef55e566 chore(deps): bump github.com/go-git/go-git/v5 from 5.13.2 to 5.14.0 (#22076)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-28 09:27:16 -05:00
Michael Crenshaw
c6757573ae feat(kustomize): support --include-templates for labels (#15283) (#22069)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-02-28 09:26:26 -05:00
Xiaopeng Han
2b1220c600 chore: revise wrong resource customization usage example (#22074)
Signed-off-by: xiaopeng <hanxiaop8@outlook.com>
2025-02-28 09:36:05 +05:30
Peter Jiang
edbce2a524 chore(deps): bump gitops-engine to latest (#22071)
Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-02-27 22:12:15 +00:00
Atif Ali
55f8a434d0 feat(ui): split arrays in yaml to fix ambiguous collapse when array items have nested objects (#21064)
Signed-off-by: Atif Ali <atali@redhat.com>
2025-02-27 15:54:49 -05:00
Michael Crenshaw
8a97c1d138 fix(hydrator): refresh by annotation instead of work queue (#22016)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-02-27 14:22:03 -05:00
Michael Crenshaw
35009a7d1c fix(hydrator): don't use manifest-generate-paths (#22039) (#22015)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-02-27 12:15:45 -05:00
Gergely Fábián
94b34f88ec fix: upgrade x/crypto to v0.35.0 to solve CVE-2025-22869 (#22048)
Signed-off-by: Gergely Fábián <gergo.fb@gmail.com>
2025-02-27 12:07:10 -05:00
Richard Palm
ce819128f9 docs: fix project role docs (#21832)
Signed-off-by: Richard Palm <richard.palm@hellofresh.com>
Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-02-27 10:35:18 +01:00
Nitish Kumar
e6e9255216 fix: correct lookup for the kustomization file when applying patches (#22024)
Signed-off-by: nitishfy <justnitish06@gmail.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-02-27 13:39:39 +05:30
Atif Ali
c09e6fa6ad feat: improve StatefulSet immutable field error messages (#21209)
Signed-off-by: Atif Ali <atali@redhat.com>
2025-02-26 23:47:51 +02:00
Michael Crenshaw
3baca9b696 fix(hydrator): don't get cluster or API versions for hydrator (#21985)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-02-26 13:36:48 -05:00
Taeyeop Kim
961147d387 docs: Update sync-kubectl.md - Correct kubectl command for a sample (#22030)
Signed-off-by: Taeyeop Kim <taeyeop.kim1@gmail.com>
2025-02-26 17:23:58 +00:00
Regina Voloshin
686964daaa fix: removed null security context from redis-ha values.yaml to placate helm 3.17.1 (#22035)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
2025-02-26 17:16:39 +00:00
Suraj yadav
b88ad57986 fix(ui): Added SSV option to helm type repos (#22006)
Signed-off-by: Surajyadav <harrypotter1108@gmail.com>
2025-02-26 10:56:18 -05:00
Nitish Kumar
975e966e26 docs: add more info on what login --core does (#21487)
Signed-off-by: nitishfy <justnitish06@gmail.com>
Signed-off-by: Nitish Kumar <justnitish06@gmail.com>
Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-02-26 20:13:43 +05:30
gussan
49a4b7f14f fix: fetch syncedRevision in UpdateRevisionForPaths (#21014) (#21015)
Signed-off-by: toyamagu2021 <toyamagu2021@gmail.com>
Signed-off-by: toyamagu-2021 <toyamagu2021@gmail.com>
2025-02-26 01:07:31 +05:30
Isaac Gaskin
644af54a7c chore: version bumping helm3 (#22009)
Signed-off-by: Isaac Gaskin <isaac.gaskin@circle.com>
2025-02-25 19:34:38 +00:00
dependabot[bot]
c897e944db chore(deps): bump github.com/go-jose/go-jose/v4 from 4.0.2 to 4.0.5 (#21989)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-25 14:10:35 -05:00
dependabot[bot]
94d3899038 chore(deps): bump golang.org/x/oauth2 from 0.26.0 to 0.27.0 (#21990)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-25 14:09:02 -05:00
Leonardo Luz Almeida
1823d8fcd2 docs: add applicationset controller doc to preserve annotations and labels (#22008)
Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
2025-02-25 14:08:39 -05:00
Regina Voloshin
402802b089 feat!: Logs rbac enforce by default (#21678)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
Signed-off-by: Regina Voloshin <reginakagan@gmail.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: rumstead <37445536+rumstead@users.noreply.github.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-02-25 18:27:32 +00:00
Alexandre Gaudreault
e784c47667 chore(deps): bump go 1.23.5 & tools (#21748)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-02-25 17:04:57 +00:00
rumstead
e44ae96c07 fix(appset): generated app errors should use the default requeue (#21887) (#21936)
Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
Co-authored-by: Ishita Sequeira <46771830+ishitasequeira@users.noreply.github.com>
Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-02-25 15:27:32 +00:00
Michael Crenshaw
be293fe9ed chore(hydrator): improve error message (#21987)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-02-24 22:01:01 +00:00
Michael Crenshaw
e18b4d7ac8 chore(deps): switch to new expr package (#21982)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-02-24 23:37:58 +02:00
dependabot[bot]
f32f69f7d2 chore(deps): bump github.com/google/go-cmp from 0.6.0 to 0.7.0 (#21956)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-24 14:32:18 -05:00
Michael Crenshaw
846503bb0e docs: note idle connections issue for cluster namespaces (#21978)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-02-24 18:43:21 +02:00
Michael Crenshaw
f63f5f954e docs: document source hydrator maturity (#21969)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-02-24 10:41:06 -05:00
Regina Voloshin
8044d68492 feat: add bearer token auth (#21462)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
Co-authored-by: Pasha Kostohrys <pasha.kostohrys@gmail.com>
2025-02-24 12:44:07 +02:00
dependabot[bot]
33ad0a7ba7 chore(deps-dev): bump @types/node from 22.13.4 to 22.13.5 in /ui-test (#21960)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-24 10:37:47 +02:00
dependabot[bot]
0dddb9e6c8 chore(deps): bump library/busybox from a5d0ce4 to 498a000 in /test/e2e/multiarch-container (#21959)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-24 10:37:34 +02:00
dependabot[bot]
562fa065c6 chore(deps): bump github.com/redis/go-redis/v9 from 9.7.0 to 9.7.1 (#21957)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-24 10:37:22 +02:00
dependabot[bot]
ecee599640 chore(deps): bump github.com/bradleyfalzon/ghinstallation/v2 from 2.13.0 to 2.14.0 (#21955)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-24 10:37:06 +02:00
Suraj yadav
38b0fd5cd4 fix(ui): columns-adjusted for kind and Namespace in sync details. (#21038)
Signed-off-by: Surajyadav <harrypotter1108@gmail.com>
2025-02-23 16:38:57 -05:00
Soumya Ghosh Dastidar
87671f55c5 fix: ignore prune=false resources from PruningRequired count (#21941)
Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2025-02-23 16:12:22 -05:00
dependabot[bot]
1f1c33983b chore(deps-dev): bump @types/node from 22.10.10 to 22.13.4 in /ui-test (#21874)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-23 20:43:50 +02:00
dependabot[bot]
ee83eea784 chore(deps): bump library/golang from 1.23.6 to 1.24.0 in /test/remote (#21868)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-23 20:43:08 +02:00
dependabot[bot]
9e6b28b8a2 chore(deps): bump library/golang from 1.23.6 to 1.24.0 in /test/container (#21866)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-23 20:42:41 +02:00
dependabot[bot]
84b49c84ca chore(deps): bump gitpod/workspace-full from bec45eb to a47a68e (#21843)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-23 20:40:28 +02:00
dependabot[bot]
6c64d5ff55 chore(deps): bump chromedriver from 132.0.1 to 133.0.2 in /ui-test (#21916)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-23 20:39:07 +02:00
Andrii Korotkov
7b1ed5218a fix: On deployed trigger must consider race between last transition time and sync finished time (#9070) (#21944)
Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2025-02-23 17:44:24 +02:00
Fabián Sellés Rosa
079341c65c fix(applicationset): ApplicationSets with rolling sync stuck in Pending (#20230)
Signed-off-by: Fabián Sellés <fabian.selles@adevinta.com>
Co-authored-by: Thibault Jamet <tjamet@users.noreply.github.com>
Co-authored-by: Carlos Rejano <carlosrejanoromeu@gmail.com>
2025-02-22 09:14:49 -05:00
sivchari
9f81cd4798 fix: Use ARGOCD_SERVER for default value (#21930)
Signed-off-by: sivchari <shibuuuu5@gmail.com>
2025-02-22 12:20:15 +05:30
Matthieu MOREL
37aaeb3dd9 chore: enable usetesting linter (#21935)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-02-21 18:50:55 +00:00
dependabot[bot]
7870200461 chore(deps): bump github.com/prometheus/client_golang from 1.20.5 to 1.21.0 (#21915)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-20 11:46:47 -05:00
Marco Stuurman
167e122eba docs: Fix typo code-gen/codegen contributors-quickstart.md (#21922)
Signed-off-by: Marco Stuurman <marco@fe.ax>
2025-02-20 04:14:25 -10:00
Blake Pettersson
a1431bef4c fix(ui, rbac): project-roles (#21829)
Signed-off-by: wyttime04 <vanessa80332@gmail.com>
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
Co-authored-by: wyttime04 <vanessa80332@gmail.com>
2025-02-20 11:40:15 +01:00
Matthew Bennett
073ccf7c35 fix(#19314, #15700): allow ssh/altssh subdomains in repo URLs to match webhook payload (#21227) 2025-02-20 12:15:29 +05:30
Michael Crenshaw
feb7097fc9 feat(metrics): add more kubectl metrics (#21720)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-02-19 11:21:22 -05:00
appiepollo14
976a8498d4 ci: fixes #21862 Concurrency in pr-title-check (#21863)
Signed-off-by: appiepollo14 <asjer94@live.com>
2025-02-18 14:48:32 -05:00
renovate[bot]
36d563a3c2 chore(deps): update dependency gotestyourself/gotestsum to v1.12.0 (#21900)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-18 12:18:05 -05:00
Nitish Kumar
944f9f7b68 chore: add the Argo CD type definitions and method comments (#21854)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2025-02-18 11:20:52 -05:00
github-actions[bot]
f78c7ee2ba [Bot] docs: Update Snyk report (#21883)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2025-02-18 11:03:15 -05:00
Matthieu MOREL
c1b2f78f46 chore: enable var-naming from revive (#21861)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-02-18 11:02:38 -05:00
Takumi Sue
38c2b34da0 chore: update gotestsum automatically (#21828)
Signed-off-by: mikutas <23391543+mikutas@users.noreply.github.com>
2025-02-18 10:53:13 -05:00
renovate[bot]
2e1db11ad9 chore(deps): update module github.com/golangci/golangci-lint to v1.64.5 (#21850)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-18 10:50:07 -05:00
dependabot[bot]
ab05f35507 chore(deps): bump github.com/dlclark/regexp2 from 1.11.4 to 1.11.5 (#21853)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-18 10:49:33 -05:00
dependabot[bot]
b3bf182a65 chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.8.1 to 1.8.2 (#21867)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-18 10:49:04 -05:00
Cheng Fang
563ccb20c7 fix: fix KustomizeImage Match function to pass added unit tests (#21872)
Signed-off-by: Cheng Fang <cfang@redhat.com>
2025-02-18 10:26:12 -05:00
dependabot[bot]
ca9da799d8 chore(deps): bump github.com/spf13/cobra from 1.8.1 to 1.9.1 (#21889)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-18 10:25:28 -05:00
dependabot[bot]
50fb7bcd21 chore(deps): bump golang.org/x/crypto from 0.32.0 to 0.33.0 (#21827)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-18 09:51:23 -05:00
Alexandre Gaudreault
eb6dd46e19 fix(cli): ignored resources should not be pruned during restore (#21894)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-02-18 09:36:56 -05:00
Andrii Korotkov
e14d6b7bf9 chore: Update notifications to be less spammy (#20871) (#21884)
Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2025-02-18 08:43:39 -05:00
Leonardo Luz Almeida
6daaac5924 chore: add log context to proxy extension requests (#21834) 2025-02-14 03:04:58 +00:00
Dan Garfield
65664ce5f3 docs: clarify wording on cluster secrets (#21865)
Signed-off-by: Dan Garfield <dan@codefresh.io>
2025-02-12 22:52:43 +01:00
Dejan Zele Pejchev
8a447d9ae0 chore: add e2e test for hook finalizer which prevents external resource deletion (#21113)
Signed-off-by: Dejan Zele Pejchev <pejcev.dejan@gmail.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-02-11 09:28:01 -05:00
Nitish Kumar
951d9d3f17 feat: add the --redis-compress as the global flag to set redis compression. (#21786)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2025-02-10 17:38:20 -08:00
Nitish Kumar
967126860c test: add get cluster info test case (#21831)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2025-02-10 16:02:22 -08:00
Dag Andersen
d19b02dcd0 docs: Ensure Argo CD Hydrator branch prefix consistency (#21836)
Signed-off-by: Dag Andersen <dagbjerreandersen@gmail.com>
2025-02-10 12:43:14 -06:00
ivanscai
d183d9c614 fix: dynamic cluster distribution issue 20965, update the shard… (#21042)
Signed-off-by: caijing <caijing.cai@alibaba-inc.com>
Co-authored-by: Ishita Sequeira <46771830+ishitasequeira@users.noreply.github.com>
2025-02-09 22:25:34 -05:00
Brett Dudo
b600c5ec7d fix: make codegen permissions (#21667)
Signed-off-by: Brett C. Dudo <brett@dudo.io>
Signed-off-by: Brett Dudo <brett@dudo.io>
Co-authored-by: Ishita Sequeira <46771830+ishitasequeira@users.noreply.github.com>
2025-02-09 22:18:12 -05:00
dependabot[bot]
8e91ce9b2b chore(deps): bump library/golang from 1.23.5 to 1.23.6 in /test/remote (#21799)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-09 22:10:40 -05:00
Matthieu MOREL
8507a87bfa chore: define apiextensionsv1 alias with importas (#21823)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-02-09 22:10:15 -05:00
dependabot[bot]
4e2902d972 chore(deps): bump google.golang.org/protobuf from 1.36.4 to 1.36.5 (#21813)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-09 22:07:39 -05:00
Michael Crenshaw
928fd19593 chore(appset): simplify cluster list code (#21820)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-02-09 22:07:21 -05:00
Andrii Korotkov
5b79c34c72 fix: New kube applier for server side diff dry run with refactoring (#21488) (#21749)
Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2025-02-07 12:26:03 -05:00
bradkwadsworth
0973409273 feat: Kustomize ignore missing components (#18634) (#21674)
Signed-off-by: Brad Wadsworth <wadsworth.brad@gmail.com>
2025-02-07 16:20:35 +00:00
Blake Pettersson
922dd771e3 fix(appset): improve git generator repo credential fallback (#21167)
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-02-07 10:22:39 -05:00
teddy-wahle
4a1d0f3af5 fix: Switch default logging to JSON (issue: 20897) (#21656)
Signed-off-by: Teddy Wahle <teddy.wahle@verkada.com>
2025-02-06 18:32:26 +00:00
OpenGuidou
d1574c204f fix(rbac): Add rights on applicationsets for the application controller (#20352)
Signed-off-by: OpenGuidou <guillaume.doussin@gmail.com>
2025-02-06 12:10:11 -05:00
wanghonglei5181
4dcabb933e fix: Fix link about http middlewear and add adopter hetao101 (#21802)
Signed-off-by: wanghonglei5181 <wanghonglei5181@163.com>
2025-02-06 03:00:33 -07:00
Anand Francis Joseph
fa747f987c fix(tests): Improved the e2e tests for app sync with impersonation feature (#21792)
Signed-off-by: anandf <anjoseph@redhat.com>
2025-02-05 21:37:48 -05:00
Peter Jiang
71c7700f2e fix(ui): Show error message when max pods to view logs are reached (#21725)
Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-02-05 21:36:05 -05:00
dependabot[bot]
7efd2fe2eb chore(deps): bump library/golang from 1.23.5 to 1.23.6 in /test/container (#21774)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-05 21:27:35 -05:00
Peter Jiang
43822815f7 fix(docs): Fix syntax in e2e test docs (#21796)
Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-02-05 21:03:25 -05:00
Leonardo Luz Almeida
911a9c6776 fix: Add proxy registry key by dest server + name (#21791)
Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
2025-02-05 14:47:24 -05:00
dependabot[bot]
73c3935031 chore(deps): bump golang.org/x/term from 0.28.0 to 0.29.0 (#21776)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-05 19:43:51 +00:00
dependabot[bot]
4641e802a4 chore(deps): bump golang.org/x/oauth2 from 0.25.0 to 0.26.0 (#21777)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-05 19:05:31 +00:00
dependabot[bot]
4b087089fb chore(deps): bump golang.org/x/sync from 0.10.0 to 0.11.0 (#21778)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-05 13:18:03 -05:00
dependabot[bot]
7d0c10e0d2 chore(deps): bump golang.org/x/time from 0.9.0 to 0.10.0 (#21779)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-05 13:17:42 -05:00
Matthieu MOREL
9843bfbdf8 chore: use testify instead of native testing (#21781)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-02-05 09:46:52 -05:00
Michael Crenshaw
5d147a3ae6 chore(appset)!: always apply nested selectors (#14152) (#21492)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-02-04 19:55:01 +00:00
rumstead
68d60cd092 fix(docs): update mkdocs for upgrade guide (#21768)
Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
2025-02-04 18:55:14 +00:00
Ashu
99cd3c7650 fix(cli): add flags to admin import for retrying updates on conflicts and skipping resources with specific labels. (#21694)
Signed-off-by: asingh51 <ashutosh_singh@intuit.com>
Co-authored-by: asingh51 <ashutosh_singh@intuit.com>
2025-02-04 06:17:06 +00:00
rumstead
622847bcb5 docs(2.14): use 2.14.1 manifests as remote bases (#21759)
Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
2025-02-03 21:37:23 +00:00
rumstead
ad09b9c744 fix(docs): 2.14 upgrading docs (#21756) 2025-02-03 23:08:19 +02:00
Michael Crenshaw
47bec8b438 chore!: remove legacy repo support (#19768) (#21249)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-02-03 20:15:15 +00:00
github-actions[bot]
95b8a4ab0b [Bot] docs: Update Snyk report (#21733)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2025-02-03 13:19:52 -05:00
Michael Crenshaw
c32afb4ee2 docs: endorse secrets operators, caution against plugins (#21629) (#21631)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-02-03 12:18:00 -05:00
adriananeci
c9c40684b7 feat: add AND operator opt-in option for sync windows matches (#16846)
Signed-off-by: Adrian Aneci <aneci@adobe.com>
2025-02-03 16:48:18 +00:00
rumstead
9a3cfcb71d docs(2.14): adding basic upgrading docs for 2.14 (#21744)
Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
2025-02-03 18:31:21 +02:00
dependabot[bot]
1b1735f5f0 chore(deps): bump github.com/golang/glog from 1.2.2 to 1.2.4 (#21693)
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-02-03 16:22:01 +00:00
Amit Oren
854c62fc70 fix(ui): Solve issue with navigating with dropdown from an application's page (#21737)
Signed-off-by: Amit Oren <amit@coralogix.com>
2025-02-03 11:04:44 -05:00
dependabot[bot]
b4753d8d00 chore(deps): bump google.golang.org/grpc from 1.69.4 to 1.70.0 (#21657)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-03 09:58:01 -05:00
dependabot[bot]
1d47e1c7eb chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.8.0 to 1.8.1 (#21566)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ishita Sequeira <46771830+ishitasequeira@users.noreply.github.com>
2025-02-03 09:56:19 -05:00
rumstead
88e43cb730 feat(kubectl): upgrading kubectl to 1.32.1 (#21724)
Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
2025-02-03 09:37:28 -05:00
Regina Voloshin
045a027753 chore: reggie-k as release champion for 3.0 (#21736)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
2025-02-03 09:21:57 -05:00
Alexandre Gaudreault
b4a63aeba8 fix(dex): always request federated:id scope (#17908) (#21726)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-01-31 17:12:59 +00:00
dependabot[bot]
b17c5e4e2a chore(deps): bump github.com/spf13/pflag from 1.0.5 to 1.0.6 (#21717)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-31 11:16:26 -05:00
rumstead
7edaef54d4 feat(helm): upgrading helm to 3.17.0 (#21722)
Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
2025-01-31 10:54:51 -05:00
Atif Ali
85c6d267ba fix: override sub with federated_claims.user_id when dex is used (#20683)
Signed-off-by: Atif Ali <atali@redhat.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-01-30 10:06:36 -05:00
Jean Morais
40d86e7b18 docs: fix broken link in notifications overview (#21684)
Signed-off-by: Jean Morais <jeancdemorais@gmail.com>
2025-01-30 09:05:08 -05:00
Siddhesh Ghadi
6f5537bdf1 Merge commit from fork
Signed-off-by: Siddhesh Ghadi <sghadi1203@gmail.com>
2025-01-29 13:41:18 -05:00
Florian Blampey
e4311d8309 feat: add name and labels in cluster metrics (#17870) (#18453)
Signed-off-by: flbla <flbla@users.noreply.github.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-01-29 18:06:29 +00:00
Alexandre Gaudreault
e147247aaf ci: disable nolintlint linter (#21707)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-01-29 17:10:17 +00:00
dependabot[bot]
b9f49df757 chore(deps): bump github.com/evanphx/json-patch from 5.9.0+incompatible to 5.9.11+incompatible (#21699)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-29 11:32:36 -05:00
dependabot[bot]
eb8f05a9fd chore(deps): bump github.com/cyphar/filepath-securejoin from 0.4.0 to 0.4.1 (#21700)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-29 11:32:06 -05:00
Michael Crenshaw
4e08b8dee6 chore(metrics)!: remove deprecated metrics (#21697)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-01-29 00:02:00 -05:00
dependabot[bot]
7333c75327 chore(deps): bump google.golang.org/protobuf from 1.36.3 to 1.36.4 (#21676)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-28 21:44:34 -05:00
dependabot[bot]
5e5ec1b021 chore(deps): bump github.com/bmatcuk/doublestar/v4 from 4.8.0 to 4.8.1 (#21677)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-28 21:44:13 -05:00
Keith Chong
e8a3f7aa33 fix: Update argo-ui dependency to pull in OCI icon (#18646) (#21698)
Signed-off-by: Keith Chong <kykchong@redhat.com>
2025-01-28 21:42:33 -05:00
Jagpreet Singh Tamber
ecb9dbac42 feat: add support for azure workload identity in Microsoft Entra SSO (#21433)
Signed-off-by: Jagpreet Singh Tamber <jagpreetstamber@gmail.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-01-29 00:00:43 +00:00
maoqide
1698370363 feat: replace spdy with websocket for portforward and pod exec #21517 (#21518)
Signed-off-by: xinmei.mao <xinmei.mao@tuya.com>
Co-authored-by: xinmei.mao <xinmei.mao@tuya.com>
2025-01-28 10:09:29 -05:00
Julie Vogelman
e3bcc48bf2 chore: updates to Numaplane health checks (#21671)
Signed-off-by: Julie Vogelman <julievogelman0@gmail.com>
2025-01-27 10:29:44 -05:00
Rafal
544aea18c3 fix(ui): Cannot add an app that has both name and server destination (#21440)
Signed-off-by: Rafal Pelczar <rafal@akuity.io>
2025-01-24 16:58:00 -05:00
dependabot[bot]
75def4f2df chore(deps-dev): bump @types/node from 22.10.8 to 22.10.10 in /ui-test (#21658)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-24 08:28:45 -05:00
Regina Voloshin
c7e02eefdd fix: make test fails with exec format error (#21630)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
2025-01-24 08:16:35 -05:00
Michael Crenshaw
bd9923fd75 chore(repo-server): simplify Kustomize/Helm version detection (#21540)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-01-24 08:15:02 -05:00
dependabot[bot]
bcf2143dfe chore(deps): bump github.com/go-git/go-git/v5 from 5.13.1 to 5.13.2 (#21641) 2025-01-23 06:12:44 -05:00
dependabot[bot]
770664411a chore(deps-dev): bump @types/node from 22.10.7 to 22.10.8 in /ui-test (#21644) 2025-01-23 06:12:14 -05:00
dependabot[bot]
cdb7995693 chore(deps): bump chromedriver from 132.0.0 to 132.0.1 in /ui-test (#21646) 2025-01-23 06:11:42 -05:00
Michael Crenshaw
3593f24491 chore: mark with-hydrator manifests as generated (#21639)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-01-22 21:59:09 +00:00
Matthieu MOREL
24893ad5e9 chore: enable several rules from revive (#21638)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-01-22 21:32:09 +00:00
Matthieu MOREL
bf082c26c2 chore: enable ifElseChain from gocritic (#21636)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-01-22 16:13:51 -05:00
Alexandre Gaudreault
8f285a5dd4 fix(in-cluster): do not allow the cluster to be used when disabled (#21208)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-01-22 20:36:05 +00:00
Matthieu MOREL
35a174b956 chore: enable badCond from gocritic (#21632)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-01-22 18:25:33 +00:00
Alexandre Gaudreault
85684a8919 fix(cli): application cannot be refreshed when invalid and hangs (#21615)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-01-22 11:39:55 -05:00
Matthieu MOREL
27915da5b0 chore: enable singleCaseSwitch and commentFormatting rules from gocritic (#21616)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-01-22 10:45:32 -05:00
github-actions[bot]
2cfaab335f [Bot] docs: Update Snyk report (#21558)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2025-01-22 09:22:28 +02:00
almoelda
f9ffb6ae35 feat: Added env reference objects to manifests for otlp.attrs (#21563)
Signed-off-by: Almo Elda <almogldbh@gmail.com>
2025-01-22 09:16:06 +02:00
Chris Adkins
91cb693164 chore: action docker warnings (#21556)
Signed-off-by: Christopher J. Adkins <chris@cjadkins.com>
2025-01-22 09:15:44 +02:00
Matthieu MOREL
5ef4faa8a4 chore: enable nolintlint (#21559)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-01-21 13:49:14 -05:00
Jacob Colvin
f258c450b8 feat: add ARGOCD_APP_PROJECT_NAME to the build environment (#15185) (#21586)
Signed-off-by: Jacob Colvin <jacobcolvin1@gmail.com>
Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-01-21 13:16:40 -05:00
Alexander Matyushentsev
eed70eed6e fix: login return_url doesn't work with custom server paths (#21588)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2025-01-21 09:22:50 -08:00
Prune Sebastien THOMAS
55aab6efb6 fix(appset): reverted Gitlab SCM HasPath search and consider 404 errors as file not found (#16253) (#21597)
Signed-off-by: Prune <prune@lecentre.net>
2025-01-21 17:08:59 +00:00
Laurent Lavaud
9b91454968 chore: cleanup diff-cache testdata (#21600)
Signed-off-by: Laurent Lavaud <laurent.lavaud@mirakl.com>
2025-01-21 17:08:46 +00:00
Michael Crenshaw
9429275a91 fix(hydrator): UI nil checks (#21598)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-01-21 16:51:03 +00:00
Michele Baldessari
ed3cc48847 fix: Policy/policy.open-cluster-management.io stuck in progressing status when no clusters match the policy (#21296) (#21297)
Signed-off-by: Michele Baldessari <michele@acksyn.org>
2025-01-21 08:19:35 -05:00
Revital Barletz
87539aa558 docs: Surface blog with (actual) release notes better (#21572)
Signed-off-by: Revital Barletz <revitalbarletz@gmail.com>
2025-01-21 02:32:30 -10:00
Shun Nishitsuji
c687247ce8 docs: Add LY Corporation to list of users (#21592)
Signed-off-by: asuforce <owata.sn@gmail.com>
2025-01-21 02:19:32 -10:00
Regina Voloshin
6f38327647 fix: resolve the failing e2e appset tests for ksonnet applications (#21580)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
2025-01-21 03:01:28 +00:00
Michael Crenshaw
e3caebae56 docs(hydrator): document signature verification limitation (#21504)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-01-20 20:19:06 -05:00
Revital Barletz
7ba7fc028e docs: Auto Sync toggle does not work for Applications created with an ApplicationSet (#21577)
Signed-off-by: Revital Barletz <revitalbarletz@gmail.com>
Co-authored-by: Regina Voloshin <reginakagan@gmail.com>
2025-01-20 16:22:04 +01:00
Afzal Ansari
1a56ea7417 docs: remove branch var outdated from the cluster param (#21549)
Signed-off-by: Afzal Ansari <afzal442@gmail.com>
2025-01-20 10:15:48 -05:00
Tobias Lindberg
9fd6beea7f docs: add statusbadge.url override information (#21529)
Signed-off-by: Tobias Lindberg <tobias.ehlert@gmail.com>
2025-01-20 10:06:14 -05:00
dependabot[bot]
3a29a745a3 chore(deps-dev): bump @types/node from 22.10.6 to 22.10.7 in /ui-test (#21511)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-18 21:56:45 +02:00
Matt Finkel
606bd5b043 feat(rbac)!: disable fine-grained inheritance by default (#19988) (#20671)
---------

Signed-off-by: Matt Finkel <finkel.matt@gmail.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-01-17 20:20:40 +00:00
Jagpreet Singh Tamber
89c4817213 feat: Add support for Azure workload identity for Git and OCI repositories. (#21118)
---------

Signed-off-by: Jagpreet Singh Tamber <jagpreetstamber@gmail.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-01-17 12:33:36 -05:00
Thomas Mueller
c93924b3cc fix: Wait for Subscription resources to reach AtLatestKnown (#21425)
If using the sync waves annotations currently ArgoCD does not wait
for the Subscription to be fully installed. Root cause is that
the first update that includes `.status` doesn't include the information
that the installation is still pending.

To be able to wait for the operator to be installed, the `.status.state`
can be checked.

Signed-off-by: Thomas Müller <thomas@chaschperli.ch>
2025-01-17 11:27:18 -05:00
rumstead
f3509d2f8a fix(appset): dont requeue appsets on status change (#21364)
* e2e

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* fix(appset): don't requeue on status changes

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* fix spelling

Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* merge in annotation changes

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* merge in annotation changes

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* add more tests

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* lint fix

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* Update applicationset/controllers/applicationset_controller.go

Co-authored-by: Ishita Sequeira <46771830+ishitasequeira@users.noreply.github.com>
Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* fix linting

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* fix linting

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

---------

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Ishita Sequeira <46771830+ishitasequeira@users.noreply.github.com>
2025-01-17 11:03:49 -05:00
almoelda
3e09f946f4 feat: resource customization for CustomResourceDefinition (#21416)
Signed-off-by: Almo Elda <almogldbh@gmail.com>
2025-01-17 11:02:13 -05:00
Marco Franssen
d765aabc1f chore: Upgrade ubuntu base image to latest 24.04 digest (#21524)
```shell
$ crane digest docker.io/library/ubuntu:24.04
sha256:80dd3c3b9c6cecb9f1667e9290b3bc61b78c2678c02cbdae5f0fea92cc6734ab
```

Signed-off-by: Marco Franssen <marco.franssen@gmail.com>
2025-01-17 10:50:41 -05:00
Regina Voloshin
070287cecc docs: update contributors guide with repo clone and make targets (#21473)
---------

Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
Signed-off-by: Regina Voloshin <regina.voloshin@codefresh.io>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-01-17 15:31:58 +00:00
dependabot[bot]
d4d671316f chore(deps): bump google.golang.org/protobuf from 1.36.2 to 1.36.3 (#21513)
Bumps google.golang.org/protobuf from 1.36.2 to 1.36.3.

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-17 09:22:25 -05:00
dependabot[bot]
dbf9393365 chore(deps): bump library/golang in /test/container (#21533)
Bumps library/golang from 1.23.4 to 1.23.5.

---
updated-dependencies:
- dependency-name: library/golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-17 09:21:08 -05:00
dependabot[bot]
780285b86e chore(deps): bump library/golang from 1.23.4 to 1.23.5 in /test/remote (#21535)
Bumps library/golang from 1.23.4 to 1.23.5.

---
updated-dependencies:
- dependency-name: library/golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-17 09:17:28 -05:00
rumstead
11b866578f fix: remove kustomize binary from git (#21526) 2025-01-16 15:58:52 +02:00
Adam Buran
9b17495bc2 chore: update go-github to use token (#21292)
* minor change to use WithAuthToken

Signed-off-by: aburan28@gmail.com <aburan28@gmail.com>

* minor change to use WithAuthToken

Signed-off-by: aburan28@gmail.com <aburan28@gmail.com>

* Update applicationset/services/scm_provider/github.go

Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
Signed-off-by: Adam Buran <aburan28@gmail.com>

* remove ctx from NewGithubProvider

Signed-off-by: aburan28 <aburan28@gmail.com>

* remove ctx from NewGithubProvider

Signed-off-by: aburan28 <aburan28@gmail.com>

* remove unused parameter

Signed-off-by: aburan28 <aburan28@gmail.com>

* update readthedogs.yml to allow for builds

Signed-off-by: aburan28 <aburan28@gmail.com>

---------

Signed-off-by: aburan28@gmail.com <aburan28@gmail.com>
Signed-off-by: Adam Buran <aburan28@gmail.com>
Signed-off-by: aburan28 <aburan28@gmail.com>
Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
2025-01-16 00:46:03 -05:00
Xiaonan Shen
f548fd7a24 fix: correctly set compareWith when requesting app refresh with delay (fixes #18998) (#21298)
* fix: correctly set compareWith when requesting app refresh with delay

Signed-off-by: Xiaonan Shen <s@sxn.dev>

* test: add UT

Signed-off-by: Xiaonan Shen <s@sxn.dev>

---------

Signed-off-by: Xiaonan Shen <s@sxn.dev>
Co-authored-by: 沈啸楠 <sxn@shenxiaonandeMacBook-Pro.local>
2025-01-16 00:42:25 -05:00
Suraj yadav
1ce0123fa5 fix(ui): Group Nodes breaks Kinds counts / views (#21337)
* groupview-filter-fix

Signed-off-by: Surajyadav <harrypotter1108@gmail.com>

* count-logic-change

Signed-off-by: Surajyadav <harrypotter1108@gmail.com>

* lint-fixes

Signed-off-by: Surajyadav <harrypotter1108@gmail.com>

---------

Signed-off-by: Surajyadav <harrypotter1108@gmail.com>
2025-01-16 00:41:42 -05:00
Amit Oren
3f0a1552e6 Fix application url for custom base href (#21377)
Signed-off-by: Amit Oren <amit@coralogix.com>
2025-01-16 00:37:07 -05:00
dependabot[bot]
742d45a1f5 chore(deps): bump chromedriver from 131.0.5 to 132.0.0 in /ui-test (#21512)
Bumps [chromedriver](https://github.com/giggio/node-chromedriver) from 131.0.5 to 132.0.0.
- [Commits](https://github.com/giggio/node-chromedriver/compare/131.0.5...132.0.0)

---
updated-dependencies:
- dependency-name: chromedriver
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-16 00:22:58 -05:00
dependabot[bot]
219444313a chore(deps): bump github.com/aws/aws-sdk-go from 1.55.5 to 1.55.6 (#21514)
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.55.5 to 1.55.6.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/main/CHANGELOG_PENDING.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.55.5...v1.55.6)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-16 00:22:37 -05:00
dependabot[bot]
901139795d chore(deps): bump library/redis in /test/container (#21494) 2025-01-15 23:49:24 -05:00
Prune Sebastien THOMAS
37a7231bd3 fix(appset): update gitlab SCM provider to search on parent folder (#16253) (#21491)
* (fix:appset) update gitlab SCM provider to search on parent folder

fix https://github.com/argoproj/argo-cd/issues/16253

Signed-off-by: Prune <prune@lecentre.net>

* adding test-case that replicated the new Gitlab API behaviour

Signed-off-by: Prune <prune@lecentre.net>

* add comments to the case

Signed-off-by: Prune <prune@lecentre.net>

---------

Signed-off-by: Prune <prune@lecentre.net>
2025-01-15 13:18:32 -05:00
dependabot[bot]
9a02f9bc2e chore(deps): bump google.golang.org/grpc from 1.69.2 to 1.69.4 (#21485)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.69.2 to 1.69.4.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.69.2...v1.69.4)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-15 12:57:19 -05:00
Eadred
e852142fb9 fix(appset): events not honouring configured namespaces (#21219) (#21241)
* fix: 21219 Honour ARGOCD_APPLICATIONSET_CONTROLLER_NAMESPACES for all ApplicationSet events

Namespace filtering is applied to Update, Delete and Generic events.

Fixes https://github.com/argoproj/argo-cd/issues/21219

Signed-off-by: eadred <eadred77@googlemail.com>

* fix: 21219 Add tests for ignoreNotAllowedNamespaces

Signed-off-by: eadred <eadred77@googlemail.com>

* fix: 21219 Remove redundant package import

Signed-off-by: eadred <eadred77@googlemail.com>

---------

Signed-off-by: eadred <eadred77@googlemail.com>
2025-01-15 11:35:49 -05:00
Linghao Su
922c9e9ccc feat(ui): support filter repo when input (#21451)
Signed-off-by: linghaoSu <linghao.su@daocloud.io>
2025-01-15 09:55:01 -05:00
Suraj yadav
72962014b5 feat(ui): Added link to start page in argo logo (#21461)
Signed-off-by: Surajyadav <harrypotter1108@gmail.com>
2025-01-14 21:11:40 +00:00
Michael Crenshaw
d23e6ac79b feat: configurable log timestamp format (#21478)
* feat: configurable log timestamp format

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* lint

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-01-14 16:10:14 +00:00
dependabot[bot]
9a51757049 chore(deps): bump github.com/cyphar/filepath-securejoin from 0.3.6 to 0.4.0 (#21484)
* chore(deps): bump github.com/cyphar/filepath-securejoin

Bumps [github.com/cyphar/filepath-securejoin](https://github.com/cyphar/filepath-securejoin) from 0.3.6 to 0.4.0.
- [Release notes](https://github.com/cyphar/filepath-securejoin/releases)
- [Changelog](https://github.com/cyphar/filepath-securejoin/blob/main/CHANGELOG.md)
- [Commits](https://github.com/cyphar/filepath-securejoin/compare/v0.3.6...v0.4.0)

---
updated-dependencies:
- dependency-name: github.com/cyphar/filepath-securejoin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* match new signature

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-01-14 10:41:32 -05:00
dependabot[bot]
c3600d240a chore(deps): bump chromedriver from 131.0.4 to 131.0.5 in /ui-test (#21415)
Bumps [chromedriver](https://github.com/giggio/node-chromedriver) from 131.0.4 to 131.0.5.
- [Commits](https://github.com/giggio/node-chromedriver/compare/131.0.4...131.0.5)

---
updated-dependencies:
- dependency-name: chromedriver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-14 07:37:06 -05:00
dependabot[bot]
b77d9d9f5f chore(deps-dev): bump typescript from 5.7.2 to 5.7.3 in /ui-test (#21443)
Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.7.2 to 5.7.3.
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.7.2...v5.7.3)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-14 07:16:41 -05:00
dependabot[bot]
2f579404f6 chore(deps-dev): bump @types/node from 22.10.5 to 22.10.6 in /ui-test (#21482)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.10.5 to 22.10.6.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-14 07:12:38 -05:00
dependabot[bot]
5d84eb4ff3 chore(deps): bump github.com/bmatcuk/doublestar/v4 from 4.7.1 to 4.8.0 (#21483)
Bumps [github.com/bmatcuk/doublestar/v4](https://github.com/bmatcuk/doublestar) from 4.7.1 to 4.8.0.
- [Release notes](https://github.com/bmatcuk/doublestar/releases)
- [Commits](https://github.com/bmatcuk/doublestar/compare/v4.7.1...v4.8.0)

---
updated-dependencies:
- dependency-name: github.com/bmatcuk/doublestar/v4
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-14 07:12:11 -05:00
dependabot[bot]
d3dda53cf6 chore(deps): bump library/busybox in /test/e2e/multiarch-container (#21486)
Bumps library/busybox from `2919d01` to `a5d0ce4`.

---
updated-dependencies:
- dependency-name: library/busybox
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-14 07:11:29 -05:00
Amin Arefzadeh
613d06d0b1 fix(cli): use correct CA when adding kube-public clusters (#21326) (#21327)
Signed-off-by: Amin Arefzadeh <aminarefzadeh1376@gmail.com>
2025-01-13 19:07:45 -05:00
github-actions[bot]
ced84418d3 [Bot] docs: Update Snyk reports (#21459)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2025-01-13 13:19:44 -05:00
Michael Crenshaw
bd37458896 chore(refactor): remove app destination inferrence logic (#21189)
* refactor: remove app destination inferrence logic

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* simplify

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* more fixes

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* more fixes

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* codegen

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* fix mocks

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* simplify

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* clusters all the way down

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* simplify

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* test

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* lint

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* tidy

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* be less radical

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-01-13 13:15:42 -05:00
Daco
f6a84a470d fix(appset): Reconcile appset only once when appset is refreshed (fix 21171) (#21172)
Signed-off-by: Philippe Da Costa <pdacosta@gmail.com>
2025-01-13 10:46:41 -05:00
Michael Crenshaw
dbdc1e737a feat: use log format config for klog (#5715) (#21458)
* feat: use log format config for klog (#5715)

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* use init, remove test line

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* sort imports

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* fix comment

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-01-13 10:46:07 -05:00
Michael Crenshaw
fdf9a305b3 docs: 3.0 upgrade guide (#21457)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-01-13 10:45:52 -05:00
dependabot[bot]
5207508871 chore(deps): bump code.gitea.io/sdk/gitea from 0.19.0 to 0.20.0 (#21464)
Bumps code.gitea.io/sdk/gitea from 0.19.0 to 0.20.0.

---
updated-dependencies:
- dependency-name: code.gitea.io/sdk/gitea
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-13 09:33:27 -05:00
Regina Voloshin
2d10d4e785 docs: add mkdocs configuration stanza to .readthedocs.yaml (#21475)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
2025-01-13 09:30:46 -05:00
github-actions[bot]
4d9835927d 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 <350466+crenshaw-dev@users.noreply.github.com>
2025-01-10 16:14:00 -05:00
lrost
1645d576fd docs: add wildcard globbing example to docs (#21429)
* add wildcard globbing example

After searching for wildcard globbing, i could only find the following PR : https://github.com/argoproj/argo-cd/pull/1106. Now the docs have an example

Signed-off-by: lrost <luukrost@gmail.com>

* Update project.yaml

feedback

Signed-off-by: lrost <luukrost@gmail.com>

---------

Signed-off-by: lrost <luukrost@gmail.com>
2025-01-09 22:07:52 -10:00
Nitish Kumar
77ff8f0dd4 docs: add missing word (#21428)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2025-01-09 22:02:32 -10:00
Atif Ali
b8508f2916 feat(ui): rename filter message status on SYNC STATUS view (#21061)
* rename filter message status

Signed-off-by: Atif Ali <atali@redhat.com>

* capitalize for cosistency with other filters

Signed-off-by: Atif Ali <atali@redhat.com>

* added tooltip for message filter

Signed-off-by: Atif Ali <atali@redhat.com>

* lint fix

Signed-off-by: Atif Ali <atali@redhat.com>

* Trigger workflow tests

Signed-off-by: Atif Ali <atali@redhat.com>

---------

Signed-off-by: Atif Ali <atali@redhat.com>
2025-01-08 17:17:27 -05:00
Atif Ali
6d27928965 feat(ui): highlight log lines by pod name (#21001)
* adding background colors for different pods

Signed-off-by: Atif Ali <atali@redhat.com>

* fix lint error

Signed-off-by: Atif Ali <atali@redhat.com>

* fix lint error new

Signed-off-by: Atif Ali <atali@redhat.com>

* resolved issues

Signed-off-by: Atif Ali <atali@redhat.com>

* color name and provide different backround only for selected pod

Signed-off-by: Atif Ali <atali@redhat.com>

* remove pod legend and make pod names clickable on the logs

Signed-off-by: Atif Ali <atali@redhat.com>

* added dropdown to select pods

Signed-off-by: Atif Ali <atali@redhat.com>

* use a marker icon instead to show the dropdown

Signed-off-by: Atif Ali <atali@redhat.com>

* incoorperate darkmode for dropdown

Signed-off-by: Atif Ali <atali@redhat.com>

* Trigger workflow tests

Signed-off-by: Atif Ali <atali@redhat.com>

---------

Signed-off-by: Atif Ali <atali@redhat.com>
2025-01-08 16:52:17 -05:00
Matthieu MOREL
6c45721730 chore: enable early-return from revive (#21423)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-01-08 15:26:02 -05:00
dependabot[bot]
2a497ef1fd chore(deps): bump google.golang.org/protobuf from 1.36.1 to 1.36.2 (#21412)
Bumps google.golang.org/protobuf from 1.36.1 to 1.36.2.

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-08 10:27:29 -05:00
dependabot[bot]
871ed62000 chore(deps): bump sigs.k8s.io/controller-runtime from 0.19.3 to 0.19.4 (#21411)
Bumps [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) from 0.19.3 to 0.19.4.
- [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/main/RELEASE.md)
- [Commits](https://github.com/kubernetes-sigs/controller-runtime/compare/v0.19.3...v0.19.4)

---
updated-dependencies:
- dependency-name: sigs.k8s.io/controller-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-08 10:26:47 -05:00
Michael Crenshaw
1a9f22625d fix(controller): rename cluster batch param and add to argocd-cmd-params-cm (#21402)
* fix(controller): rename cluster batch param and add to argocd-cmd-params-cm

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* parameterize deployment too

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* consistency

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-01-08 07:34:29 -05:00
Michael Crenshaw
06bd2ad10f fix(ci): all version bump changes go in the PR (#21409)
* chore(ci): fix version bump codegen

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* link, not copy

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* make directory

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* maybe backwards

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* what's up

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* what's up

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* what's up

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* I give up

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* remove silliness

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* somehow

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* frustration

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* who knows

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* oops

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-01-07 22:46:31 +00:00
rumstead
05c76253f0 fix(ci): updating action-gh-release after upstream fix (#21407)
Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
2025-01-07 21:39:14 +00:00
dependabot[bot]
fe8bab0406 chore(deps): bump library/redis from 7.4.1 to 7.4.2 in /test/container (#21395)
Bumps library/redis from 7.4.1 to 7.4.2.

---
updated-dependencies:
- dependency-name: library/redis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-07 14:41:26 -05:00
Michael Crenshaw
77ad48aa09 chore(ci): run codegen as part of version bump job (#21404)
* chore(ci): run codegen as part of version bump

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* preserve go.mod changes

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* more logging

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* add more excluded paths

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* git status

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* more debugging

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* maybe

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* remove debugging stuff

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-01-07 19:38:51 +00:00
renovate[bot]
4fee6b51e0 chore(deps): update dependency pymdown-extensions to v10.14 (#21403)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-07 13:42:44 -05:00
dependabot[bot]
a807c0eb69 chore(deps): bump golang.org/x/net from 0.33.0 to 0.34.0 (#21396)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.33.0 to 0.34.0.
- [Commits](https://github.com/golang/net/compare/v0.33.0...v0.34.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ishita Sequeira <46771830+ishitasequeira@users.noreply.github.com>
2025-01-07 16:24:51 +00:00
Matthieu MOREL
947a7b84d7 chore: enable indent-error-flow from revive (#21394)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-01-07 10:25:22 -05:00
Matthieu MOREL
53bc19b5f2 chore: enable unused-parameter from revive (#21365)
* chore: enable unused-parameter from revive

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>

* apply recommandations

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>

---------

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-01-07 10:12:56 -05:00
Matthieu MOREL
b04a7c101d chore: enable context-as-argument from revive (#21371)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-01-07 10:08:51 -05:00
Matthieu MOREL
50c49ec8f9 chore: enable unnecessary-stmt from revive (#21398)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-01-07 09:56:38 -05:00
nmirasch
f39b425fac fix: CVE-2024-21538 upgrading the indirect dep cross-spawn to greater than 7.0.5 (#21259)
* fix: CVE-2024-21538 upgrading the indirect dep cross-spawn to greater than 7.0.5

Signed-off-by: nmirasch <neus.miras@gmail.com>

* rebasing

Signed-off-by: nmirasch <neus.miras@gmail.com>

---------

Signed-off-by: nmirasch <neus.miras@gmail.com>
2025-01-07 09:52:35 -05:00
dependabot[bot]
cce74a33e1 chore(deps): bump golang.org/x/crypto from 0.31.0 to 0.32.0 (#21397)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.31.0 to 0.32.0.
- [Commits](https://github.com/golang/crypto/compare/v0.31.0...v0.32.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-07 09:49:51 -05:00
Matthieu MOREL
c739478b8b chore: enable receiver-naming from revive (#21372)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-01-06 14:45:11 -05:00
dependabot[bot]
76d28b50dd chore(deps): bump golang.org/x/time from 0.8.0 to 0.9.0 (#21385)
Bumps [golang.org/x/time](https://github.com/golang/time) from 0.8.0 to 0.9.0.
- [Commits](https://github.com/golang/time/compare/v0.8.0...v0.9.0)

---
updated-dependencies:
- dependency-name: golang.org/x/time
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-06 14:28:17 -05:00
Michael Crenshaw
43d2a3d937 fix(ci): proto references bump (#21391)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-01-06 19:09:00 +00:00
github-actions[bot]
b4912cf340 [Bot] docs: Update Snyk reports (#21376)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2025-01-06 13:45:59 -05:00
renovate[bot]
9cc52247c4 chore(deps): update dependency pygments to v2.19.1 (#21392)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-06 13:45:26 -05:00
Matthieu MOREL
cb3024c5ff chore: enable superfluous-else from revive (#21373)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-01-06 11:41:38 -05:00
renovate[bot]
10293889b7 chore(deps): update dependency pygments to v2.19.0 (#21379)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-06 11:39:44 -05:00
Matthieu MOREL
c80325737e chore: enable duplicated-imports from revive (#21378)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-01-06 11:34:32 -05:00
dependabot[bot]
0c1d218d88 chore(deps): bump golang.org/x/oauth2 from 0.24.0 to 0.25.0 (#21384)
Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.24.0 to 0.25.0.
- [Commits](https://github.com/golang/oauth2/compare/v0.24.0...v0.25.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-06 11:31:40 -05:00
Matthieu MOREL
9f0dc9402f chore: enable redundant-import-alias from revive (#21386)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-01-06 11:30:42 -05:00
dependabot[bot]
41dec01c7c chore(deps-dev): bump @types/node from 22.10.2 to 22.10.5 in /ui-test (#21381)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.10.2 to 22.10.5.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-06 09:56:26 -05:00
dependabot[bot]
38ad4f4653 chore(deps): bump golang.org/x/term from 0.27.0 to 0.28.0 (#21382)
Bumps [golang.org/x/term](https://github.com/golang/term) from 0.27.0 to 0.28.0.
- [Commits](https://github.com/golang/term/compare/v0.27.0...v0.28.0)

---
updated-dependencies:
- dependency-name: golang.org/x/term
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-06 09:25:17 -05:00
Keith Chong
1bf2ab5dc0 test: Update ui test to fix logic for headless mode, add logs (#21361) (#21362)
Signed-off-by: Keith Chong <kykchong@redhat.com>
2025-01-06 09:24:42 -05:00
dependabot[bot]
b3e31ed1f4 chore(deps): bump github.com/coreos/go-oidc/v3 from 3.11.0 to 3.12.0 (#21383)
Bumps [github.com/coreos/go-oidc/v3](https://github.com/coreos/go-oidc) from 3.11.0 to 3.12.0.
- [Release notes](https://github.com/coreos/go-oidc/releases)
- [Commits](https://github.com/coreos/go-oidc/compare/v3.11.0...v3.12.0)

---
updated-dependencies:
- dependency-name: github.com/coreos/go-oidc/v3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-06 09:22:59 -05:00
Matthieu MOREL
e66068c11b chore: enable var-declaration from revive (#21370)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-01-03 18:44:23 -05:00
Matthieu MOREL
4e5db16fbf chore: enable increment-decrement from revive (#21366)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-01-03 22:45:03 +00:00
renovate[bot]
8245cd90b3 chore(deps): update module github.com/golangci/golangci-lint to v1.63.4 (#21368)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-03 22:40:05 +00:00
Michael Crenshaw
acb47b418c chore: add script to bump major version (#21363)
* chore: add script to bump major version

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* add workflow to automatically bump the version

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* better PR

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* use new output mechanism

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* fix incorrect message

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-01-03 16:51:31 -05:00
Matthieu MOREL
5508d1feda chore: enable importas for k8s.io/apimachinery/pkg/api/errors (#21262)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-01-03 17:09:37 +00:00
Matthieu MOREL
ef55ba549b chore: use dario.cat/mergo instead of github.com/imdario/mergo (#21274)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-01-03 11:10:24 -05:00
Matthieu MOREL
ceb758c877 chore: import k8s.io/api/core/v1 as corev1 (#21345)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-01-03 11:10:00 -05:00
dependabot[bot]
4723abd0b4 chore(deps): bump github.com/bradleyfalzon/ghinstallation/v2 (#21353)
Bumps [github.com/bradleyfalzon/ghinstallation/v2](https://github.com/bradleyfalzon/ghinstallation) from 2.12.0 to 2.13.0.
- [Release notes](https://github.com/bradleyfalzon/ghinstallation/releases)
- [Commits](https://github.com/bradleyfalzon/ghinstallation/compare/v2.12.0...v2.13.0)

---
updated-dependencies:
- dependency-name: github.com/bradleyfalzon/ghinstallation/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-03 11:05:35 -05:00
dependabot[bot]
8200e3d315 chore(deps): bump github.com/go-git/go-git/v5 from 5.13.0 to 5.13.1 (#21352)
Bumps [github.com/go-git/go-git/v5](https://github.com/go-git/go-git) from 5.13.0 to 5.13.1.
- [Release notes](https://github.com/go-git/go-git/releases)
- [Commits](https://github.com/go-git/go-git/compare/v5.13.0...v5.13.1)

---
updated-dependencies:
- dependency-name: github.com/go-git/go-git/v5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-03 11:05:07 -05:00
Matthieu MOREL
13235ad477 chore: use testify instead of testing.Fatal (#21258)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-01-02 18:27:41 -05:00
Matthieu MOREL
9ea979bbcd chore: enable use-any from revive (#21282)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-01-02 18:26:59 -05:00
Matthieu MOREL
6087b4f903 chore: use github.com/golang-jwt/jwt/v5 (#21276)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-01-02 18:23:28 -05:00
renovate[bot]
33f2a6fea1 chore(deps): update module github.com/golangci/golangci-lint to v1.63.3 (#21348)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-02 22:09:59 +00:00
Amin Arefzadeh
b6770bdb79 chore: Add divar.ir to USERS.md (#21344)
Signed-off-by: Amin Arefzadeh <aminarefzadeh1376@gmail.com>
2025-01-02 16:33:26 -05:00
renovate[bot]
065fc31a92 chore(deps): update module github.com/golangci/golangci-lint to v1.63.2 (#21343)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-02 16:32:46 -05:00
morre
db8d2f08d9 docs: add note about comments in policy.csv files (#21339)
I was wondering why our policy was valid even though it was not a valid CSV file.

Reading the code, I saw 812650847c/util/rbac/rbac.go (L492-L494) in the parsing and decided to add this note to document this behavior.

Signed-off-by: morre <mmeyer@anaconda.com>
2025-01-01 22:35:53 +01:00
Matthieu MOREL
812650847c chore: enable importas for k8s.io/apimachinery/pkg/apis/meta/v1 (#21284)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-12-31 10:34:11 +02:00
Matthieu MOREL
ffdbcb6f31 chore: reuse common PermissionDeniedAPIError (#21283)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-12-31 10:29:01 +02:00
github-actions[bot]
8bb2119a62 [Bot] docs: Update Snyk reports (#21322)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2024-12-30 11:02:58 +02:00
Matthieu MOREL
8a6f53d044 chore: enable errorf of perfsprint linter (#21280)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-12-30 10:56:41 +02:00
renovate[bot]
a415822614 chore(deps): update dependency pymdown-extensions to v10.13 (#21301)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-30 10:54:34 +02:00
Siddhesh Ghadi
9309688a8a Stabilize on-deployed notification trigger (#21333)
Signed-off-by: Siddhesh Ghadi <sghadi1203@gmail.com>
2024-12-30 10:51:55 +02:00
dependabot[bot]
635e592778 chore(deps): bump github.com/casbin/casbin/v2 from 2.102.0 to 2.103.0 (#21330)
Bumps [github.com/casbin/casbin/v2](https://github.com/casbin/casbin) from 2.102.0 to 2.103.0.
- [Release notes](https://github.com/casbin/casbin/releases)
- [Changelog](https://github.com/casbin/casbin/blob/master/.releaserc.json)
- [Commits](https://github.com/casbin/casbin/compare/v2.102.0...v2.103.0)

---
updated-dependencies:
- dependency-name: github.com/casbin/casbin/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-30 04:42:07 +00:00
dependabot[bot]
84f2ab850d chore(deps): bump github.com/casbin/govaluate from 1.2.0 to 1.3.0 (#21331)
Bumps [github.com/casbin/govaluate](https://github.com/casbin/govaluate) from 1.2.0 to 1.3.0.
- [Release notes](https://github.com/casbin/govaluate/releases)
- [Changelog](https://github.com/casbin/govaluate/blob/master/.releaserc.json)
- [Commits](https://github.com/casbin/govaluate/compare/v1.2.0...v1.3.0)

---
updated-dependencies:
- dependency-name: github.com/casbin/govaluate
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-30 03:59:23 +00:00
dependabot[bot]
dd366f56fa chore(deps): bump github.com/go-git/go-git/v5 from 5.12.0 to 5.13.0 (#21329)
Bumps [github.com/go-git/go-git/v5](https://github.com/go-git/go-git) from 5.12.0 to 5.13.0.
- [Release notes](https://github.com/go-git/go-git/releases)
- [Commits](https://github.com/go-git/go-git/compare/v5.12.0...v5.13.0)

---
updated-dependencies:
- dependency-name: github.com/go-git/go-git/v5
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-30 03:53:41 +00:00
Ali Abbas Jaffri
cce4a284be Update ingress.md (#21324)
Fixing spell error

Signed-off-by: Ali Abbas Jaffri <ali.abbasjaffri@live.com>
2024-12-29 20:32:10 +01:00
dependabot[bot]
728b31e5e9 chore(deps): bump google.golang.org/protobuf from 1.36.0 to 1.36.1 (#21303)
Bumps google.golang.org/protobuf from 1.36.0 to 1.36.1.

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-27 20:04:27 +05:30
dependabot[bot]
87a7a6eb39 chore(deps): bump library/redis in /test/container (#21310)
Bumps library/redis from `ea96c43` to `05f9926`.

---
updated-dependencies:
- dependency-name: library/redis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-27 20:03:59 +05:30
Nitish Kumar
afbde2a930 test: add unit test for read and write function for websocket (#19598)
* test: add unit test for read and write function for websocket

Signed-off-by: nitishfy <justnitish06@gmail.com>

* fix nil pointer reference

Signed-off-by: nitishfy <justnitish06@gmail.com>

* remove alternative read test for testing-purposes

Signed-off-by: nitishfy <justnitish06@gmail.com>

* modify test cases

Signed-off-by: nitishfy <justnitish06@gmail.com>

* fix failing test

Signed-off-by: nitishfy <justnitish06@gmail.com>

* remove read test

Signed-off-by: nitishfy <justnitish06@gmail.com>

---------

Signed-off-by: nitishfy <justnitish06@gmail.com>
Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
2024-12-26 20:47:10 +01:00
Ali Hamza Noor
c6893527a7 Fixing the link in the docs (#21316)
Signed-off-by: alihamzanoor <alihamzanoor99@gmail.com>
2024-12-26 13:11:42 +01:00
dependabot[bot]
f429352c0a chore(deps): bump github.com/gosimple/slug from 1.14.0 to 1.15.0 (#21304)
Bumps [github.com/gosimple/slug](https://github.com/gosimple/slug) from 1.14.0 to 1.15.0.
- [Release notes](https://github.com/gosimple/slug/releases)
- [Commits](https://github.com/gosimple/slug/compare/v1.14.0...v1.15.0)

---
updated-dependencies:
- dependency-name: github.com/gosimple/slug
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-23 22:50:12 -05:00
Amit Oren
644315ace1 fix: Change applicationset generate HTTP method to avoid route conflicts (#20758)
* Change applicationset generate HTTP method to avoid route conflicts

Signed-off-by: Amit Oren <amit@coralogix.com>

* Update server/applicationset/applicationset.proto

Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Amit Oren <github@amitoren.dev>

* Codegen

Signed-off-by: Amit Oren <amit@coralogix.com>

---------

Signed-off-by: Amit Oren <amit@coralogix.com>
Signed-off-by: Amit Oren <github@amitoren.dev>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2024-12-23 12:15:50 -05:00
github-actions[bot]
ac8e3f01e9 [Bot] docs: Update Snyk reports (#21290)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2024-12-22 13:02:07 +02:00
dependabot[bot]
812a9da62a chore(deps): bump chromedriver from 131.0.3 to 131.0.4 in /ui-test (#21268)
Bumps [chromedriver](https://github.com/giggio/node-chromedriver) from 131.0.3 to 131.0.4.
- [Commits](https://github.com/giggio/node-chromedriver/compare/131.0.3...131.0.4)

---
updated-dependencies:
- dependency-name: chromedriver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-22 12:59:20 +02:00
Suraj yadav
e5df999183 crepocreds-short-changed (#21285)
Signed-off-by: Surajyadav <harrypotter1108@gmail.com>
2024-12-22 12:59:03 +02:00
renovate[bot]
cf89ee6279 chore(deps): update dependency jinja2 to v3.1.5 (#21289)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-22 12:56:48 +02:00
dependabot[bot]
f15e1bc52c chore(deps): bump google.golang.org/grpc from 1.69.0 to 1.69.2 (#21270) 2024-12-21 18:58:23 +00:00
Jas
80edbfed80 Update toolchain-guide.md (#21288) 2024-12-22 00:21:22 +05:30
Afzal Ansari
0b542baacb add project missing field to spec (#21277)
Signed-off-by: Afzal Ansari <afzal442@gmail.com>
2024-12-21 12:44:55 +02:00
Matthieu MOREL
48334cfcd5 chore: use standard errors instead of github.com/pkg/errors (#21266)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-12-21 12:36:46 +02:00
Afzal Ansari
26ebb9bb5e fixed the broken link while version upgrade/degrade (#21279)
Signed-off-by: Afzal Ansari <afzal442@gmail.com>
2024-12-20 10:09:59 -07:00
Matthieu MOREL
f245e8beb5 chore: enable err-error and strconcat of perfsprint linter (#21267)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-12-20 16:22:28 +00:00
Eadred
12a4dabd1c chore: Fix data race detection failures in application tests (#21271)
* chore: Fix race detection failures in application tests

Signed-off-by: eadred <eadred77@googlemail.com>

* Fix failing TestGetCachedAppState tests

Signed-off-by: eadred <eadred77@googlemail.com>

---------

Signed-off-by: eadred <eadred77@googlemail.com>
2024-12-20 09:59:35 -05:00
Michal Ryšavý
8841b0dd1d fix: Fix calculating SelfHealBackOff delay when exceeding maximum (#20976) (#20978)
* test: fix TestSelfHealExponentialBackoff to test exceeding Backoff.Cap

Signed-off-by: Michal Ryšavý <michal.rysavy@ext.csas.cz>

* fix: fix calculating SelfHealBackOff delay when exceeding maximum

Signed-off-by: Michal Ryšavý <michal.rysavy@ext.csas.cz>

---------

Signed-off-by: Michal Ryšavý <michal.rysavy@ext.csas.cz>
Co-authored-by: Michal Ryšavý <michal.rysavy@ext.csas.cz>
2024-12-19 16:07:10 +02:00
dependabot[bot]
6b57b16324 chore(deps): bump google.golang.org/grpc from 1.68.1 to 1.69.0 (#21163)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.68.1 to 1.69.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.68.1...v1.69.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ishita Sequeira <46771830+ishitasequeira@users.noreply.github.com>
Co-authored-by: Pasha Kostohrys <pasha.kostohrys@gmail.com>
2024-12-19 13:12:58 +02:00
George Wu
4d59154a88 Replace deprecated go-gitlab dependency with client-go. (#21175)
Signed-off-by: George Wu <gbw@users.noreply.github.com>
2024-12-19 12:03:39 +02:00
dependabot[bot]
e920e71cb5 chore(deps): bump library/redis in /test/container (#21253)
Bumps library/redis from `af0be38` to `ea96c43`.

---
updated-dependencies:
- dependency-name: library/redis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-19 11:53:47 +02:00
dependabot[bot]
d84ac3a6b2 chore(deps-dev): bump @types/mocha from 10.0.9 to 10.0.10 in /ui-test (#21251) 2024-12-19 10:12:04 +02:00
dependabot[bot]
bf2c4e866a chore(deps): bump golang.org/x/net from 0.32.0 to 0.33.0 (#21254)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.32.0 to 0.33.0.
- [Commits](https://github.com/golang/net/compare/v0.32.0...v0.33.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-19 04:29:28 +00:00
Matthieu MOREL
d7ccf47057 chore: use testify instead of testing.Fatal or testing.Error in pkg (#20761)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-12-18 22:24:49 +00:00
Shav
fdf21f7763 Add pollinate to USERS.md (#21247)
Signed-off-by: Shav <shavgath.perumal@pollinate.co.uk>
2024-12-19 00:16:46 +02:00
Michael Crenshaw
566bc2e5e8 chore(test): simplify test assertions (#21242)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-12-19 00:16:14 +02:00
Michael Crenshaw
ab07b0aed5 chore(controller): simplify sharding code (#21244)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-12-19 00:15:41 +02:00
Michael Crenshaw
34fd7296b1 chore(refactor): remove unused function/file (#21245)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-12-19 00:15:08 +02:00
Eadred
0d34340c20 fix: 21062 Support GitLab "System Hook" webhooks for ApplicationSets (#21243)
Fixes https://github.com/argoproj/argo-cd/issues/21062

Signed-off-by: eadred <eadred77@googlemail.com>
2024-12-19 00:07:18 +02:00
dependabot[bot]
5e30858705 chore(deps): bump bitnami/kubectl from 1.31 to 1.32 in /test/container (#21234)
Bumps bitnami/kubectl from 1.31 to 1.32.

---
updated-dependencies:
- dependency-name: bitnami/kubectl
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-18 23:19:52 +05:30
dependabot[bot]
e052670c0b chore(deps): bump google.golang.org/protobuf from 1.35.2 to 1.36.0 (#21211)
Bumps google.golang.org/protobuf from 1.35.2 to 1.36.0.

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-18 18:04:59 +02:00
dependabot[bot]
8ce1c33ce6 chore(deps): bump docker/setup-buildx-action from 3.7.1 to 3.8.0 (#21210)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.7.1 to 3.8.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](c47758b77c...6524bf65af)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-18 17:24:37 +02:00
Michael Crenshaw
75bbb50db3 chore(appset): use DB instead of kube client for cluster validation (#21190)
* chore(appset): use DB instead of kube client for cluster validation

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* fix tests

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* sort

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-12-18 15:11:57 +00:00
dependabot[bot]
5b482d738a chore(deps-dev): bump mocha from 10.7.3 to 11.0.1 in /ui-test (#21030)
Bumps [mocha](https://github.com/mochajs/mocha) from 10.7.3 to 11.0.1.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v10.7.3...v11.0.1)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-18 16:49:09 +02:00
dependabot[bot]
235470fb26 chore(deps-dev): bump @types/node from 22.9.3 to 22.10.2 in /ui-test (#21143)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.9.3 to 22.10.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-18 16:43:10 +02:00
dependabot[bot]
2a760e1fd1 chore(deps): bump github.com/alicebob/miniredis/v2 from 2.33.0 to 2.34.0 (#21232)
Bumps [github.com/alicebob/miniredis/v2](https://github.com/alicebob/miniredis) from 2.33.0 to 2.34.0.
- [Release notes](https://github.com/alicebob/miniredis/releases)
- [Changelog](https://github.com/alicebob/miniredis/blob/master/CHANGELOG.md)
- [Commits](https://github.com/alicebob/miniredis/compare/v2.33.0...v2.34.0)

---
updated-dependencies:
- dependency-name: github.com/alicebob/miniredis/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-18 16:34:49 +02:00
dependabot[bot]
e6b110d05b chore(deps): bump SonarSource/sonarqube-scan-action from 4.1.0 to 4.2.1 (#21230)
Bumps [SonarSource/sonarqube-scan-action](https://github.com/sonarsource/sonarqube-scan-action) from 4.1.0 to 4.2.1.
- [Release notes](https://github.com/sonarsource/sonarqube-scan-action/releases)
- [Commits](1b442ee39a...bfd4e558cd)

---
updated-dependencies:
- dependency-name: SonarSource/sonarqube-scan-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-18 16:31:12 +02:00
Alexandre Gaudreault
13b7b09668 fix(settings): race condition on settings configMap (#21225)
* fix(settings): race condition on settings configMap

Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>

* fix secret update

Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>

* simplify sync method usage

Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>

* remove unnecessary lister usage

Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>

* tests

Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>

* fix cache nil ref

Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>

---------

Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2024-12-18 09:28:50 -05:00
Nathanael Liechti
f2ee9a62d2 fix(cli): wrong variable to store --no-proxy value (#21226)
Signed-off-by: Nathanael Liechti <technat@technat.ch>
2024-12-18 15:23:47 +01:00
dependabot[bot]
d29124fd3a chore(deps): bump github.com/cyphar/filepath-securejoin (#21233)
Bumps [github.com/cyphar/filepath-securejoin](https://github.com/cyphar/filepath-securejoin) from 0.3.5 to 0.3.6.
- [Release notes](https://github.com/cyphar/filepath-securejoin/releases)
- [Changelog](https://github.com/cyphar/filepath-securejoin/blob/main/CHANGELOG.md)
- [Commits](https://github.com/cyphar/filepath-securejoin/compare/v0.3.5...v0.3.6)

---
updated-dependencies:
- dependency-name: github.com/cyphar/filepath-securejoin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-18 09:18:02 -05:00
Josh Soref
ecd0bcdd58 chore(ui): resolve ts-jest config under globals is deprecated (#20036)
Signed-off-by: Josh Soref <jsoref@gmail.com>
2024-12-18 16:17:09 +02:00
Yusuke Abe
05cde71efc docs: fix aws sso documentation (#20681)
* docs: remove redundant dot of picture

Signed-off-by: chansuke <moonset20@gmail.com>

* fix: replace the wrong picture of creating IAM Identity Center application for ArgoCD SSO

Signed-off-by: chansuke <moonset20@gmail.com>

---------

Signed-off-by: chansuke <moonset20@gmail.com>
2024-12-18 16:15:47 +02:00
Matthieu MOREL
e7d909164c chore: use testify instead of testing.Fatal or testing.Error in reposerver (#20762)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-12-18 16:12:05 +02:00
dependabot[bot]
3639bfe700 chore(deps): bump library/registry in /test/container (#20775)
Bumps library/registry from `ac0192b` to `543dade`.

---
updated-dependencies:
- dependency-name: library/registry
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-18 16:10:30 +02:00
dependabot[bot]
f1083320a4 chore(deps): bump library/redis in /test/container (#20776)
Bumps library/redis from `a06cea9` to `af0be38`.

---
updated-dependencies:
- dependency-name: library/redis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-18 16:02:49 +02:00
dependabot[bot]
d46f224e79 chore(deps): bump gitpod/workspace-full from 230285e to bec45eb (#20980)
Bumps gitpod/workspace-full from `230285e` to `bec45eb`.

---
updated-dependencies:
- dependency-name: gitpod/workspace-full
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-18 16:01:43 +02:00
Suraj yadav
1194766eba added-ACL (#21238)
Signed-off-by: Surajyadav <harrypotter1108@gmail.com>
2024-12-18 15:42:45 +02:00
Andrii Korotkov
45e488657b chore: Graceful shutdown for API Server (#18642) (#21224)
* fix: Graceful shutdown for the API server (#18642) (#20981)

* fix: Graceful shutdown for the API server (#18642)

Closes #18642

Implements a graceful shutdown the the API server. Without this, ArgoCD API server will eventually return 502 during rolling update. However, healthcheck would return 503 if the server is terminating.

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
Co-authored-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* Init server only once, but keep re-initializing listeners

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Check error for SetParamInSettingConfigMap as needed after fresh master

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Prevent a data race

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Remove unused variable, don't pass lock when not necessary

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Try overriding URL instead of additional URLs

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Use a more specific url

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

---------

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
Co-authored-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* Use a custom signal for graceful restart

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Re-run tests

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

---------

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
Co-authored-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-12-17 16:51:18 -05:00
Pasha Kostohrys
46bfc10e4d Revert "fix: Graceful shutdown for the API server (#18642) (#20981)" (#21221) 2024-12-17 18:56:00 +02:00
Michael Crenshaw
9203dd16af chore(server): simplify project validation logic (#21191)
* chore(server): simplify project validation logic

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* improve tests

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-12-17 13:01:06 +05:30
Michael Crenshaw
0de5f60cdc chore(appset): reduce dupe code w/ DB (#21192)
* chore(appset): reduce dupe code w/ DB

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* fix imports

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-12-17 12:57:37 +05:30
AvivGuiser
1a69663a70 docs: add link to sprig website in the template docs site (#21184)
* add link to sprig website in the template docs site

Signed-off-by: AvivGuiser <avivguiser@gmail.com>

* Update docs/operator-manual/notifications/templates.md

Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
Signed-off-by: AvivGuiser <avivguiser@gmail.com>

---------

Signed-off-by: AvivGuiser <avivguiser@gmail.com>
Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
2024-12-16 16:34:09 -07:00
Michael Crenshaw
433b317c35 feat: source hydrator (#20345)
* feat(hydrator): add sourceHydrator types

Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Omer Azmon <omer_azmon@intuit.com>
Co-authored-by: daengdaengLee <gunho1020@gmail.com>
Co-authored-by: Juwon Hwang (Kevin) <juwon8891@gmail.com>
Co-authored-by: thisishwan2 <feel000617@gmail.com>
Co-authored-by: mirageoasis <kimhw0820@naver.com>
Co-authored-by: Robin Lieb <robin.j.lieb@gmail.com>
Co-authored-by: miiiinju1 <gms07073@ynu.ac.kr>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

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

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

deepcopy gen

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* feat(hydrator): add commit-server component

Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Omer Azmon <omer_azmon@intuit.com>
Co-authored-by: daengdaengLee <gunho1020@gmail.com>
Co-authored-by: Juwon Hwang (Kevin) <juwon8891@gmail.com>
Co-authored-by: thisishwan2 <feel000617@gmail.com>
Co-authored-by: mirageoasis <kimhw0820@naver.com>
Co-authored-by: Robin Lieb <robin.j.lieb@gmail.com>
Co-authored-by: miiiinju1 <gms07073@ynu.ac.kr>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

go mod tidy

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

one test file for both implementations

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

simplify

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

fix test for linux

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

fix git client mock

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

fix git client mock

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

address comments

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

unit tests

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

lint

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

fix image, fix health checks, fix merge issue

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

fix lint issues

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

remove code that doesn't work for GHE

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

changes from comments

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* feat(hydrator): enable controller

Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Omer Azmon <omer_azmon@intuit.com>
Co-authored-by: daengdaengLee <gunho1020@gmail.com>
Co-authored-by: Juwon Hwang (Kevin) <juwon8891@gmail.com>
Co-authored-by: thisishwan2 <feel000617@gmail.com>
Co-authored-by: mirageoasis <kimhw0820@naver.com>
Co-authored-by: Robin Lieb <robin.j.lieb@gmail.com>
Co-authored-by: miiiinju1 <gms07073@ynu.ac.kr>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

feat(hydrator): enable controller

Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Omer Azmon <omer_azmon@intuit.com>
Co-authored-by: daengdaengLee <gunho1020@gmail.com>
Co-authored-by: Juwon Hwang (Kevin) <juwon8891@gmail.com>
Co-authored-by: thisishwan2 <feel000617@gmail.com>
Co-authored-by: mirageoasis <kimhw0820@naver.com>
Co-authored-by: Robin Lieb <robin.j.lieb@gmail.com>
Co-authored-by: miiiinju1 <gms07073@ynu.ac.kr>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

allow opt-in

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

separation between app controller and hydrator

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

simplify diff

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

todos

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

simplify

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

add dry sha to logs

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

add app name to logs

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

more logging, no caching

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

fix cluster install

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

don't interrupt an ongoing hydrate operation

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

revert hydrate loop fix

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

handle project-scoped repo creds

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

codegen

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

improve docs

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

fixes from comments

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* set hydrator enabled key when using hydrator manifests

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

fix manifests

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

improve docs

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* feat(hydrator): enable controller

Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Omer Azmon <omer_azmon@intuit.com>
Co-authored-by: daengdaengLee <gunho1020@gmail.com>
Co-authored-by: Juwon Hwang (Kevin) <juwon8891@gmail.com>
Co-authored-by: thisishwan2 <feel000617@gmail.com>
Co-authored-by: mirageoasis <kimhw0820@naver.com>
Co-authored-by: Robin Lieb <robin.j.lieb@gmail.com>
Co-authored-by: miiiinju1 <gms07073@ynu.ac.kr>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

feat(hydrator): enable controller

Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Omer Azmon <omer_azmon@intuit.com>
Co-authored-by: daengdaengLee <gunho1020@gmail.com>
Co-authored-by: Juwon Hwang (Kevin) <juwon8891@gmail.com>
Co-authored-by: thisishwan2 <feel000617@gmail.com>
Co-authored-by: mirageoasis <kimhw0820@naver.com>
Co-authored-by: Robin Lieb <robin.j.lieb@gmail.com>
Co-authored-by: miiiinju1 <gms07073@ynu.ac.kr>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

allow opt-in

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

separation between app controller and hydrator

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

simplify diff

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

todos

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

simplify

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

add dry sha to logs

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

add app name to logs

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

more logging, no caching

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

fix cluster install

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

don't interrupt an ongoing hydrate operation

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

revert hydrate loop fix

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

handle project-scoped repo creds

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

codegen

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

improve docs

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

fixes from comments

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* feat(hydrator): add sourceHydrator types

Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Omer Azmon <omer_azmon@intuit.com>
Co-authored-by: daengdaengLee <gunho1020@gmail.com>
Co-authored-by: Juwon Hwang (Kevin) <juwon8891@gmail.com>
Co-authored-by: thisishwan2 <feel000617@gmail.com>
Co-authored-by: mirageoasis <kimhw0820@naver.com>
Co-authored-by: Robin Lieb <robin.j.lieb@gmail.com>
Co-authored-by: miiiinju1 <gms07073@ynu.ac.kr>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

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

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

deepcopy gen

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* feat(hydrator): enable controller

Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Omer Azmon <omer_azmon@intuit.com>
Co-authored-by: daengdaengLee <gunho1020@gmail.com>
Co-authored-by: Juwon Hwang (Kevin) <juwon8891@gmail.com>
Co-authored-by: thisishwan2 <feel000617@gmail.com>
Co-authored-by: mirageoasis <kimhw0820@naver.com>
Co-authored-by: Robin Lieb <robin.j.lieb@gmail.com>
Co-authored-by: miiiinju1 <gms07073@ynu.ac.kr>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

feat(hydrator): enable controller

Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Omer Azmon <omer_azmon@intuit.com>
Co-authored-by: daengdaengLee <gunho1020@gmail.com>
Co-authored-by: Juwon Hwang (Kevin) <juwon8891@gmail.com>
Co-authored-by: thisishwan2 <feel000617@gmail.com>
Co-authored-by: mirageoasis <kimhw0820@naver.com>
Co-authored-by: Robin Lieb <robin.j.lieb@gmail.com>
Co-authored-by: miiiinju1 <gms07073@ynu.ac.kr>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

allow opt-in

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

separation between app controller and hydrator

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

simplify diff

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

todos

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

simplify

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

add dry sha to logs

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

add app name to logs

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

more logging, no caching

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

fix cluster install

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

don't interrupt an ongoing hydrate operation

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

revert hydrate loop fix

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

handle project-scoped repo creds

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

codegen

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* feat(hydrator): write credentials handling + UI

Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Omer Azmon <omer_azmon@intuit.com>
Co-authored-by: daengdaengLee <gunho1020@gmail.com>
Co-authored-by: Juwon Hwang (Kevin) <juwon8891@gmail.com>
Co-authored-by: thisishwan2 <feel000617@gmail.com>
Co-authored-by: mirageoasis <kimhw0820@naver.com>
Co-authored-by: Robin Lieb <robin.j.lieb@gmail.com>
Co-authored-by: miiiinju1 <gms07073@ynu.ac.kr>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

feat(hydrator): enable controller

Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Omer Azmon <omer_azmon@intuit.com>
Co-authored-by: daengdaengLee <gunho1020@gmail.com>
Co-authored-by: Juwon Hwang (Kevin) <juwon8891@gmail.com>
Co-authored-by: thisishwan2 <feel000617@gmail.com>
Co-authored-by: mirageoasis <kimhw0820@naver.com>
Co-authored-by: Robin Lieb <robin.j.lieb@gmail.com>
Co-authored-by: miiiinju1 <gms07073@ynu.ac.kr>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

allow opt-in

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

separation between app controller and hydrator

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

simplify diff

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

todos

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

simplify

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

add dry sha to logs

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

add app name to logs

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

more logging, no caching

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

fix cluster install

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

don't interrupt an ongoing hydrate operation

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

revert hydrate loop fix

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

feat(hydrator): write credentials handling + UI

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

WIP: add new APIs for write creds

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

write api and template api

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

fix time function

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

fix lint issues

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

don't enrich with read creds

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

revert tls change

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

don't disable buttons in UI

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

ask repo server for specific revision

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

fixes

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

lint ui

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

remove unnecessary change

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

fix test and lint

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

lint

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

enable hydrator for e2e tests

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* free disk space for e2e tests

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

don't free disk space

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* free disk space for e2e tests

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* remove comment that breaks auth

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* try removing extra function

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* cleanup from comments

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* fix test

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-12-16 16:59:09 -05:00
Mykola Pelekh
dc3f40c31e fix: avoid resources lock contention (#8172) (#20329)
* fix: avoid resources lock contention

Signed-off-by: Mykola Pelekh <mpelekh@demonware.net>

* feat: allow enabling batch events processing

Signed-off-by: Mykola Pelekh <mpelekh@demonware.net>

* fix: update ParseDurationFromEnv to handle duration in ms

Signed-off-by: Mykola Pelekh <mpelekh@demonware.net>

* feat: make eventProcessingInterval option configurable (default is 0.1s)

Signed-off-by: Mykola Pelekh <mpelekh@demonware.net>

* use upstream gitops-engine

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Mykola Pelekh <mpelekh@demonware.net>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-12-16 12:18:11 -05:00
Suraj yadav
c090f849b0 pruned-icon-changed-to-trash (#21088)
Signed-off-by: Surajyadav <harrypotter1108@gmail.com>
2024-12-16 16:59:31 +05:30
Suraj yadav
a94a07ecd6 feat(ui): Added title label for filters (#21149)
* added-filter-title

Signed-off-by: Surajyadav <harrypotter1108@gmail.com>

* text-color

Signed-off-by: Surajyadav <harrypotter1108@gmail.com>

---------

Signed-off-by: Surajyadav <harrypotter1108@gmail.com>
2024-12-16 16:55:43 +05:30
dependabot[bot]
065700c5e1 chore(deps): bump nanoid from 3.3.7 to 3.3.8 in /ui (#21131)
Bumps [nanoid](https://github.com/ai/nanoid) from 3.3.7 to 3.3.8.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/3.3.7...3.3.8)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-16 15:44:49 +05:30
dependabot[bot]
8d4ae26686 chore(deps): bump library/busybox in /test/e2e/multiarch-container (#21145)
Bumps library/busybox from `768e5c6` to `2919d01`.

---
updated-dependencies:
- dependency-name: library/busybox
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-16 15:44:15 +05:30
GuySaar8
8a9de6a8d3 fix(ui): ArgoCD history tab shows latest values in all recent releases (#13006) (#21161)
* fix(ISSUE-13006): ArgoCD history tab shows latest values in all recent releases

Signed-off-by: Guy Saar <guysaar8@gmail.com>

* chore: added org to USER.md

Signed-off-by: Guy Saar <guysaar8@gmail.com>

chore: added org to USER.md

Signed-off-by: Guy Saar <guysaar8@gmail.com>

* chore: update USER.md based on PR review

Signed-off-by: Guy Saar <guysaar8@gmail.com>

chore: added newline to USER.md

Signed-off-by: Guy Saar <guysaar8@gmail.com>

---------

Signed-off-by: Guy Saar <guysaar8@gmail.com>
2024-12-16 15:43:34 +05:30
Yusuke Abe
4d17bf3d8b docs: update sync-wave documentation (#21155)
Signed-off-by: chansuke <moonset20@gmail.com>
2024-12-16 15:41:38 +05:30
dependabot[bot]
75b0b3c8ee chore(deps): bump go.opentelemetry.io/otel/sdk from 1.32.0 to 1.33.0 (#21165)
Bumps [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go) from 1.32.0 to 1.33.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.32.0...v1.33.0)

---
updated-dependencies:
- dependency-name: go.opentelemetry.io/otel/sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-16 15:37:55 +05:30
OpenGuidou
bce16e9daf fix(appset): Fix appset generate in --core mode for cluster gen (#21170)
Signed-off-by: OpenGuidou <guillaume.doussin@gmail.com>
2024-12-16 14:52:44 +05:30
Michael Crenshaw
e878ad5f31 chore: remove unused defaults from image workflow (#21183)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-12-16 14:51:00 +05:30
dependabot[bot]
19eaeb9aca chore(deps): bump github.com/Azure/kubelogin from 0.1.5 to 0.1.6 (#21193)
Bumps [github.com/Azure/kubelogin](https://github.com/Azure/kubelogin) from 0.1.5 to 0.1.6.
- [Release notes](https://github.com/Azure/kubelogin/releases)
- [Changelog](https://github.com/Azure/kubelogin/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Azure/kubelogin/compare/v0.1.5...v0.1.6)

---
updated-dependencies:
- dependency-name: github.com/Azure/kubelogin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-16 14:50:09 +05:30
Michael Crenshaw
5cdb1a0a15 chore: use new fake k8s client constructor (#21186)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-12-16 14:49:30 +05:30
Michael Crenshaw
4471603de2 fix(api): send to closed channel in mergeLogStreams (#7006) (#21178)
* fix(api): send to closed channel in mergeLogStreams (#7006)

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* more intense test

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* even more intense

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* remove unnecessary comment

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* fix the race condition

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-12-15 19:44:34 -05:00
Clint Chester
99efafb55a feat: Confluent Connector Resource Health Checker - #17695 (#17697)
* Adding Synergy as a ArgoCD user

Signed-off-by: GitHub <noreply@github.com>

* Health checking Kafka Connector resources

Signed-off-by: Clint Chester <clint.chester@synergy.net.au>

* Includes Kafka Connect Task Failures

Signed-off-by: Clint Chester <clint.chester@synergy.net.au>

---------

Signed-off-by: GitHub <noreply@github.com>
Signed-off-by: Clint Chester <clint.chester@synergy.net.au>
2024-12-15 15:58:30 -05:00
1102
fdf539dc6a feat: add health check for ClusterResourceSet (#20746)
Signed-off-by: nueavv <nuguni@kakao.com>
2024-12-15 15:56:34 -05:00
github-actions[bot]
22fe65b4eb [Bot] docs: Update Snyk reports (#21180)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2024-12-15 20:49:57 +00:00
Michael Crenshaw
b60d28c71a docs(proposal): manifest hydrator (#17755)
* docs(proposal): manifest hydrator

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* whitespace

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* whitespace

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* remove old references to drySources as an array

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* rename fields

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* opinions

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* document limitations

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* updates

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* updates

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* multi-source is nondeterministic

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* Update docs/proposals/manifest-hydrator/commit-server/README.md

Co-authored-by: joe miller <joeym@joeym.net>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: joe miller <joeym@joeym.net>
2024-12-15 15:45:10 -05:00
adriananeci
030a7be7e2 fix: Populate destination name when destination server is specified (#21063)
* Populate destination name when destination server is specified

Signed-off-by: Adrian Aneci <aneci@adobe.com>

* Lint nit

Signed-off-by: Adrian Aneci <aneci@adobe.com>

* Trigger CI

Signed-off-by: Adrian Aneci <aneci@adobe.com>

---------

Signed-off-by: Adrian Aneci <aneci@adobe.com>
2024-12-14 10:40:48 +05:30
Dan Garfield
8dbddb101a Update golang test image to use 1.23.4 multiarch (#21174)
Seems to be an issue with the current sha but this one is working.

Signed-off-by: Dan Garfield <dan@codefresh.io>
2024-12-13 15:10:52 -05:00
Michael Crenshaw
72c711e7f0 chore: simplify sync status comparison (#21140)
* chore: simplify sync status comparison

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* add tests

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* more tests, some docs

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-12-13 17:52:21 +00:00
dependabot[bot]
be080a5319 chore(deps): bump actions/setup-go from 5.1.0 to 5.2.0 (#21123)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 5.1.0 to 5.2.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](41dfa10bad...3041bf56c9)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-13 15:28:16 +05:30
dependabot[bot]
4b229c0484 chore(deps): bump go.opentelemetry.io/otel from 1.32.0 to 1.33.0 (#21166)
Bumps [go.opentelemetry.io/otel](https://github.com/open-telemetry/opentelemetry-go) from 1.32.0 to 1.33.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.32.0...v1.33.0)

---
updated-dependencies:
- dependency-name: go.opentelemetry.io/otel
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-13 15:26:04 +05:30
dependabot[bot]
87c853e872 chore(deps): bump chromedriver from 131.0.2 to 131.0.3 in /ui-test (#21144)
Bumps [chromedriver](https://github.com/giggio/node-chromedriver) from 131.0.2 to 131.0.3.
- [Commits](https://github.com/giggio/node-chromedriver/compare/131.0.2...131.0.3)

---
updated-dependencies:
- dependency-name: chromedriver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-12 11:35:38 +05:30
dependabot[bot]
cc68f018fe chore(deps): bump golang.org/x/crypto from 0.30.0 to 0.31.0 (#21147)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.30.0 to 0.31.0.
- [Commits](https://github.com/golang/crypto/compare/v0.30.0...v0.31.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-12 11:34:58 +05:30
Andrii Korotkov
d9be098d9c fix: Fix server side diff with fields removal (#20792) (#20842)
* fix: Fix server side diff with fields removal (#20792)

Fixes #20792

Use a new version of gitops engine with a fix.

This needs to be cherry-picked in v2.11-2.13.

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Use newer versions of gitops-engine and structured-merge-diff

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

---------

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2024-12-11 21:08:30 +00:00
Minchao
6897c2e33f fix: incorrect expr for server stats in Grafana dashboard.json (#21098)
Signed-off-by: Minchao <minchao.220@gmail.com>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2024-12-11 15:50:17 +00:00
dependabot[bot]
6a3cdb6ea5 chore(deps): bump softprops/action-gh-release from 2.1.0 to 2.2.0 (#21124)
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](01570a1f39...7b4da11513)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-11 16:07:55 +05:30
Michael Crenshaw
deb4d2b01e chore: avoid unnecessary alloc (#21121)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-12-11 15:59:37 +05:30
Henry Liu
a78b6287b1 fix(ui): fix select destination cluster type in create app (#20970)
Signed-off-by: henry.liu <henry.liu@daocloud.io>
2024-12-11 15:58:10 +05:30
thecooldrop
bd322fe451 chore: Improve the documentation regarding the selection of Application by Sync Windows (#21093)
Signed-off-by: TheCoolDrop <vanio.begic123@gmail.com>
2024-12-11 15:26:51 +05:30
Grégoire Bellon-Gervais
f2e4739178 docs: Add keycloak PKCE and argo-cd cli method documentation (#20698)
* Add keycloak PKCE and argo-cd cli method

Signed-off-by: Grégoire Bellon-Gervais <gregoire.bellon-gervais@docaposte.fr>

* add company

Signed-off-by: Grégoire Bellon-Gervais <gregoire.bellon-gervais@docaposte.fr>

* Oups

Signed-off-by: Grégoire Bellon-Gervais <gregoire.bellon-gervais@docaposte.fr>

* Docaposte in a separated pr

Signed-off-by: Grégoire Bellon-Gervais <gregoire.bellon-gervais@docaposte.fr>

* Fix typo and improve doc

Signed-off-by: Grégoire Bellon-Gervais <gregoire.bellon-gervais@docaposte.fr>

* A good idea :)

Signed-off-by: Grégoire Bellon-Gervais <gregoire.bellon-gervais@docaposte.fr>

---------

Signed-off-by: Grégoire Bellon-Gervais <gregoire.bellon-gervais@docaposte.fr>
2024-12-11 15:18:44 +05:30
Blake Pettersson
2fe9a220dd fix: add missing fields in listrepositories (#20991)
This fixes a regression in 2.12. Before 2.12 githubAppInstallationID,
`githubAppID` and `gitHubAppEnterpriseBaseURL` were returned, but with
2.12 the repo is retrieved with getRepositories`, which does not
include those fields.

To fix this, add those missing fields to `ListRepositories`.

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2024-12-11 15:17:44 +05:30
niv8
2f51067e75 psmdb.percona.com/PerconaServerMongoDB resource customization (#20628)
Signed-off-by: Niv Amitai <niv@connecteam.com>
2024-12-10 16:14:43 +05:30
Andrii Korotkov
9741c065d8 feat: Sync timeouts for applications (#6055) (#20816)
* feat: Sync timeouts for applications (#6055)

Helps with #6055

Introduces a controller-level configuration for terminating sync after timeout.

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Fix env variable name

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

---------

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2024-12-10 13:59:04 +05:30
Pasha Kostohrys
90a148987d chore: reduce default max payload size in webhooks to 50MB (#21101)
* chore: reduce default max payload size in webhooks to 50MB

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* chore: reduce default max payload size in webhooks to 50MB

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* chore: reduce default max payload size in webhooks to 50MB

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* chore: reduce default max payload size in webhooks to 50MB

Signed-off-by: pashakostohrys <pavel@codefresh.io>

---------

Signed-off-by: pashakostohrys <pavel@codefresh.io>
2024-12-10 13:08:18 +05:30
rumstead
dfbfdbab11 feat(appset): reduce cluster secret logging (#21109)
* feat(appset): reduce cluster secret logging

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* feat(appset): reduce cluster secret logging

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* feat(appset): reduce cluster secret logging

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* e2e

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

---------

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
2024-12-09 16:19:35 -05:00
github-actions[bot]
eadc2a47dc [Bot] docs: Update Snyk reports (#21090)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2024-12-09 19:00:23 +00:00
Amine Benseddik
eb1bb831d4 docs: Fix argocd admin proj docs and examples (#21057)
Signed-off-by: Amine Benseddik <amine.benseddik@gmail.com>
2024-12-09 13:55:23 -05:00
dependabot[bot]
1bf56d8905 chore(deps): bump tj-actions/changed-files from 45.0.4 to 45.0.5 (#21095)
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 45.0.4 to 45.0.5.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](4edd678ac3...bab30c2299)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-09 13:53:48 -05:00
dependabot[bot]
ed2fde1a8f chore(deps): bump github.com/cyphar/filepath-securejoin (#21096)
Bumps [github.com/cyphar/filepath-securejoin](https://github.com/cyphar/filepath-securejoin) from 0.3.4 to 0.3.5.
- [Release notes](https://github.com/cyphar/filepath-securejoin/releases)
- [Changelog](https://github.com/cyphar/filepath-securejoin/blob/main/CHANGELOG.md)
- [Commits](https://github.com/cyphar/filepath-securejoin/compare/v0.3.4...v0.3.5)

---
updated-dependencies:
- dependency-name: github.com/cyphar/filepath-securejoin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-09 13:53:20 -05:00
Joowon Lim
35c12d9486 chore: use %q to simplify fmt.Sprintf (#21108)
Signed-off-by: Joowon Lim <m4rinesnow34@gmail.com>
2024-12-09 13:52:32 -05:00
dependabot[bot]
96d0226a49 chore(deps): bump actions/cache from 4.1.2 to 4.2.0 (#21084)
Bumps [actions/cache](https://github.com/actions/cache) from 4.1.2 to 4.2.0.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](6849a64899...1bd1e32a3b)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-06 10:48:36 -05:00
Manuel Kieweg
8f0d3d0f6a feat: Timestamp for Health Status (#16972) (#18660)
* add lastTransitionTime to health status

Signed-off-by: Manuel Kieweg <mail@manuelkieweg.de>

* address first feedback

Signed-off-by: Manuel Kieweg <mail@manuelkieweg.de>

* set transition time if health status is unknown

Signed-off-by: Manuel Kieweg <mail@manuelkieweg.de>

* extend health improvement tests

Signed-off-by: Manuel Kieweg <mail@manuelkieweg.de>

* add apoplication controller test

Signed-off-by: Manuel Kieweg <mail@manuelkieweg.de>

* use require for NoError

Signed-off-by: Manuel Kieweg <mail@manuelkieweg.de>

* more extensive tests for health state changes

Signed-off-by: Manuel Kieweg <mail@manuelkieweg.de>

* Apply suggestions from code review

Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
Signed-off-by: Manuel Kieweg <2939765+mkieweg@users.noreply.github.com>

* Code review suggestions

Signed-off-by: Manuel Kieweg <mail@manuelkieweg.de>

* remove obsolete assert

Signed-off-by: Manuel Kieweg <mail@manuelkieweg.de>

* Change LastTransitionTime field to pointer type

Due to implementation limitations, setting LastTransitionTime at the resource level is challenging.
Converting it to a pointer type allows it to be skipped at the resource level and prevents it from appearing
in .status.resources of the Application CR. Additionally, it doesn’t provide much value or have a known
use case right now.

Signed-off-by: Siddhesh Ghadi <sghadi1203@gmail.com>

* Resolve rebase conflicts

Signed-off-by: Siddhesh Ghadi <sghadi1203@gmail.com>

* Address review comment

Signed-off-by: Siddhesh Ghadi <sghadi1203@gmail.com>

* Trigger CI

Signed-off-by: Siddhesh Ghadi <sghadi1203@gmail.com>

---------

Signed-off-by: Manuel Kieweg <mail@manuelkieweg.de>
Signed-off-by: Manuel Kieweg <2939765+mkieweg@users.noreply.github.com>
Signed-off-by: Siddhesh Ghadi <sghadi1203@gmail.com>
Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
Co-authored-by: Siddhesh Ghadi <sghadi1203@gmail.com>
2024-12-06 17:43:36 +05:30
JM (Jason Meridth)
4f6e4088ef chore(deps): bump gitops-engine to latest (#21056)
Related to https://github.com/argoproj/gitops-engine/pull/638

Signed-off-by: jmeridth <jmeridth@gmail.com>
2024-12-05 15:03:29 -05:00
Matt Finkel
71658c8897 chore: add ziprecruiter to users (#21076)
Signed-off-by: Matt Finkel <finkel.matt@gmail.com>
2024-12-05 10:05:55 -07:00
Ishita Sequeira
fa9023a006 fix: 20791 - sync multi-source application out of order source syncs (#21071)
Signed-off-by: Ishita Sequeira <ishiseq29@gmail.com>
2024-12-05 09:35:05 -07:00
dependabot[bot]
cdec7e2868 chore(deps): bump golang.org/x/net from 0.31.0 to 0.32.0 (#21069)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.31.0 to 0.32.0.
- [Commits](https://github.com/golang/net/compare/v0.31.0...v0.32.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-05 09:16:09 +00:00
dependabot[bot]
9f71ecbf5f chore(deps): bump google.golang.org/grpc from 1.67.1 to 1.68.1 (#21066)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.67.1 to 1.68.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.67.1...v1.68.1)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-05 14:00:40 +05:30
dependabot[bot]
6ace657e2a chore(deps): bump golang.org/x/crypto from 0.29.0 to 0.30.0 (#21068)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.29.0 to 0.30.0.
- [Commits](https://github.com/golang/crypto/compare/v0.29.0...v0.30.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-05 13:59:53 +05:30
dependabot[bot]
0a57d21c3d chore(deps): bump library/golang in /test/container (#21048)
Bumps library/golang from 1.23.3 to 1.23.4.

---
updated-dependencies:
- dependency-name: library/golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-05 13:08:16 +05:30
dependabot[bot]
955858eaad chore(deps): bump library/golang from 1.23.3 to 1.23.4 in /test/remote (#21049)
Bumps library/golang from 1.23.3 to 1.23.4.

---
updated-dependencies:
- dependency-name: library/golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-05 13:07:58 +05:30
dependabot[bot]
e28aa2eb54 chore(deps): bump chromedriver from 131.0.1 to 131.0.2 in /ui-test (#21050)
Bumps [chromedriver](https://github.com/giggio/node-chromedriver) from 131.0.1 to 131.0.2.
- [Commits](https://github.com/giggio/node-chromedriver/compare/131.0.1...131.0.2)

---
updated-dependencies:
- dependency-name: chromedriver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-05 13:03:38 +05:30
dependabot[bot]
89f222b6a2 chore(deps-dev): bump dotenv from 16.4.6 to 16.4.7 in /ui-test (#21051)
Bumps [dotenv](https://github.com/motdotla/dotenv) from 16.4.6 to 16.4.7.
- [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md)
- [Commits](https://github.com/motdotla/dotenv/compare/v16.4.6...v16.4.7)

---
updated-dependencies:
- dependency-name: dotenv
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-05 13:02:52 +05:30
dependabot[bot]
0fbbc0dda9 chore(deps): bump golang.org/x/term from 0.26.0 to 0.27.0 (#21070)
Bumps [golang.org/x/term](https://github.com/golang/term) from 0.26.0 to 0.27.0.
- [Commits](https://github.com/golang/term/compare/v0.26.0...v0.27.0)

---
updated-dependencies:
- dependency-name: golang.org/x/term
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-05 13:00:10 +05:30
Keith Chong
522d07a8d8 fix: UI: Nothing happens selecting cluster URL/Name dropdown (#13655) (#21028)
Signed-off-by: Keith Chong <kykchong@redhat.com>
2024-12-04 13:15:50 +05:30
Andrii Korotkov
730363f14b fix: Graceful shutdown for the API server (#18642) (#20981)
* fix: Graceful shutdown for the API server (#18642)

Closes #18642

Implements a graceful shutdown the the API server. Without this, ArgoCD API server will eventually return 502 during rolling update. However, healthcheck would return 503 if the server is terminating.

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
Co-authored-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* Init server only once, but keep re-initializing listeners

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Check error for SetParamInSettingConfigMap as needed after fresh master

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Prevent a data race

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Remove unused variable, don't pass lock when not necessary

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Try overriding URL instead of additional URLs

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Use a more specific url

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

---------

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
Co-authored-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-12-03 15:32:26 -05:00
dependabot[bot]
523b0e6a78 chore(deps): bump SonarSource/sonarqube-scan-action from 3.1.0 to 4.1.0 (#21034)
* chore(deps): bump SonarSource/sonarqube-scan-action from 3.1.0 to 4.1.0

Bumps [SonarSource/sonarqube-scan-action](https://github.com/sonarsource/sonarqube-scan-action) from 3.1.0 to 4.1.0.
- [Release notes](https://github.com/sonarsource/sonarqube-scan-action/releases)
- [Commits](13990a6956...1b442ee39a)

---
updated-dependencies:
- dependency-name: SonarSource/sonarqube-scan-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Apply suggestions from code review

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-12-03 17:15:55 +00:00
Andrii Korotkov
975786629f chore: Add support for AdditionalURLs field in server settings query (#21045)
Helps with #18642

Needed for consistency and for future testing in another PR.

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2024-12-03 16:20:01 +00:00
dependabot[bot]
52dbe514e0 chore(deps-dev): bump dotenv from 16.4.5 to 16.4.6 in /ui-test (#21031)
Bumps [dotenv](https://github.com/motdotla/dotenv) from 16.4.5 to 16.4.6.
- [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md)
- [Commits](https://github.com/motdotla/dotenv/compare/v16.4.5...v16.4.6)

---
updated-dependencies:
- dependency-name: dotenv
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-03 19:44:50 +05:30
dependabot[bot]
51a7966b92 chore(deps): bump sigs.k8s.io/controller-runtime from 0.19.2 to 0.19.3 (#21032)
Bumps [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) from 0.19.2 to 0.19.3.
- [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/main/RELEASE.md)
- [Commits](https://github.com/kubernetes-sigs/controller-runtime/compare/v0.19.2...v0.19.3)

---
updated-dependencies:
- dependency-name: sigs.k8s.io/controller-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-03 19:44:25 +05:30
dudinea
0d7f1f7053 chore: fix tests failing with Kustomize based errors (#21037)
Signed-off-by: Eugene Doudine <eugene.d@trekflow.com>
2024-12-03 12:04:25 +02:00
Andrii Korotkov
b8e118ff7d fix: Bitbucket Cloud PR Author is processed correctly (#20769) (#20990)
Fixes #20769

Author there is a struct, not a string. Use nickname from that struct as an author name.

Let's cherry pick to 2.11-2.13

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2024-12-03 14:22:22 +05:30
dependabot[bot]
aef4c5a276 chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc (#20741)
Bumps [go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc](https://github.com/open-telemetry/opentelemetry-go) from 1.31.0 to 1.32.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.31.0...v1.32.0)

---
updated-dependencies:
- dependency-name: go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-03 06:54:12 +00:00
dependabot[bot]
79b05d62c3 chore(deps): bump softprops/action-gh-release from 2.0.9 to 2.1.0 (#20760)
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 2.0.9 to 2.1.0.
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](e7a8f85e1c...01570a1f39)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-03 11:47:30 +05:30
dependabot[bot]
d6deaa96e1 chore(deps): bump selenium-webdriver from 4.26.0 to 4.27.0 in /ui-test (#20953)
Bumps [selenium-webdriver](https://github.com/SeleniumHQ/selenium) from 4.26.0 to 4.27.0.
- [Release notes](https://github.com/SeleniumHQ/selenium/releases)
- [Commits](https://github.com/SeleniumHQ/selenium/compare/selenium-4.26.0...selenium-4.27.0)

---
updated-dependencies:
- dependency-name: selenium-webdriver
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-03 11:45:33 +05:30
dependabot[bot]
dd2b458c43 chore(deps): bump github.com/Azure/kubelogin from 0.1.4 to 0.1.5 (#21033)
Bumps [github.com/Azure/kubelogin](https://github.com/Azure/kubelogin) from 0.1.4 to 0.1.5.
- [Release notes](https://github.com/Azure/kubelogin/releases)
- [Changelog](https://github.com/Azure/kubelogin/blob/main/CHANGELOG.md)
- [Commits](https://github.com/Azure/kubelogin/compare/v0.1.4...v0.1.5)

---
updated-dependencies:
- dependency-name: github.com/Azure/kubelogin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-03 11:44:55 +05:30
dmosesson
9b481b1907 feat: Adding skipSchemaValidation flag (#20771) (#20831)
* Adding skipSchemaValidation flag

Signed-off-by: Daniel Mosesson (soandos) <danielmosesson@gmail.com>

* Adding specific test for skip schema validation

Signed-off-by: Daniel Mosesson (soandos) <danielmosesson@gmail.com>

* Fix merge conflict

Signed-off-by: Daniel Mosesson (soandos) <danielmosesson@gmail.com>

* Fixing index.yaml to support helm 3.16

Signed-off-by: Daniel Mosesson (soandos) <danielmosesson@gmail.com>

---------

Signed-off-by: Daniel Mosesson (soandos) <danielmosesson@gmail.com>
Co-authored-by: Daniel Mosesson (soandos) <danielmosesson@gmail.com>
2024-12-03 11:43:42 +05:30
Jonathan West
9587ec9c92 chore: Fix to intermittent E2E test failures in deployment_test.go (#20974)
Signed-off-by: Jonathan West <jonwest@redhat.com>
2024-12-03 11:41:34 +05:30
Alexandre Gaudreault
205b3d38c7 docs(ingress): use GRPC instead of HTTP2 (#21029)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2024-12-03 02:07:53 +00:00
Andrii Korotkov
bd5d76f254 chore: Parallelize EnsureCleanState for e2e tests, adding timing information (#20998)
* chore: Parallelize EnsureCleanState for e2e tests, adding timing information

Closes #20968
Closes #20967

A number of cleanup and create steps can be done in parallel, reducing the total runtime. Gather timing information as well and log it.

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Add underscores to function map keys

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Have separate log statements for timing fields, since everything doesn't fit in Github logs and gets truncated

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Re-run tests

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Fix duplicate removal attempts, cleanup things in namespaces before removing namespaces

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Combine config map cleanups, since they seem to have some kind of locking based on timings

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Re-order some cleanups to not wait if something is already covered by no wait commands

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Move rm temp dir to be together with re-creation, since otherwise repo server watcher seems to fail

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Only update config maps and login as admin if there were any changes

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Also check for user being logged in

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Improve config maps equivalency check

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Remove timing information

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Improve loops with sleep

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Properly propagate and handle errors for parallel functions

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Add missing CheckError

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Fix import

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Fix imports linter error (try 2)

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Parallelize EnsureCleanState for application sets

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Fix errors.IsNotFound

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Use errgroup to run functions in parallel

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Remove name keys for functions as unused

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Use apierr directly

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

---------

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2024-12-02 23:26:46 +00:00
Andrii Korotkov
5fc306ed3a chore: Remove or reduce sleep in e2e tests (#21010)
Closes #21009

Some sleeps may no longer be necessary or be too long. Try removing or reducing duration.

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-12-02 10:03:40 -05:00
dependabot[bot]
c06974f213 chore(deps): bump github.com/itchyny/gojq from 0.12.16 to 0.12.17 (#21018)
Bumps [github.com/itchyny/gojq](https://github.com/itchyny/gojq) from 0.12.16 to 0.12.17.
- [Release notes](https://github.com/itchyny/gojq/releases)
- [Changelog](https://github.com/itchyny/gojq/blob/main/CHANGELOG.md)
- [Commits](https://github.com/itchyny/gojq/compare/v0.12.16...v0.12.17)

---
updated-dependencies:
- dependency-name: github.com/itchyny/gojq
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-02 09:53:33 -05:00
Andrii Korotkov
155514e8ca fix: Allow to delete repos with invalid urls (#20921) (#20975)
* fix: Allow to delete repos with invalid urls (#20921)

Fixes #20921

Normalization of repo url is attempted during repo deletion before comparison with existing repos. Before this change, it'd fail on invalid urls and return "", resulting in permission denied. This ended up in a state where people can add repos with invalid urls but couldn't delete them. Return raw repo url if url parsing failed. Add a test to validate the deletion can be performed and make sure it fails without the main change.

This needs to be cherry-picked to v2.11-2.13

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Don't modify the original NormalizeGitURL

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

---------

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2024-12-02 14:00:35 +02:00
Anthony Goddard
f4d1e0f9f6 clarify usage of ref for multiple sources doc (#21011)
Signed-off-by: Anthony Goddard <anthony@anthonygoddard.com>
2024-12-02 10:32:58 +01:00
dependabot[bot]
2d0a5e904a chore(deps): bump github.com/casbin/casbin/v2 from 2.101.0 to 2.102.0 (#21019)
Bumps [github.com/casbin/casbin/v2](https://github.com/casbin/casbin) from 2.101.0 to 2.102.0.
- [Release notes](https://github.com/casbin/casbin/releases)
- [Changelog](https://github.com/casbin/casbin/blob/master/.releaserc.json)
- [Commits](https://github.com/casbin/casbin/compare/v2.101.0...v2.102.0)

---
updated-dependencies:
- dependency-name: github.com/casbin/casbin/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-02 10:01:06 +02:00
jingkai.
91360648d3 docs: remove outdated ciphers (#21006)
Signed-off-by: jingkai. <contact@jingk.ai>
2024-11-30 21:30:45 +01:00
Cornelius Roemer
b4b6307cd2 doc: fix grammar (#21004)
Signed-off-by: Cornelius Roemer <cornelius.roemer@gmail.com>
2024-11-30 13:41:50 -05:00
Andrii Korotkov
8320f88fa2 chore: Remove sleep from when/then in e2e tests (#21008)
These sleeps might be unnecessary, remove them and check the e2e tests.

Closes #21007

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2024-11-30 13:20:46 -05:00
dependabot[bot]
02d6866f8a chore(deps): bump docker/build-push-action from 6.9.0 to 6.10.0 (#20966)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.9.0 to 6.10.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](4f58ea7922...48aba3b46d)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-28 14:25:33 -05:00
Andrii Korotkov
19bdbcaddb chore: Optimize e2e tests by improving EnsureCleanState (#20942)
Closes #20941

Batch some kubectl operations, create gpg using APIs instead of CLI.

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2024-11-28 14:24:59 -05:00
Andrii Korotkov
97701f353a chore: Optimize e2e tests by removing redundant ensure clean state + some refactoring (#20939)
Closes #20938

There's no need to do multiple ensure clean state in tests, which `Given` does, so using `GivenWithSameState` in places not using it already. There were only a few, so I don't expect a big win, but it may help with test consistency as well.
Also, refactor to use `Given` and `GivenWithSameState` for repo fixture instead of `Given(t, <bool>)`.

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2024-11-28 14:24:36 -05:00
Thomas Decaux
e31aebe14c fix(ui): update ui e2e tests (#14619)
Signed-off-by: ebuildy <tdecaux@petalmd.com>
2024-11-28 12:52:20 -05:00
Erik Sjölund
fc6105b2bd docs: Fix post selector example (#20969)
Signed-off-by: Erik Sjölund <erik.sjolund@gmail.com>
2024-11-27 01:10:54 -10:00
Atif Ali
36d189c133 feat(ui): Support filter for configured and unchanged on SYNC STATUS view (#20850) 2024-11-27 09:53:10 +05:30
dependabot[bot]
9a14d7f5dd chore(deps): bump thehanimo/pr-title-checker from 1.4.2 to 1.4.3 (#20951)
Bumps [thehanimo/pr-title-checker](https://github.com/thehanimo/pr-title-checker) from 1.4.2 to 1.4.3.
- [Release notes](https://github.com/thehanimo/pr-title-checker/releases)
- [Commits](1d8cd483a2...7fbfe05602)

---
updated-dependencies:
- dependency-name: thehanimo/pr-title-checker
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-26 13:45:05 -05:00
Alexander Matyushentsev
7f6340f653 fix: API server should not attempt to read secrets in all namespaces (#20950)
* fix: api server is trying to list cluster wide secrets while generating apps

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>

* Revert "fix: Fix argocd appset generate failure due to missing clusterrole (#20162)"

This reverts commit fad534bcfe.

---------

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2024-11-26 10:53:28 +05:30
renovate[bot]
98688e0686 chore(deps): update module github.com/golangci/golangci-lint to v1.62.2 (#20947)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-25 15:53:46 +00:00
dependabot[bot]
8bce61e330 chore(deps): bump github.com/stretchr/testify from 1.9.0 to 1.10.0 (#20930)
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-25 10:14:18 -05:00
Andrii Korotkov
4d306f1139 chore: Reduse e2e tests runtime by using better sleep intervals in Expect (#20926)
Closes #20923

Right now the condition is checked immediately and then only after 3 seconds and so on. But sometimes the need for a wait may be much smaller than 3 seconds. So, try using smaller intervals with exponential increase up to 3 seconds instead.

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2024-11-25 09:41:51 -05:00
Tomas Dabašinskas
b546ea7b13 docs(applicationset): complete sentence about Application deletion (#20944)
Fixed an incomplete sentence in the Application Deletion documentation that describes what happens to Application resources when an ApplicationSet is deleted.

Signed-off-by: Tomas Dabašinskas <tomas@dabasinskas.net>
2024-11-25 03:09:10 -10:00
Andrii Korotkov
9009e57c32 chore: Graceful handling of panic in application set controller reconcile (#20935) (#20940)
Closes #20935

Recover from panic if it happens, similar to how application controller does it.

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2024-11-25 07:36:37 -05:00
Andrii Korotkov
2d9d2fd4e8 docs: Update FAQ about known types (#6008) (#20929)
Closes #6008

Make more emphasis on the issue users may be searching for, update wording slightly and another example.

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2024-11-25 00:04:32 -10:00
Shaw Ho
faa10098ba Add Alauda to USERS (#20936)
Signed-off-by: Shaw Ho <tossmilestone@gmail.com>
2024-11-24 23:57:48 -10:00
dependabot[bot]
e8d52650b1 chore(deps-dev): bump typescript from 5.6.3 to 5.7.2 in /ui-test (#20931)
Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.6.3 to 5.7.2.
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.6.3...v5.7.2)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-25 11:50:48 +05:30
dependabot[bot]
c92efcf130 chore(deps-dev): bump @types/node from 22.8.7 to 22.9.3 in /ui-test (#20932)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.8.7 to 22.9.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-25 11:49:51 +05:30
Michael Crenshaw
62a84d5747 chore: rename Rollout 'Restart' action to 'Restart Pods' (#20841)
* chore: rename Rollout 'Restart' action to 'Restart Pods'

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* fix tests

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-11-25 09:55:03 +05:30
Michael Crenshaw
6a09102389 chore: log panics in JSON (#20924) (#20925)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-11-24 20:05:39 -05:00
github-actions[bot]
8024407a13 [Bot] docs: Update Snyk reports (#20919)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2024-11-24 20:11:04 +00:00
Suraj yadav
1120a08653 feat(ui): Added timing info to container state UI (#20920)
Signed-off-by: Surajyadav <harrypotter1108@gmail.com>
2024-11-24 15:08:19 -05:00
Revital Barletz
a849d41b6f docs: Proposal to add installation steps for local development using Kind (#20821)
* Update getting_started.md

Adding some steps for running Argo CD locally using Kind. 

Signed-off-by: Revital Barletz <revitalbarletz@gmail.com>

* Moved instructions to a different file

Signed-off-by: Revital Barletz <revitalbarletz@gmail.com>

* Update getting_started.md

Moved the instructions to a different file.

Signed-off-by: Revital Barletz <revitalbarletz@gmail.com>

* Update try_argo_cd_locally.md

Signed-off-by: Revital Barletz <revitalbarletz@gmail.com>

* Update try_argo_cd_locally.md

Signed-off-by: Revital Barletz <revitalbarletz@gmail.com>

* Update docs/try_argo_cd_locally.md

Signed-off-by: Dan Garfield <dan@codefresh.io>

* Update try_argo_cd_locally.md

Signed-off-by: Revital Barletz <revitalbarletz@gmail.com>

---------

Signed-off-by: Revital Barletz <revitalbarletz@gmail.com>
Signed-off-by: Dan Garfield <dan@codefresh.io>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2024-11-24 08:51:09 -07:00
Nicholas Morey
ff08643186 docs(resource_actions): specify when mergeBuiltinActions was introduced (#20917)
The feature was made available in 2.13.0 onwards.

Signed-off-by: Nicholas Morey <nicholas@morey.tech>
2024-11-23 12:22:52 -07:00
Nitish Kumar
32cc6638f7 fix: show multisource details for an appset when using argocd appset get command (#20903)
* fix: show multisource details for an appset

Signed-off-by: nitishfy <justnitish06@gmail.com>

* remove extra comment

Signed-off-by: nitishfy <justnitish06@gmail.com>

* fix failing tests

Signed-off-by: nitishfy <justnitish06@gmail.com>

* fix lint issues

Signed-off-by: nitishfy <justnitish06@gmail.com>

---------

Signed-off-by: nitishfy <justnitish06@gmail.com>
2024-11-22 06:25:03 -05:00
dependabot[bot]
9f1431e1eb chore(deps): bump sigs.k8s.io/controller-runtime from 0.19.1 to 0.19.2 (#20906)
Bumps [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) from 0.19.1 to 0.19.2.
- [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/main/RELEASE.md)
- [Commits](https://github.com/kubernetes-sigs/controller-runtime/compare/v0.19.1...v0.19.2)

---
updated-dependencies:
- dependency-name: sigs.k8s.io/controller-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-22 10:38:15 +05:30
Adam Chandler
c6804e9854 fix: Memory leak in repo-server (#20876)
Signed-off-by: Adam Chandler <adam_chandler@trimble.com>
2024-11-21 10:07:10 -05:00
ABBOUD Moncef
4a140515fe feat(app): add ignore-healthcheck annotation (#20462)
Signed-off-by: cef <moncef.abboud95@gmail.com>
2024-11-21 07:16:53 -05:00
jaehanbyun
b6cc0e6193 docs: Update orphaned resource number metric explanation in doc (#20702)
Signed-off-by: jaehanbyun <awbrg789@naver.com>
2024-11-21 17:33:22 +05:30
Michael Crenshaw
e34d86ff07 test: more destination check tests (#20617)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-11-21 17:31:11 +05:30
dependabot[bot]
3b81d3c072 chore(deps): bump go.opentelemetry.io/otel/sdk from 1.31.0 to 1.32.0 (#20745)
Bumps [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go) from 1.31.0 to 1.32.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.31.0...v1.32.0)

---
updated-dependencies:
- dependency-name: go.opentelemetry.io/otel/sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-21 10:17:17 +05:30
rumstead
c8c22d3d5a fix(server): make a copy of secret objects when listing from the informers #19913 (#20805)
* fix(server): make a copy of secret objects when listing from the informers

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* fix(server): make a copy of secret objects when listing from the informers

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* fix(server): make a copy of secret objects when listing from the informers

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* fix(server): make a copy of secret objects when listing from the informers

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* fix(server): make a copy of secret objects when listing from the informers

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* fix(server): make a copy of secret objects when listing from the informers

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* e2e

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

---------

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
2024-11-21 04:43:53 +00:00
OpenGuidou
2c2e669247 fix(cli): Fix appset generate in --core mode (#20717)
Signed-off-by: OpenGuidou <guillaume.doussin@gmail.com>
2024-11-20 23:41:30 -05:00
dependabot[bot]
32c9e41248 chore(deps): bump github.com/bradleyfalzon/ghinstallation/v2 (#20778)
Bumps [github.com/bradleyfalzon/ghinstallation/v2](https://github.com/bradleyfalzon/ghinstallation) from 2.11.0 to 2.12.0.
- [Release notes](https://github.com/bradleyfalzon/ghinstallation/releases)
- [Commits](https://github.com/bradleyfalzon/ghinstallation/compare/v2.11.0...v2.12.0)

---
updated-dependencies:
- dependency-name: github.com/bradleyfalzon/ghinstallation/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-21 10:10:33 +05:30
dependabot[bot]
74b219a628 chore(deps): bump github.com/xanzy/go-gitlab from 0.113.0 to 0.114.0 (#20832)
Bumps [github.com/xanzy/go-gitlab](https://github.com/xanzy/go-gitlab) from 0.113.0 to 0.114.0.
- [Release notes](https://github.com/xanzy/go-gitlab/releases)
- [Changelog](https://github.com/xanzy/go-gitlab/blob/main/releases_test.go)
- [Commits](https://github.com/xanzy/go-gitlab/compare/v0.113.0...v0.114.0)

---
updated-dependencies:
- dependency-name: github.com/xanzy/go-gitlab
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-21 10:06:09 +05:30
dependabot[bot]
0ea189d5a2 chore(deps): bump chromedriver from 130.0.4 to 131.0.1 in /ui-test (#20855)
Bumps [chromedriver](https://github.com/giggio/node-chromedriver) from 130.0.4 to 131.0.1.
- [Commits](https://github.com/giggio/node-chromedriver/compare/130.0.4...131.0.1)

---
updated-dependencies:
- dependency-name: chromedriver
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-21 10:05:38 +05:30
Leonardo Luz Almeida
fc9b33b325 chore: Fix get-previous-release test case (#20863)
Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
2024-11-20 19:57:31 +00:00
rumstead
6cf363c0fa chore: setting up 2.14 release champion and approver (#20870)
Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
2024-11-20 19:42:35 +00:00
dependabot[bot]
29ac23827a chore(deps): bump github.com/Masterminds/semver/v3 from 3.3.0 to 3.3.1 (#20852)
Bumps [github.com/Masterminds/semver/v3](https://github.com/Masterminds/semver) from 3.3.0 to 3.3.1.
- [Release notes](https://github.com/Masterminds/semver/releases)
- [Changelog](https://github.com/Masterminds/semver/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Masterminds/semver/compare/v3.3.0...v3.3.1)

---
updated-dependencies:
- dependency-name: github.com/Masterminds/semver/v3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-20 10:49:52 -05:00
Matthieu MOREL
0ca1ddb88c fix: order conditions summary (#20759)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-11-20 10:46:01 -05:00
Andrii Korotkov
3da5a3de52 fix: Fix repeated 403 due to app namespace being undefined (#20699) (#20819)
Fixes #20699

Constructor may not get called every time the application changes, so previous this.appNamespace could be stale. But the update to use `this.props.match.params.appnamespace` could also fail if it's undefined.
As a fix, create and use a helper function `getAppNamespace` which has a special case handling for undefined.

Also, use a namespaced endpoint when namespace is not undefined.

It needs to be cherry-picked to v2.11-2.13.

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2024-11-20 12:57:03 +02:00
ABBOUD Moncef
83953fe276 feat(app): Add optional 'name' to Source object (#20470)
Signed-off-by: cef <moncef.abboud95@gmail.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2024-11-18 21:23:49 +00:00
Revital Barletz
be24ef4acc fix: remove broken link from code-contributions.md (#20795)
* Update code-contributions.md

Deleting the section that contains a broken link per this discussion: https://github.com/argoproj/argo-cd/issues/20728

Signed-off-by: Revital Barletz <revitalb@monada.co>

* Update code-contributions.md

Remove the part that talks about the enhancement proposal.

Signed-off-by: Revital Barletz <revitalb@monada.co>

---------

Signed-off-by: Revital Barletz <revitalb@monada.co>
2024-11-18 08:54:32 -07:00
Andrii Korotkov
b3916428c1 docs: Improve self-heal and auto-sync behaviors explanation for multi-source apps (#20809) (#20811)
Closes #20809

In single-source apps self-heal disabled guarantees that with no source changes the live changes won't get overridden. That's no longer the case for multi-source apps, since one of the sources changing can trigger a sync of everything. Add a note explaining this behavior.

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2024-11-17 23:35:47 -05:00
dependabot[bot]
c4f51c0313 chore(deps): bump google.golang.org/protobuf from 1.35.1 to 1.35.2 (#20804)
Bumps google.golang.org/protobuf from 1.35.1 to 1.35.2.

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-17 23:33:00 -05:00
Suraj yadav
d8dd2fc02c feat(ui): Added a warning popup before closing the application create panel (#20807)
* added-warning

Signed-off-by: Surajyadav <harrypotter1108@gmail.com>

* removed?

Signed-off-by: Surajyadav <harrypotter1108@gmail.com>

---------

Signed-off-by: Surajyadav <harrypotter1108@gmail.com>
2024-11-17 23:26:15 -05:00
dependabot[bot]
00d45ed74f chore(deps): bump github.com/casbin/casbin/v2 from 2.100.0 to 2.101.0 (#20817)
Bumps [github.com/casbin/casbin/v2](https://github.com/casbin/casbin) from 2.100.0 to 2.101.0.
- [Release notes](https://github.com/casbin/casbin/releases)
- [Changelog](https://github.com/casbin/casbin/blob/master/.releaserc.json)
- [Commits](https://github.com/casbin/casbin/compare/v2.100.0...v2.101.0)

---
updated-dependencies:
- dependency-name: github.com/casbin/casbin/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-17 23:17:25 -05:00
Daco
6d8d32f170 fix: ApplicationSet webhooks should use stricter comparison of repository URL (#20486)
Signed-off-by: Philippe Da Costa <pdacosta@gmail.com>
2024-11-14 08:23:36 -05:00
SuminSSon
0f872f51be chore: improve error logs in server/cluster/cluser.go (#20711) 2024-11-13 08:04:38 -05:00
Matthieu MOREL
993d79ca27 chore: use testify instead of testing.Fatal or testing.Error in server (#20755)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-11-11 20:35:19 -05:00
dependabot[bot]
2a72df260d chore(deps): bump go.opentelemetry.io/otel from 1.31.0 to 1.32.0 (#20744)
Bumps [go.opentelemetry.io/otel](https://github.com/open-telemetry/opentelemetry-go) from 1.31.0 to 1.32.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.31.0...v1.32.0)

---
updated-dependencies:
- dependency-name: go.opentelemetry.io/otel
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-11 20:29:03 -05:00
Pasha Kostohrys
76537ce557 chore: rename force-prompts-enabled to prompts-enabled flag name (#20752)
* chore: rename force-prompts-enabled to prompts-enabled flag name

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* chore: rename force-prompts-enabled to prompts-enabled flag name

Signed-off-by: pashakostohrys <pavel@codefresh.io>

---------

Signed-off-by: pashakostohrys <pavel@codefresh.io>
2024-11-11 13:42:25 -05:00
Matthieu MOREL
0da5744788 chore: use testify instead of testing.Fatal or testing.Error in test (#20754)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-11-11 17:55:52 +02:00
Matthieu MOREL
6b3e532194 chore: use testify instead of testing.Fatal or testing.Error in cmd (#20750)
* chore: use testify instead of testing.Fatal or testing.Error in cmd

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>

* chore: use testify instead of testing.Fatal or testing.Error in cmd

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>

---------

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-11-11 17:55:30 +02:00
Matthieu MOREL
a6cce1d0b3 chore: use testify instead of testing.Fatal or testing.Error in util (#20751)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-11-11 17:55:11 +02:00
renovate[bot]
b39f3b15fb chore(deps): update module github.com/golangci/golangci-lint to v1.62.0 (#20737)
* chore(deps): update module github.com/golangci/golangci-lint to v1.62.0

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix lint issues

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-11-11 05:28:48 +00:00
dependabot[bot]
4a66a2a1ea chore(deps): bump golang.org/x/net from 0.30.0 to 0.31.0 (#20742)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.30.0 to 0.31.0.
- [Commits](https://github.com/golang/net/compare/v0.30.0...v0.31.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-11 04:58:08 +00:00
dependabot[bot]
0066b0ab9d chore(deps): bump tj-actions/changed-files from 45.0.3 to 45.0.4 (#20739)
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 45.0.3 to 45.0.4.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](c3a1bb2c99...4edd678ac3)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-11 04:57:31 +00:00
dependabot[bot]
1fba4ea049 chore(deps): bump SonarSource/sonarqube-scan-action from 3.0.0 to 3.1.0 (#20740)
Bumps [SonarSource/sonarqube-scan-action](https://github.com/sonarsource/sonarqube-scan-action) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/sonarsource/sonarqube-scan-action/releases)
- [Commits](884b79409b...13990a6956)

---
updated-dependencies:
- dependency-name: SonarSource/sonarqube-scan-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-11 04:57:06 +00:00
dependabot[bot]
a8f95dcb0d chore(deps): bump github.com/fsnotify/fsnotify from 1.7.0 to 1.8.0 (#20629)
Bumps [github.com/fsnotify/fsnotify](https://github.com/fsnotify/fsnotify) from 1.7.0 to 1.8.0.
- [Release notes](https://github.com/fsnotify/fsnotify/releases)
- [Changelog](https://github.com/fsnotify/fsnotify/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fsnotify/fsnotify/compare/v1.7.0...v1.8.0)

---
updated-dependencies:
- dependency-name: github.com/fsnotify/fsnotify
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-10 21:02:20 -05:00
Matthieu MOREL
2998687416 chore: enable perfsprint linter (#20685)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-11-10 21:00:57 -05:00
github-actions[bot]
345d81ebf0 [Bot] docs: Update Snyk reports (#20734)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2024-11-11 02:00:51 +00:00
Matthieu MOREL
7cc5907be3 chore: use testify instead of testing.Fatal or testing.Error in applicationset (#20726)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-11-10 20:58:35 -05:00
Will Hu
5d0a3e6e9a add flaglerhealth.io to userlist (#20724) 2024-11-08 14:49:10 -08:00
renovate[bot]
aa1267aa8b chore(deps): update group golang to v1.23.3 (#20686)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-08 14:21:53 -08:00
dependabot[bot]
cc7c21ea1e chore(deps): bump library/golang in /test/container (#20700)
Bumps library/golang from 1.23.1 to 1.23.3.

---
updated-dependencies:
- dependency-name: library/golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-08 14:21:22 -08:00
dependabot[bot]
146c1bb9b0 chore(deps): bump golang.org/x/crypto from 0.28.0 to 0.29.0 (#20707)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.28.0 to 0.29.0.
- [Commits](https://github.com/golang/crypto/compare/v0.28.0...v0.29.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-08 14:20:36 -08:00
Edwin Smulders
acfc03e2c2 Fix minor grammatical error in operator manual overview (#20691)
Signed-off-by: Edwin Smulders <edwin@edwinsmulders.eu>
2024-11-08 21:46:40 +01:00
dependabot[bot]
b78f209716 chore(deps): bump golang.org/x/term from 0.25.0 to 0.26.0 (#20705)
Bumps [golang.org/x/term](https://github.com/golang/term) from 0.25.0 to 0.26.0.
- [Commits](https://github.com/golang/term/compare/v0.25.0...v0.26.0)

---
updated-dependencies:
- dependency-name: golang.org/x/term
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-08 17:49:06 +00:00
dependabot[bot]
556b8c6d5d chore(deps): bump golang.org/x/oauth2 from 0.23.0 to 0.24.0 (#20708)
Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.23.0 to 0.24.0.
- [Commits](https://github.com/golang/oauth2/compare/v0.23.0...v0.24.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-08 17:48:32 +00:00
dependabot[bot]
c68776e32a chore(deps): bump goreleaser/goreleaser-action from 6.0.0 to 6.1.0 (#20701)
Bumps [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/goreleaser/goreleaser-action/releases)
- [Commits](286f3b13b1...9ed2f89a66)

---
updated-dependencies:
- dependency-name: goreleaser/goreleaser-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-08 12:35:02 -05:00
dependabot[bot]
0eaa3d44d2 chore(deps): bump golang.org/x/sync from 0.8.0 to 0.9.0 (#20709)
Bumps [golang.org/x/sync](https://github.com/golang/sync) from 0.8.0 to 0.9.0.
- [Commits](https://github.com/golang/sync/compare/v0.8.0...v0.9.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sync
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-08 08:40:55 -08:00
Jason Hall
4776e486a3 chore: update azure/kubelogin to address CVE (#20578)
* update azure/kubelogin to address CVE

Signed-off-by: Jason Hall <jason@chainguard.dev>

* actually emit token

Signed-off-by: Jason Hall <jason@chainguard.dev>

* update deps, go mod tidy

Signed-off-by: Jason Hall <jason@chainguard.dev>

* fix go.sum

Signed-off-by: Jason Hall <jason@chainguard.dev>

* bcho's suggestion

Signed-off-by: Jason Hall <jason@chainguard.dev>

---------

Signed-off-by: Jason Hall <jason@chainguard.dev>
2024-11-08 10:34:52 -05:00
Pasha Kostohrys
e2bc96bb86 fix: Ability to disable Server Side Apply on individual resource level (#20697)
* fix: Ability to disable Server Side Apply on individual resource level

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* fix: Ability to disable Server Side Apply on individual resource level

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* fix: Ability to disable Server Side Apply on individual resource level

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* chore: improve doc

Signed-off-by: pashakostohrys <pavel@codefresh.io>

---------

Signed-off-by: pashakostohrys <pavel@codefresh.io>
2024-11-08 10:54:43 +02:00
dependabot[bot]
b652b6aacb chore(deps): bump chromedriver from 130.0.2 to 130.0.4 in /ui-test (#20687)
Bumps [chromedriver](https://github.com/giggio/node-chromedriver) from 130.0.2 to 130.0.4.
- [Commits](https://github.com/giggio/node-chromedriver/compare/130.0.2...130.0.4)

---
updated-dependencies:
- dependency-name: chromedriver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-08 10:35:32 +02:00
dependabot[bot]
21fa481495 chore(deps): bump library/golang from 1.23.1 to 1.23.3 in /test/remote (#20703)
Bumps library/golang from 1.23.1 to 1.23.3.

---
updated-dependencies:
- dependency-name: library/golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-08 10:35:18 +02:00
dependabot[bot]
aac69803ae chore(deps): bump golang.org/x/time from 0.7.0 to 0.8.0 (#20704)
Bumps [golang.org/x/time](https://github.com/golang/time) from 0.7.0 to 0.8.0.
- [Commits](https://github.com/golang/time/compare/v0.7.0...v0.8.0)

---
updated-dependencies:
- dependency-name: golang.org/x/time
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-08 10:35:07 +02:00
Andrii Korotkov
a7ff791ba5 chore: Don't degrade PDB on InsufficientPods (#20171) (#20665)
Closes #20171

There are valid use cases for InsufficientPods, e.g. running some jobs or tests that don't want to be terminated. See the discussion on the issue for more details. So don't degrade the PDB on InsufficientPods condition.

This needs to be cherry picked to 2.13, as many people may not upgrade otherwise.

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2024-11-07 09:09:52 -08:00
Andrii Korotkov
3c366edc24 chore: Improve a sync with replace warning (#14161) (#20638)
Helps with #14161

Tell more about possible practical implications of sync with replace such as pods scaling down to min replicas.

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2024-11-07 11:30:57 -05:00
Soumya Ghosh Dastidar
17c412e3f3 fix: check for source position when --show-params is set (#20682)
Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2024-11-06 19:04:20 +00:00
dependabot[bot]
35b9158418 chore(deps): bump github.com/xanzy/go-gitlab from 0.112.0 to 0.113.0 (#20676)
Bumps [github.com/xanzy/go-gitlab](https://github.com/xanzy/go-gitlab) from 0.112.0 to 0.113.0.
- [Release notes](https://github.com/xanzy/go-gitlab/releases)
- [Changelog](https://github.com/xanzy/go-gitlab/blob/main/releases_test.go)
- [Commits](https://github.com/xanzy/go-gitlab/compare/v0.112.0...v0.113.0)

---
updated-dependencies:
- dependency-name: github.com/xanzy/go-gitlab
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-06 11:09:40 -05:00
Pasha Kostohrys
4a38442b99 feat: move appset delete confirmation to new prompt logic (#20677)
* feat: move appset delete confirmation to new prompt logic

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* feat: move appset delete confirmation to new prompt logic

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* feat: move appset delete confirmation to new prompt logic

Signed-off-by: pashakostohrys <pavel@codefresh.io>

---------

Signed-off-by: pashakostohrys <pavel@codefresh.io>
2024-11-06 17:11:07 +02:00
Pasha Kostohrys
881025b3ca chore: cover cli utils and prompts utils with tests (#20674) 2024-11-05 17:28:23 -05:00
Max Lancaster
b14f1d13a6 Add Alarm.com to users list. (#20672)
Signed-off-by: Max Lancaster <max.lancaster@gmail.com>
2024-11-05 23:22:36 +02:00
Pasha Kostohrys
b9d5387979 feat: adopt delete app confirmation to new prompt util (#20664)
* feat: adopt delete app confirmation to new prompt util

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* feat: adopt delete app confirmation to new prompt util

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* feat: adopt delete app confirmation to new prompt util

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* feat: adopt delete app confirmation to new prompt util

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* chore: remove type where it is not needed

Signed-off-by: pashakostohrys <pavel@codefresh.io>

---------

Signed-off-by: pashakostohrys <pavel@codefresh.io>
2024-11-05 15:41:49 +00:00
Andrii Korotkov
d963b61350 chore: Add some empty dir volume mounts for the application controller (#19474) (#19480)
Closes #19474

Kube cache couldn't be used on read-only root file system leading to errors as revealed with `--gloglevel` equal to 6.
Create an empty dir mount for `/tmp` and override `KUBECACHEDIR` to be in `/tmp`.

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2024-11-05 09:14:42 -05:00
변재한
5138dd5118 feat: add orphaned resource count metric (#20521)
Signed-off-by: jaehanbyun <awbrg789@naver.com>
2024-11-05 08:18:36 -05:00
Pasha Kostohrys
36ef5639da feat: add prompting to confirm application commands (#20658)
Signed-off-by: pashakostohrys <pavel@codefresh.io>
2024-11-04 22:10:29 +00:00
Pasha Kostohrys
262059346b feat: add prompting to confirm project window deletion (#20656)
* feat: add prompting to confirm project window deletion

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* feat: add prompting to confirm project window deletion

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* feat: add prompting to confirm project window deletion

Signed-off-by: pashakostohrys <pavel@codefresh.io>

---------

Signed-off-by: pashakostohrys <pavel@codefresh.io>
2024-11-04 16:37:16 -05:00
Pasha Kostohrys
621330c11b feat: add prompting to confirm account token deletion (#20654)
Signed-off-by: pashakostohrys <pavel@codefresh.io>
2024-11-04 16:10:26 -05:00
Keith Chong
8cf990bced fix: Rollback multi-source apps; 2nd follow-up to PR 14124 (#20566)
* fix: Rollback multi-source apps; 2nd follow-up to PR 14124

Signed-off-by: Keith Chong <kykchong@redhat.com>

* Pull out styles changes; Make arrows more pronounced

Signed-off-by: Keith Chong <kykchong@redhat.com>

* Lint issue again

Signed-off-by: Keith Chong <kykchong@redhat.com>

* More lint errors. (Need to update my linter)

Signed-off-by: Keith Chong <kykchong@redhat.com>

* Simplify code

Signed-off-by: Keith Chong <kykchong@redhat.com>

---------

Signed-off-by: Keith Chong <kykchong@redhat.com>
2024-11-04 16:53:17 +02:00
Alexandre Gaudreault
a68d057c9d fix(server): accept HTTP/1.1 for backward compatibility (#20639)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-11-04 09:41:48 -05:00
dependabot[bot]
16649c64f8 chore(deps-dev): bump @types/node from 22.8.4 to 22.8.7 in /ui-test (#20647)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.8.4 to 22.8.7.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-04 07:56:14 -05:00
dependabot[bot]
df54a43e2e chore(deps): bump chromedriver from 130.0.1 to 130.0.2 in /ui-test (#20648)
Bumps [chromedriver](https://github.com/giggio/node-chromedriver) from 130.0.1 to 130.0.2.
- [Commits](https://github.com/giggio/node-chromedriver/compare/130.0.1...130.0.2)

---
updated-dependencies:
- dependency-name: chromedriver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-04 07:55:59 -05:00
dependabot[bot]
d7731790fd chore(deps): bump github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.1 (#20649)
Bumps [github.com/golang-jwt/jwt/v4](https://github.com/golang-jwt/jwt) from 4.5.0 to 4.5.1.
- [Release notes](https://github.com/golang-jwt/jwt/releases)
- [Changelog](https://github.com/golang-jwt/jwt/blob/main/VERSION_HISTORY.md)
- [Commits](https://github.com/golang-jwt/jwt/compare/v4.5.0...v4.5.1)

---
updated-dependencies:
- dependency-name: github.com/golang-jwt/jwt/v4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-04 07:55:47 -05:00
Michael Crenshaw
438e01bc4f fix(codegen): use kube_codegen.sh deepcopy and client gen correctly (#20644) 2024-11-03 22:31:04 -05:00
Alexandre Gaudreault
b187fbbaf7 fix(redis): CPU stuck at 100% after rolling update (#20645)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2024-11-03 14:25:59 -05:00
Ashu
d761c94b7d fix(ui): fix the slider tansition (#20641) 2024-11-01 16:50:24 -04:00
dependabot[bot]
11267b912b chore(deps): bump softprops/action-gh-release from 2.0.8 to 2.0.9 (#20631)
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 2.0.8 to 2.0.9.
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](c062e08bd5...e7a8f85e1c)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-01 17:13:40 +02:00
dependabot[bot]
efd196407a chore(deps): bump selenium-webdriver from 4.25.0 to 4.26.0 in /ui-test (#20633)
Bumps [selenium-webdriver](https://github.com/SeleniumHQ/selenium) from 4.25.0 to 4.26.0.
- [Release notes](https://github.com/SeleniumHQ/selenium/releases)
- [Commits](https://github.com/SeleniumHQ/selenium/compare/selenium-4.25.0...selenium-4.26.0)

---
updated-dependencies:
- dependency-name: selenium-webdriver
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-01 17:13:20 +02:00
Dillen Padhiar
59ea2a809e feat: support Suspended state for MonoVertexRollout (#20583)
Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>
2024-10-31 13:53:41 -04:00
James McShane
3988861edf feat(cmp): parameter to enable git creds to be shared from repo server to the plugin (#15107)
Signed-off-by: jmcshane <james.mcshane@superorbital.io>
2024-10-31 13:35:08 -04:00
Michael Crenshaw
f89e1cf80f docs(rbac): clarify glob pattern behavior for fine-grain RBAC (#20624)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-10-31 17:33:45 +00:00
Pasha Kostohrys
8a4e7e021f feat: add prompting to confirm project role deletion (#20613)
* Revert "fix(ui): Prevent versionId 0 Error on New Applications with No History (#20574)"

This reverts commit 33ecbbc4a8.

* feat: add prompting to confirm project role deletion

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* Revert "Revert "fix(ui): Prevent versionId 0 Error on New Applications with No History (#20574)""

This reverts commit cecf8f49fd.

* feat: add prompting to confirm project role deletion

Signed-off-by: pashakostohrys <pavel@codefresh.io>

---------

Signed-off-by: pashakostohrys <pavel@codefresh.io>
2024-10-31 14:14:29 +00:00
Nikolai Momot
79abbbe4ec chore: Add TextNow to USERS.md (#20602)
Signed-off-by: Nikolai.Momot <nikolai.momot@textnow.com>
2024-10-31 04:00:47 -10:00
Pasha Kostohrys
83b1b6c574 feat: add prompting to confirm project deletion (#20612)
* Revert "fix(ui): Prevent versionId 0 Error on New Applications with No History (#20574)"

This reverts commit 33ecbbc4a8.

* feat: add prompting to confirm project deletion

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* Revert "Revert "fix(ui): Prevent versionId 0 Error on New Applications with No History (#20574)""

This reverts commit cecf8f49fd.

---------

Signed-off-by: pashakostohrys <pavel@codefresh.io>
2024-10-31 08:58:11 -04:00
Pasha Kostohrys
d44d7ec043 feat: add prompting to confirm application resource deletion (#20611)
* Revert "fix(ui): Prevent versionId 0 Error on New Applications with No History (#20574)"

This reverts commit 33ecbbc4a8.

* feat: add prompting to confirm app resource deletion

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* Revert "Revert "fix(ui): Prevent versionId 0 Error on New Applications with No History (#20574)""

This reverts commit cecf8f49fd.

---------

Signed-off-by: pashakostohrys <pavel@codefresh.io>
2024-10-31 08:57:24 -04:00
Alexandre Gaudreault
a7637cd106 fix(server): missing selected ALPN property (#20579)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2024-10-31 13:50:45 +02:00
dependabot[bot]
c90deaabd6 chore(deps): bump @types/selenium-webdriver in /ui-test (#20589)
Bumps [@types/selenium-webdriver](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/selenium-webdriver) from 4.1.26 to 4.1.27.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/selenium-webdriver)

---
updated-dependencies:
- dependency-name: "@types/selenium-webdriver"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-31 13:22:11 +02:00
dependabot[bot]
14ba2216d7 chore(deps-dev): bump @types/node from 22.7.9 to 22.8.4 in /ui-test (#20588)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.7.9 to 22.8.4.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-31 13:21:55 +02:00
Michael Crenshaw
e861b550e0 fix(diff): avoid cache miss in server-side diff (#20605)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-10-30 21:35:23 -04:00
Siddhesh Ghadi
eb10b70e8a feat: Add ability to hide certain annotations on secret resources (#18216)
Signed-off-by: Siddhesh Ghadi <sghadi1203@gmail.com>
2024-10-30 09:52:37 -07:00
Yiwei Gong
83eb0b1871 rerender when extensions update (#20559)
Signed-off-by: Yiwei Gong <imwithye@gmail.com>
2024-10-30 08:22:19 -07:00
q-yusufmahtab
38546a5e43 Fix docs/user-guide/diffing.md code block (#20596)
Signed-off-by: Yusuf Mahtab <yusufmahtab@quantexa.com>
2024-10-30 08:12:33 -06:00
austin5219
092bb7328c fix(pkce): 20111 PKCE auth flow does not return user to previous path like dex auth flow (#20202)
* Adding non-default basehref support for PKCE auth flow

Signed-off-by: austin5219 <3936059+austin5219@users.noreply.github.com>

* Adding ; for linting

Signed-off-by: austin5219 <3936059+austin5219@users.noreply.github.com>

* removing hook function

Signed-off-by: austin5219 <3936059+austin5219@users.noreply.github.com>

* Moving unauthorized error handling to class component to access context for error handling within 401 error

Signed-off-by: austin5219 <3936059+austin5219@users.noreply.github.com>

* Store the subsrition handle to close in unmount

Signed-off-by: austin5219 <3936059+austin5219@users.noreply.github.com>

* reorder imports

Signed-off-by: austin5219 <3936059+austin5219@users.noreply.github.com>

* Actually saving the subscriptions now

Signed-off-by: austin5219 <3936059+austin5219@users.noreply.github.com>

* returning the 401 subscription from helper function

Signed-off-by: austin5219 <3936059+austin5219@users.noreply.github.com>

* Handle the promise of a subscription

Signed-off-by: austin5219 <3936059+austin5219@users.noreply.github.com>

* Removing then from non async subscribe

Signed-off-by: austin5219 <3936059+austin5219@users.noreply.github.com>

* Linter fixes

Signed-off-by: austin5219 <3936059+austin5219@users.noreply.github.com>

* Adding path caching to sessionStorage on pkceLogin and redirect step to cached path if available in pkceCallback to mirror Dex functionality

Signed-off-by: austin5219 <3936059+austin5219@users.noreply.github.com>

---------

Signed-off-by: austin5219 <3936059+austin5219@users.noreply.github.com>
2024-10-30 12:37:18 +02:00
Preethi Sureshkumar
d408909df6 docs: Update Dex OIDC example (#20545)
* docs: Update Dex OIDC example

Type for using OIDC claim should be `oidc` instead of `OIDC`.

Signed-off-by: Preethi Sureshkumar <40830235+preethi-sv@users.noreply.github.com>

* docs: Update Dex OIDC example

Signed-off-by: Preethi Sureshkumar <40830235+preethi-sv@users.noreply.github.com>

---------

Signed-off-by: Preethi Sureshkumar <40830235+preethi-sv@users.noreply.github.com>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2024-10-30 04:29:52 +00:00
Shubham Zanzad
d8fe100278 Docs: Added prerequisites for argoCD, fork and clone repository, upstreaming, common make targets, steps before submitting a PR. (#20540)
Signed-off-by: Shubham Zanzad <shubhamzanzad25@gmail.com>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2024-10-30 04:28:23 +00:00
dependabot[bot]
bb1e75fe82 chore(deps): bump actions/setup-go from 5.0.2 to 5.1.0 (#20529)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 5.0.2 to 5.1.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](0a12ed9d6a...41dfa10bad)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-29 20:40:35 +00:00
dependabot[bot]
683d030843 chore(deps): bump actions/setup-node from 4.0.4 to 4.1.0 (#20528)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.4 to 4.1.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](0a44ba7841...39370e3970)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-29 20:37:38 +00:00
Chirag Jain
73fbcc9ce4 chore: add bajaj finserv health ltd. in list of users (#20555)
Signed-off-by: Chirag Jain <chirag.jain1@bajajfinserv.in>
2024-10-29 15:42:01 -04:00
Julie Vogelman
9687619541 fix: updates to health status for Numaplane resources (#20544)
* fix: updates to health status for Numaplane resources

Signed-off-by: Julie Vogelman <julievogelman0@gmail.com>

* health checks

Signed-off-by: Julie Vogelman <julievogelman0@gmail.com>

* fix testdata path

Signed-off-by: Julie Vogelman <julievogelman0@gmail.com>

* additional health check tests

Signed-off-by: Julie Vogelman <julievogelman0@gmail.com>

* temporary file removal

Signed-off-by: Julie Vogelman <julievogelman0@gmail.com>

* add file renamed

Signed-off-by: Julie Vogelman <julievogelman0@gmail.com>

* fix: empty commit

Signed-off-by: Julie Vogelman <julievogelman0@gmail.com>

* move check for no status

Signed-off-by: Julie Vogelman <julievogelman0@gmail.com>

* fix: empty commit

Signed-off-by: Julie Vogelman <julievogelman0@gmail.com>

* fix: empty commit

Signed-off-by: Julie Vogelman <julievogelman0@gmail.com>

---------

Signed-off-by: Julie Vogelman <julievogelman0@gmail.com>
2024-10-29 15:32:01 -04:00
ABBOUD Moncef
76fbc1f0c9 fix(ci): ignore temporary files when checking for out of bound symlinks (#20527)
Signed-off-by: cef <moncef.abboud95@gmail.com>
2024-10-29 14:31:11 -04:00
renovate[bot]
3625689264 chore(deps): update dependency pymdown-extensions to v10.12 (#20567)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-29 11:54:17 -04:00
SuminSSon
4dcbbd7d24 docs: correct typos in documentation (#20569)
* docs: update Cluster Generator example for cluster name accuracy

Signed-off-by: SuminSSon <itoodo12@gmail.com>

* docs: standardized 'GitPod' to 'Gitpod' for consistency

Signed-off-by: SuminSSon <itoodo12@gmail.com>

---------

Signed-off-by: SuminSSon <itoodo12@gmail.com>
2024-10-29 17:25:30 +02:00
pasha-codefresh
33ecbbc4a8 fix(ui): Prevent versionId 0 Error on New Applications with No History (#20574) 2024-10-29 10:06:00 -04:00
pasha-codefresh
29d52299da feat: add prompting to confirm delete certificate (#20547)
* feat: add prompting to confirm delete certificate

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* feat: add prompting to confirm delete certificate

Signed-off-by: pashakostohrys <pavel@codefresh.io>

---------

Signed-off-by: pashakostohrys <pavel@codefresh.io>
2024-10-28 15:01:30 +00:00
pasha-codefresh
9b6d3a9a95 feat: add prompting to confirm prune during backup import (#20546)
* feat: add prompting to confirm prune during backup import

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* feat: add prompting to confirm prune during backup import

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* feat: add prompting to confirm prune during backup import

Signed-off-by: pashakostohrys <pavel@codefresh.io>

---------

Signed-off-by: pashakostohrys <pavel@codefresh.io>
2024-10-28 08:11:09 -04:00
pasha-codefresh
eb6d2e635f feat: add prompting to confirm remove of repository credentials (#20541)
* feat: add prompting to confirm remove of repository credentials

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* feat: add prompting to confirm remove of repository credentials

Signed-off-by: pashakostohrys <pavel@codefresh.io>

---------

Signed-off-by: pashakostohrys <pavel@codefresh.io>
2024-10-28 07:18:41 -04:00
Ramesh Gaikwad
5c01cf6ebf chore: improve error logs in commands/admin/app.go (#20549)
* chore: imporve error response, wrap context with error

Signed-off-by: Ramesh Gaikwad <rameshgkwd05@gmail.com>

* correct error messge

Signed-off-by: Ramesh Gaikwad <rameshgkwd05@gmail.com>

---------

Signed-off-by: Ramesh Gaikwad <rameshgkwd05@gmail.com>
2024-10-27 10:09:33 +00:00
github-actions[bot]
3bf226d709 [Bot] docs: Update Snyk reports (#20551)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2024-10-27 10:52:41 +02:00
pasha-codefresh
16e7517044 feat: add prompting to confirm deletion of gpg public key (#20539) 2024-10-26 09:26:55 +03:00
dependabot[bot]
745f1cc348 chore(deps): bump sigs.k8s.io/controller-runtime from 0.19.0 to 0.19.1 (#20530)
Bumps [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) from 0.19.0 to 0.19.1.
- [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/main/RELEASE.md)
- [Commits](https://github.com/kubernetes-sigs/controller-runtime/compare/v0.19.0...v0.19.1)

---
updated-dependencies:
- dependency-name: sigs.k8s.io/controller-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-25 21:45:34 +03:00
dependabot[bot]
7eb2a198b1 chore(deps): bump chromedriver from 130.0.0 to 130.0.1 in /ui-test (#20515)
Bumps [chromedriver](https://github.com/giggio/node-chromedriver) from 130.0.0 to 130.0.1.
- [Commits](https://github.com/giggio/node-chromedriver/compare/130.0.0...130.0.1)

---
updated-dependencies:
- dependency-name: chromedriver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: pasha-codefresh <pavel@codefresh.io>
2024-10-25 21:45:17 +03:00
변재한
4e215234ad doc: Update Show Orphaned Button Screenshot in Orphaned Resources Monitoring Documentation (#20533)
Signed-off-by: jaehanbyun <awbrg789@naver.com>
2024-10-25 05:57:33 -10:00
dependabot[bot]
a0b694384c chore(deps): bump library/redis in /test/container (#20494)
Bumps library/redis from `00faee9` to `a06cea9`.

---
updated-dependencies:
- dependency-name: library/redis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: pasha-codefresh <pavel@codefresh.io>
2024-10-25 14:50:10 +03:00
pasha-codefresh
604c75b00d chore: change invalid comment (#20500) 2024-10-25 07:19:59 -04:00
dependabot[bot]
adf08ed87f chore(deps-dev): bump @types/node from 22.7.6 to 22.7.9 in /ui-test (#20514)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.7.6 to 22.7.9.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-25 10:57:08 +03:00
dependabot[bot]
1a478a531b chore(deps): bump bitnami/kubectl in /test/container (#20516)
Bumps bitnami/kubectl from `b509ab6` to `4d757d9`.

---
updated-dependencies:
- dependency-name: bitnami/kubectl
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-25 10:56:53 +03:00
dependabot[bot]
e9ff075610 chore(deps): bump actions/cache from 4.1.1 to 4.1.2 (#20493)
Bumps [actions/cache](https://github.com/actions/cache) from 4.1.1 to 4.1.2.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](3624ceb22c...6849a64899)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-25 10:38:58 +03:00
renovate[bot]
229ac1bf9d chore(deps): update docker.io/library/golang:1.23.2 docker digest to ad5c126 (#20419)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-25 10:38:37 +03:00
david-wu-octopus
b5d8eddb82 feat: Add reusable interactive prompts and configure command (issue #19528) (#19637)
* Add `Prompt`, with `prompts.enabled` setting in `argocd-cm`

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Make `SettingsOpts`, `SettingsOpts.ArgocdCMPath`, `SettingsOpts.CreateSettingsManager()`  and `commandContext.CreateSettingsManager()` exportable

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Add `prompt_test.go`

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Refactor `NewPrompt()` and move into new package `utils`

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Update `NewPrompt()` to use local config

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Add `NewConfigurationCommand()`

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Move `prompt_test.go`

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Remove `prompt_test.go` for now

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Add back and update `prompt_test.go`

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Add `configuration_test.go`

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Fix linting issues

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Fix linting issues

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Reverse early-termination logic in `Confirm()`

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Rename `ArgocdCMPath` to `argocdCMPath`

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Rename `SettingsOpts` to `settingsOpts`

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Rename `CreateSettingsManager()` to `createSettingsManager()`

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Rename `configuration` to `configure`

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Further rename `configuration` to `configure`

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Remove redundant Argo CD ConfigMap logic

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Fix terminal output spacing

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Make `argocd configure` use local config value as the default value for `--prompts-enabled`

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Add global CLI flag `--force-prompts-enabled`

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Update existing `prompt_test.go` test cases

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Add test case for `(p *Prompt).Confirm()`

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Add test cases for `GetBoolFlagWithFallback()` to `env_test.go`

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Format imports

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Further format imports and remove unused variable

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Again format imports

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Add fallback to `GetPromptsEnabled()`

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Fix bug in `GetPromptsEnabled()`

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Fix missing import

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Add auto-generated docs for `argocd configure`

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Add auto-generated docs for new global CLI flag `--force-prompts-enabled`

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Update `NewPrompt()` to receive a `bool` rather than `*apiclient.ClientOptions` arg

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Remove arg `fallback` from `GetPromptsEnabled()`

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Add arg `useCLIOpts bool` to `GetPromptsEnabled()`

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Make `config.LoadFlags()` exportable

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Add tests for `GetPromptsEnabled()`

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Fix linting errors in tests

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

* Run `make codegen-local`

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>

---------

Signed-off-by: David Wu <155603967+david-wu-octopus@users.noreply.github.com>
2024-10-25 10:21:23 +03:00
dependabot[bot]
f4577e3b5a chore(deps): bump github.com/ktrysmt/go-bitbucket from 0.9.80 to 0.9.81 (#20397)
Bumps [github.com/ktrysmt/go-bitbucket](https://github.com/ktrysmt/go-bitbucket) from 0.9.80 to 0.9.81.
- [Release notes](https://github.com/ktrysmt/go-bitbucket/releases)
- [Commits](https://github.com/ktrysmt/go-bitbucket/compare/v0.9.80...v0.9.81)

---
updated-dependencies:
- dependency-name: github.com/ktrysmt/go-bitbucket
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-25 09:34:28 +03:00
Chris Fidao
21026dba43 fixed formatting issue + added a few tidbits (#20522)
Signed-off-by: Chris Fidao <fideloper@gmail.com>
2024-10-25 09:09:46 +03:00
Rohen
1675b0b2ae chore: Update USERS.md (#20513) 2024-10-24 09:24:40 -07:00
dependabot[bot]
8c00cf0ce1 chore(deps): bump http-proxy-middleware from 2.0.4 to 2.0.7 in /ui (#20518) 2024-10-24 08:00:40 -04:00
Chris Fidao
c4453999f2 docs: Declarative argo clusters docs update for EKS (#20503)
* first stab at updating argo cd declaritive docs for eks

Signed-off-by: Chris Fidao <fideloper@gmail.com>

* some refinements

Signed-off-by: Chris Fidao <fideloper@gmail.com>

* Update docs/operator-manual/declarative-setup.md

Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
Signed-off-by: Chris Fidao <fideloper@gmail.com>

---------

Signed-off-by: Chris Fidao <fideloper@gmail.com>
Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
2024-10-24 05:23:52 -06:00
Alexander Matyushentsev
7c9bd2d2d3 feat: application resource deletion protection (#20497)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2024-10-24 00:08:24 -07:00
Leonardo Luz Almeida
212efa4914 feat: allow individual extension configs (#20491)
* feat: allow individual extension configs

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* fix test

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* update ext docs

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* + docs

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* pr review

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* address review comments

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

---------

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
2024-10-23 12:33:53 -04:00
Yash Talele
5b25b281c8 Fixed incorrect pluralization on resources (#20468)
Extra s was being added to the resources. So, I am checking if the
resource is ending in 's' or not. If it is ending in 's' no change, but
if not then 's' is added at the end of the word.

Signed-off-by: Yash Talele <yashrtalele@gmail.com>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2024-10-23 14:40:06 +00:00
Michael Crenshaw
0b48670ebb docs: clarify priority of health statuses (#20490)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-10-23 08:32:34 -06:00
ABBOUD Moncef
e953a2de8b fix(appset): avoid panic when no steps in rollingSync (#20357)
Signed-off-by: cef <moncef.abboud95@gmail.com>
2024-10-22 21:37:58 -04:00
dependabot[bot]
ea46572326 chore(deps): bump library/redis in /test/container (#20442)
Bumps library/redis from `5412098` to `00faee9`.

---
updated-dependencies:
- dependency-name: library/redis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-22 00:55:54 -04:00
Rune Antonsen
ac69f5223c docs(applicationset): explain how to add repo credentials (#20453)
* docs(applicationset): add section explaining how to set up repo credentials for git generator

Signed-off-by: Rune Antonsen <rune.antonsen@gmail.com>

* Update docs/operator-manual/applicationset/Generators-Git.md

Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
Signed-off-by: Rune Antonsen <rune.antonsen@gmail.com>

* Update docs/operator-manual/applicationset/Generators-Git.md

Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
Signed-off-by: Rune Antonsen <rune.antonsen@gmail.com>

* Update docs/operator-manual/applicationset/Generators-Git.md

Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
Signed-off-by: Rune Antonsen <rune.antonsen@gmail.com>

* Update docs/operator-manual/applicationset/Generators-Git.md

Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
Signed-off-by: Rune Antonsen <rune.antonsen@gmail.com>

---------

Signed-off-by: Rune Antonsen <rune.antonsen@gmail.com>
Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
2024-10-21 22:05:02 +02:00
Alexandre Gaudreault
aff5e6132b docs: document all unstable configurations (#20336) (#20438)
* overview

Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>

* 12

Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>

* document fields

Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>

* spec path wildcard

Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>

* order

Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>

* move links to bottom

Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>

---------

Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2024-10-21 00:14:45 -04:00
github-actions[bot]
fdf250309f [Bot] docs: Update Snyk reports (#20465)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2024-10-20 12:12:45 +00:00
Michael Crenshaw
ec499bb070 fix(diff): avoid cache miss in server-side diff (#20423) (#20424)
* fix(diff): avoid cache miss in server-side diff (#20423)

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* fix silly mistakes

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-10-18 09:36:42 -04:00
Blake Pettersson
76104dae21 fix: don't disable buttons for multi-source apps (#20446)
With #20381 multi-source apps were not taken into account 🤦

Fixes #20445.

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2024-10-18 03:16:59 -10:00
dependabot[bot]
e7e6f5bae9 chore(deps): bump github.com/redis/go-redis/v9 from 9.6.2 to 9.7.0 (#20441)
Bumps [github.com/redis/go-redis/v9](https://github.com/redis/go-redis) from 9.6.2 to 9.7.0.
- [Release notes](https://github.com/redis/go-redis/releases)
- [Changelog](https://github.com/redis/go-redis/blob/master/CHANGELOG.md)
- [Commits](https://github.com/redis/go-redis/compare/v9.6.2...v9.7.0)

---
updated-dependencies:
- dependency-name: github.com/redis/go-redis/v9
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-18 07:32:39 -04:00
dependabot[bot]
1d12fcfecf chore(deps): bump chromedriver from 129.0.4 to 130.0.0 in /ui-test (#20415)
Bumps [chromedriver](https://github.com/giggio/node-chromedriver) from 129.0.4 to 130.0.0.
- [Commits](https://github.com/giggio/node-chromedriver/compare/129.0.4...130.0.0)

---
updated-dependencies:
- dependency-name: chromedriver
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-18 13:17:40 +03:00
dependabot[bot]
4e92079c91 chore(deps-dev): bump @types/node from 22.7.5 to 22.7.6 in /ui-test (#20414)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.7.5 to 22.7.6.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-18 13:14:46 +03:00
renovate[bot]
8b06307500 chore(deps): update node.js to v23 (#20413)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-18 13:09:53 +03:00
Michael Crenshaw
79ba36026a fix(ci): handle new k3s test version matrix (#20223) (#20427)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-10-17 16:05:38 -04:00
변재한
d1ef0f85fa fix(docs): ensure version dropdown sorts correctly regardless of browser language #20289 (#20322)
Signed-off-by: jaehanbyun <awbrg789@naver.com>
2024-10-17 10:06:44 -04:00
Michael Crenshaw
c216ece3a4 chore(server): better error message for missing action (#20408) (#20409)
* chore(server): better error message for missing action

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* Update util/lua/lua_test.go

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-10-17 09:28:41 -04:00
Pan Luo
4faf8dd11c fix: the unmatching template issue introduced from #20237 (#20410)
* Fix the unmatching template error

The error in the notification controller shows unmatching "{{end}}"
```
error in 'app-health-degraded' teams.potentialAction: template:
app-health-degraded:14: unexpected {{end}}"
```

Signed-off-by: Pan Luo <pan.luo@ubc.ca>

* update templates to match the install.yaml

Signed-off-by: Pan Luo <pan.luo@ubc.ca>

* fix inconsistent yaml block style formating

Signed-off-by: Pan Luo <pan.luo@ubc.ca>

---------

Signed-off-by: Pan Luo <pan.luo@ubc.ca>
2024-10-17 08:17:10 -04:00
Michael Crenshaw
f6eaaea769 fix(ui): display correct init info in Pod UI (#20387)
* fix(controller): change pod status calculate with sidecar

Signed-off-by: linghaoSu <linghao.su@daocloud.io>

* fix(controller): add restartable sidecar count in total container display

Signed-off-by: linghaoSu <linghao.su@daocloud.io>

* test UI, fix bugs

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

oops

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

indent

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

fix accidental duplication

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* apply recommendation

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: linghaoSu <linghao.su@daocloud.io>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: linghaoSu <linghao.su@daocloud.io>
2024-10-17 08:16:51 -04:00
Michael Crenshaw
9b15589729 docs(cli): fix example command (#20402)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2024-10-17 08:14:39 -04:00
Michael Crenshaw
dff4152e8e docs: update note about timeout.reconciliation (#20407)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-10-17 10:05:13 +02:00
Blake Pettersson
ed4c0ee713 fix(ui): source can in fact be undefined (#20381)
* fix(ui): source can in fact be `undefined`

The assumption that a source is always there is not always true. To
repro, create an app-of-apps containing a single app without any `source`
present. In the UI this will crash, horribly. This PR fixes that so
that instead of crashing the user will get useful info indicating what
is wrong with the app.

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* chore(ui): some cr tweaks

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* chore(ui): some cr tweaks

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

---------

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2024-10-16 21:55:17 -04:00
Matthieu MOREL
cc989251ef chore: enable thelper linter (#20405)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-10-16 17:37:03 +00:00
dependabot[bot]
f031f490e6 chore(deps): bump github.com/prometheus/client_golang (#20398)
Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.20.4 to 1.20.5.
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prometheus/client_golang/compare/v1.20.4...v1.20.5)

---
updated-dependencies:
- dependency-name: github.com/prometheus/client_golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ishita Sequeira <46771830+ishitasequeira@users.noreply.github.com>
2024-10-16 10:48:26 -04:00
Matthieu MOREL
e0ebb02443 chore: enable usestdlibvars linter (#20399) 2024-10-16 07:54:00 -04:00
Sujin Kim
049ba0aab3 docs: correct typos in authz-authn.md and proxy-extensions.md (#20391)
* docs : correct typo from "bellow" to "below" in authz-authn.md

Signed-off-by: Sujin Kim <108571492+cowboysj@users.noreply.github.com>

* docs : correct typo from "modifiying" to "modifying" in extensions.md

Signed-off-by: Sujin Kim <108571492+cowboysj@users.noreply.github.com>

---------

Signed-off-by: Sujin Kim <108571492+cowboysj@users.noreply.github.com>
2024-10-16 00:39:21 +02:00
Linghao Su
e80de49043 fix(controller/ui): fix pod with sidecar state (#19843)
* fix(controller): change pod status calculate with sidecar

Signed-off-by: linghaoSu <linghao.su@daocloud.io>

* fix(controller): add restartable sidecar count in total container display

Signed-off-by: linghaoSu <linghao.su@daocloud.io>

* fix(controller): update info test case conditions

Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Signed-off-by: Linghao Su <slh001@live.cn>

* fix(controller): add more test case to cover more conditions

Signed-off-by: linghaoSu <linghao.su@daocloud.io>

* fix(ui): check is condition exist before for of

Signed-off-by: linghaoSu <linghao.su@daocloud.io>

---------

Signed-off-by: linghaoSu <linghao.su@daocloud.io>
Signed-off-by: Linghao Su <slh001@live.cn>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-10-15 15:05:34 -04:00
pasha-codefresh
d16df525d7 feat: manage clusters via proxy (#20374)
* feat: proxy support

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* feat: proxy support

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* feat: proxy support

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* fix linter

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* small improvements

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* add cluster test

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* fix linter

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* change error message

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* override always will change proxy url

Signed-off-by: pashakostohrys <pavel@codefresh.io>

---------

Signed-off-by: pashakostohrys <pavel@codefresh.io>
2024-10-15 09:47:52 -07:00
dependabot[bot]
b2e52de591 chore(deps): bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc (#20376)
Bumps [go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc](https://github.com/open-telemetry/opentelemetry-go-contrib) from 0.55.0 to 0.56.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-go-contrib/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go-contrib/compare/zpages/v0.55.0...zpages/v0.56.0)

---
updated-dependencies:
- dependency-name: go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-15 09:38:04 -07:00
pasha-codefresh
a25378f1ef feat: appset scm generators and PR generators should be able to access only secrets related to appset (#20309) 2024-10-15 08:28:13 -04:00
dependabot[bot]
195de1a7ab chore(deps): bump github.com/redis/go-redis/v9 from 9.6.1 to 9.6.2 (#20377)
Bumps [github.com/redis/go-redis/v9](https://github.com/redis/go-redis) from 9.6.1 to 9.6.2.
- [Release notes](https://github.com/redis/go-redis/releases)
- [Changelog](https://github.com/redis/go-redis/blob/master/CHANGELOG.md)
- [Commits](https://github.com/redis/go-redis/compare/v9.6.1...v9.6.2)

---
updated-dependencies:
- dependency-name: github.com/redis/go-redis/v9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-15 01:58:39 -04:00
dependabot[bot]
81785b861c chore(deps): bump github.com/xanzy/go-gitlab from 0.111.0 to 0.112.0 (#20378)
Bumps [github.com/xanzy/go-gitlab](https://github.com/xanzy/go-gitlab) from 0.111.0 to 0.112.0.
- [Release notes](https://github.com/xanzy/go-gitlab/releases)
- [Changelog](https://github.com/xanzy/go-gitlab/blob/main/releases_test.go)
- [Commits](https://github.com/xanzy/go-gitlab/compare/v0.111.0...v0.112.0)

---
updated-dependencies:
- dependency-name: github.com/xanzy/go-gitlab
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-15 01:58:14 -04:00
Michael Crenshaw
e654ed59f8 fix(cli): add missing resources and actions to cani CLI (#20347)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-10-14 22:32:40 -04:00
Michael Crenshaw
7ab5015691 docs: feature maturity page for alpha and beta features (#20336) (#20337)
* docs: feature maturity page for alpha and beta features (#20336)

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* typos

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-10-14 04:11:50 -10:00
Michael Crenshaw
0cdbc3cb3e chore: simplify 'get repo' API implementation (#20348)
* chore: simplify 'get repo' API implementation

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* import order

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-10-14 09:01:55 -04:00
dependabot[bot]
898c2b5902 chore(deps): bump github.com/bmatcuk/doublestar/v4 from 4.6.1 to 4.7.1 (#20363)
Bumps [github.com/bmatcuk/doublestar/v4](https://github.com/bmatcuk/doublestar) from 4.6.1 to 4.7.1.
- [Release notes](https://github.com/bmatcuk/doublestar/releases)
- [Commits](https://github.com/bmatcuk/doublestar/compare/v4.6.1...v4.7.1)

---
updated-dependencies:
- dependency-name: github.com/bmatcuk/doublestar/v4
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-14 08:58:36 -04:00
dependabot[bot]
e2c4b23701 chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc (#20361) 2024-10-14 12:36:47 +00:00
dependabot[bot]
e03d609a1c chore(deps): bump codecov/test-results-action from 1.0.0 to 1.0.1 (#20359) 2024-10-14 07:44:25 -04:00
dependabot[bot]
ed9d18f4e6 chore(deps): bump go.opentelemetry.io/otel from 1.30.0 to 1.31.0 (#20360) 2024-10-14 07:39:37 -04:00
kswadi
439edd0ef0 docs: added Podman based set up in contributors quick-start (#20367) 2024-10-14 07:38:41 -04:00
github-actions[bot]
a5a31a9539 [Bot] docs: Update Snyk reports (#20354)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2024-10-13 12:37:50 +00:00
Kunho Lee
9b11b21f00 fix: check err before use schedule and duration (#20043)
* fix: check err before use schedule and duration

Signed-off-by: daengdaengLee <gunho1020@gmail.com>

* test: add tests for invalid schedule and duration

Signed-off-by: daengdaengLee <gunho1020@gmail.com>

* feat: change to return error when sync window is invalid

Signed-off-by: daengdaengLee <gunho1020@gmail.com>

* fix: use assert.Error or assert.NoError

Signed-off-by: daengdaengLee <gunho1020@gmail.com>

* fix: use require instead of assert

Signed-off-by: daengdaengLee <gunho1020@gmail.com>

---------

Signed-off-by: daengdaengLee <gunho1020@gmail.com>
2024-10-12 13:32:46 -04:00
Anton Gilgur
cf498f674d chore(deps): upgrade argo-ui, including breaking changes (#19655)
* chore(deps): upgrade `argo-ui`, including one breaking change

- upgrade to a7b01f9f00

- `moment` is no longer used internally by `argo-ui`, so change `Ticker` usage to account for this
  - CD should also remove the deprecated `moment` library for the same reasons as downstream and Workflows

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* type-check and format fixes

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* set `durationMs={0}` instead of `null`

bc in JS `0 || null == null`, so the edge case of a `0` duration caused the component to render just an empty string

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

* update argo-ui once more for deprecated durationMs removal

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>

---------

Signed-off-by: Anton Gilgur <agilgur5@gmail.com>
2024-10-11 18:58:08 -04:00
Ashley Manraj
86769fc4db docs: Update USERS.md (#20349)
Added Pvotal technologies to the official user list

Signed-off-by: Ashley Manraj <90852185+a-manraj-pvotal@users.noreply.github.com>
2024-10-11 16:24:19 -04:00
ABBOUD Moncef
27eebaa53c feat(appset): add 'project' to the Cluster Generator params (#20338)
Signed-off-by: cef <moncef.abboud95@gmail.com>
2024-10-11 17:02:27 +00:00
Dillen Padhiar
b05cafdfca feat: add custom actions for Numaflow CRDs (#20332)
* feat: add pause/unpause actions for Numaflow CRDs

Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>

* fix: codegen

Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>

---------

Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>
2024-10-11 16:14:58 +00:00
Michael Crenshaw
b8f85c9500 fix(ci): get correct previous release version for release notes (#19443) (#20315)
* better release notes

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* work on fork

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* don't do unnecessary stuff

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* fix path

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* fix path

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* help debug

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* refactor, clean up

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* use a workspace to avoid touching the main go.mod

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-10-11 11:50:31 -04:00
ALIHAMZA99
d542b023f2 docs: updating links to the directory and wording (#20335)
* docs: updating links to the directory and wording

Signed-off-by: alnoor <alihamzanoor99@gmail.com>

* Update docs/developer-guide/test-e2e.md

Co-authored-by: rumstead <37445536+rumstead@users.noreply.github.com>
Signed-off-by: ALIHAMZA99 <46565563+ALIHAMZA99@users.noreply.github.com>

* Update links

Signed-off-by: ALIHAMZA99 <46565563+ALIHAMZA99@users.noreply.github.com>

* Update links

Signed-off-by: ALIHAMZA99 <46565563+ALIHAMZA99@users.noreply.github.com>

* Update links

Signed-off-by: ALIHAMZA99 <46565563+ALIHAMZA99@users.noreply.github.com>

* Update links

Signed-off-by: ALIHAMZA99 <46565563+ALIHAMZA99@users.noreply.github.com>

---------

Signed-off-by: alnoor <alihamzanoor99@gmail.com>
Signed-off-by: ALIHAMZA99 <46565563+ALIHAMZA99@users.noreply.github.com>
Co-authored-by: rumstead <37445536+rumstead@users.noreply.github.com>
2024-10-11 11:09:20 -04:00
dependabot[bot]
47f63f0d14 chore(deps): bump chromedriver from 129.0.3 to 129.0.4 in /ui-test (#20340)
Bumps [chromedriver](https://github.com/giggio/node-chromedriver) from 129.0.3 to 129.0.4.
- [Commits](https://github.com/giggio/node-chromedriver/compare/129.0.3...129.0.4)

---
updated-dependencies:
- dependency-name: chromedriver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-11 09:47:23 -04:00
dependabot[bot]
94e81cdae5 chore(deps): bump github.com/xanzy/go-gitlab from 0.110.0 to 0.111.0 (#20339)
Bumps [github.com/xanzy/go-gitlab](https://github.com/xanzy/go-gitlab) from 0.110.0 to 0.111.0.
- [Release notes](https://github.com/xanzy/go-gitlab/releases)
- [Changelog](https://github.com/xanzy/go-gitlab/blob/main/releases_test.go)
- [Commits](https://github.com/xanzy/go-gitlab/compare/v0.110.0...v0.111.0)

---
updated-dependencies:
- dependency-name: github.com/xanzy/go-gitlab
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-11 08:46:23 -04:00
Nitish Kumar
ed311fea13 add docs to build site locally (#20342)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2024-10-11 05:20:38 -07:00
Alexandre Gaudreault
29c59ab135 Revert "feat: exclude Endpoints and EndpointSlices Kubernetes resource by default" (#20334)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2024-10-10 17:43:16 +00:00
변재한
8ebf4a8841 feat: Enable ignoreResourceUpdate by default #19992 (#20303)
Signed-off-by: jaehanbyun <awbrg789@naver.com>
2024-10-10 12:39:04 -04:00
Alexander Matyushentsev
6b5cdc764d docs: document server side pagination proposal (#17222)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2024-10-10 12:02:05 -04:00
yan xu
d85a1dee23 fix(#18495): Add Alternate color of resources in sync panel (#19250)
* add Alternate color of resources in sync panel

Co-authored-by: Xu Yan <Yan.Xu@fmr.com>
Co-authored-by: Jessie Teng <jessie.teng@fmr.com>
Signed-off-by: Xu, Yan <Yan.Xu@fmr.com>

* format code

Signed-off-by: Xu, Yan <Yan.Xu@fmr.com>

* update style based on maintainer's feedback

Signed-off-by: Jessie Teng <jessie.teng@fmr.com>

* Add these styles to prevent overflow

Signed-off-by: Xu, Yan <Yan.Xu@fmr.com>

* add style base on maintainer feedback

Signed-off-by: Xu, Yan <Yan.Xu@fmr.com>

---------

Signed-off-by: Xu, Yan <Yan.Xu@fmr.com>
Signed-off-by: Jessie Teng <jessie.teng@fmr.com>
Co-authored-by: Jessie Teng <jessie.teng@fmr.com>
2024-10-10 16:46:29 +03:00
dependabot[bot]
e144d5c189 chore(deps): bump github.com/cyphar/filepath-securejoin (#20319)
Bumps [github.com/cyphar/filepath-securejoin](https://github.com/cyphar/filepath-securejoin) from 0.3.3 to 0.3.4.
- [Release notes](https://github.com/cyphar/filepath-securejoin/releases)
- [Changelog](https://github.com/cyphar/filepath-securejoin/blob/main/CHANGELOG.md)
- [Commits](https://github.com/cyphar/filepath-securejoin/compare/v0.3.3...v0.3.4)

---
updated-dependencies:
- dependency-name: github.com/cyphar/filepath-securejoin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-10 11:25:50 +03:00
dependabot[bot]
c4fb5d9b2a chore(deps): bump chromedriver from 129.0.2 to 129.0.3 in /ui-test (#20317)
Bumps [chromedriver](https://github.com/giggio/node-chromedriver) from 129.0.2 to 129.0.3.
- [Commits](https://github.com/giggio/node-chromedriver/compare/129.0.2...129.0.3)

---
updated-dependencies:
- dependency-name: chromedriver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-10 11:25:06 +03:00
renovate[bot]
77b57af230 chore(deps): update docker.io/library/golang:1.23.2 docker digest to a7f2fc9 (#20318)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-10 11:20:41 +03:00
dependabot[bot]
7031387b7f chore(deps): bump actions/upload-artifact from 4.4.2 to 4.4.3 (#20320)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.4.2 to 4.4.3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](84480863f2...b4b15b8c7c)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-10 11:20:25 +03:00
Rungsikorn Rungsikavarnich
19613a20fb feat(controller): support Istio ServiceEntry network node #20270 (#20273)
add serviceentry node to network diagram and link to workload
by workloadSelector label reference

Signed-off-by: zapkub <rungsikorn@me.com>
2024-10-10 11:19:39 +03:00
Michael Crenshaw
45bbd46287 chore(ui): fix sonarcloud warning (#16496)
* chore(ui): fix sonarcloud warning

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* accept suggestion

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: pasha-codefresh <pavel@codefresh.io>
2024-10-10 11:14:40 +03:00
Linghao Su
24e67df099 feat(ui): support enable word wrap in live and desired manifest panel (#20299)
Signed-off-by: linghaoSu <linghao.su@daocloud.io>
2024-10-09 22:30:35 -04:00
Dillen Padhiar
951f749406 fix: remove hardcoded conditions from Numaflow CRD health checks (#20316)
Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>
2024-10-09 17:32:14 -04:00
Dillen Padhiar
82484ce758 feat: introduce health checks for Numaflow CRDs (#20297)
Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>
2024-10-09 16:36:21 +00:00
Julie Vogelman
4722a7f78f feat: add Actions for PipelineRollout to allow/disallow data loss (#20298)
* add Actions for PipelineRollout to allow/disallow data loss

Signed-off-by: Julie Vogelman <julievogelman0@gmail.com>

* fix: test, add codegen generated docs

Signed-off-by: Julie Vogelman <julievogelman0@gmail.com>

* fix name

Signed-off-by: Julie Vogelman <julievogelman0@gmail.com>

* fix: make actions more robust to handle empty metadata

Signed-off-by: Julie Vogelman <julievogelman0@gmail.com>

* spacing

Signed-off-by: Julie Vogelman <julievogelman0@gmail.com>

---------

Signed-off-by: Julie Vogelman <julievogelman0@gmail.com>
2024-10-09 11:15:10 -04:00
rezellme
19d85aa9fb feat(health): Adding more health checks for Keycloak, Postgres, Grafana, SolrCloud (#20294)
* feat(health): Add healtchcheck for acid.zalan.do/postgresql

Signed-off-by: Remo Zellmer <rze@vizrt.com>

* feat(health): Add healthcheck for grafana.integreatly.org/Grafana and GrafanaDatasource

Signed-off-by: Remo Zellmer <rze@vizrt.com>

* feat(health): Add healthcheck for k8s.keycloak.org/Keycloak

Signed-off-by: Remo Zellmer <rze@vizrt.com>

* feat(health): Add healthcheck for solr.apache.org/SolrCloud

Signed-off-by: Remo Zellmer <rze@vizrt.com>

---------

Signed-off-by: Remo Zellmer <rze@vizrt.com>
2024-10-09 11:12:09 -04:00
Daan Verstraten
e1472f309a chore: replacing custom map util functions with golang std (#20311)
Signed-off-by: Daan Verstraten <daanverstraten@hotmail.com>
2024-10-09 10:34:03 -04:00
OpenGuidou
1bbeab7a03 feat(clusters) - Add disableCompression option in the cluster config (#20291)
Signed-off-by: OpenGuidou <guillaume.doussin@gmail.com>
2024-10-09 15:36:46 +03:00
Nitish Kumar
cfa1c89c43 fix: disable automaxprocs logging (#20069)
* disable automaxprocs logging

Signed-off-by: nitishfy <justnitish06@gmail.com>

fix lint checks

Signed-off-by: nitishfy <justnitish06@gmail.com>

move maxprocs to main.go

Signed-off-by: nitishfy <justnitish06@gmail.com>

move set auto max procs to a function

Signed-off-by: nitishfy <justnitish06@gmail.com>

add info log

Signed-off-by: nitishfy <justnitish06@gmail.com>

* add info log

Signed-off-by: nitishfy <justnitish06@gmail.com>

* fix lint checks

Signed-off-by: nitishfy <justnitish06@gmail.com>

* fix lint checks

Signed-off-by: nitishfy <justnitish06@gmail.com>

* add unit test

Signed-off-by: nitishfy <justnitish06@gmail.com>

* fix lint issues

Signed-off-by: nitishfy <justnitish06@gmail.com>

---------

Signed-off-by: nitishfy <justnitish06@gmail.com>
2024-10-09 11:21:24 +00:00
dependabot[bot]
f9845694d0 chore(deps): bump actions/cache from 4.1.0 to 4.1.1 (#20301)
Bumps [actions/cache](https://github.com/actions/cache) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](2cdf405574...3624ceb22c)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-09 14:14:54 +03:00
dependabot[bot]
78c85a2295 chore(deps-dev): bump @types/node from 22.7.2 to 22.7.5 in /ui-test (#20281)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.7.2 to 22.7.5.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-09 14:10:46 +03:00
dependabot[bot]
3da774bb0b chore(deps): bump actions/upload-artifact from 4.4.1 to 4.4.2 (#20300)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.4.1 to 4.4.2.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](604373da63...84480863f2)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-09 13:59:37 +03:00
Michael Crenshaw
8647db1157 chore(controller): remove unnecessary field (#20295)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-10-09 13:59:03 +03:00
dependabot[bot]
c6d45d8dcf chore(deps-dev): bump typescript from 5.6.2 to 5.6.3 in /ui-test (#20302)
Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.6.2 to 5.6.3.
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.6.2...v5.6.3)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-09 13:40:59 +03:00
Alexander Matyushentsev
dc27102cff feat: support using exponential backoff between self heal attempts (#20275)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2024-10-08 16:32:00 +00:00
Blake Pettersson
6002c7d8f3 fix: allow pipes to be present in git username (#20040)
* fix: [#15949] split git revision metadata by newline not pipe symbol

pipe symbol '|' could appear in username or commit message body

Signed-off-by: Petr Studeny <studenyp@gmail.com>

* test: add test

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* Update util/git/client_test.go

Co-authored-by: Petr Studeny <studenyp@gmail.com>
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* test: fix test

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

---------

Signed-off-by: Petr Studeny <studenyp@gmail.com>
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
Co-authored-by: Petr Studeny <studenyp@gmail.com>
2024-10-08 08:10:46 -04:00
변재한
a288b4d8c9 feat: exclude Endpoints and EndpointSlices Kubernetes resource by default (#20251)
Signed-off-by: jaehanbyun <awbrg789@naver.com>
2024-10-08 17:32:00 +05:30
ayatk
3f249ffc8d chore: Update notification engine to 2fef5c9 (#20276)
* Update notification-engine to 2fef5c9049fd

Signed-off-by: ayatk <ayatk@users.noreply.github.com>

* make notification-docs

Signed-off-by: ayatk <ayatk@users.noreply.github.com>

---------

Signed-off-by: ayatk <ayatk@users.noreply.github.com>
Co-authored-by: ayatk <ayatk@users.noreply.github.com>
2024-10-08 09:38:27 +03:00
dependabot[bot]
8d9a3a743a chore(deps): bump library/redis from 7.4.0 to 7.4.1 in /test/container (#20282)
Bumps library/redis from 7.4.0 to 7.4.1.

---
updated-dependencies:
- dependency-name: library/redis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-08 09:36:53 +03:00
dependabot[bot]
c641304b2a chore(deps-dev): bump @types/mocha from 10.0.8 to 10.0.9 in /ui-test (#20280)
Bumps [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha) from 10.0.8 to 10.0.9.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/mocha)

---
updated-dependencies:
- dependency-name: "@types/mocha"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-08 09:35:20 +03:00
dependabot[bot]
1e84af73df chore(deps): bump actions/upload-artifact from 4.4.0 to 4.4.1 (#20279)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.4.0 to 4.4.1.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](50769540e7...604373da63)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-08 09:34:26 +03:00
dependabot[bot]
419cf25f28 chore(deps): bump google.golang.org/protobuf from 1.34.2 to 1.35.1 (#20277)
Bumps google.golang.org/protobuf from 1.34.2 to 1.35.1.

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-08 09:34:09 +03:00
dependabot[bot]
948aaf6f90 chore(deps): bump SonarSource/sonarqube-scan-action (#20278)
Bumps [SonarSource/sonarqube-scan-action](https://github.com/sonarsource/sonarqube-scan-action) from 0c0f3958d90fc466625f1d1af1f47bddd4cc6bd1 to 884b79409bbd464b2a59edc326a4b77dc56b2195.
- [Release notes](https://github.com/sonarsource/sonarqube-scan-action/releases)
- [Commits](0c0f3958d9...884b79409b)

---
updated-dependencies:
- dependency-name: SonarSource/sonarqube-scan-action
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-08 09:33:54 +03:00
youhonglian
20e2e78476 fix(ui): history error reported in the dev environment (#20133)
Signed-off-by: honglian.you <honglian.you@daocloud.io>
2024-10-07 17:52:24 +03:00
dcoppa
345c8a18a2 fix: GOLANGCI_LINT_VERSION (#20264)
* Fix GOLANGCI_LINT_VERSION

Signed-off-by: David Coppa <dcoppa@cocus.com>

* chore(deps): bump SonarSource/sonarqube-scan-action from 2.3.0 to 3.0.0 (#19524)

Bumps [SonarSource/sonarqube-scan-action](https://github.com/sonarsource/sonarqube-scan-action) from 2.3.0 to 3.0.0.
- [Release notes](https://github.com/sonarsource/sonarqube-scan-action/releases)
- [Commits](aecaf43ae5...0c0f3958d9)

---
updated-dependencies:
- dependency-name: SonarSource/sonarqube-scan-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: David Coppa <dcoppa@cocus.com>

* Update install-lint-tools.sh

Signed-off-by: dcoppa <dcoppa@gmail.com>

---------

Signed-off-by: David Coppa <dcoppa@cocus.com>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: dcoppa <dcoppa@gmail.com>
Co-authored-by: David Coppa <dcoppa@cocus.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-07 11:47:17 +00:00
Pavel Soloviev
6a9fe45871 docs: Add 404 Not Found github notify error to troubleshooting docs (#20085)
* docs: Add `404 Not Found` github notification error to troubleshooting docs

Signed-off-by: Moleus <fafufuburr@gmail.com>

* Update docs/operator-manual/notifications/troubleshooting-errors.md

Signed-off-by: Dan Garfield <dan@codefresh.io>

Signed-off-by: Dan Garfield <dan@codefresh.io>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* Update docs/operator-manual/notifications/troubleshooting-errors.md

Signed-off-by: Dan Garfield <dan@codefresh.io>

Signed-off-by: Dan Garfield <dan@codefresh.io>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* fix: CVE-2024-45296 Backtracking regular expressions cause ReDoS by upgrading path-to-regexp from 1.8.0 to 1.9.0 (#20087)

Signed-off-by: Cheng Fang <cfang@redhat.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore(deps-dev): bump @types/node from 22.5.5 to 22.7.2 in /ui-test (#20112)

Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.5.5 to 22.7.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* fix(extension): add header to support apps-in-any-namespace (#20123)

Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* Fix typo (#20127)

Remove a redundant "is".

Signed-off-by: Symeon Meichanetzoglou <simosmeih@gmail.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* fix(ui): add optional check to avoid undefined reference in project detail (#20044)

Signed-off-by: linghaoSu <linghao.su@daocloud.io>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore(deps): bump Helm from 3.15.2 to 3.15.4 (#20135)

* sec: upgrade helm version in order to fix critical vulnerability

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* sec: upgrade helm version in order to fix critical vulnerability

Signed-off-by: pashakostohrys <pavel@codefresh.io>

---------

Signed-off-by: pashakostohrys <pavel@codefresh.io>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* fix: oras-go client should fallback to docker config if no credentials specified (#18133)

* oras-go client should fallback to docker config if no credentials specified

Signed-off-by: Tony Au-Yeung <tony@elevenlabs.io>

* Fix tests

Signed-off-by: Tony Au-Yeung <tony@elevenlabs.io>

* Fix lint

Signed-off-by: Tony Au-Yeung <tony@elevenlabs.io>

* gofumpt

Signed-off-by: Tony Au-Yeung <tony@elevenlabs.io>

* Validate auth header

Signed-off-by: Tony Au-Yeung <tony@elevenlabs.io>

---------

Signed-off-by: Tony Au-Yeung <tony@elevenlabs.io>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore(deps): bump docker/build-push-action from 6.7.0 to 6.8.0 (#20154)

Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.7.0 to 6.8.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](5cd11c3a4c...32945a3392)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* fix: Fix argocd appset generate failure due to missing clusterrole (#20162)

* fix: FIx argocd-server clusterrole to allow argocd appset generate using cluster generator

Signed-off-by: Pradithya Aria <pradithya.pura@gojek.com>

* fix: update generated code

Signed-off-by: Pradithya Aria <pradithya.pura@gojek.com>

---------

Signed-off-by: Pradithya Aria <pradithya.pura@gojek.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* [Bot] docs: Update Snyk reports (#20146)

Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* fix: repo generate paths value in namespace install is incorrectly formatted (#20139)

* Fix repo generate paths value in namespace install

Signed-off-by: todaywasawesome <dan@codefresh.io>

* Fix in base and regen

Signed-off-by: todaywasawesome <dan@codefresh.io>

---------

Signed-off-by: todaywasawesome <dan@codefresh.io>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* feat: introduce pause/unpause actions for Numaplane CRDs (#20128)

* feat: introduce pause/unpause actions for Numaplane CRDs

Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>

* test: fixed incorrect file names

Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>

* chore: codegen

Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>

* fix: empty check for lifecycle

Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>

* fix: nil check

Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>

* fix: nil checks

Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>

* test: testing different starting spec

Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>

* feat: add nil checks for all possible nil fields

Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>

* chore: rerun tests

Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>

---------

Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* feat(appset): Add a cache layer for Argo Projects to speed-up application validation (#18703)

* feat(appset): Add a cache layer for Argo Projects to speed-up application validation

Signed-off-by: Philippe Da Costa <pdacosta@gmail.com>

* Use local client rather than custom cache

Signed-off-by: Philippe Da Costa <pdacosta@gmail.com>

* Clean go.mod

Signed-off-by: Philippe Da Costa <pdacosta@gmail.com>

* Merge master

Signed-off-by: Philippe Da Costa <pdacosta@gmail.com>

* Fix after merging master
Signed-off-by: Philippe Da Costa <pdacosta@gmail.com>

Signed-off-by: Philippe Da Costa <pdacosta@gmail.com>

* Initialize appProject variable inside loop

Signed-off-by: Philippe Da Costa <pdacosta@gmail.com>

* Remove unused ArgoAppClientset field
Signed-off-by: Philippe Da Costa <pdacosta@gmail.com>

Signed-off-by: Philippe Da Costa <pdacosta@gmail.com>

* Fix linter issue
Signed-off-by: Philippe Da Costa <pdacosta@gmail.com>

Signed-off-by: Philippe Da Costa <pdacosta@gmail.com>

---------

Signed-off-by: Philippe Da Costa <pdacosta@gmail.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* docs: added note re. arch of example application on getting_started.md (#20143)

added warning that example application may not run on all archs

Signed-off-by: Crumbs <44215646+Crumb5@users.noreply.github.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* fix(ui): hide resource actions menu if it's empty (#20051)

Signed-off-by: cef <moncef.abboud95@gmail.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* Fixes minor typo which lead to using the bearer token as api URL and was obviously not working. (#20169)

Signed-off-by: asjervanasten <asjer94@live.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore: Try to make CodeQL happy (#20094) (#20129)

* chore(common): Split const from unrelated util/clusterauth const

Signed-off-by: Josh Soref <jsoref@gmail.com>

* chore: Try to make CodeQL happy

Signed-off-by: Josh Soref <jsoref@gmail.com>

---------

Signed-off-by: Josh Soref <jsoref@gmail.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore(deps): bump docker/build-push-action from 6.8.0 to 6.9.0 (#20174)

Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.8.0 to 6.9.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](32945a3392...4f58ea7922)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* feat(ui): make name property for repos (#20077)

* name-option-added

Signed-off-by: Surajyadav <harrypotter1108@gmail.com>

* lint

Signed-off-by: Surajyadav <harrypotter1108@gmail.com>

---------

Signed-off-by: Surajyadav <harrypotter1108@gmail.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* feat: basic e2e tests in order to verify notification service health (#20182)

* feat: basic e2e tests in order to verify notification service health

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* feat: basic e2e tests in order to verify notification service health

Signed-off-by: pashakostohrys <pavel@codefresh.io>

---------

Signed-off-by: pashakostohrys <pavel@codefresh.io>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore: document credentials server (#20078)

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* feat: Add nodeSelector for Linux nodes (#20148)

* feat: Add nodeSelector for Linux nodes in application-controller, applicationset-controller, and repo-server

Signed-off-by: leehosu <hosu4549@gmail.com>

* refactor : Reversal the wrong part and correct it.

Signed-off-by: leehosu <hosu4549@gmail.com>

* Update argocd-application-controller-statefulset.yaml

Signed-off-by: l2h <hosu4549@gmail.com>

* feat: Add nodeSelector for Linux nodes in dex-server, argo-server

Signed-off-by: leehosu <hosu4549@gmail.com>

* refactor: update code to resolving for intergration test

Signed-off-by: leehosu <hosu4549@gmail.com>

* refactor: update code to resolving for codegen

Signed-off-by: leehosu <hosu4549@gmail.com>

* Run make manifests-local and then commit

Signed-off-by: leehosu <hosu4549@gmail.com>

---------

Signed-off-by: leehosu <hosu4549@gmail.com>
Signed-off-by: l2h <hosu4549@gmail.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore(deps): bump github.com/cyphar/filepath-securejoin (#20173)

Bumps [github.com/cyphar/filepath-securejoin](https://github.com/cyphar/filepath-securejoin) from 0.3.2 to 0.3.3.
- [Release notes](https://github.com/cyphar/filepath-securejoin/releases)
- [Changelog](https://github.com/cyphar/filepath-securejoin/blob/main/CHANGELOG.md)
- [Commits](https://github.com/cyphar/filepath-securejoin/compare/v0.3.2...v0.3.3)

---
updated-dependencies:
- dependency-name: github.com/cyphar/filepath-securejoin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* feat(appset): parameterize requeue time #20063 (#20064)

Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore(ci): better handling of Go and Node dependency bumps (#20168)

* chore(ci): better handling of Go and Node dependency bumps

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

temporarily remove condition

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

quit early if there are no changes

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

use latest checkout action and actually test version change

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

use github token

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

workflow for node

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

clean up after changing node version

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

revert temporary changes

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

more docs

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* bump linter version

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore(deps): bump codecov/codecov-action from 4.5.0 to 4.6.0 (#20188)

Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4.5.0 to 4.6.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](e28ff129e5...b9fd7d16f6)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* docs(ui): sorting version (#20181)

Signed-off-by: nueavv <nuguni@kakao.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* docs: add outpost24 to users.md (#20197)

Signed-off-by: Phong Do <dominhphong306@gmail.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* docs: Update argocd path for command in notifification in troubleshooting docs (#20120)

Co-authored-by: Dan Garfield <dan@codefresh.io>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore(deps): bump google.golang.org/grpc from 1.67.0 to 1.67.1 (#20190)

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.67.0 to 1.67.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.67.0...v1.67.1)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore(deps): bump chromedriver from 129.0.0 to 129.0.2 in /ui-test (#20189)

Bumps [chromedriver](https://github.com/giggio/node-chromedriver) from 129.0.0 to 129.0.2.
- [Commits](https://github.com/giggio/node-chromedriver/compare/129.0.0...129.0.2)

---
updated-dependencies:
- dependency-name: chromedriver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore(deps): bump bitnami/kubectl in /test/container (#20191)

Bumps bitnami/kubectl from `da4a986` to `b509ab6`.

---
updated-dependencies:
- dependency-name: bitnami/kubectl
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dan Garfield <dan@codefresh.io>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore(deps): bump library/busybox in /test/e2e/multiarch-container (#20193)

Bumps library/busybox from `c230832` to `768e5c6`.

---
updated-dependencies:
- dependency-name: library/busybox
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* fix(helm): escape consecutive commas in cleanSetParameters (#19269) (#20113)

Signed-off-by: KangManJoo <eogns47@konkuk.ac.kr>
Signed-off-by: daengdaengLee <gunho1020@gmail.com>
Co-authored-by: daengdaengLee <gunho1020@gmail.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* Update troubleshooting-errors.md (#20201)

Fixing some phrasing and adding more clarity.

Signed-off-by: Dan Garfield <dan@codefresh.io>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* fix: Rework git tag semver resolution (#20083) (#20096)

* Write initial tests

Signed-off-by: Paul Larsen <pnvlarsen@gmail.com>

* Improve git tag semver resolution

Signed-off-by: Paul Larsen <pnvlarsen@gmail.com>

* Add company to list of users

Signed-off-by: Paul Larsen <pnvlarsen@gmail.com>

* Fix broken error string check

Signed-off-by: Paul Larsen <pnvlarsen@gmail.com>

* Fix incorrect semver test assumption

Signed-off-by: Paul Larsen <pnvlarsen@gmail.com>

* switch to debug statement

Signed-off-by: Paul Larsen <pnvlarsen@gmail.com>

* Add more testcases for review

Signed-off-by: Paul Larsen <pnvlarsen@gmail.com>

* review comments

Signed-off-by: Paul Larsen <pnvlarsen@gmail.com>

---------

Signed-off-by: Paul Larsen <pnvlarsen@gmail.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore(deps): bump golangci/golangci-lint-action from 6.1.0 to 6.1.1 (#20207)

Signed-off-by: Moleus <fafufuburr@gmail.com>

* feat(ui): support auto theme (#20080)

* feat(theme): support auto theme

Signed-off-by: linghaoSu <linghao.su@daocloud.io>

* fix(ui): set default theme as light

Signed-off-by: linghaoSu <linghao.su@daocloud.io>

* fix(ui): only register listener when theme is auto

Signed-off-by: linghaoSu <linghao.su@daocloud.io>

---------

Signed-off-by: linghaoSu <linghao.su@daocloud.io>
Co-authored-by: Dan Garfield <dan@codefresh.io>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore(deps): bump selenium-webdriver from 4.24.1 to 4.25.0 in /ui-test (#20058)

Bumps [selenium-webdriver](https://github.com/SeleniumHQ/selenium) from 4.24.1 to 4.25.0.
- [Release notes](https://github.com/SeleniumHQ/selenium/releases)
- [Commits](https://github.com/SeleniumHQ/selenium/commits/selenium-4.25.0)

---
updated-dependencies:
- dependency-name: selenium-webdriver
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* fix: refine deny destination checks (#20045)

* fix: refine server deny check

Fixes #19804. The deny destination check can be made more intuitive by
doing the following:

* short-circuit any deny destination
* first, for any deny server destination, _also_ check if the namespace matches
* for any deny namespace destination, reject as before

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* fix: also assert that server matches on ns deny

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

---------

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* 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 <anjoseph@redhat.com>

* Added comments for the newly added unit tests

Signed-off-by: anandf <anjoseph@redhat.com>

* Refactored method name to deriveServiceAccountToImpersonate

Signed-off-by: anandf <anjoseph@redhat.com>

* Using const name in return value

Signed-off-by: anandf <anjoseph@redhat.com>

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

Signed-off-by: anandf <anjoseph@redhat.com>

* Fixed failing e2e tests

Signed-off-by: anandf <anjoseph@redhat.com>

* Fix linting errors

Signed-off-by: anandf <anjoseph@redhat.com>

* Using require package instead of assert and fixed code generation

Signed-off-by: anandf <anjoseph@redhat.com>

* Removed parallel execution of tests for sync with impersonate

Signed-off-by: anandf <anjoseph@redhat.com>

* Added err checks for glob validations

Signed-off-by: anandf <anjoseph@redhat.com>

* Fixed e2e tests for sync impersonation

Signed-off-by: anandf <anjoseph@redhat.com>

* Using consistently based expects in E2E tests

Signed-off-by: anandf <anjoseph@redhat.com>

* Added more unit tests and fixed go generate

Signed-off-by: anandf <anjoseph@redhat.com>

* Fixed failed lint errors, unit and e2e test failures

Signed-off-by: anandf <anjoseph@redhat.com>

* Fixed goimports linter issue

Signed-off-by: anandf <anjoseph@redhat.com>

* Added code comments and added few missing unit tests

Signed-off-by: anandf <anjoseph@redhat.com>

* Added missing unit test for GetDestinationServiceAccounts method

Signed-off-by: anandf <anjoseph@redhat.com>

* Fixed goimports formatting with local for project_test.go

Signed-off-by: anandf <anjoseph@redhat.com>

* Corrected typo in a field name additionalObjs

Signed-off-by: anandf <anjoseph@redhat.com>

* Fixed failing unit tests

Signed-off-by: anandf <anjoseph@redhat.com>

---------

Signed-off-by: anandf <anjoseph@redhat.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* fix: Fix false positive in plugin application discovery (#20196)

* fix: fix false positive in plugin application discovery

Signed-off-by: Pradithya Aria <pradithya.pura@gojek.com>

* fix: apply suggestion to return immediately if discovery is not configured for unnamed plugin

Signed-off-by: Pradithya Aria <pradithya.pura@gojek.com>

---------

Signed-off-by: Pradithya Aria <pradithya.pura@gojek.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* fix: update health check to support modelmesh (#20142)

Signed-off-by: Trevor Royer <troyer@redhat.com>
Co-authored-by: Dan Garfield <dan@codefresh.io>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore: rename protobuf field according to convention (#20221)

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* docs: add TBC Bank to USERS.md (#20227)

* docs: add TBC Bank to USERS.md

Signed-off-by: Mate Gogiberidze <gogiberidzemate9@gmail.com>

* docs: reorder TBC Bank by alphabetical

Signed-off-by: Mate Gogiberidze <gogiberidzemate9@gmail.com>

---------

Signed-off-by: Mate Gogiberidze <gogiberidzemate9@gmail.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore(deps): bump docker/setup-buildx-action from 3.6.1 to 3.7.0 (#20224)

Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.6.1 to 3.7.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](988b5a0280...8026d2bc36)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore(deps): bump tj-actions/changed-files from 45.0.2 to 45.0.3 (#20225)

Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 45.0.2 to 45.0.3.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](48d8f15b2a...c3a1bb2c99)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* fix: use `ErrorContains(t, err` instead of `Contains(t, err.Error()` (#20220)

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* docs: Correct ApplicationSet (spec.preservedFields) (#20206)

* Fix docs

Signed-off-by: jyoungs <jyoungs@bluenightmare.com>

* Remove another errant block; improved comments

Signed-off-by: jyoungs <jyoungs@bluenightmare.com>

* Actually removed the errant block

Signed-off-by: jyoungs <jyoungs@bluenightmare.com>

* More doc fixes

Signed-off-by: jyoungs <jyoungs@bluenightmare.com>

* More spec fixes + USERS

Signed-off-by: jyoungs <jyoungs@bluenightmare.com>

---------

Signed-off-by: jyoungs <jyoungs@bluenightmare.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* fix(health): only consider non-empty health checks (#20232)

* fix(health): only consider non-empty health checks

For wildcard health checks, only consider wildcards with a non-empty
health check. Fixes #16905 (at least partially).

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* test: renaming test case for clarity

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* refactor: add clarity as to what the function is supposed to do

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* Update docs/operator-manual/health.md

Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* test: add test case for `*/*` override with empty healthcheck

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

---------

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* fix: support managing cluster with multiple argocd instances and annotation based tracking (#20222)

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* fix notification-catlog issue (#20237)

Signed-off-by: ajinkyak423 <ajinkyakumbhar423@gmail.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore(ci): add renovate for golangci-lint, go and node version (#20236)

Signed-off-by: ggjulio <juligonz@student.42.fr>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore(deps): bump actions/cache from 4.0.2 to 4.1.0 (#20240)

Bumps [actions/cache](https://github.com/actions/cache) from 4.0.2 to 4.1.0.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](0c45773b62...2cdf405574)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore(deps): bump docker/setup-buildx-action from 3.7.0 to 3.7.1 (#20241)

Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.7.0 to 3.7.1.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](8026d2bc36...c47758b77c)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore(deps): bump golang.org/x/time from 0.6.0 to 0.7.0 (#20244)

Bumps [golang.org/x/time](https://github.com/golang/time) from 0.6.0 to 0.7.0.
- [Commits](https://github.com/golang/time/compare/v0.6.0...v0.7.0)

---
updated-dependencies:
- dependency-name: golang.org/x/time
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* feat(cli): Add app diff option to specify exit code when diff (#20144)

The argocd app diff command returns 1 if a difference is found. In related issues,
they want to return an error code that is distinguishable from common errors.
However, changing the existing behavior is likely to break user's automation code.
So we want to provide an explicit option(--diff-exit-code) to specify an error code.

Related: #3588

Signed-off-by: Eugene Kim <eugene70kim@gmail.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* feat: add support for helm skipTests flag (#20118)

Signed-off-by: jaehanbyun <awbrg789@naver.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore(deps): bump sigstore/cosign-installer from 3.6.0 to 3.7.0 (#20242)

Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) from 3.6.0 to 3.7.0.
- [Release notes](https://github.com/sigstore/cosign-installer/releases)
- [Commits](4959ce089c...dc72c7d5c4)

---
updated-dependencies:
- dependency-name: sigstore/cosign-installer
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore(deps): bump golang.org/x/term from 0.24.0 to 0.25.0 (#20245)

Bumps [golang.org/x/term](https://github.com/golang/term) from 0.24.0 to 0.25.0.
- [Commits](https://github.com/golang/term/compare/v0.24.0...v0.25.0)

---
updated-dependencies:
- dependency-name: golang.org/x/term
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore(deps): bump golang.org/x/crypto from 0.27.0 to 0.28.0 (#20243)

Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.27.0 to 0.28.0.
- [Commits](https://github.com/golang/crypto/compare/v0.27.0...v0.28.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore(deps): bump golang.org/x/net from 0.29.0 to 0.30.0 (#20246)

Bumps [golang.org/x/net](https://github.com/golang/net) from 0.29.0 to 0.30.0.
- [Commits](https://github.com/golang/net/compare/v0.29.0...v0.30.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore: update notifications-engine to 22ccfe0caf45 (#20239)

* Update notifications-engine

Signed-off-by: SLASHLogin <loginmlgxd@gmail.com>

* Update docs for Opsgenie notifications

Signed-off-by: SLASHLogin <loginmlgxd@gmail.com>

* docs: Fix outdated slack notification configuration readme

Signed-off-by: SLASHLogin <loginmlgxd@gmail.com>

---------

Signed-off-by: SLASHLogin <loginmlgxd@gmail.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* [Bot] docs: Update Snyk reports (#20250)

Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* fix: handle incorrect cluster RESTconfig without panic (#20150)

Signed-off-by: cef <moncef.abboud95@gmail.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore(deps): update node version (#20248)

* chore(deps): update node version

* Update ui/.nvmrc

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* sec: update alpine/helm to 3.16.1 (#20253)

Signed-off-by: pashakostohrys <pavel@codefresh.io>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore(ci): update renovate config (#20254)

Signed-off-by: ggjulio <juligonz@student.42.fr>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* fix: Policy/policy.open-cluster-management.io health check is broken (#20108) (#20109)

Tried using the health check as listed here but it gave error:

| error setting app health: failed to get resource health for "Policy" with name "XXXX" in namespace "local-cluster": <string>:35: invalid value (nil) at index 1 in table for concat stack traceback: [G]: in function 'concat' <string>:35: in main chunk [G]: ?

This change fixes the error by updating how the noncompliant clusters are tracked and counted to use latest Lua recommendations.

Signed-off-by: Ian Tewksbury <itewk@redhat.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* feat(applicationset): Add FlatList option to cluster generator - Fixes #20212 (#20231)

* (feat) - Add FlatList option to cluster generator

Signed-off-by: OpenGuidou <guillaume.doussin@gmail.com>

* Update docs/operator-manual/applicationset/Generators-Cluster.md

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: OpenGuidou <guillaume.doussin@gmail.com>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore(deps): update docs dependencies (#20257)

* chore(deps): update docs dependencies

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* bump rtd python version

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore(deps): update group golang to v1.23.2 (#20256)

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Moleus <fafufuburr@gmail.com>

* chore: bump k8s versions in e2e tests (#19669)

Signed-off-by: Moleus <fafufuburr@gmail.com>

---------

Signed-off-by: Moleus <fafufuburr@gmail.com>
Signed-off-by: Dan Garfield <dan@codefresh.io>
Signed-off-by: Cheng Fang <cfang@redhat.com>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Signed-off-by: Symeon Meichanetzoglou <simosmeih@gmail.com>
Signed-off-by: linghaoSu <linghao.su@daocloud.io>
Signed-off-by: pashakostohrys <pavel@codefresh.io>
Signed-off-by: Tony Au-Yeung <tony@elevenlabs.io>
Signed-off-by: Pradithya Aria <pradithya.pura@gojek.com>
Signed-off-by: CI <ci@argoproj.com>
Signed-off-by: todaywasawesome <dan@codefresh.io>
Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>
Signed-off-by: Philippe Da Costa <pdacosta@gmail.com>
Signed-off-by: Crumbs <44215646+Crumb5@users.noreply.github.com>
Signed-off-by: cef <moncef.abboud95@gmail.com>
Signed-off-by: asjervanasten <asjer94@live.com>
Signed-off-by: Josh Soref <jsoref@gmail.com>
Signed-off-by: Surajyadav <harrypotter1108@gmail.com>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Signed-off-by: leehosu <hosu4549@gmail.com>
Signed-off-by: l2h <hosu4549@gmail.com>
Signed-off-by: nueavv <nuguni@kakao.com>
Signed-off-by: Phong Do <dominhphong306@gmail.com>
Signed-off-by: KangManJoo <eogns47@konkuk.ac.kr>
Signed-off-by: daengdaengLee <gunho1020@gmail.com>
Signed-off-by: Paul Larsen <pnvlarsen@gmail.com>
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
Signed-off-by: anandf <anjoseph@redhat.com>
Signed-off-by: Trevor Royer <troyer@redhat.com>
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
Signed-off-by: Mate Gogiberidze <gogiberidzemate9@gmail.com>
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
Signed-off-by: jyoungs <jyoungs@bluenightmare.com>
Signed-off-by: ajinkyak423 <ajinkyakumbhar423@gmail.com>
Signed-off-by: ggjulio <juligonz@student.42.fr>
Signed-off-by: Eugene Kim <eugene70kim@gmail.com>
Signed-off-by: jaehanbyun <awbrg789@naver.com>
Signed-off-by: SLASHLogin <loginmlgxd@gmail.com>
Signed-off-by: Ian Tewksbury <itewk@redhat.com>
Signed-off-by: OpenGuidou <guillaume.doussin@gmail.com>
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Dan Garfield <dan@codefresh.io>
Co-authored-by: Cheng Fang <cfang@redhat.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Symeon Meichanetzoglou <sym@open.ch>
Co-authored-by: Linghao Su <linghao.su@daocloud.io>
Co-authored-by: pasha-codefresh <pavel@codefresh.io>
Co-authored-by: Tony Au-Yeung <tonyay163@gmail.com>
Co-authored-by: aria <pradithya.pura@gojek.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: CI <ci@argoproj.com>
Co-authored-by: Dillen Padhiar <38965141+dpadhiar@users.noreply.github.com>
Co-authored-by: Daco <dacofr@users.noreply.github.com>
Co-authored-by: Crumbs <44215646+Crumb5@users.noreply.github.com>
Co-authored-by: ABBOUD Moncef <moncef.abboud95@gmail.com>
Co-authored-by: appiepollo14 <asjer94@live.com>
Co-authored-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Co-authored-by: Suraj yadav <harrypotter1108@gmail.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: l2h <hosu4549@gmail.com>
Co-authored-by: rumstead <37445536+rumstead@users.noreply.github.com>
Co-authored-by: 1102 <90682513+nueavv@users.noreply.github.com>
Co-authored-by: Phong Do <dominhphong306@gmail.com>
Co-authored-by: Olivier Wenger <14903492+owngr@users.noreply.github.com>
Co-authored-by: KangManJoo <eogns47@konkuk.ac.kr>
Co-authored-by: daengdaengLee <gunho1020@gmail.com>
Co-authored-by: Paul Larsen <pnvlarsen@gmail.com>
Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
Co-authored-by: Anand Francis Joseph <anjoseph@redhat.com>
Co-authored-by: Trevor Royer <troyer@redhat.com>
Co-authored-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
Co-authored-by: Mate Gogiberidze <101423812+mategogiberidze@users.noreply.github.com>
Co-authored-by: Matthieu MOREL <matthieu.morel35@gmail.com>
Co-authored-by: Jeff Youngs <jyoungs@bluenightmare.com>
Co-authored-by: Ajinkya Ganesh Kumbhar <ajinkyakumbhar423@gmail.com>
Co-authored-by: Julio <juligonz@student.42.fr>
Co-authored-by: Eugene Kim <eugene70kim@gmail.com>
Co-authored-by: 변재한 <awbrg789@naver.com>
Co-authored-by: SLASHLogin <loginmlgxd@gmail.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ian Tewksbury <itewk@redhat.com>
Co-authored-by: OpenGuidou <73480729+OpenGuidou@users.noreply.github.com>
2024-10-07 17:13:26 +05:30
srikanth597
7718af14a1 fix(ui): adjust transform origin in application resource tree (#20180)
Signed-off-by: srikanth597 <alapatisrikanth597@gmail.com>
2024-10-07 17:08:11 +05:30
dependabot[bot]
ae183ad245 chore(deps): bump SonarSource/sonarqube-scan-action from 2.3.0 to 3.0.0 (#19524)
Bumps [SonarSource/sonarqube-scan-action](https://github.com/sonarsource/sonarqube-scan-action) from 2.3.0 to 3.0.0.
- [Release notes](https://github.com/sonarsource/sonarqube-scan-action/releases)
- [Commits](aecaf43ae5...0c0f3958d9)

---
updated-dependencies:
- dependency-name: SonarSource/sonarqube-scan-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-07 12:36:25 +03:00
dependabot[bot]
1e359c8c0d chore(deps): bump github.com/xanzy/go-gitlab from 0.109.0 to 0.110.0 (#20260)
Bumps [github.com/xanzy/go-gitlab](https://github.com/xanzy/go-gitlab) from 0.109.0 to 0.110.0.
- [Release notes](https://github.com/xanzy/go-gitlab/releases)
- [Changelog](https://github.com/xanzy/go-gitlab/blob/main/releases_test.go)
- [Commits](https://github.com/xanzy/go-gitlab/compare/v0.109.0...v0.110.0)

---
updated-dependencies:
- dependency-name: github.com/xanzy/go-gitlab
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-07 10:25:46 +03:00
Michael Crenshaw
9a76d9f40b chore: bump k8s versions in e2e tests (#19669) 2024-10-06 20:30:32 -04:00
renovate[bot]
14c50bd50d chore(deps): update group golang to v1.23.2 (#20256)
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-06 17:49:24 -04:00
renovate[bot]
95922502c7 chore(deps): update docs dependencies (#20257)
* chore(deps): update docs dependencies

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* bump rtd python version

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-10-06 21:20:46 +00:00
OpenGuidou
5543900345 feat(applicationset): Add FlatList option to cluster generator - Fixes #20212 (#20231)
* (feat) - Add FlatList option to cluster generator

Signed-off-by: OpenGuidou <guillaume.doussin@gmail.com>

* Update docs/operator-manual/applicationset/Generators-Cluster.md

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: OpenGuidou <guillaume.doussin@gmail.com>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-10-06 20:31:32 +00:00
Ian Tewksbury
e1258ccb9d fix: Policy/policy.open-cluster-management.io health check is broken (#20108) (#20109)
Tried using the health check as listed here but it gave error:

| error setting app health: failed to get resource health for "Policy" with name "XXXX" in namespace "local-cluster": <string>:35: invalid value (nil) at index 1 in table for concat stack traceback: [G]: in function 'concat' <string>:35: in main chunk [G]: ?

This change fixes the error by updating how the noncompliant clusters are tracked and counted to use latest Lua recommendations.

Signed-off-by: Ian Tewksbury <itewk@redhat.com>
2024-10-06 15:33:32 -04:00
Julio
7b1c076148 chore(ci): update renovate config (#20254)
Signed-off-by: ggjulio <juligonz@student.42.fr>
2024-10-06 15:30:53 -04:00
pasha-codefresh
3570d7de14 sec: update alpine/helm to 3.16.1 (#20253)
Signed-off-by: pashakostohrys <pavel@codefresh.io>
2024-10-06 17:40:06 +00:00
renovate[bot]
e0863d9e33 chore(deps): update node version (#20248)
* chore(deps): update node version

* Update ui/.nvmrc

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-10-06 17:15:41 +00:00
ABBOUD Moncef
fe7771cc83 fix: handle incorrect cluster RESTconfig without panic (#20150)
Signed-off-by: cef <moncef.abboud95@gmail.com>
2024-10-06 17:55:26 +03:00
github-actions[bot]
b0a3c5407c [Bot] docs: Update Snyk reports (#20250)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2024-10-06 12:29:37 +03:00
SLASHLogin
5583ebdcb8 chore: update notifications-engine to 22ccfe0caf45 (#20239)
* Update notifications-engine

Signed-off-by: SLASHLogin <loginmlgxd@gmail.com>

* Update docs for Opsgenie notifications

Signed-off-by: SLASHLogin <loginmlgxd@gmail.com>

* docs: Fix outdated slack notification configuration readme

Signed-off-by: SLASHLogin <loginmlgxd@gmail.com>

---------

Signed-off-by: SLASHLogin <loginmlgxd@gmail.com>
2024-10-06 12:28:02 +03:00
dependabot[bot]
d063e6087f chore(deps): bump golang.org/x/net from 0.29.0 to 0.30.0 (#20246)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.29.0 to 0.30.0.
- [Commits](https://github.com/golang/net/compare/v0.29.0...v0.30.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-06 02:40:24 +00:00
dependabot[bot]
3b2de54b66 chore(deps): bump golang.org/x/crypto from 0.27.0 to 0.28.0 (#20243)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.27.0 to 0.28.0.
- [Commits](https://github.com/golang/crypto/compare/v0.27.0...v0.28.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-06 01:43:42 +00:00
dependabot[bot]
3a666dd400 chore(deps): bump golang.org/x/term from 0.24.0 to 0.25.0 (#20245)
Bumps [golang.org/x/term](https://github.com/golang/term) from 0.24.0 to 0.25.0.
- [Commits](https://github.com/golang/term/compare/v0.24.0...v0.25.0)

---
updated-dependencies:
- dependency-name: golang.org/x/term
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-06 00:46:29 +00:00
dependabot[bot]
0014b2505b chore(deps): bump sigstore/cosign-installer from 3.6.0 to 3.7.0 (#20242)
Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) from 3.6.0 to 3.7.0.
- [Release notes](https://github.com/sigstore/cosign-installer/releases)
- [Commits](4959ce089c...dc72c7d5c4)

---
updated-dependencies:
- dependency-name: sigstore/cosign-installer
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-06 00:43:32 +00:00
변재한
0aa6c49465 feat: add support for helm skipTests flag (#20118)
Signed-off-by: jaehanbyun <awbrg789@naver.com>
2024-10-05 19:55:46 -04:00
Eugene Kim
4c29c33f02 feat(cli): Add app diff option to specify exit code when diff (#20144)
The argocd app diff command returns 1 if a difference is found. In related issues,
they want to return an error code that is distinguishable from common errors.
However, changing the existing behavior is likely to break user's automation code.
So we want to provide an explicit option(--diff-exit-code) to specify an error code.

Related: #3588

Signed-off-by: Eugene Kim <eugene70kim@gmail.com>
2024-10-05 19:53:29 -04:00
dependabot[bot]
853c6b4935 chore(deps): bump golang.org/x/time from 0.6.0 to 0.7.0 (#20244)
Bumps [golang.org/x/time](https://github.com/golang/time) from 0.6.0 to 0.7.0.
- [Commits](https://github.com/golang/time/compare/v0.6.0...v0.7.0)

---
updated-dependencies:
- dependency-name: golang.org/x/time
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-05 23:31:46 +00:00
dependabot[bot]
5ebb61b519 chore(deps): bump docker/setup-buildx-action from 3.7.0 to 3.7.1 (#20241)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.7.0 to 3.7.1.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](8026d2bc36...c47758b77c)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-05 23:30:27 +00:00
dependabot[bot]
4272b03b33 chore(deps): bump actions/cache from 4.0.2 to 4.1.0 (#20240)
Bumps [actions/cache](https://github.com/actions/cache) from 4.0.2 to 4.1.0.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](0c45773b62...2cdf405574)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-05 23:30:14 +00:00
Julio
d17aafd19a chore(ci): add renovate for golangci-lint, go and node version (#20236)
Signed-off-by: ggjulio <juligonz@student.42.fr>
2024-10-05 21:33:30 +00:00
Ajinkya Ganesh Kumbhar
52d5653c86 fix notification-catlog issue (#20237)
Signed-off-by: ajinkyak423 <ajinkyakumbhar423@gmail.com>
2024-10-05 21:46:43 +03:00
Alexander Matyushentsev
03a16099b0 fix: support managing cluster with multiple argocd instances and annotation based tracking (#20222)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2024-10-04 17:54:37 -07:00
Blake Pettersson
5ba2405fa9 fix(health): only consider non-empty health checks (#20232)
* fix(health): only consider non-empty health checks

For wildcard health checks, only consider wildcards with a non-empty
health check. Fixes #16905 (at least partially).

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* test: renaming test case for clarity

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* refactor: add clarity as to what the function is supposed to do

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* Update docs/operator-manual/health.md

Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* test: add test case for `*/*` override with empty healthcheck

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

---------

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-10-04 15:34:58 -04:00
Jeff Youngs
2f6b6adb1c docs: Correct ApplicationSet (spec.preservedFields) (#20206)
* Fix docs

Signed-off-by: jyoungs <jyoungs@bluenightmare.com>

* Remove another errant block; improved comments

Signed-off-by: jyoungs <jyoungs@bluenightmare.com>

* Actually removed the errant block

Signed-off-by: jyoungs <jyoungs@bluenightmare.com>

* More doc fixes

Signed-off-by: jyoungs <jyoungs@bluenightmare.com>

* More spec fixes + USERS

Signed-off-by: jyoungs <jyoungs@bluenightmare.com>

---------

Signed-off-by: jyoungs <jyoungs@bluenightmare.com>
2024-10-04 10:44:39 -06:00
Matthieu MOREL
1c6ec19a86 fix: use ErrorContains(t, err instead of Contains(t, err.Error() (#20220)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-10-04 09:36:05 -04:00
dependabot[bot]
ba0683c4d4 chore(deps): bump tj-actions/changed-files from 45.0.2 to 45.0.3 (#20225)
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 45.0.2 to 45.0.3.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](48d8f15b2a...c3a1bb2c99)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-04 09:27:20 -04:00
dependabot[bot]
8ea78a1bc1 chore(deps): bump docker/setup-buildx-action from 3.6.1 to 3.7.0 (#20224)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.6.1 to 3.7.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](988b5a0280...8026d2bc36)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-04 09:27:00 -04:00
Mate Gogiberidze
3b623a6663 docs: add TBC Bank to USERS.md (#20227)
* docs: add TBC Bank to USERS.md

Signed-off-by: Mate Gogiberidze <gogiberidzemate9@gmail.com>

* docs: reorder TBC Bank by alphabetical

Signed-off-by: Mate Gogiberidze <gogiberidzemate9@gmail.com>

---------

Signed-off-by: Mate Gogiberidze <gogiberidzemate9@gmail.com>
2024-10-04 14:26:49 +02:00
Alexander Matyushentsev
f5061272b8 chore: rename protobuf field according to convention (#20221)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2024-10-03 21:58:39 +00:00
Trevor Royer
49431b9add fix: update health check to support modelmesh (#20142)
Signed-off-by: Trevor Royer <troyer@redhat.com>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2024-10-03 14:07:34 -04:00
aria
b2091e3984 fix: Fix false positive in plugin application discovery (#20196)
* fix: fix false positive in plugin application discovery

Signed-off-by: Pradithya Aria <pradithya.pura@gojek.com>

* fix: apply suggestion to return immediately if discovery is not configured for unnamed plugin

Signed-off-by: Pradithya Aria <pradithya.pura@gojek.com>

---------

Signed-off-by: Pradithya Aria <pradithya.pura@gojek.com>
2024-10-03 13:15:49 -04:00
Anand Francis Joseph
5f8de971c6 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 <anjoseph@redhat.com>

* Added comments for the newly added unit tests

Signed-off-by: anandf <anjoseph@redhat.com>

* Refactored method name to deriveServiceAccountToImpersonate

Signed-off-by: anandf <anjoseph@redhat.com>

* Using const name in return value

Signed-off-by: anandf <anjoseph@redhat.com>

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

Signed-off-by: anandf <anjoseph@redhat.com>

* Fixed failing e2e tests

Signed-off-by: anandf <anjoseph@redhat.com>

* Fix linting errors

Signed-off-by: anandf <anjoseph@redhat.com>

* Using require package instead of assert and fixed code generation

Signed-off-by: anandf <anjoseph@redhat.com>

* Removed parallel execution of tests for sync with impersonate

Signed-off-by: anandf <anjoseph@redhat.com>

* Added err checks for glob validations

Signed-off-by: anandf <anjoseph@redhat.com>

* Fixed e2e tests for sync impersonation

Signed-off-by: anandf <anjoseph@redhat.com>

* Using consistently based expects in E2E tests

Signed-off-by: anandf <anjoseph@redhat.com>

* Added more unit tests and fixed go generate

Signed-off-by: anandf <anjoseph@redhat.com>

* Fixed failed lint errors, unit and e2e test failures

Signed-off-by: anandf <anjoseph@redhat.com>

* Fixed goimports linter issue

Signed-off-by: anandf <anjoseph@redhat.com>

* Added code comments and added few missing unit tests

Signed-off-by: anandf <anjoseph@redhat.com>

* Added missing unit test for GetDestinationServiceAccounts method

Signed-off-by: anandf <anjoseph@redhat.com>

* Fixed goimports formatting with local for project_test.go

Signed-off-by: anandf <anjoseph@redhat.com>

* Corrected typo in a field name additionalObjs

Signed-off-by: anandf <anjoseph@redhat.com>

* Fixed failing unit tests

Signed-off-by: anandf <anjoseph@redhat.com>

---------

Signed-off-by: anandf <anjoseph@redhat.com>
2024-10-03 07:37:50 -07:00
Blake Pettersson
be880add20 fix: refine deny destination checks (#20045)
* fix: refine server deny check

Fixes #19804. The deny destination check can be made more intuitive by
doing the following:

* short-circuit any deny destination
* first, for any deny server destination, _also_ check if the namespace matches
* for any deny namespace destination, reject as before

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* fix: also assert that server matches on ns deny

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

---------

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2024-10-03 07:37:19 -07:00
dependabot[bot]
86519ca690 chore(deps): bump selenium-webdriver from 4.24.1 to 4.25.0 in /ui-test (#20058)
Bumps [selenium-webdriver](https://github.com/SeleniumHQ/selenium) from 4.24.1 to 4.25.0.
- [Release notes](https://github.com/SeleniumHQ/selenium/releases)
- [Commits](https://github.com/SeleniumHQ/selenium/commits/selenium-4.25.0)

---
updated-dependencies:
- dependency-name: selenium-webdriver
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-03 07:35:50 -07:00
Linghao Su
308890661b feat(ui): support auto theme (#20080)
* feat(theme): support auto theme

Signed-off-by: linghaoSu <linghao.su@daocloud.io>

* fix(ui): set default theme as light

Signed-off-by: linghaoSu <linghao.su@daocloud.io>

* fix(ui): only register listener when theme is auto

Signed-off-by: linghaoSu <linghao.su@daocloud.io>

---------

Signed-off-by: linghaoSu <linghao.su@daocloud.io>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2024-10-03 16:58:40 +03:00
dependabot[bot]
8d268e78c7 chore(deps): bump golangci/golangci-lint-action from 6.1.0 to 6.1.1 (#20207) 2024-10-03 08:07:53 -04:00
Paul Larsen
7de5d27dc0 fix: Rework git tag semver resolution (#20083) (#20096)
* Write initial tests

Signed-off-by: Paul Larsen <pnvlarsen@gmail.com>

* Improve git tag semver resolution

Signed-off-by: Paul Larsen <pnvlarsen@gmail.com>

* Add company to list of users

Signed-off-by: Paul Larsen <pnvlarsen@gmail.com>

* Fix broken error string check

Signed-off-by: Paul Larsen <pnvlarsen@gmail.com>

* Fix incorrect semver test assumption

Signed-off-by: Paul Larsen <pnvlarsen@gmail.com>

* switch to debug statement

Signed-off-by: Paul Larsen <pnvlarsen@gmail.com>

* Add more testcases for review

Signed-off-by: Paul Larsen <pnvlarsen@gmail.com>

* review comments

Signed-off-by: Paul Larsen <pnvlarsen@gmail.com>

---------

Signed-off-by: Paul Larsen <pnvlarsen@gmail.com>
2024-10-03 15:52:01 +05:30
Dan Garfield
99560fbbba Update troubleshooting-errors.md (#20201)
Fixing some phrasing and adding more clarity.

Signed-off-by: Dan Garfield <dan@codefresh.io>
2024-10-03 11:01:18 +02:00
KangManJoo
3070297d6b fix(helm): escape consecutive commas in cleanSetParameters (#19269) (#20113)
Signed-off-by: KangManJoo <eogns47@konkuk.ac.kr>
Signed-off-by: daengdaengLee <gunho1020@gmail.com>
Co-authored-by: daengdaengLee <gunho1020@gmail.com>
2024-10-02 15:04:22 -04:00
dependabot[bot]
1a84db5dad chore(deps): bump library/busybox in /test/e2e/multiarch-container (#20193)
Bumps library/busybox from `c230832` to `768e5c6`.

---
updated-dependencies:
- dependency-name: library/busybox
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-02 16:38:27 +00:00
dependabot[bot]
109473fca4 chore(deps): bump bitnami/kubectl in /test/container (#20191)
Bumps bitnami/kubectl from `da4a986` to `b509ab6`.

---
updated-dependencies:
- dependency-name: bitnami/kubectl
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2024-10-02 16:37:40 +00:00
dependabot[bot]
54bd69463b chore(deps): bump chromedriver from 129.0.0 to 129.0.2 in /ui-test (#20189)
Bumps [chromedriver](https://github.com/giggio/node-chromedriver) from 129.0.0 to 129.0.2.
- [Commits](https://github.com/giggio/node-chromedriver/compare/129.0.0...129.0.2)

---
updated-dependencies:
- dependency-name: chromedriver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-02 18:35:47 +03:00
dependabot[bot]
2e9532d79b chore(deps): bump google.golang.org/grpc from 1.67.0 to 1.67.1 (#20190)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.67.0 to 1.67.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.67.0...v1.67.1)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-02 18:35:27 +03:00
Olivier Wenger
807b6fb472 docs: Update argocd path for command in notifification in troubleshooting docs (#20120)
Co-authored-by: Dan Garfield <dan@codefresh.io>
2024-10-02 14:58:57 +00:00
Phong Do
1dcf3a5665 docs: add outpost24 to users.md (#20197)
Signed-off-by: Phong Do <dominhphong306@gmail.com>
2024-10-02 15:01:37 +02:00
1102
6b19f10e7f docs(ui): sorting version (#20181)
Signed-off-by: nueavv <nuguni@kakao.com>
2024-10-02 08:59:48 -04:00
dependabot[bot]
48551b3746 chore(deps): bump codecov/codecov-action from 4.5.0 to 4.6.0 (#20188)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4.5.0 to 4.6.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](e28ff129e5...b9fd7d16f6)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-02 04:17:08 +00:00
Michael Crenshaw
d3a3fe5e68 chore(ci): better handling of Go and Node dependency bumps (#20168)
* chore(ci): better handling of Go and Node dependency bumps

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

temporarily remove condition

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

quit early if there are no changes

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

use latest checkout action and actually test version change

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

use github token

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

workflow for node

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

clean up after changing node version

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

revert temporary changes

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

more docs

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* bump linter version

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-10-02 00:02:07 -04:00
rumstead
9e9c9a9aca feat(appset): parameterize requeue time #20063 (#20064) 2024-10-01 21:26:08 -04:00
dependabot[bot]
f78e741220 chore(deps): bump github.com/cyphar/filepath-securejoin (#20173)
Bumps [github.com/cyphar/filepath-securejoin](https://github.com/cyphar/filepath-securejoin) from 0.3.2 to 0.3.3.
- [Release notes](https://github.com/cyphar/filepath-securejoin/releases)
- [Changelog](https://github.com/cyphar/filepath-securejoin/blob/main/CHANGELOG.md)
- [Commits](https://github.com/cyphar/filepath-securejoin/compare/v0.3.2...v0.3.3)

---
updated-dependencies:
- dependency-name: github.com/cyphar/filepath-securejoin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-01 13:08:33 -04:00
l2h
ab8fdb8a6d feat: Add nodeSelector for Linux nodes (#20148)
* feat: Add nodeSelector for Linux nodes in application-controller, applicationset-controller, and repo-server

Signed-off-by: leehosu <hosu4549@gmail.com>

* refactor : Reversal the wrong part and correct it.

Signed-off-by: leehosu <hosu4549@gmail.com>

* Update argocd-application-controller-statefulset.yaml

Signed-off-by: l2h <hosu4549@gmail.com>

* feat: Add nodeSelector for Linux nodes in dex-server, argo-server

Signed-off-by: leehosu <hosu4549@gmail.com>

* refactor: update code to resolving for intergration test

Signed-off-by: leehosu <hosu4549@gmail.com>

* refactor: update code to resolving for codegen

Signed-off-by: leehosu <hosu4549@gmail.com>

* Run make manifests-local and then commit

Signed-off-by: leehosu <hosu4549@gmail.com>

---------

Signed-off-by: leehosu <hosu4549@gmail.com>
Signed-off-by: l2h <hosu4549@gmail.com>
2024-10-01 12:13:05 -04:00
Michael Crenshaw
f869d235cb chore: document credentials server (#20078)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-10-01 10:51:29 -04:00
pasha-codefresh
2d8659b466 feat: basic e2e tests in order to verify notification service health (#20182)
* feat: basic e2e tests in order to verify notification service health

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* feat: basic e2e tests in order to verify notification service health

Signed-off-by: pashakostohrys <pavel@codefresh.io>

---------

Signed-off-by: pashakostohrys <pavel@codefresh.io>
2024-10-01 14:20:01 +00:00
Suraj yadav
5796a7c22d feat(ui): make name property for repos (#20077)
* name-option-added

Signed-off-by: Surajyadav <harrypotter1108@gmail.com>

* lint

Signed-off-by: Surajyadav <harrypotter1108@gmail.com>

---------

Signed-off-by: Surajyadav <harrypotter1108@gmail.com>
2024-10-01 16:58:29 +05:30
dependabot[bot]
afcc71be23 chore(deps): bump docker/build-push-action from 6.8.0 to 6.9.0 (#20174)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.8.0 to 6.9.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](32945a3392...4f58ea7922)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-01 04:50:35 -04:00
Josh Soref
fc1986e3e5 chore: Try to make CodeQL happy (#20094) (#20129)
* chore(common): Split const from unrelated util/clusterauth const

Signed-off-by: Josh Soref <jsoref@gmail.com>

* chore: Try to make CodeQL happy

Signed-off-by: Josh Soref <jsoref@gmail.com>

---------

Signed-off-by: Josh Soref <jsoref@gmail.com>
2024-09-30 19:37:51 -04:00
appiepollo14
04e47cd5d4 Fixes minor typo which lead to using the bearer token as api URL and was obviously not working. (#20169)
Signed-off-by: asjervanasten <asjer94@live.com>
2024-09-30 20:39:23 +00:00
ABBOUD Moncef
0681098299 fix(ui): hide resource actions menu if it's empty (#20051)
Signed-off-by: cef <moncef.abboud95@gmail.com>
2024-09-30 11:28:05 -04:00
Crumbs
0cd5ac473c docs: added note re. arch of example application on getting_started.md (#20143)
added warning that example application may not run on all archs

Signed-off-by: Crumbs <44215646+Crumb5@users.noreply.github.com>
2024-09-30 10:26:04 -04:00
Daco
92e0b553a7 feat(appset): Add a cache layer for Argo Projects to speed-up application validation (#18703)
* feat(appset): Add a cache layer for Argo Projects to speed-up application validation

Signed-off-by: Philippe Da Costa <pdacosta@gmail.com>

* Use local client rather than custom cache

Signed-off-by: Philippe Da Costa <pdacosta@gmail.com>

* Clean go.mod

Signed-off-by: Philippe Da Costa <pdacosta@gmail.com>

* Merge master

Signed-off-by: Philippe Da Costa <pdacosta@gmail.com>

* Fix after merging master
Signed-off-by: Philippe Da Costa <pdacosta@gmail.com>

Signed-off-by: Philippe Da Costa <pdacosta@gmail.com>

* Initialize appProject variable inside loop

Signed-off-by: Philippe Da Costa <pdacosta@gmail.com>

* Remove unused ArgoAppClientset field
Signed-off-by: Philippe Da Costa <pdacosta@gmail.com>

Signed-off-by: Philippe Da Costa <pdacosta@gmail.com>

* Fix linter issue
Signed-off-by: Philippe Da Costa <pdacosta@gmail.com>

Signed-off-by: Philippe Da Costa <pdacosta@gmail.com>

---------

Signed-off-by: Philippe Da Costa <pdacosta@gmail.com>
2024-09-30 10:22:49 -04:00
Dillen Padhiar
5d89339c14 feat: introduce pause/unpause actions for Numaplane CRDs (#20128)
* feat: introduce pause/unpause actions for Numaplane CRDs

Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>

* test: fixed incorrect file names

Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>

* chore: codegen

Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>

* fix: empty check for lifecycle

Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>

* fix: nil check

Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>

* fix: nil checks

Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>

* test: testing different starting spec

Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>

* feat: add nil checks for all possible nil fields

Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>

* chore: rerun tests

Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>

---------

Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>
2024-09-30 10:01:17 -04:00
Dan Garfield
52c3f93010 fix: repo generate paths value in namespace install is incorrectly formatted (#20139)
* Fix repo generate paths value in namespace install

Signed-off-by: todaywasawesome <dan@codefresh.io>

* Fix in base and regen

Signed-off-by: todaywasawesome <dan@codefresh.io>

---------

Signed-off-by: todaywasawesome <dan@codefresh.io>
2024-09-30 09:54:58 -04:00
github-actions[bot]
8e070ce05a [Bot] docs: Update Snyk reports (#20146)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2024-09-30 13:45:23 +00:00
aria
fad534bcfe fix: Fix argocd appset generate failure due to missing clusterrole (#20162)
* fix: FIx argocd-server clusterrole to allow argocd appset generate using cluster generator

Signed-off-by: Pradithya Aria <pradithya.pura@gojek.com>

* fix: update generated code

Signed-off-by: Pradithya Aria <pradithya.pura@gojek.com>

---------

Signed-off-by: Pradithya Aria <pradithya.pura@gojek.com>
2024-09-30 09:42:12 -04:00
dependabot[bot]
7d3661cb21 chore(deps): bump docker/build-push-action from 6.7.0 to 6.8.0 (#20154)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.7.0 to 6.8.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](5cd11c3a4c...32945a3392)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-30 09:39:58 -04:00
Tony Au-Yeung
fa54ce221e fix: oras-go client should fallback to docker config if no credentials specified (#18133)
* oras-go client should fallback to docker config if no credentials specified

Signed-off-by: Tony Au-Yeung <tony@elevenlabs.io>

* Fix tests

Signed-off-by: Tony Au-Yeung <tony@elevenlabs.io>

* Fix lint

Signed-off-by: Tony Au-Yeung <tony@elevenlabs.io>

* gofumpt

Signed-off-by: Tony Au-Yeung <tony@elevenlabs.io>

* Validate auth header

Signed-off-by: Tony Au-Yeung <tony@elevenlabs.io>

---------

Signed-off-by: Tony Au-Yeung <tony@elevenlabs.io>
2024-09-27 21:33:42 +05:30
pasha-codefresh
ea71067059 chore(deps): bump Helm from 3.15.2 to 3.15.4 (#20135)
* sec: upgrade helm version in order to fix critical vulnerability

Signed-off-by: pashakostohrys <pavel@codefresh.io>

* sec: upgrade helm version in order to fix critical vulnerability

Signed-off-by: pashakostohrys <pavel@codefresh.io>

---------

Signed-off-by: pashakostohrys <pavel@codefresh.io>
2024-09-27 09:45:58 -04:00
Linghao Su
159eeecd17 fix(ui): add optional check to avoid undefined reference in project detail (#20044)
Signed-off-by: linghaoSu <linghao.su@daocloud.io>
2024-09-27 09:15:49 -04:00
Symeon Meichanetzoglou
bc15ae89d8 Fix typo (#20127)
Remove a redundant "is".

Signed-off-by: Symeon Meichanetzoglou <simosmeih@gmail.com>
2024-09-26 23:14:50 +02:00
Alexandre Gaudreault
ca91dd9d6b fix(extension): add header to support apps-in-any-namespace (#20123)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2024-09-26 15:12:21 -04:00
dependabot[bot]
e28a05f5c0 chore(deps-dev): bump @types/node from 22.5.5 to 22.7.2 in /ui-test (#20112)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.5.5 to 22.7.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-26 10:24:44 +03:00
Cheng Fang
f03146d3a0 fix: CVE-2024-45296 Backtracking regular expressions cause ReDoS by upgrading path-to-regexp from 1.8.0 to 1.9.0 (#20087)
Signed-off-by: Cheng Fang <cfang@redhat.com>
2024-09-24 22:27:52 -04:00
Javier Solana
b8249567ae feat: transmit manifest-generate-path resources to the cmp-server for plugin-based applications (#19209)
* chore: transmit manifest-generate-path resources to the cmp-server for plugin-based applications
Signed-off-by: Javier Solana <javier.solana@cabify.com>

* use SecureJoin
Signed-off-by: Javier Solana <javier.solana@cabify.com>

* make cmp manifests generation using manifest generate path annotation configurable by environment variable
Signed-off-by: Javier Solana <javier.solana@cabify.com>

* fix missing doc running codegen-local
Signed-off-by: Javier Solana <javier.solana@cabify.com>

* set reposerver.plugin.enable.manifests.generation.using.annotations false by default
Signed-off-by: Javier Solana <javier.solana@cabify.com>

* define ARGOCD_REPO_SERVER_PLUGIN_ENABLE_GENERATE_MANIFESTS_USING_MANIFEST_GENERATE_PATHS_ANNOTATION properly
Signed-off-by: Javier Solana <javier.solana@cabify.com>

* define ARGOCD_REPO_SERVER_PLUGIN_ENABLE_GENERATE_MANIFESTS_USING_MANIFEST_GENERATE_PATHS_ANNOTATION properly
Signed-off-by: Javier Solana <javier.solana@cabify.com>

* Fix conflict
Signed-off-by: Javier Solana <javier.solana@cabify.com>

* autogenerate install manifests
Signed-off-by: Javier Solana <javier.solana@cabify.com>

* add note about common root path calculation for manifest paths annotation
Signed-off-by: Javier Solana <javier.solana@cabify.com>

* log common root path calculated
Signed-off-by: Javier Solana <javier.solana@cabify.com>

* app path must be the lower common path
Signed-off-by: Javier Solana <javier.solana@cabify.com>

* tweaks

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Javier Solana <javier.solana@cabify.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-09-24 12:14:02 -04:00
github-actions[bot]
e1429f8ea6 [Bot] docs: Update Snyk reports (#20052)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2024-09-24 14:42:31 +00:00
dependabot[bot]
0710ff9103 chore(deps): bump go.uber.org/automaxprocs from 1.5.3 to 1.6.0 (#20068) 2024-09-24 14:51:58 +03:00
Nitish Kumar
dbc94ba13f fix: fix broken link (#20070)
* fix broken link

Signed-off-by: nitishfy <justnitish06@gmail.com>

* fix broken link

Signed-off-by: nitishfy <justnitish06@gmail.com>

---------

Signed-off-by: nitishfy <justnitish06@gmail.com>
2024-09-24 09:36:19 +02:00
1102
fe67cd54eb fix: corrected --roleARN to --role-arn as per updated CLI option (#20065)
Signed-off-by: nueavv <nuguni@kakao.com>
2024-09-23 17:24:47 -07:00
dependabot[bot]
864917b7cc chore(deps): bump google.golang.org/grpc from 1.66.2 to 1.67.0 (#20059)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.66.2 to 1.67.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.66.2...v1.67.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-23 09:53:29 -04:00
Linghao Su
fb825f705a feat(ui): move graphs by dragging mouse in app resource tree view (#18025) (#20009)
Signed-off-by: linghaoSu <linghao.su@daocloud.io>
2024-09-23 09:41:50 -04:00
Cayde6
eba559a449 feat: option to disable writing k8s events(#18205) (#18441)
* feat: option to disable writing k8s events

optioned to write logs for k8s events.
Each is passed as an environment variable and defaults to true,
disabling it requires explicitly setting the option to false.

Signed-off-by: Jack-R-lantern <tjdfkr2421@gmail.com>

* feat: option to disable writing k8s events

fix unit test
- application_test
- applicationset_test
- project_test
- appcontroller_tes
- audit_logger_test

Signed-off-by: Jack-R-lantern <tjdfkr2421@gmail.com>

* rebase

Signed-off-by: Jack-R-lantern <tjdfkr2421@gmail.com>

---------

Signed-off-by: Jack-R-lantern <tjdfkr2421@gmail.com>
2024-09-23 08:32:17 +05:30
Josh Soref
ddb79fe2e3 ci: Allow forks to opt-in for codeql (#19996)
Signed-off-by: Josh Soref <jsoref@gmail.com>
2024-09-22 19:25:06 -04:00
Allan M. de Azevedo
e77727cf12 docs: fix paragraph in "User Guide/Kustomize" (#20053)
Without the extra line break, the paragraph was rendered as part of the Kustomize application manifest.

Signed-off-by: Allan M. de Azevedo <4llan@users.noreply.github.com>
2024-09-22 19:22:28 -04:00
Nicholas Morey
602665feed docs: add project to repo creds examples (#20057)
* docs: add link to example repo creds yaml

Signed-off-by: Nicholas Morey <nicholas@morey.tech>

* docs: add project to repo creds examples

Signed-off-by: Nicholas Morey <nicholas@morey.tech>

---------

Signed-off-by: Nicholas Morey <nicholas@morey.tech>
2024-09-23 00:02:11 +02:00
Jungho
555854c3e9 fix(ui): add state parameter in the pkce flow (#17235)
* Add state to pkce flow

Signed-off-by: Jungho Son <js3692@users.noreply.github.com>

* Call unset

Signed-off-by: Jungho Son <js3692@users.noreply.github.com>

---------

Signed-off-by: Jungho Son <js3692@users.noreply.github.com>
2024-09-22 23:30:50 +05:30
Ajinkya Ganesh Kumbhar
0573ed79c1 chore: improve error logs (#20050)
Signed-off-by: ajinkyak423 <ajinkyakumbhar423@gmail.com>
2024-09-21 20:13:13 -04:00
1102
5f23bb6097 docs: add user to users.md (#20042)
Signed-off-by: nueavv <nuguni@kakao.com>
2024-09-21 15:33:40 -04:00
Linghao Su
40c60775bb fix(ui): carry over state when using full screen mode button (#20022) 2024-09-20 17:50:54 -04:00
Josh Soref
9ac1670c91 fix(ui): Sync Health Statuses for Applications and everything else (#20020)
Signed-off-by: Josh Soref <jsoref@gmail.com>
2024-09-20 20:49:23 +05:30
Josh Soref
de06f7716c docs: Remove FOSSA badge (#20038)
Signed-off-by: Josh Soref <jsoref@gmail.com>
2024-09-20 11:14:53 -04:00
dependabot[bot]
6b6d23bdf5 chore(deps): bump actions/setup-node from 4.0.3 to 4.0.4 (#20025)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.3 to 4.0.4.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](1e60f620b9...0a44ba7841)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-20 04:21:36 +00:00
dependabot[bot]
9b01c46e48 chore(deps): bump bitnami/kubectl in /test/container (#20024)
Bumps bitnami/kubectl from `27e5f50` to `da4a986`.

---
updated-dependencies:
- dependency-name: bitnami/kubectl
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-20 04:18:51 +00:00
Josh Soref
b0e3160ccf fix(ui): Change tab title to Sync Windows (#20018)
Signed-off-by: Josh Soref <jsoref@gmail.com>
2024-09-19 20:47:40 -07:00
dependabot[bot]
2b64c71e4d chore(deps): bump selenium-webdriver and @types/selenium-webdriver (#19959)
Bumps [selenium-webdriver](https://github.com/SeleniumHQ/selenium) and [@types/selenium-webdriver](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/selenium-webdriver). These dependencies needed to be updated together.

Updates `selenium-webdriver` from 4.21.0 to 4.24.1
- [Release notes](https://github.com/SeleniumHQ/selenium/releases)
- [Commits](https://github.com/SeleniumHQ/selenium/commits)

Updates `@types/selenium-webdriver` from 4.1.23 to 4.1.26
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/selenium-webdriver)

---
updated-dependencies:
- dependency-name: selenium-webdriver
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: "@types/selenium-webdriver"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-19 20:45:02 -07:00
Justin Marquis
f460bf4573 docs: Update Okta OIDC CLI instructions (#20021)
Signed-off-by: Justin Marquis <justin@akuity.io>
2024-09-19 16:19:31 -07:00
dependabot[bot]
2c206a51d1 chore(deps): bump dompurify from 2.3.6 to 2.5.6 in /ui (#19955)
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 2.3.6 to 2.5.6.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/2.3.6...2.5.6)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-19 15:17:00 -04:00
Alexandre Gaudreault
a78594beb1 docs: Endpoints not excluded by default (#16023) (#20014)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2024-09-19 18:59:15 +00:00
rumstead
735d090061 docs(reconcile): adding optional condition when ignoring json (#20010)
Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
2024-09-19 11:47:02 -04:00
dependabot[bot]
229826eb68 chore(deps): bump peter-evans/create-pull-request from 7.0.3 to 7.0.5 (#20000)
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 7.0.3 to 7.0.5.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](6cd32fd936...5e914681df)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-19 09:03:07 -04:00
Henry Liu
1fcbcc1c23 fix(ui): fix open application detail in new tab when basehref is set (#20004) 2024-09-19 08:23:27 -04:00
dependabot[bot]
9e6d78effa chore(deps): bump library/node from 22.8.0 to 22.9.0 in /test/container (#20001)
Bumps library/node from 22.8.0 to 22.9.0.

---
updated-dependencies:
- dependency-name: library/node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-19 08:19:09 -04:00
Tchoupinax
f4c519ade5 feat(ui): display sha's revision in every history release (#19963)
Signed-off-by: Tchoupinax <corentinfiloche@hotmail.fr>
2024-09-19 13:15:02 +05:30
dependabot[bot]
02a4d9f2c0 chore(deps): bump chromedriver from 128.0.3 to 129.0.0 in /ui-test (#19998)
Bumps [chromedriver](https://github.com/giggio/node-chromedriver) from 128.0.3 to 129.0.0.
- [Commits](https://github.com/giggio/node-chromedriver/compare/128.0.3...129.0.0)

---
updated-dependencies:
- dependency-name: chromedriver
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-19 10:41:26 +03:00
dependabot[bot]
c8eb5b5443 chore(deps): bump library/node from 22.8.0 to 22.9.0 (#19999)
Bumps library/node from 22.8.0 to 22.9.0.

---
updated-dependencies:
- dependency-name: library/node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-19 09:43:04 +03:00
dependabot[bot]
97d110bf27 chore(deps): bump library/node from fa4b468 to cbe2d5f in /ui-test (#19997)
Bumps library/node from `fa4b468` to `cbe2d5f`.

---
updated-dependencies:
- dependency-name: library/node
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-19 09:42:37 +03:00
dependabot[bot]
f64db6dba7 chore(deps): bump github.com/prometheus/client_golang (#19974)
Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.20.3 to 1.20.4.
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prometheus/client_golang/compare/v1.20.3...v1.20.4)

---
updated-dependencies:
- dependency-name: github.com/prometheus/client_golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-18 17:24:26 -04:00
dependabot[bot]
04919f0a6f chore(deps): bump library/node from 22.8.0 to 22.9.0 in /ui-test (#19975)
Bumps library/node from 22.8.0 to 22.9.0.

---
updated-dependencies:
- dependency-name: library/node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-18 17:23:39 -04:00
Linghao Su
e09ff60d75 feat(ui): add token diff support in diff view (#19983)
Signed-off-by: linghaoSu <linghao.su@daocloud.io>
2024-09-18 13:17:15 -07:00
Ilya Gorban
2a199bc7ae feat(health): add healthchecks for Gloo resources (#11379)
* feat(custom healthchecks): add healthchecks for Gloo resources

Signed-off-by: Ilya Gorban <zelig81@users.noreply.github.com>

* fix(gloo custom healthchecks): fix healthcheck and add older cases

Signed-off-by: Ilya Gorban <zelig81@users.noreply.github.com>

* feat(custom healthchecks): fix tabulation in Gloo resources lua files

Signed-off-by: Ilya Gorban <zelig81@users.noreply.github.com>

---------

Signed-off-by: Ilya Gorban <zelig81@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-09-18 19:01:33 +00:00
Álvaro Aguilar-Tablada Espinosa
7d28c89f36 feat(health): resource customization for RabbitMQCluster (#15286)
Signed-off-by: Álvaro Aguilar <alvaro.aguilar@scrm.lidl>
Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
2024-09-18 18:57:28 +00:00
pasha-codefresh
7f417e2be4 fix notificaion controller crash loop (#19984)
Signed-off-by: pashakostohrys <pavel@codefresh.io>
2024-09-18 18:56:05 +00:00
Michael Crenshaw
ae028c2322 chore: bump gitops-engine for performance improvement (#19954)
* chore: bump gitops-engine for performance improvement

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* bump gitops-engine version

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* fix merge mistake

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-09-18 08:06:38 -04:00
itaynvn-runai
fd4cc93a30 feat: Change the file name convention when downloading pod logs (#19938)
* changed log file name convention

Signed-off-by: itaynvn-runai <itay.anavian@run.ai>

* fixed condition

Signed-off-by: itaynvn-runai <itay.anavian@run.ai>

* Update forwarder_overwrite.go

changed `appNamespace` to `namespace`.
as `appNamespace` will always be "argocd", and `namespace` is based on the actual k8s namespace, and will be unique.
so each log file name will always be unique, and descriptive.

Signed-off-by: itaynvn-runai <165032271+itaynvn-runai@users.noreply.github.com>

* Update forwarder_overwrite.go

added `container` to the file name

Signed-off-by: itaynvn-runai <165032271+itaynvn-runai@users.noreply.github.com>

---------

Signed-off-by: itaynvn-runai <itay.anavian@run.ai>
Signed-off-by: itaynvn-runai <165032271+itaynvn-runai@users.noreply.github.com>
2024-09-18 13:44:36 +05:30
Netanel Kadosh
fcc186bdd5 fix: Add redis password to forwardCacheClient struct (#19599)
Signed-off-by: Netanel Kadosh <kadoshnetanel@gmail.com>
2024-09-17 19:18:40 +03:00
Max Gautier
21d1f88106 docs: include cluster-management.md in TOC (#19964)
While it is searchable in the docs UI, the Cluster Management page is
not included in the Table of contents of https://argo-cd.readthedocs.io

Add it to increase it's discoverability.
We put it just before cluster-bootstrapping since an user would be
expected to add a cluster to argocd just before "bootstrapping"

Signed-off-by: Max Gautier <mg@max.gautier.name>
2024-09-17 08:33:46 -07:00
Regina Voloshin
a8e70e43ac chore: Make dev env redis password protected (#19863)
* create pr

Signed-off-by: reggie-k <regina.voloshin@codefresh.io>

* create pr

Signed-off-by: reggie-k <regina.voloshin@codefresh.io>

* create pr

Signed-off-by: reggie-k <regina.voloshin@codefresh.io>

* initial

Signed-off-by: reggie-k <regina.voloshin@codefresh.io>

* initial

Signed-off-by: reggie-k <regina.voloshin@codefresh.io>

* initial

Signed-off-by: reggie-k <regina.voloshin@codefresh.io>

* checking Redis is installed locally per Nitish's suggestion

Signed-off-by: reggie-k <regina.voloshin@codefresh.io>

* Update hack/start-redis-with-password.sh

Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
Signed-off-by: Regina Voloshin <19544836+reggie-k@users.noreply.github.com>

* Update hack/start-redis-with-password.sh

Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
Signed-off-by: Regina Voloshin <19544836+reggie-k@users.noreply.github.com>

* fixed unreachable code

Signed-off-by: reggie-k <regina.voloshin@codefresh.io>

---------

Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
Signed-off-by: Regina Voloshin <19544836+reggie-k@users.noreply.github.com>
Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
2024-09-17 19:19:01 +05:30
ilia-medvedev-codefresh
20f9719001 fix: cleanup tempdir when errors occur in Helm chart extraction (#19861)
Fixed merge conflicts. 

Signed-off-by: Ilia Medvedev <ilia.medvedev@codefresh.io>
Signed-off-by: Dan Garfield <dan@codefresh.io>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2024-09-17 15:15:32 +05:30
Dmytro Bondar
dce41c430e fix: Get pull request target branch for Azure DevOps (#19869) (#19871)
Signed-off-by: Dmytro Bondar <git@bonddim.com>
2024-09-17 15:10:49 +05:30
Nathan Shaaban
4e13b7f36c feat: allow auth token to be passed in via env (#19898)
* feat: allow auth token to be passed in via env

Allows the authentication token to come from environment if it's not found in cli args.

Signed-off-by: Nathan Shaaban <86252985+ctrlaltf24@users.noreply.github.com>

* chore: generate cli docs

Signed-off-by: Nathan Shaaban <86252985+ctrlaltf24@users.noreply.github.com>

---------

Signed-off-by: Nathan Shaaban <86252985+ctrlaltf24@users.noreply.github.com>
Co-authored-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2024-09-17 15:04:25 +05:30
morapet
bcc224b32c prevent crash during timer expiration after stream is closed (#19917)
Reorder ticker stop and close merge to prevent send(true) happens after merge is closed, in rare situation when the timer expires exactly at the point between close(merge) and ticker.Stop()

Signed-off-by: morapet <peter@moran.sk>
2024-09-17 15:02:38 +05:30
dependabot[bot]
308c6cb526 chore(deps): bump github.com/casbin/casbin/v2 from 2.99.0 to 2.100.0 (#19960)
Bumps [github.com/casbin/casbin/v2](https://github.com/casbin/casbin) from 2.99.0 to 2.100.0.
- [Release notes](https://github.com/casbin/casbin/releases)
- [Changelog](https://github.com/casbin/casbin/blob/master/.releaserc.json)
- [Commits](https://github.com/casbin/casbin/compare/v2.99.0...v2.100.0)

---
updated-dependencies:
- dependency-name: github.com/casbin/casbin/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-17 11:37:10 +03:00
Pavel Soloviev
4b478ef2c8 docs: Add empty GitHub.repoURL error to troubleshooting docs (#19926)
Signed-off-by: Moleus <fafufuburr@gmail.com>
2024-09-17 11:34:21 +03:00
Falanty
c8dcd83f88 feat: add ARGOCD_APP_REVISION_SHORT_8 variable in build environment (#19931)
Signed-off-by: Adam, Patrick <p.adam@mail.de>
Co-authored-by: Adam, Patrick <p.adam@mail.de>
2024-09-17 11:20:02 +03:00
github-actions[bot]
94e02101c6 Bump version in master (#19947)
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: pasha-codefresh <39732895+pasha-codefresh@users.noreply.github.com>
2024-09-17 05:37:40 +00:00
dependabot[bot]
d636e53665 chore(deps): bump peter-evans/create-pull-request from 7.0.2 to 7.0.3 (#19957)
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 7.0.2 to 7.0.3.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](d121e62763...6cd32fd936)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-17 00:38:25 -04:00
dependabot[bot]
8f65594ca9 chore(deps): bump tj-actions/changed-files from 45.0.1 to 45.0.2 (#19958)
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 45.0.1 to 45.0.2.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](e9772d1404...48d8f15b2a)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-17 00:36:49 -04:00
Michael Crenshaw
14a1a552dc chore: bump gitops-engine for performance improvements (#19953)
* chore: bump gitops-engine for performance improvement

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* bump gitops-engine version

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-09-16 21:40:25 +00:00
github-actions[bot]
bb1123ad7f [Bot] docs: Update Snyk reports (#19936)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2024-09-16 21:06:38 +00:00
Frederic MARTIN
757c395e64 docs: fix typo in upgrading section of operator manual (#19950)
Signed-off-by: Frederic MARTIN <frederic@martin.lc>
2024-09-16 03:26:55 -10:00
kswadi
038a83276c docs: fix typo in ingress section of operator manual (#19946)
Signed-off-by: kswadi <kswadi01@gmail.com>
2024-09-16 01:39:42 -10:00
dependabot[bot]
e67a7b6674 chore(deps-dev): bump @types/node from 22.5.4 to 22.5.5 in /ui-test (#19941)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.5.4 to 22.5.5.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-16 04:53:11 +00:00
dependabot[bot]
ddf337e893 chore(deps): bump bitnami/kubectl in /test/container (#19939)
Bumps bitnami/kubectl from `7779e58` to `27e5f50`.

---
updated-dependencies:
- dependency-name: bitnami/kubectl
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-16 00:37:53 -04:00
dependabot[bot]
5540c37f3a chore(deps): bump github.com/cyphar/filepath-securejoin (#19940)
Bumps [github.com/cyphar/filepath-securejoin](https://github.com/cyphar/filepath-securejoin) from 0.3.1 to 0.3.2.
- [Release notes](https://github.com/cyphar/filepath-securejoin/releases)
- [Changelog](https://github.com/cyphar/filepath-securejoin/blob/main/CHANGELOG.md)
- [Commits](https://github.com/cyphar/filepath-securejoin/compare/v0.3.1...v0.3.2)

---
updated-dependencies:
- dependency-name: github.com/cyphar/filepath-securejoin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-16 00:37:35 -04:00
dependabot[bot]
60df9eb384 chore(deps-dev): bump mocha and @types/mocha in /ui-test (#19923)
Bumps [mocha](https://github.com/mochajs/mocha) and [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha). These dependencies needed to be updated together.

Updates `mocha` from 10.4.0 to 10.7.3
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/main/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v10.4.0...v10.7.3)

Updates `@types/mocha` from 10.0.6 to 10.0.8
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/mocha)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-minor
- dependency-name: "@types/mocha"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-13 12:26:46 -07:00
dependabot[bot]
c6a414c7db chore(deps): bump chromedriver from 128.0.1 to 128.0.3 in /ui-test (#19924)
Bumps [chromedriver](https://github.com/giggio/node-chromedriver) from 128.0.1 to 128.0.3.
- [Commits](https://github.com/giggio/node-chromedriver/compare/128.0.1...128.0.3)

---
updated-dependencies:
- dependency-name: chromedriver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-13 12:26:06 -07:00
dependabot[bot]
d49e175c53 chore(deps): bump library/busybox in /test/e2e/multiarch-container (#19925)
Bumps library/busybox from `34b191d` to `c230832`.

---
updated-dependencies:
- dependency-name: library/busybox
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-13 12:25:55 -07:00
Thibault Jamet
42c001dd14 fix(appset): Fix perpetual appset reconciliation (#19822)
Golang maps do not guarantee the order of the application resources
from the applicationset which causes rapid sync activity for the applicationset
as the objects and hence their resourceVersions are updated after each reconcile loop.

This then triggers reconciliation of all objects watching the
ApplicationSet.

In order to prevent this behaviour, ensure that the ApplicationSet
reconciler provides an idempotent list of resources, ensuring objects
are not updated.

Fixes: #19757

Signed-off-by: Thibault Jamet <thibault.jamet@adevinta.com>
Signed-off-by: Fabián Sellés <fabian.selles@adevinta.com>
Co-authored-by: Fabian Selles <fabian.sellesrosa@gmail.com>
Co-authored-by: Ariadna Rouco <ariadna.rouco@adevinta.com>
2024-09-13 13:43:53 -04:00
dependabot[bot]
ccc66cc54d chore(deps): bump peter-evans/create-pull-request from 7.0.1 to 7.0.2 (#19922)
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 7.0.1 to 7.0.2.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](8867c4aba1...d121e62763)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-13 16:30:20 +01:00
Vikram Sethi
f22c332d92 Add Adobe to USERS.md (#19927)
Adobe is actively using all four Argo projects

Signed-off-by: Vikram Sethi <vsethi@adobe.com>
2024-09-12 23:49:17 -10:00
rumstead
cb6fbbfdea fix(docs): adding links for appset matrix example (#19914)
* fix(docs): adding links for appset matrix example

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* fix(docs): adding links for appset matrix example

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

---------

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
2024-09-12 22:55:41 -06:00
Kostis (Codefresh)
81de487cf6 docs: Application sets metrics documentation (#19892)
* docs: fixed wrong formatting of yaml

Signed-off-by: Kostis (Codefresh) <39800303+kostis-codefresh@users.noreply.github.com>

* docs: metrics for application sets

Signed-off-by: Kostis (Codefresh) <39800303+kostis-codefresh@users.noreply.github.com>

* docs: applicationset metrics suggestions from code review

Co-authored-by: Dan Garfield <dan@codefresh.io>
Signed-off-by: Kostis (Codefresh) <39800303+kostis-codefresh@users.noreply.github.com>

* docs: minor formatting fix

Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
Signed-off-by: Kostis (Codefresh) <39800303+kostis-codefresh@users.noreply.github.com>

---------

Signed-off-by: Kostis (Codefresh) <39800303+kostis-codefresh@users.noreply.github.com>
Co-authored-by: Dan Garfield <dan@codefresh.io>
Co-authored-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
2024-09-12 15:02:13 +00:00
dependabot[bot]
28f424f8f9 chore(deps): bump library/golang from 4a3c2bc to 2fe82a3 (#19905)
Bumps library/golang from `4a3c2bc` to `2fe82a3`.

---
updated-dependencies:
- dependency-name: library/golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-12 06:25:54 +00:00
dependabot[bot]
bf02881374 chore(deps): bump library/redis in /test/container (#19900)
Bumps library/redis from `fbff2d8` to `eadf354`.

---
updated-dependencies:
- dependency-name: library/redis
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-12 01:47:33 -04:00
dependabot[bot]
393f7fc7c1 chore(deps): bump library/golang in /test/container (#19901)
Bumps library/golang from `4a3c2bc` to `2fe82a3`.

---
updated-dependencies:
- dependency-name: library/golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-12 01:47:19 -04:00
dependabot[bot]
48a03a9884 chore(deps): bump google.golang.org/grpc from 1.66.1 to 1.66.2 (#19902)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.66.1 to 1.66.2.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.66.1...v1.66.2)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-12 01:47:05 -04:00
dependabot[bot]
7abdd88d81 chore(deps): bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc (#19903)
Bumps [go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc](https://github.com/open-telemetry/opentelemetry-go-contrib) from 0.54.0 to 0.55.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-go-contrib/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go-contrib/compare/zpages/v0.54.0...zpages/v0.55.0)

---
updated-dependencies:
- dependency-name: go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-12 01:46:50 -04:00
dependabot[bot]
c20734df37 chore(deps): bump gitpod/workspace-full from fbff2dc to 230285e (#19904)
Bumps gitpod/workspace-full from `fbff2dc` to `230285e`.

---
updated-dependencies:
- dependency-name: gitpod/workspace-full
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-12 05:27:18 +00:00
dependabot[bot]
f5a202abb3 chore(deps): bump library/golang in /test/remote (#19899)
Bumps library/golang from `4a3c2bc` to `2fe82a3`.

---
updated-dependencies:
- dependency-name: library/golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2024-09-12 04:53:03 +00:00
Linghao Su
20e7f8edca feat(ui): add health status and message in sync status list (#19875)
Signed-off-by: linghaoSu <linghao.su@daocloud.io>
Co-authored-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2024-09-11 20:26:44 -07:00
dependabot[bot]
ddab959958 chore(deps): bump library/redis from 7.2.5 to 7.4.0 in /test/container (#19294)
Bumps library/redis from 7.2.5 to 7.4.0.

---
updated-dependencies:
- dependency-name: library/redis
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-11 20:25:17 -07:00
Suraj yadav
aeb8b55fc0 fix(ui): Re-fix help-icon in the summary section (#19833)
* refix-icon

Signed-off-by: Surajyadav <harrypotter1108@gmail.com>

* lint

Signed-off-by: Surajyadav <harrypotter1108@gmail.com>

---------

Signed-off-by: Surajyadav <harrypotter1108@gmail.com>
2024-09-11 22:10:27 -04:00
Seolhui Lee
c4709fbf5f feat: Add graceful shutdown handling in notification (#19368)
Signed-off-by: LeeSeolHui <lsh81550@gmail.com>
2024-09-11 22:08:25 -04:00
Thiago Perrotta
022c4fd061 docs(sync windows): rename Sunday-Saturday (#19885) (#19886)
* fix(sync windows): rename Sunday-Saturday

Sunday-Saturday is ambiguous. It could mean:

- sunday and saturday ONLY
- from sunday to saturday (=every day of the week)

In order to disambiguate, we could change the label to one of the
following:

- Every Day of the Week
- Sunday to Saturday
- From Sunday to Saturday

Signed-off-by: Thiago Perrotta <tbperrotta@gmail.com>

* Update ui/src/app/settings/components/project-sync-windows-edit/project-sync-windows-edit.tsx

Co-authored-by: Dan Garfield <dan@codefresh.io>
Signed-off-by: Thiago Perrotta <tbperrotta@gmail.com>

---------

Signed-off-by: Thiago Perrotta <tbperrotta@gmail.com>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2024-09-11 21:37:35 -04:00
1102
02df74192f docs: Clarify AWS profile mounting locations for EKS cluster addition (#19853)
Signed-off-by: nueavv <nuguni@kakao.com>
2024-09-11 20:28:39 -04:00
1102
ad399c0a88 docs: Add Installation Warning and Kustomize Guide (#19874)
* Update installation docs: Add warning for ClusterRoleBinding and custom namespace

Signed-off-by: nueavv <nuguni@kakao.com>

* Add support for installing Argo CD in custom namespace using Kustomize

Signed-off-by: nueavv <nuguni@kakao.com>

* remove clusterrolebinding name

Signed-off-by: nueavv <nuguni@kakao.com>

---------

Signed-off-by: nueavv <nuguni@kakao.com>
2024-09-11 16:54:44 -06:00
Jingchao
f980187f17 fix: openkruise health check npe error #19545 (#19660)
* test: add broken unit test data

Signed-off-by: Jingchao <alswlx@gmail.com>

* fix: npe error in kruise ds health-check

Signed-off-by: Jingchao <alswlx@gmail.com>

---------

Signed-off-by: Jingchao <alswlx@gmail.com>
2024-09-11 15:32:37 -07:00
dependabot[bot]
da118ad6aa chore(deps): bump express from 4.19.2 to 4.20.0 in /ui (#19883)
Bumps [express](https://github.com/expressjs/express) from 4.19.2 to 4.20.0.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.19.2...4.20.0)

---
updated-dependencies:
- dependency-name: express
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-11 15:27:59 -07:00
dependabot[bot]
44d56954b7 chore(deps): bump library/golang from 1.22.6 to 1.23.1 (#19838)
Bumps library/golang from 1.22.6 to 1.23.1.

---
updated-dependencies:
- dependency-name: library/golang
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-11 15:27:08 -07:00
afarbos
e86258d8a5 feat: Implement PodDisruptionBudget CRD health checks (#19826)
Signed-off-by: Arnaud Farbos <farbos.arnaud@gmail.com>
2024-09-11 15:24:59 -07:00
dependabot[bot]
8487a93931 chore(deps): bump library/golang from 1.22.0 to 1.23.1 in /test/remote (#19840)
Bumps library/golang from 1.22.0 to 1.23.1.

---
updated-dependencies:
- dependency-name: library/golang
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-11 15:20:21 -07:00
dependabot[bot]
76870db199 chore(deps): bump library/golang in /test/container (#19841)
Bumps library/golang from `80cf6f9` to `4a3c2bc`.

---
updated-dependencies:
- dependency-name: library/golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-11 15:19:51 -07:00
dependabot[bot]
d60f8d8ba2 chore(deps): bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc (#19877)
Bumps [go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc](https://github.com/open-telemetry/opentelemetry-go) from 1.27.0 to 1.30.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.27.0...v1.30.0)

---
updated-dependencies:
- dependency-name: go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-11 15:18:46 -07:00
Nitish Kumar
5e55d1d502 docs: mention information about where to set the ARGOCD_SYNC_WAVE_DELAY environment variable (#19879)
* Update sync-waves.md

Signed-off-by: Nitish Kumar <justnitish06@gmail.com>

* Update docs/user-guide/sync-waves.md

Co-authored-by: Dan Garfield <dan@codefresh.io>
Signed-off-by: Nitish Kumar <justnitish06@gmail.com>

---------

Signed-off-by: Nitish Kumar <justnitish06@gmail.com>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2024-09-11 16:11:26 -06:00
Nitish Kumar
ebbd3d1321 feat: add --source-position flag to argocd get app command to show parameter changes for multi-source application (#19887)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2024-09-11 22:47:31 +05:30
KangManJoo
b098f2152e chore: improve error logs (#10592) (#19743)
Signed-off-by: KangManJoo <eogns47@konkuk.ac.kr>
2024-09-11 13:14:47 -04:00
dependabot[bot]
a7bc623fef chore(deps): bump go.opentelemetry.io/otel/sdk from 1.29.0 to 1.30.0 (#19878)
Bumps [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go) from 1.29.0 to 1.30.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.29.0...v1.30.0)

---
updated-dependencies:
- dependency-name: go.opentelemetry.io/otel/sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-11 13:06:56 -04:00
mmuzh
1de5f3b7fc Add Augury as part of argocd users (#19890)
Signed-off-by: mmuzh <96480964+MaxMuzh@users.noreply.github.com>
2024-09-11 13:53:33 +02:00
dependabot[bot]
14c1da6e40 chore(deps): bump github.com/xanzy/go-gitlab from 0.108.0 to 0.109.0 (#19839)
Bumps [github.com/xanzy/go-gitlab](https://github.com/xanzy/go-gitlab) from 0.108.0 to 0.109.0.
- [Release notes](https://github.com/xanzy/go-gitlab/releases)
- [Changelog](https://github.com/xanzy/go-gitlab/blob/main/releases_test.go)
- [Commits](https://github.com/xanzy/go-gitlab/compare/v0.108.0...v0.109.0)

---
updated-dependencies:
- dependency-name: github.com/xanzy/go-gitlab
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-11 12:11:26 +03:00
mhaoda
bc4c4757fd fix: proxy url arg for repocreds command. (#19805)
* Add proxy url arg for repocreds command.

Co-authored-by: Li Wang <li.wang3@fmr.com>
Signed-off-by: Miao Haoda <Haoda.Miao@fmr.com>

* commit the results of clidocsgen

Signed-off-by: Miao Haoda <Haoda.Miao@fmr.com>

---------

Signed-off-by: Miao Haoda <Haoda.Miao@fmr.com>
Co-authored-by: Li Wang <li.wang3@fmr.com>
2024-09-11 10:11:30 +02:00
Alexandre Gaudreault
ca7a08eb95 fix(deeplinks): do not evaluate template when condition is false (#19625) (#19868)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2024-09-10 16:34:51 -04:00
Ashu
5776554819 feat(lua actions): add a flag to Include builtin actions with resource overrides (#19708)
* feat: include prebuilt action with overrides

Signed-off-by: ashutosh16 <11219262+ashutosh16@users.noreply.github.com>


Signed-off-by: ashutosh16 <11219262+ashutosh16@users.noreply.github.com>
Signed-off-by: Ashu <11219262+ashutosh16@users.noreply.github.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2024-09-10 11:57:29 -07:00
Leonardo Luz Almeida
878494f037 feat: Send user groups to proxy extensions (#19855)
* feat: Send user groups to proxy extensions

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* address review comments

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

---------

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
2024-09-10 15:37:00 +00:00
Marios Andreopoulos
d8c773dd3d docs: fix Helm --set-file example (#19864)
Signed-off-by: Marios Andreopoulos <opensource@andmarios.com>
2024-09-10 09:08:39 -04:00
dependabot[bot]
d2d9a37a0c chore(deps): bump google.golang.org/grpc from 1.66.0 to 1.66.1 (#19860)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.66.0 to 1.66.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.66.0...v1.66.1)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-10 11:15:41 +03:00
dependabot[bot]
ccc528aa9a chore(deps-dev): bump typescript from 5.5.4 to 5.6.2 in /ui-test (#19857)
Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.5.4 to 5.6.2.
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.5.4...v5.6.2)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-10 11:13:00 +03:00
Rafal
031fb88fbb fix(ui): Container Selector in Pods doesn't work (#19856)
Signed-off-by: Rafal Pelczar <rafal@akuity.io>
2024-09-10 09:22:11 +05:30
Alexandre Gaudreault
21a364158e feat(cli): ignore tracking annotation on backup restore (#18960)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2024-09-09 15:50:00 -04:00
Andrea Cervesato
47c7e46405 Missing close ``` in kustomize documentation (#19850)
As per title: ```  is missing in the first object.

Signed-off-by: Andrea Cervesato <andrea.cervesato@gmail.com>
2024-09-09 12:42:09 +02:00
Gergely Fábián
cb926d004d chore: bump go version to 1.22.7 (#19845)
Signed-off-by: Gergely Fábián <gergo.fb@gmail.com>
2024-09-09 12:33:16 +03:00
dependabot[bot]
a2aaf7fd1d chore(deps): bump library/node from c6add15 to bd00c03 in /ui-test (#19844)
Bumps library/node from `c6add15` to `bd00c03`.

---
updated-dependencies:
- dependency-name: library/node
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-09 12:30:04 +03:00
dependabot[bot]
06237b3fee chore(deps): bump library/registry in /test/container (#19842)
Bumps library/registry from `1212042` to `ac0192b`.

---
updated-dependencies:
- dependency-name: library/registry
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-09 12:29:48 +03:00
Tchoupinax
be90cc04fb feat: add a button to show parameter details (#12183) (#16871) 2024-09-08 17:20:48 +03:00
github-actions[bot]
5af95b1350 [Bot] docs: Update Snyk reports (#19831) 2024-09-08 13:54:17 +03:00
pasha-codefresh
aa990d6696 always execute sync if at least for one revision we identify if it was changed or no (#19828)
Signed-off-by: pashakostohrys <pavel@codefresh.io>
2024-09-07 12:12:33 -04:00
carlosrejano
71bbdccacf fix(appset): Retry on conflict when updating status (#19663)
* fix(appset): Retry on conflict when updating status

  # Context:
  When updating the status of the applicationset object it can happen
  that it fails due to a conflict since the resourceVersion has changed
  due to a different update. This makes the reconcile fails and we need
  to wait until the following reconcile loop until it updates the
  relevant status fields and hope that the update calls don't fail again
  due a conflict. It can even happen that it gets stuck constantly due
  to this erriors.

  A better approach I would say is retrying when there is a conflict
  error with the newest version of the object, so we make sure we update
  the object with the latest version always.

  This has been raised in issue #19535 that failing due to conflicts can
  make the reconcile not able to proceed.

  # What does this PR?
  - Wraps all the `Update().Status` calls inside a retry function that
    will retry when the update fails due a conflict.
  - Adds appset to fake client subresources, if not the client can not
    correctly determine the status subresource. Refer to:
    https://github.com/kubernetes-sigs/controller-runtime/issues/2386,
    and
    https://github.com/kubernetes-sigs/controller-runtime/issues/2362.

Signed-off-by: Carlos Rejano <carlos.rejano@adevinta.com>

* fixup! fix(appset): Retry on conflict when updating status

---------

Signed-off-by: Carlos Rejano <carlos.rejano@adevinta.com>
Signed-off-by: carlosrejano <59321132+carlosrejano@users.noreply.github.com>
Co-authored-by: Carlos Rejano <carlos.rejano@adevinta.com>
2024-09-07 20:55:39 +05:30
pasha-codefresh
473665795c fix: manifest-generate-paths with autosync causes an undesirable refresh sync (#19799)
Signed-off-by: pashakostohrys <pavel@codefresh.io>
2024-09-06 11:40:48 -04:00
dependabot[bot]
3661f09456 chore(deps): bump library/node from 8ec0232 to c6add15 in /ui-test (#19807)
Bumps library/node from `8ec0232` to `c6add15`.

---
updated-dependencies:
- dependency-name: library/node
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-06 16:59:48 +03:00
dependabot[bot]
1759a4406b chore(deps): bump github.com/prometheus/client_golang (#19810)
Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.20.2 to 1.20.3.
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/v1.20.3/CHANGELOG.md)
- [Commits](https://github.com/prometheus/client_golang/compare/v1.20.2...v1.20.3)

---
updated-dependencies:
- dependency-name: github.com/prometheus/client_golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-06 16:59:35 +03:00
dependabot[bot]
cc42d5f92d chore(deps): bump library/golang in /test/container (#19811)
Bumps library/golang from `1a6db32` to `80cf6f9`.

---
updated-dependencies:
- dependency-name: library/golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-06 16:58:40 +03:00
dependabot[bot]
3136d08f44 chore(deps): bump bitnami/kubectl in /test/container (#19812)
Bumps bitnami/kubectl from `664bf2a` to `7779e58`.

---
updated-dependencies:
- dependency-name: bitnami/kubectl
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-06 16:58:26 +03:00
dependabot[bot]
6533a6f686 chore(deps): bump library/node in /test/container (#19813)
Bumps library/node from `8ec0232` to `bd00c03`.

---
updated-dependencies:
- dependency-name: library/node
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-06 16:58:12 +03:00
dependabot[bot]
3f5b80f626 chore(deps): bump library/node from 8ec0232 to bd00c03 (#19814)
Bumps library/node from `8ec0232` to `bd00c03`.

---
updated-dependencies:
- dependency-name: library/node
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-06 16:55:47 +03:00
dependabot[bot]
3d66b05899 chore(deps): bump tj-actions/changed-files from 44.5.7 to 45.0.1 (#19750)
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 44.5.7 to 45.0.1.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](c65cd88342...e9772d1404)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-06 09:24:00 +02:00
dependabot[bot]
b84f01eb3d chore(deps): bump peter-evans/create-pull-request from 7.0.0 to 7.0.1 (#19806)
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 7.0.0 to 7.0.1.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](4320041ed3...8867c4aba1)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-06 09:23:07 +02:00
dependabot[bot]
09fdec4c6b chore(deps): bump golang.org/x/oauth2 from 0.22.0 to 0.23.0 (#19790)
Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.22.0 to 0.23.0.
- [Commits](https://github.com/golang/oauth2/compare/v0.22.0...v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-06 09:22:14 +02:00
dependabot[bot]
01bbd91c9d chore(deps): bump golang.org/x/net from 0.28.0 to 0.29.0 (#19808)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.28.0 to 0.29.0.
- [Commits](https://github.com/golang/net/compare/v0.28.0...v0.29.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-06 04:57:18 +00:00
Dan Garfield
d28229dc1c Fix broken link from overview, previous merge conflict (#19801)
Signed-off-by: todaywasawesome <dan@codefresh.io>
2024-09-05 14:54:50 -04:00
Dustin Lactin
9d3409f7d5 docs: Add Mozilla to USERS.md (#19802)
Signed-off-by: Dustin Lactin <dlactin@mozilla.com>
2024-09-05 06:44:58 -10:00
Alexander Matyushentsev
ba67abed40 docs: proposal to introduce 'Prune/Delete=confirm' sync option value (#19520)
* docs: proposal to introduce 'Prune/Delete=confirm' sync option value

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>

* add clarifications

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>

---------

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2024-09-05 19:10:39 +03:00
Keith Chong
6dc7405cf9 fix: Delete button should be disabled when one source remains (#18804) 2024-09-05 05:37:59 -04:00
dependabot[bot]
c27091cb4f chore(deps): bump golang.org/x/term from 0.23.0 to 0.24.0 (#19789)
Bumps [golang.org/x/term](https://github.com/golang/term) from 0.23.0 to 0.24.0.
- [Commits](https://github.com/golang/term/compare/v0.23.0...v0.24.0)

---
updated-dependencies:
- dependency-name: golang.org/x/term
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-05 10:47:25 +03:00
dependabot[bot]
bd93902325 chore(deps): bump library/busybox in /test/e2e/multiarch-container (#19791)
Bumps library/busybox from `8274294` to `34b191d`.

---
updated-dependencies:
- dependency-name: library/busybox
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-05 09:42:53 +03:00
dependabot[bot]
d9bda34605 chore(deps): bump bitnami/kubectl in /test/container (#19792)
Bumps bitnami/kubectl from `96ef4d3` to `664bf2a`.

---
updated-dependencies:
- dependency-name: bitnami/kubectl
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-05 09:42:29 +03:00
dependabot[bot]
ece68bd143 chore(deps): bump library/golang in /test/container (#19793)
Bumps library/golang from `613a108` to `1a6db32`.

---
updated-dependencies:
- dependency-name: library/golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-05 09:42:09 +03:00
foyerunix
de35745fc0 feat: Add metric to expose Applications conditions (#19438)
Closes #13096

Implement a new metric exposing Applications conditions.
This is particularly useful for SRE teams to be able
to setup alerts on issues that aren't displayed via
"health_status" and "sync_status" in the metric "argocd_app_info".

Signed-off-by: Foyer Unix <foyerunix@foyer.lu>
Co-authored-by: Foyer Unix <foyerunix@foyer.lu>
2024-09-05 09:41:35 +03:00
dependabot[bot]
bb43c5a83d chore(deps-dev): bump @types/node from 22.5.3 to 22.5.4 in /ui-test (#19794) 2024-09-05 09:12:41 +03:00
rumstead
01874d64de fix(appset): allow for shorthand git refs in git generators #15427 (#19783)
* fix(appset): allow for shorthand git refs in git generators

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* Retrigger CI pipeline

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* attempt to fix goimports

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* attempt to fix goimports

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

* remove redundant test

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>

---------

Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
2024-09-05 10:13:30 +05:30
Xiaopeng Han
aa2bafd812 fix(cli): admin settings rbac can has inconsistency among project resources (#17805)
* fix admin can inconsistency among resources

Signed-off-by: xiaopeng <hanxiaop8@outlook.com>

* revise logic and fix lint

Signed-off-by: xiaopeng <hanxiaop8@outlook.com>

---------

Signed-off-by: xiaopeng <hanxiaop8@outlook.com>
2024-09-05 10:07:13 +05:30
Anand Francis Joseph
d3fbeec825 Fixed go.mod to remove the replace construct added for gitops-engine (#19788)
Signed-off-by: anandf <anjoseph@redhat.com>
2024-09-05 02:16:50 +00:00
dependabot[bot]
63b6565079 chore(deps): bump google.golang.org/grpc from 1.65.0 to 1.66.0 (#19719)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.65.0 to 1.66.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.65.0...v1.66.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-04 20:32:58 -04:00
sxt90128
ef41eebd10 fix: issue 19395 change delete icon color in dark model (#19747)
* fix-19395 change delete icon color in dark model

Signed-off-by: Esther Shen <xingtong.shen@fmr.com>

* fix-19395 revert formatting changes

Signed-off-by: Esther Shen <xingtong.shen@fmr.com>

* fix-19395 revert formatting changes

Signed-off-by: Esther Shen <xingtong.shen@fmr.com>

* fix-19395 revert formatting changes

Signed-off-by: Esther Shen <xingtong.shen@fmr.com>

---------

Signed-off-by: Esther Shen <xingtong.shen@fmr.com>
2024-09-04 20:24:40 -04:00
Dan Garfield
832fefb533 Add links to index page (#19786)
Signed-off-by: todaywasawesome <dan@codefresh.io>
2024-09-04 20:18:32 -04:00
Dan Garfield
9c47a709fb Fix local guide for building and testing docs (#19785)
Signed-off-by: todaywasawesome <dan@codefresh.io>
2024-09-04 20:13:53 -04:00
Anand Francis Joseph
1028808bb7 feat: Decoupling application sync using impersonation (#17403)
* Implementation of app sync with impersonation support

Signed-off-by: anandf <anjoseph@redhat.com>

* negation test

Signed-off-by: Mangaal <angommeeteimangaal@gmail.com>

* Update doc comments to remove server name as its not supported.

Co-authored-by: Ishita Sequeira <46771830+ishitasequeira@users.noreply.github.com>
Signed-off-by: Anand Francis Joseph <anandfrancis.joseph@gmail.com>

* Update glob pattern check for matching destinations.

Co-authored-by: Ishita Sequeira <46771830+ishitasequeira@users.noreply.github.com>
Signed-off-by: Anand Francis Joseph <anandfrancis.joseph@gmail.com>

* Corrected the code comments for namespace field and destination matching logic

Signed-off-by: anandf <anjoseph@redhat.com>

* Added missing generated files

Signed-off-by: anandf <anjoseph@redhat.com>

* Fixed golint errors caused due to to gofumpt validations

Signed-off-by: anandf <anjoseph@redhat.com>

* Fix golint errors with unit test code

Signed-off-by: anandf <anjoseph@redhat.com>

* Updated the go import ordering with local packages at the end

Signed-off-by: anandf <anjoseph@redhat.com>

* Addressed review comments

Signed-off-by: anandf <anjoseph@redhat.com>

* Fixed ES lint error caused due to missing class

Signed-off-by: anandf <anjoseph@redhat.com>

* Updated the documentation to address the review comments

Signed-off-by: anandf <anjoseph@redhat.com>

* Simplified the sync code and improved logs and error handling

Signed-off-by: anandf <anjoseph@redhat.com>

* Fixed E2E tests to fail when no sa is configured

Signed-off-by: anandf <anjoseph@redhat.com>

* Updated help message generated for CLI commands

Signed-off-by: anandf <anjoseph@redhat.com>

* Fixed failing tests due to default service account not used for sync operation

Signed-off-by: anandf <anjoseph@redhat.com>

* Fixed the error message when sync fails due to no matching sa

Signed-off-by: anandf <anjoseph@redhat.com>

* Removed repeating logs and added impersonation fields to logger

Signed-off-by: anandf <anjoseph@redhat.com>

* Made changes in the proposal to match the behaviour when no matching sa is found

Signed-off-by: Anand Francis Joseph <anjoseph@redhat.com>

---------

Signed-off-by: anandf <anjoseph@redhat.com>
Signed-off-by: Mangaal <angommeeteimangaal@gmail.com>
Signed-off-by: Anand Francis Joseph <anandfrancis.joseph@gmail.com>
Signed-off-by: Anand Francis Joseph <anjoseph@redhat.com>
Co-authored-by: Mangaal <angommeeteimangaal@gmail.com>
Co-authored-by: Ishita Sequeira <46771830+ishitasequeira@users.noreply.github.com>
2024-09-04 14:18:47 -04:00
Dan Garfield
f071fdcfa3 Update pygments to 2.15.1 (#19782)
Signed-off-by: todaywasawesome <dan@codefresh.io>
2024-09-04 18:14:37 +03:00
Cheng Fang
e3e02f0064 chore(lint): errors reported by golangci-lint: S1009: should omit nil check; printf: non-constant format string (#19773)
Signed-off-by: Cheng Fang <cfang@redhat.com>
Co-authored-by: pasha-codefresh <pavel@codefresh.io>
2024-09-04 14:58:15 +00:00
dependabot[bot]
6cdba1e536 chore(deps): bump peter-evans/create-pull-request from 6.1.0 to 7.0.0 (#19776)
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 6.1.0 to 7.0.0.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](c5a7806660...4320041ed3)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-04 09:47:34 -04:00
Kunho Lee
a6d11354bb chore: add gcflags option when build in cli-local command (#19742)
Signed-off-by: daengdaengLee <gunho1020@gmail.com>
2024-09-04 15:37:30 +03:00
abdaziz
b9bd45b059 docs: update keycloak.md (#17684)
* Update keycloak.md

The documentation is excellent, but after following it, i'v experienced an issue 401, and the UI loop to login, to fix it i restarted the argocd-server pod then it' worked well.

Signed-off-by: abdaziz <abdazizg@gmail.com>

* Update keycloak.md

update the requested changes from @wanghong230

Signed-off-by: abdaziz <abdazizg@gmail.com>

* Update keycloak.md

Signed-off-by: abdaziz <abdazizg@gmail.com>

* Update keycloak.md

good format.

Signed-off-by: abdaziz <abdazizg@gmail.com>

---------

Signed-off-by: abdaziz <abdazizg@gmail.com>
2024-09-04 10:28:40 +03:00
dependabot[bot]
da43a20c6a chore(deps): bump actions/upload-artifact from 4.3.6 to 4.4.0 (#19751)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.6 to 4.4.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](834a144ee9...50769540e7)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-04 10:09:09 +03:00
dependabot[bot]
de8ed2b9a7 chore(deps): bump library/node from 22.7.0 to 22.8.0 in /ui-test (#19775)
Bumps library/node from 22.7.0 to 22.8.0.

---
updated-dependencies:
- dependency-name: library/node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-04 09:57:28 +03:00
dependabot[bot]
f3b90ee517 chore(deps-dev): bump @types/node from 22.5.2 to 22.5.3 in /ui-test (#19777)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.5.2 to 22.5.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-04 09:57:09 +03:00
dependabot[bot]
f651ce7169 chore(deps): bump library/node from 22.7.0 to 22.8.0 in /test/container (#19778)
Bumps library/node from 22.7.0 to 22.8.0.

---
updated-dependencies:
- dependency-name: library/node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-04 09:56:56 +03:00
dependabot[bot]
2b929ef2b6 chore(deps): bump library/node from 22.7.0 to 22.8.0 (#19779)
Bumps library/node from 22.7.0 to 22.8.0.

---
updated-dependencies:
- dependency-name: library/node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-04 09:56:29 +03:00
Henry Liu
06e85eed36 fix(ui): fix first line log timestamp (#19724)
Signed-off-by: henry.liu <henry.liu@daocloud.io>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2024-09-04 11:17:54 +05:30
Pierre Lebrun
09e44e5f21 fix: Fix semver resolution (#19644)
Signed-off-by: Pierre Lebrun <pierreyves.lebrun@gmail.com>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2024-09-03 18:48:32 +00:00
Henry Liu
047f709c50 fix(ui): reload credential template list after refresh (#19764)
Signed-off-by: henry.liu <henry.liu@daocloud.io>
2024-09-03 08:36:25 -07:00
Suraj yadav
566e1d2ada fix(ui): Added field bottom for Username and Passsword (#19762)
* auth-field

Signed-off-by: Surajyadav <harrypotter1108@gmail.com>

* lint-fix

Signed-off-by: Surajyadav <harrypotter1108@gmail.com>

---------

Signed-off-by: Surajyadav <harrypotter1108@gmail.com>
2024-09-03 20:05:34 +05:30
George
5e294d84b7 feat(util/notification): add duration and timestamp constants from stdlib time package (#10706)
* feat(util/notification): add duration and timestamp constants from stdlib time package

Signed-off-by: George MacRorie <me@georgemac.com>

* chore(docs): add details on new time constants

Signed-off-by: George MacRorie <me@georgemac.com>

* chore: run go mod tidy

Signed-off-by: George MacRorie <me@georgemac.com>

* chore(util/notification): use require.NoError instead of require.Nil

Signed-off-by: George MacRorie <me@georgemac.com>

* chore: go mod tidy

Signed-off-by: George MacRorie <me@georgemac.com>

---------

Signed-off-by: George MacRorie <me@georgemac.com>
2024-09-03 15:55:32 +03:00
Ignas Kaziukėnas
da345ee5f6 fix: pass the correct parameter for strict tls validation in applicationset controller (#19759)
Signed-off-by: ignas-kaziukenas_css <ignas.kaziukenas@cloudkitchens.com>
Co-authored-by: ignas-kaziukenas_css <ignas.kaziukenas@cloudkitchens.com>
2024-09-02 15:40:15 -07:00
dependabot[bot]
b574cdc714 chore(deps): bump bitnami/kubectl in /test/container (#19753)
Bumps bitnami/kubectl from `44f99aa` to `96ef4d3`.

---
updated-dependencies:
- dependency-name: bitnami/kubectl
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: pasha-codefresh <pavel@codefresh.io>
2024-09-02 13:28:14 +03:00
github-actions[bot]
79b1e4bfc7 [Bot] docs: Update Snyk reports (#19745)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
Co-authored-by: pasha-codefresh <pavel@codefresh.io>
2024-09-02 12:49:08 +03:00
dependabot[bot]
1f8add5907 chore(deps): bump github.com/Masterminds/sprig/v3 from 3.2.3 to 3.3.0 (#19737)
Bumps [github.com/Masterminds/sprig/v3](https://github.com/Masterminds/sprig) from 3.2.3 to 3.3.0.
- [Release notes](https://github.com/Masterminds/sprig/releases)
- [Changelog](https://github.com/Masterminds/sprig/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Masterminds/sprig/compare/v3.2.3...v3.3.0)

---
updated-dependencies:
- dependency-name: github.com/Masterminds/sprig/v3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-02 12:24:34 +03:00
dependabot[bot]
843a2cdb09 chore(deps): bump github.com/xanzy/go-gitlab from 0.107.0 to 0.108.0 (#19690)
Bumps [github.com/xanzy/go-gitlab](https://github.com/xanzy/go-gitlab) from 0.107.0 to 0.108.0.
- [Release notes](https://github.com/xanzy/go-gitlab/releases)
- [Changelog](https://github.com/xanzy/go-gitlab/blob/main/releases_test.go)
- [Commits](https://github.com/xanzy/go-gitlab/compare/v0.107.0...v0.108.0)

---
updated-dependencies:
- dependency-name: github.com/xanzy/go-gitlab
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-02 12:21:42 +03:00
dependabot[bot]
3ee71e92dc chore(deps): bump library/node from 22.5.1 to 22.7.0 in /ui-test (#19656)
Bumps library/node from 22.5.1 to 22.7.0.

---
updated-dependencies:
- dependency-name: library/node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-02 12:19:34 +03:00
dependabot[bot]
f8dc8b470d chore(deps): bump library/node from 22.5.1 to 22.7.0 in /test/container (#19658)
Bumps library/node from 22.5.1 to 22.7.0.

---
updated-dependencies:
- dependency-name: library/node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-02 12:19:10 +03:00
dependabot[bot]
8b2542ac76 chore(deps): bump library/node from 22.3.0 to 22.7.0 (#19659)
Bumps library/node from 22.3.0 to 22.7.0.

---
updated-dependencies:
- dependency-name: library/node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-02 12:16:08 +03:00
dependabot[bot]
a9095fe4e7 chore(deps-dev): bump webpack from 5.84.1 to 5.94.0 in /ui (#19713)
Bumps [webpack](https://github.com/webpack/webpack) from 5.84.1 to 5.94.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.84.1...v5.94.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-02 12:15:14 +03:00
dependabot[bot]
430f315924 chore(deps): bump github.com/casbin/casbin/v2 from 2.98.0 to 2.99.0 (#19754)
Bumps [github.com/casbin/casbin/v2](https://github.com/casbin/casbin) from 2.98.0 to 2.99.0.
- [Release notes](https://github.com/casbin/casbin/releases)
- [Changelog](https://github.com/casbin/casbin/blob/master/.releaserc.json)
- [Commits](https://github.com/casbin/casbin/compare/v2.98.0...v2.99.0)

---
updated-dependencies:
- dependency-name: github.com/casbin/casbin/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-02 12:13:49 +03:00
dependabot[bot]
9fbe05c7ae chore(deps): bump chromedriver from 128.0.0 to 128.0.1 in /ui-test (#19748)
Bumps [chromedriver](https://github.com/giggio/node-chromedriver) from 128.0.0 to 128.0.1.
- [Commits](https://github.com/giggio/node-chromedriver/compare/128.0.0...128.0.1)

---
updated-dependencies:
- dependency-name: chromedriver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-02 12:12:28 +03:00
dependabot[bot]
2a63a8b3d9 chore(deps): bump github.com/mattn/go-zglob from 0.0.4 to 0.0.6 (#19755)
Bumps [github.com/mattn/go-zglob](https://github.com/mattn/go-zglob) from 0.0.4 to 0.0.6.
- [Commits](https://github.com/mattn/go-zglob/compare/v0.0.4...v0.0.6)

---
updated-dependencies:
- dependency-name: github.com/mattn/go-zglob
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-02 12:11:37 +03:00
dependabot[bot]
a43559d796 chore(deps): bump library/busybox in /test/e2e/multiarch-container (#19752)
Bumps library/busybox from `9ae97d3` to `8274294`.

---
updated-dependencies:
- dependency-name: library/busybox
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-02 12:11:11 +03:00
dependabot[bot]
b656b9efb8 chore(deps-dev): bump @types/node from 22.5.1 to 22.5.2 in /ui-test (#19749)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.5.1 to 22.5.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-02 12:10:55 +03:00
Eugene Kim
5834175dba fix: Refine resource option evaluation for argocd app sync command (#17397) (#19579)
This update refactors the `IncludeResource` logic to improve accuracy in resource filtering.
Also, it includes new test cases to ensure the correctness of the changes.

Fixes: #17397

Changes:
- Rewritten `IncludeResource` function for better logic flow.
- Added unit tests to validate the new behavior.
- Found that two existing test cases were incorrect and fixed them. A closer review of this part is needed.

Signed-off-by: Eugene Kim <eugene70kim@gmail.com>
2024-09-02 10:30:33 +03:00
Jessie Teng
0d0db3c110 fix: open new tab for repo url (#19736)
* open new tab for repo url

Signed-off-by: Jessie Teng <jessie.teng@fmr.com>

* fix yarn lint issue

Signed-off-by: Jessie Teng <jessie.teng@fmr.com>

---------

Signed-off-by: Jessie Teng <jessie.teng@fmr.com>
Co-authored-by: Jessie Teng <jessie.teng@fmr.com>
2024-09-02 11:47:06 +05:30
AS
aa14f76d38 fix(ui): container state (#18928)
Signed-off-by: ashutosh16 <ashutosh_singh@intuit.com>
Co-authored-by: ashutosh16 <ashutosh_singh@intuit.com>
2024-08-29 15:39:15 -04:00
Henry Liu
1bbe17e988 fix(ui): fix create app panel reappear after closed (#19717)
Signed-off-by: henry.liu <henry.liu@daocloud.io>
2024-08-29 11:53:11 -07:00
Alexander Matyushentsev
0acecad8f8 feat: reduce redis traffic caused by app resource tree updates in redis (#19722)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2024-08-29 17:16:48 +00:00
AS
00466c3094 feat(ui): add extension the top-bar action menu (#19620)
* add topbar action menu  ext
Signed-off-by: AS <11219262+ashutosh16@users.noreply.github.com>
Co-authored-by: ashutosh16 <ashutosh_singh@intuit.com>
Co-authored-by: Anton Gilgur <4970083+agilgur5@users.noreply.github.com>
2024-08-29 08:48:11 -04:00
Li. Sparks
2c8a574fff fix: ApplicationSet e2e TestSyncPolicyCreateUpdate&TestSyncPolicyCreateOnly test race condition bug #19577 (#19578)
* fixed e2e TestSyncPolicyCreateUpdate&TestSyncPolicyCreateOnly bug

Signed-off-by: Li. Sparks <15156525868@163.com>

* format

Signed-off-by: Li. Sparks <15156525868@163.com>

* change the comment, explain why apps still exists

Signed-off-by: Li. Sparks <15156525868@163.com>

---------

Signed-off-by: Li. Sparks <15156525868@163.com>
2024-08-29 01:29:18 -10:00
Alexander Matyushentsev
3feab7a668 fix: diffing should not fail if resource fail schema validation (#19714)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2024-08-29 03:03:02 +00:00
shijiadong2022
233a14bb8b fix background colore issue in dark theme (#19464)
Signed-off-by: Shi, Stone <jiadong.shi@fmr.com>
2024-08-28 21:10:33 -04:00
Alexander Matyushentsev
3a5b653fb1 feat: implement 'argocd admin appset generate' to troubeshoot appsets (#19518)
* feat: implement 'argocd appset generate' to troubeshoot appsets

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>

* remove unnecessary ErrorLog field

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>

* apply reviewer suggestions

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>

---------

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2024-08-28 23:30:45 +00:00
Cheng Fang
ef573498c5 fix: 'argocd admin settings rbac can' command should honor server.rbac.log.enforce.enable param in argocd-cm (#19264) 2024-08-28 19:47:47 +00:00
Olivia Zhao
f597912a6f fix clipboard copy duration issue (#19662)
Signed-off-by: Zhao, Olivia <xueming.zhao@fmr.com>
2024-08-28 08:56:21 -06:00
Michael Crenshaw
bb3d7730ec chore: remove unnecessary 'replace' in go.mod (#19668)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-08-28 17:52:48 +03:00
dependabot[bot]
40186209cd chore(deps): bump github.com/Masterminds/semver/v3 from 3.2.1 to 3.3.0 (#19705)
Bumps [github.com/Masterminds/semver/v3](https://github.com/Masterminds/semver) from 3.2.1 to 3.3.0.
- [Release notes](https://github.com/Masterminds/semver/releases)
- [Changelog](https://github.com/Masterminds/semver/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Masterminds/semver/compare/v3.2.1...v3.3.0)

---
updated-dependencies:
- dependency-name: github.com/Masterminds/semver/v3
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-28 17:51:21 +03:00
dependabot[bot]
60af76fd46 chore(deps-dev): bump @types/node from 22.3.0 to 22.5.1 in /ui-test (#19706)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.3.0 to 22.5.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-28 17:50:34 +03:00
Matthew Wynn
c1d3373b8f feat: Allow disabling TLS from notifications controller and reposerver (#19630)
Signed-off-by: Matthew Wynn <matthew@matthewwynn.com>
2024-08-28 17:50:10 +03:00
dependabot[bot]
beb71a889d chore(deps): bump chromedriver from 127.0.3 to 128.0.0 in /ui-test (#19635)
Bumps [chromedriver](https://github.com/giggio/node-chromedriver) from 127.0.3 to 128.0.0.
- [Commits](https://github.com/giggio/node-chromedriver/compare/127.0.3...128.0.0)

---
updated-dependencies:
- dependency-name: chromedriver
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-28 17:45:46 +03:00
ilia-medvedev-codefresh
3cbb1522dd feat: Add applicationset metrics (#19691)
* add appset metrics

Signed-off-by: Ilia Medvedev <ilia.medvedev@codefresh.io>

* cleanup

Signed-off-by: Ilia Medvedev <ilia.medvedev@codefresh.io>

* cleanup

Signed-off-by: Ilia Medvedev <ilia.medvedev@codefresh.io>

* address comments and fix test parallelism issue

Signed-off-by: Ilia Medvedev <ilia.medvedev@codefresh.io>

* fix controller unit tests - add metrics to tests

Signed-off-by: Ilia Medvedev <ilia.medvedev@codefresh.io>

* lint

Signed-off-by: Ilia Medvedev <ilia.medvedev@codefresh.io>

* lint

Signed-off-by: Ilia Medvedev <ilia.medvedev@codefresh.io>

* Add FakeAppsetMetrics to clear up registry and create metrics structure for tests without causing collisions

Signed-off-by: Ilia Medvedev <ilia.medvedev@codefresh.io>

* Change fake metrics implementation

Signed-off-by: Ilia Medvedev <ilia.medvedev@codefresh.io>

* Fix typo

Signed-off-by: Ilia Medvedev <ilia.medvedev@codefresh.io>

---------

Signed-off-by: Ilia Medvedev <ilia.medvedev@codefresh.io>
Co-authored-by: pashakostohrys <pavel@codefresh.io>
2024-08-28 09:00:38 +00:00
Dillen Padhiar
32ee00f1f4 feat: introduce health checks for MonoVertexRollouts (#19688)
Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>
2024-08-27 15:43:57 -04:00
Blake Pettersson
4ec26ce399 docs: note cluster scoping changes in 2.12x (#19684)
* docs: note cluster scoping changes in 2.12x

Related to #18748,#19585 and #19587.

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* docs: add note in projects doc.

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

---------

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2024-08-27 20:55:11 +02:00
dependabot[bot]
9af0ff5233 chore(deps): bump github.com/prometheus/client_golang (#19682)
Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.20.1 to 1.20.2.
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prometheus/client_golang/compare/v1.20.1...v1.20.2)

---
updated-dependencies:
- dependency-name: github.com/prometheus/client_golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-26 19:00:08 -04:00
dependabot[bot]
0361fcb1e4 chore(deps): bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc (#19683)
Bumps [go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc](https://github.com/open-telemetry/opentelemetry-go-contrib) from 0.53.0 to 0.54.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-go-contrib/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go-contrib/compare/zpages/v0.53.0...zpages/v0.54.0)

---
updated-dependencies:
- dependency-name: go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-26 18:59:38 -04:00
github-actions[bot]
81444474d6 [Bot] docs: Update Snyk reports (#19679)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2024-08-26 17:36:59 +00:00
Michael Crenshaw
7b21eeefee test: skip flaky logs tests (#13398)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
2024-08-26 11:14:00 -04:00
Remington Breeze
e612199c68 fix(ui): extension can crash outside of error boundary (#19667)
Signed-off-by: Remington Breeze <remington@breeze.software>
2024-08-23 20:02:39 -04:00
dependabot[bot]
f49a71c728 chore(deps): bump micromatch from 4.0.5 to 4.0.8 in /ui (#19672)
Bumps [micromatch](https://github.com/micromatch/micromatch) from 4.0.5 to 4.0.8.
- [Release notes](https://github.com/micromatch/micromatch/releases)
- [Changelog](https://github.com/micromatch/micromatch/blob/4.0.8/CHANGELOG.md)
- [Commits](https://github.com/micromatch/micromatch/compare/4.0.5...4.0.8)

---
updated-dependencies:
- dependency-name: micromatch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-23 20:01:57 -04:00
dependabot[bot]
7fd9d02de7 chore(deps): bump go.opentelemetry.io/otel/sdk from 1.28.0 to 1.29.0 (#19673)
Bumps [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go) from 1.28.0 to 1.29.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.28.0...v1.29.0)

---
updated-dependencies:
- dependency-name: go.opentelemetry.io/otel/sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-23 20:01:33 -04:00
Michael Crenshaw
843329174b chore: bump k8s to 1.31 (#19654)
* chore(deps): bump k8s libs from 0.29.6 to 0.30.2

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* latest commit

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* update known types

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* bump controller-runtime to a version that's compatible with go-client 0.30.x

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* update go-to-protobuf flag

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* handle new requirements for proto file locations

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* bump gitops-engine version

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* fix openapigen

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* remove toolchain

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* bump gitops-engine version

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* chore: enable lint for deprecated symbols

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* chore: bump to k8s 1.31

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* codegen

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* don't be generic if you don't have to be

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* don't be generic if you don't have to be

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* new commit

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* use gitops-engine commit

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-08-23 22:28:34 +00:00
Michael Crenshaw
ddd9d6a9f0 chore(deps): bump k8s libs from 0.29.6 to 0.30.4 (#19074)
* chore(deps): bump k8s libs from 0.29.6 to 0.30.2

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* latest commit

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* update known types

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* bump controller-runtime to a version that's compatible with go-client 0.30.x

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* update go-to-protobuf flag

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* handle new requirements for proto file locations

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* bump gitops-engine version

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* fix openapigen

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* remove toolchain

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* bump gitops-engine version

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* no need for replace now

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-08-23 16:57:56 +00:00
Michael Crenshaw
a0a5a186d9 chore: enable lint for deprecated symbols (#19651)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-08-22 18:11:00 -04:00
rumstead
42c2349d7c fix(appset): remove cache references (#19647)
Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
2024-08-22 19:43:12 +00:00
Michael Crenshaw
457bb1f23c chore(tests): speed up unit tests (#19617)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-08-22 13:59:27 -04:00
dependabot[bot]
58bab92294 chore(deps): bump github.com/google/btree from 1.1.2 to 1.1.3 (#19633)
Bumps [github.com/google/btree](https://github.com/google/btree) from 1.1.2 to 1.1.3.
- [Commits](https://github.com/google/btree/compare/v1.1.2...v1.1.3)

---
updated-dependencies:
- dependency-name: github.com/google/btree
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-22 13:18:21 -04:00
Brightside
e0eb80a45c fix: set GOMAXPROCS automatically with uber-go/automaxprocs (#16528)
Signed-off-by: Brightside56 <o.gumbar56@gmail.com>
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2024-08-22 15:30:10 +00:00
afarbos
59e0091130 feat: Implement cluster-api MachinePool CRD health checks (#19595)
Signed-off-by: afarbos <farbos.arnaud@gmail.com>

---------

Signed-off-by: Arnaud Farbos <farbos.arnaud@gmail.com>
Signed-off-by: afarbos <farbos.arnaud@gmail.com>
2024-08-22 11:00:53 -04:00
thecooldrop
86322b5621 chore: Clarify the meaning of secret exfiltration via ApplicationSet (issue #18560) (#19000)
* Chore: Clarify the meaning of secret exfiltration via ApplicationSet in any namespace

Signed-off-by: TheCoolDrop <vanio.begic123@gmail.com>
Signed-off-by: Vanio Begic <vanio.begic123@gmail.com>

* chore: Fix typo

Signed-off-by: Vanio Begic <vanio.begic123@gmail.com>

---------

Signed-off-by: TheCoolDrop <vanio.begic123@gmail.com>
Signed-off-by: Vanio Begic <vanio.begic123@gmail.com>
2024-08-22 07:54:52 -04:00
Jessie Teng
615dc90999 fix: apps summary view health icon&name alignment (#19450)
* fix apps summary view health icon&name alignment

Signed-off-by: Jessie Teng <jessie.teng@fmr.com>

* fix unit tests

Signed-off-by: Jessie Teng <jessie.teng@fmr.com>

---------

Signed-off-by: Jessie Teng <jessie.teng@fmr.com>
Co-authored-by: Jessie Teng <jessie.teng@fmr.com>
2024-08-22 07:53:59 -04:00
Andrei Vishniakov
7315033efc nit (#19639)
Signed-off-by: Andrei Vishniakov <31008759+avishniakov@users.noreply.github.com>
2024-08-22 11:44:24 +00:00
Nitish Kumar
9b8b044874 update the web based terminal docs (#19621)
add fixes for the docs



resolve minor fix

Signed-off-by: nitishfy <justnitish06@gmail.com>
2024-08-22 10:49:18 +00:00
Mike
3a267b8f24 feat: Add EndpointSlice to resource icon (#19362)
- Add EndpointSlice to resourceIcons map

Signed-off-by: Mike <mike.kangaroo.world@gmail.com>
Co-authored-by: AS <11219262+ashutosh16@users.noreply.github.com>
2024-08-22 10:41:57 +02:00
Michael Crenshaw
3cdce8300c fix(appset): informer is not a kubernetes informer (#18905) (#19618)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-08-21 20:15:36 -08:00
Andrii Korotkov
b6551cdce9 chore: Cleanup some timing checkpoints (#19517)
Adding same checkpoint in a loop would be misleading with multiple sources, also unmarshal checkpoint has a wrong name if there's a loop.
Remove checkpoints in the loop and rename the unmarshal checkpoint.

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2024-08-21 23:37:27 -04:00
dependabot[bot]
9fc5f14f40 chore(deps): bump library/golang in /test/container (#19540)
Bumps library/golang from `a400dc7` to `8e529b6`.

---
updated-dependencies:
- dependency-name: library/golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-21 23:32:36 -04:00
Yiwei Gong
085cc6cd73 fix(#16842): system level extensions not working properly (#19612)
* use event to notify extensions changes

Signed-off-by: Yiwei Gong <imwithye@gmail.com>

* use custom event target implementation

Signed-off-by: Yiwei Gong <imwithye@gmail.com>

---------

Signed-off-by: Yiwei Gong <imwithye@gmail.com>
2024-08-21 22:16:17 -04:00
carlosrejano
5dd6020dda fix(appset): migrateStatus updates appset pointer after updating (#19619)
# Context:
  `migrateStatus` updates the status of the appset but after succeeding
  it does not update the in memory object which means that that new
  updates may fail due to conflict since it's comparing it to the
  object previous to updating it in `migrateStatus`.

  # What does this PR?
  - After updating the appset object in `migrateStatus` it gets the
    object again to reference it in the appset pointer of the
    reconciler.

Signed-off-by: Carlos Rejano <carlosrejanoromeu@gmail.com>
2024-08-21 21:25:08 -04:00
Cornelius Roemer
01798055e8 doc: fix bullet rendering in config-management-plugin-v2.md (#19626)
Bullets need to start with blank line, otherwise they don't render on read the docs. GitHub markdown doesn't require them but read the docs does

Signed-off-by: Cornelius Roemer <cornelius.roemer@gmail.com>
2024-08-21 19:15:35 -06:00
Keith Chong
d1c74ac984 fix: Floating title content incorrect for multi-sources (#17274) (#19623)
Signed-off-by: Keith Chong <kykchong@redhat.com>
2024-08-21 17:35:40 -04:00
JenTing
80f2043978 fix: cache helm-index in Redis cluster (#12314) (#19530)
* fix: cache helm-index in Redis cluster

Signed-off-by: JenTing Hsiao <hsiaoairplane@gmail.com>

* Update repository.go

Fix order

Signed-off-by: Dan Garfield <dan@codefresh.io>

---------

Signed-off-by: JenTing Hsiao <hsiaoairplane@gmail.com>
Signed-off-by: Dan Garfield <dan@codefresh.io>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2024-08-21 16:10:21 +00:00
Jessie Teng
69ef68f7a8 improve filter component color contrast (#19468)
Signed-off-by: Jessie Teng <jessie.teng@fmr.com>
Co-authored-by: Jessie Teng <jessie.teng@fmr.com>
2024-08-21 18:03:30 +03:00
Junseokee
7d53ef1c40 docs: fix stable message (#19334)
* docs: fix stable message

Signed-off-by: Junseokee <weq156@naver.com>

* docs: fix stable message

Signed-off-by: Junseokee <weq156@naver.com>

---------

Signed-off-by: Junseokee <weq156@naver.com>
2024-08-21 08:59:39 -06:00
Jessie Teng
ea2527987c fix dark mode logs fullscreen display not properly (#19505)
Signed-off-by: Jessie Teng <jessie.teng@fmr.com>
Co-authored-by: Jessie Teng <jessie.teng@fmr.com>
2024-08-21 17:45:45 +03:00
Ishita Sequeira
f28323b37d mark multiple sources feature as stable (#19594)
Signed-off-by: Ishita Sequeira <ishiseq29@gmail.com>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2024-08-21 14:43:39 +00:00
Alexandre Gaudreault
effbdc936c feat(dex): set logger based on argo config (#13191) (#19608)
* feat(dex): set logger based on argo config

Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>

* add env config

Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>

* organize import bug?

Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>

---------

Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2024-08-21 09:38:37 -04:00
ilia-medvedev-codefresh
f97024965f fix: appset register rollout progressing status and correct parametersgenerated status to prevent update loop (#19613)
* fix status and update loop

Signed-off-by: Ilia Medvedev <ilia.medvedev@codefresh.io>

* add tests

Signed-off-by: Ilia Medvedev <ilia.medvedev@codefresh.io>

* lint

Signed-off-by: Ilia Medvedev <ilia.medvedev@codefresh.io>

---------

Signed-off-by: Ilia Medvedev <ilia.medvedev@codefresh.io>
2024-08-21 14:16:21 +03:00
dependabot[bot]
44072bbdbf chore(deps): bump github.com/prometheus/client_golang (#19609)
Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.20.0 to 1.20.1.
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/v1.20.1/CHANGELOG.md)
- [Commits](https://github.com/prometheus/client_golang/compare/v1.20.0...v1.20.1)

---
updated-dependencies:
- dependency-name: github.com/prometheus/client_golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-21 00:58:07 -04:00
Michael Crenshaw
82003a2c3c ci: upload test results to codecov (#19476)
* feat(ci): upload test results to codecov

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

* only run on master

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-08-20 18:33:56 +00:00
Nathanael Liechti
bacdceda79 feat: allow no_proxy to be specified on repoCreds (#18526)
Signed-off-by: Nathanael Liechti <technat@technat.ch>
2024-08-20 12:54:39 -04:00
Nathanael Liechti
74af92fd95 feat: add proxy to kustomize build operations (#18551)
Signed-off-by: Nathanael Liechti <technat@technat.ch>
2024-08-20 09:37:02 -04:00
Joshua Ghali
de53d8eb61 docs: Added SecurityGroup for groups TokenIDClaims (#19591)
Signed-off-by: Joshua Ghali <jjghali@protonmail.ch>
2024-08-19 22:22:02 +02:00
Eugene Kim
d82a746dce fix: 'argocd admin settings rbac can' - yaml loading problem(#19403) (#19575)
fixes: #19403

Signed-off-by: Eugene Kim <eugene70kim@gmail.com>
2024-08-17 22:38:56 -04:00
dependabot[bot]
e7beda0ecc chore(deps): bump github.com/prometheus/client_golang (#19544)
Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.19.1 to 1.20.0.
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prometheus/client_golang/compare/v1.19.1...v1.20.0)

---
updated-dependencies:
- dependency-name: github.com/prometheus/client_golang
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jann Fischer <jann@mistrust.net>
2024-08-17 20:28:03 +00:00
dependabot[bot]
014f4424b7 chore(deps): bump bitnami/kubectl from 1.30 to 1.31 in /test/container (#19541)
Bumps bitnami/kubectl from 1.30 to 1.31.

---
updated-dependencies:
- dependency-name: bitnami/kubectl
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-17 15:33:23 -04:00
Nolan Emirot
a0624f03e4 docs: fix typo (#19567)
Signed-off-by: Nolan Emirot <emirot.nolan@gmail.com>
2024-08-17 15:16:04 -04:00
ilia-medvedev-codefresh
47bcb09c4a chore: add e2e test for admin import & export (#19564) 2024-08-16 19:20:24 +03:00
2412 changed files with 269194 additions and 109656 deletions

5
.gitattributes vendored
View File

@@ -5,9 +5,14 @@ docs/operator-manual/resource_actions_builtin.md linguist-generated=true
docs/operator-manual/server-commands/argocd-*.md linguist-generated=true
docs/user-guide/commands/argocd_*.md linguist-generated=true
manifests/core-install.yaml linguist-generated=true
manifests/core-install-with-hydrator.yaml linguist-generated=true
manifests/crds/*-crd.yaml linguist-generated=true
manifests/ha/install.yaml linguist-generated=true
manifests/ha/install-with-hydrator.yaml linguist-generated=true
manifests/ha/namespace-install.yaml linguist-generated=true
manifests/ha/namespace-install-with-hydrator.yaml linguist-generated=true
manifests/install.yaml linguist-generated=true
manifests/install-with-hydrator.yaml linguist-generated=true
manifests/namespace-install.yaml linguist-generated=true
manifests/namespace-install-with-hydrator.yaml linguist-generated=true
pkg/apis/api-rules/violation_exceptions.list linguist-generated=true

View File

@@ -2,7 +2,7 @@
name: Bug report
about: Create a report to help us improve
title: ''
labels: 'bug'
labels: ['bug', 'triage/pending']
assignees: ''
---
@@ -10,9 +10,9 @@ assignees: ''
Checklist:
* [ ] I've searched in the docs and FAQ for my answer: https://bit.ly/argocd-faq.
* [ ] I've included steps to reproduce the bug.
* [ ] I've pasted the output of `argocd version`.
- [ ] I've searched in the docs and FAQ for my answer: https://bit.ly/argocd-faq.
- [ ] I've included steps to reproduce the bug.
- [ ] I've pasted the output of `argocd version`.
**Describe the bug**

View File

@@ -2,9 +2,10 @@
name: Enhancement proposal
about: Propose an enhancement for this project
title: ''
labels: 'enhancement'
labels: ['enhancement', 'triage/pending']
assignees: ''
---
# Summary
What change you think needs making.
@@ -15,4 +16,4 @@ Please give examples of your use case, e.g. when would you use this.
# Proposal
How do you think this should be implemented?
How do you think this should be implemented?

View File

@@ -2,17 +2,17 @@
name: New Dev Tool Request
about: This is a request for adding a new tool for setting up a dev environment.
title: ''
labels: ''
labels: ['component:dev-env', 'triage/pending']
assignees: ''
---
Checklist:
* [ ] I am willing to maintain this tool, or have another Argo CD maintainer who is.
* [ ] I have another Argo CD maintainer who is willing to help maintain this tool (there needs to be at least two maintainers willing to maintain this tool)
* [ ] I have a lead sponsor who is a core Argo CD maintainer
* [ ] There is a PR which adds said tool - this is so that the maintainers can assess the impact of having this in the tree
* [ ] I have given a motivation why this should be added
- [ ] I am willing to maintain this tool, or have another Argo CD maintainer who is.
- [ ] I have another Argo CD maintainer who is willing to help maintain this tool (there needs to be at least two maintainers willing to maintain this tool)
- [ ] I have a lead sponsor who is a core Argo CD maintainer
- [ ] There is a PR which adds said tool - this is so that the maintainers can assess the impact of having this in the tree
- [ ] I have given a motivation why this should be added
### The proposer
@@ -24,7 +24,7 @@ Checklist:
### Motivation
<!-- Why this tool would be useful to have in the tree. -->
<!-- Why this tool would be useful to have in the tree. -->
### Link to PR (Optional)

View File

@@ -1,10 +1,11 @@
---
name: Security log
about: Propose adding security-related logs or tagging existing logs with security fields
title: "seclog: [Event Description]"
labels: security-log
assignees: notfromstatefarm
title: 'seclog: [Event Description]'
labels: ['security', 'triage/pending']
assignees: ''
---
# Event to be logged
Specify the event that needs to be logged or existing logs that need to be tagged.
@@ -16,4 +17,3 @@ What security level should these events be logged under? Refer to https://argo-c
# Common Weakness Enumeration
Is there an associated [CWE](https://cwe.mitre.org/) that could be tagged as well?

View File

@@ -1,3 +0,0 @@
enabled: true
preservePullRequestTitle: true

15
.github/configs/renovate-config.js vendored Normal file
View File

@@ -0,0 +1,15 @@
module.exports = {
platform: 'github',
gitAuthor: 'renovate[bot] <renovate[bot]@users.noreply.github.com>',
autodiscover: false,
allowPostUpgradeCommandTemplating: true,
allowedPostUpgradeCommands: ["make mockgen"],
extends: [
"github>argoproj/argo-cd//renovate-presets/commons.json5",
"github>argoproj/argo-cd//renovate-presets/custom-managers/shell.json5",
"github>argoproj/argo-cd//renovate-presets/custom-managers/yaml.json5",
"github>argoproj/argo-cd//renovate-presets/fix/disable-all-updates.json5",
"github>argoproj/argo-cd//renovate-presets/devtool.json5",
"github>argoproj/argo-cd//renovate-presets/docs.json5"
]
}

View File

@@ -10,7 +10,7 @@ updates:
groups:
otel:
patterns:
- "^go.opentelemetry.io/.*"
- "go.opentelemetry.io/*"
- package-ecosystem: "github-actions"
directory: "/"
@@ -22,15 +22,21 @@ updates:
schedule:
interval: "daily"
- package-ecosystem: "npm"
directory: "/ui-test/"
schedule:
interval: "daily"
# Disabled since this code is rarely used.
# - package-ecosystem: "npm"
# directory: "/ui-test/"
# schedule:
# interval: "daily"
- package-ecosystem: "docker"
directory: "/"
schedule:
interval: "daily"
ignore:
# We use consistent go and node versions across a lot of different files, and updating via dependabot would cause
# drift among those files, instead we let renovate bot handle them.
- dependency-name: "library/golang"
- dependency-name: "library/node"
- package-ecosystem: "docker"
directory: "/test/container/"
@@ -47,7 +53,8 @@ updates:
schedule:
interval: "daily"
- package-ecosystem: "docker"
directory: "/ui-test/"
schedule:
interval: "daily"
# Disabled since this code is rarely used.
# - package-ecosystem: "docker"
# directory: "/ui-test/"
# schedule:
# interval: "daily"

View File

@@ -8,7 +8,7 @@ Checklist:
* [ ] Either (a) I've created an [enhancement proposal](https://github.com/argoproj/argo-cd/issues/new/choose) and discussed it with the community, (b) this is a bug fix, or (c) this does not need to be in the release notes.
* [ ] The title of the PR states what changed and the related issues number (used for the release note).
* [ ] The title of the PR conforms to the [Toolchain Guide](https://argo-cd.readthedocs.io/en/latest/developer-guide/toolchain-guide/#title-of-the-pr)
* [ ] The title of the PR conforms to the [Title of the PR](https://argo-cd.readthedocs.io/en/latest/developer-guide/submit-your-pr/#title-of-the-pr)
* [ ] I've included "Closes [ISSUE #]" or "Fixes [ISSUE #]" in the description to automatically close the associated issue.
* [ ] I've updated both the CLI and UI to expose my feature, or I plan to submit a second PR with them.
* [ ] Does this PR require documentation updates?

View File

@@ -16,7 +16,7 @@
## image-reuse.yaml
- The resuable workflow can be used to publish or build images with multiple container registries(Quay,GHCR, dockerhub), and then sign them with cosign when an image is published.
- The reusable workflow can be used to publish or build images with multiple container registries(Quay,GHCR, dockerhub), and then sign them with cosign when an image is published.
- A GO version `must` be specified e.g. 1.21
- The image name for each registry *must* contain the tag. Note: multiple tags are allowed for each registry using a CSV type.
- Multiple platforms can be specified e.g. linux/amd64,linux/arm64

View File

@@ -0,0 +1,89 @@
name: Bump major version
on:
workflow_dispatch: {}
permissions: {}
jobs:
prepare-release:
permissions:
contents: write # for peter-evans/create-pull-request to create branch
pull-requests: write # for peter-evans/create-pull-request to create a PR
name: Automatically update major version
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
with:
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}
# Get the current major version from go.mod and save it as a variable.
- name: Get target version
id: get-target-version
run: |
set -ue
CURRENT_VERSION=$(grep 'module github.com/argoproj/argo-cd' go.mod | awk '{print $2}' | sed 's/.*\/v//')
echo "TARGET_VERSION=$((CURRENT_VERSION + 1))" >> $GITHUB_OUTPUT
- name: Copy source code to GOPATH
run: |
mkdir -p ~/go/src/github.com/argoproj
cp -a ../argo-cd ~/go/src/github.com/argoproj
- name: Run script to bump the version
run: |
hack/bump-major-version.sh
working-directory: /home/runner/go/src/github.com/argoproj/argo-cd
- name: Setup Golang
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version: ${{ env.GOLANG_VERSION }}
- name: Add ~/go/bin to PATH
run: |
echo "/home/runner/go/bin" >> $GITHUB_PATH
- name: Add /usr/local/bin to PATH
run: |
echo "/usr/local/bin" >> $GITHUB_PATH
- name: Download & vendor dependencies
run: |
# We need to vendor go modules for codegen yet
go mod download
go mod vendor -v
working-directory: /home/runner/go/src/github.com/argoproj/argo-cd
- name: Install toolchain for codegen
run: |
make install-codegen-tools-local
make install-go-tools-local
working-directory: /home/runner/go/src/github.com/argoproj/argo-cd
# We install kustomize in the dist directory
- name: Add dist to PATH
run: |
echo "/home/runner/work/argo-cd/argo-cd/dist" >> $GITHUB_PATH
- name: Run codegen
run: |
set -x
export GOPATH=$(go env GOPATH)
make codegen-local
working-directory: /home/runner/go/src/github.com/argoproj/argo-cd
- name: Copy changes back
run: |
# Copy the contents back, but skip the .git directory
rsync -a --exclude=.git /home/runner/go/src/github.com/argoproj/argo-cd/ ../argo-cd
- name: Create pull request
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8
with:
commit-message: "Bump major version to ${{ steps.get-target-version.outputs.TARGET_VERSION }}"
title: "Bump major version to ${{ steps.get-target-version.outputs.TARGET_VERSION }}"
body: |
Congrats! You've just bumped the major version to ${{ steps.get-target-version.outputs.TARGET_VERSION }}.
Next steps:
- [ ] Merge this PR
- [ ] Add an upgrade guide to the docs for this version
branch: bump-major-version
branch-suffix: random
signoff: true

114
.github/workflows/cherry-pick-single.yml vendored Normal file
View File

@@ -0,0 +1,114 @@
name: Cherry Pick Single
on:
workflow_call:
inputs:
merge_commit_sha:
required: true
type: string
description: "The merge commit SHA to cherry-pick"
version_number:
required: true
type: string
description: "The version number (from cherry-pick/ label)"
pr_number:
required: true
type: string
description: "The original PR number"
pr_title:
required: true
type: string
description: "The original PR title"
secrets:
CHERRYPICK_APP_ID:
required: true
CHERRYPICK_APP_PRIVATE_KEY:
required: true
jobs:
cherry-pick:
name: Cherry Pick to ${{ inputs.version_number }}
runs-on: ubuntu-latest
steps:
- name: Generate a token
id: generate-token
uses: actions/create-github-app-token@a8d616148505b5069dccd32f177bb87d7f39123b # v2.1.1
with:
app-id: ${{ secrets.CHERRYPICK_APP_ID }}
private-key: ${{ secrets.CHERRYPICK_APP_PRIVATE_KEY }}
- name: Checkout repository
uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
with:
fetch-depth: 0
token: ${{ steps.generate-token.outputs.token }}
- name: Configure Git
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
- name: Cherry pick commit
id: cherry-pick
run: |
set -e
MERGE_COMMIT="${{ inputs.merge_commit_sha }}"
TARGET_BRANCH="release-${{ inputs.version_number }}"
echo "🍒 Cherry-picking commit $MERGE_COMMIT to branch $TARGET_BRANCH"
# Check if target branch exists
if ! git show-ref --verify --quiet "refs/remotes/origin/$TARGET_BRANCH"; then
echo "❌ Target branch '$TARGET_BRANCH' does not exist"
exit 1
fi
# Create new branch for cherry-pick
CHERRY_PICK_BRANCH="cherry-pick-${{ inputs.pr_number }}-to-${TARGET_BRANCH}"
git checkout -b "$CHERRY_PICK_BRANCH" "origin/$TARGET_BRANCH"
# Perform cherry-pick
if git cherry-pick -m 1 "$MERGE_COMMIT"; then
echo "✅ Cherry-pick successful"
# Extract Signed-off-by from the cherry-pick commit
SIGNOFF=$(git log -1 --pretty=format:"%B" | grep -E '^Signed-off-by:' || echo "")
# Push the new branch
git push origin "$CHERRY_PICK_BRANCH"
# Save data for PR creation
echo "branch_name=$CHERRY_PICK_BRANCH" >> "$GITHUB_OUTPUT"
echo "signoff=$SIGNOFF" >> "$GITHUB_OUTPUT"
echo "target_branch=$TARGET_BRANCH" >> "$GITHUB_OUTPUT"
else
echo "❌ Cherry-pick failed due to conflicts"
git cherry-pick --abort
exit 1
fi
- name: Create Pull Request
run: |
# Create cherry-pick PR
gh pr create \
--title "${{ inputs.pr_title }} (cherry-pick #${{ inputs.pr_number }} for ${{ inputs.version_number }})" \
--body "Cherry-picked ${{ inputs.pr_title }} (#${{ inputs.pr_number }})
${{ steps.cherry-pick.outputs.signoff }}" \
--base "${{ steps.cherry-pick.outputs.target_branch }}" \
--head "${{ steps.cherry-pick.outputs.branch_name }}"
# Comment on original PR
gh pr comment ${{ inputs.pr_number }} \
--body "🍒 Cherry-pick PR created for ${{ inputs.version_number }}: #$(gh pr list --head ${{ steps.cherry-pick.outputs.branch_name }} --json number --jq '.[0].number')"
env:
GH_TOKEN: ${{ steps.generate-token.outputs.token }}
- name: Comment on failure
if: failure()
run: |
gh pr comment ${{ inputs.pr_number }} \
--body "❌ Cherry-pick failed for ${{ inputs.version_number }}. Please check the workflow logs for details."
env:
GH_TOKEN: ${{ steps.generate-token.outputs.token }}

53
.github/workflows/cherry-pick.yml vendored Normal file
View File

@@ -0,0 +1,53 @@
name: Cherry Pick
on:
pull_request_target:
branches:
- master
types: ["labeled", "closed"]
jobs:
find-labels:
name: Find Cherry Pick Labels
if: |
github.event.pull_request.merged == true && (
(github.event.action == 'labeled' && startsWith(github.event.label.name, 'cherry-pick/')) ||
(github.event.action == 'closed' && contains(toJSON(github.event.pull_request.labels.*.name), 'cherry-pick/'))
)
runs-on: ubuntu-latest
outputs:
labels: ${{ steps.extract-labels.outputs.labels }}
steps:
- name: Extract cherry-pick labels
id: extract-labels
run: |
if [[ "${{ github.event.action }}" == "labeled" ]]; then
# Label was just added - use it directly
LABEL_NAME="${{ github.event.label.name }}"
VERSION="${LABEL_NAME#cherry-pick/}"
CHERRY_PICK_DATA='[{"label":"'$LABEL_NAME'","version":"'$VERSION'"}]'
else
# PR was closed - find all cherry-pick labels
CHERRY_PICK_DATA=$(echo '${{ toJSON(github.event.pull_request.labels) }}' | jq -c '[.[] | select(.name | startswith("cherry-pick/")) | {label: .name, version: (.name | sub("cherry-pick/"; ""))}]')
fi
echo "labels=$CHERRY_PICK_DATA" >> "$GITHUB_OUTPUT"
echo "Found cherry-pick data: $CHERRY_PICK_DATA"
cherry-pick:
name: Cherry Pick
needs: find-labels
if: needs.find-labels.outputs.labels != '[]'
strategy:
matrix:
include: ${{ fromJSON(needs.find-labels.outputs.labels) }}
fail-fast: false
uses: ./.github/workflows/cherry-pick-single.yml
with:
merge_commit_sha: ${{ github.event.pull_request.merge_commit_sha }}
version_number: ${{ matrix.version }}
pr_number: ${{ github.event.pull_request.number }}
pr_title: ${{ github.event.pull_request.title }}
secrets:
CHERRYPICK_APP_ID: ${{ vars.CHERRYPICK_APP_ID }}
CHERRYPICK_APP_PRIVATE_KEY: ${{ secrets.CHERRYPICK_APP_PRIVATE_KEY }}

View File

@@ -13,11 +13,12 @@ on:
env:
# Golang version to use across CI steps
GOLANG_VERSION: '1.22'
# renovate: datasource=golang-version packageName=golang
GOLANG_VERSION: '1.25.6'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
permissions:
contents: read
@@ -31,14 +32,14 @@ jobs:
docs: ${{ steps.filter.outputs.docs_any_changed }}
steps:
- uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
- uses: tj-actions/changed-files@c65cd883420fd2eb864698a825fc4162dd94482c # v44.5.7
- uses: tj-actions/changed-files@24d32ffd492484c1d75e0c0b894501ddb9d30d62 # v47.0.0
id: filter
with:
# Any file which is not under docs/, ui/ or is not a markdown file is counted as a backend file
files_yaml: |
backend:
- '!ui/**'
- '!**.md'
- '!**.md'
- '!**/*.md'
- '!docs/**'
frontend:
@@ -56,7 +57,7 @@ jobs:
- name: Checkout code
uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
- name: Setup Golang
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version: ${{ env.GOLANG_VERSION }}
- name: Download all Go modules
@@ -77,11 +78,11 @@ jobs:
- name: Checkout code
uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
- name: Setup Golang
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version: ${{ env.GOLANG_VERSION }}
- name: Restore go build cache
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: ~/.cache/go-build
key: ${{ runner.os }}-go-build-v1-${{ github.run_id }}
@@ -93,8 +94,8 @@ jobs:
lint-go:
permissions:
contents: read # for actions/checkout to fetch code
pull-requests: read # for golangci/golangci-lint-action to fetch pull requests
contents: read # for actions/checkout to fetch code
pull-requests: read # for golangci/golangci-lint-action to fetch pull requests
name: Lint Go code
if: ${{ needs.changes.outputs.backend == 'true' }}
runs-on: ubuntu-22.04
@@ -104,13 +105,14 @@ jobs:
- name: Checkout code
uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
- name: Setup Golang
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version: ${{ env.GOLANG_VERSION }}
- name: Run golangci-lint
uses: golangci/golangci-lint-action@aaa42aa0628b4ae2578232a66b541047968fac86 # v6.1.0
uses: golangci/golangci-lint-action@4afd733a84b1f43292c63897423277bb7f4313a9 # v8.0.0
with:
version: v1.58.2
# renovate: datasource=go packageName=github.com/golangci/golangci-lint versioning=regex:^v(?<major>\d+)\.(?<minor>\d+)\.(?<patch>\d+)?$
version: v2.4.0
args: --verbose
test-go:
@@ -131,7 +133,7 @@ jobs:
- name: Create symlink in GOPATH
run: ln -s $(pwd) ~/go/src/github.com/argoproj/argo-cd
- name: Setup Golang
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version: ${{ env.GOLANG_VERSION }}
- name: Install required packages
@@ -151,7 +153,7 @@ jobs:
run: |
echo "/usr/local/bin" >> $GITHUB_PATH
- name: Restore go build cache
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: ~/.cache/go-build
key: ${{ runner.os }}-go-build-v1-${{ github.run_id }}
@@ -172,7 +174,7 @@ jobs:
- name: Run all unit tests
run: make test-local
- name: Generate test results artifacts
uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: test-results
path: test-results
@@ -195,7 +197,7 @@ jobs:
- name: Create symlink in GOPATH
run: ln -s $(pwd) ~/go/src/github.com/argoproj/argo-cd
- name: Setup Golang
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version: ${{ env.GOLANG_VERSION }}
- name: Install required packages
@@ -215,7 +217,7 @@ jobs:
run: |
echo "/usr/local/bin" >> $GITHUB_PATH
- name: Restore go build cache
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: ~/.cache/go-build
key: ${{ runner.os }}-go-build-v1-${{ github.run_id }}
@@ -236,7 +238,7 @@ jobs:
- name: Run all unit tests
run: make test-race-local
- name: Generate test results artifacts
uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: race-results
path: test-results/
@@ -251,7 +253,7 @@ jobs:
- name: Checkout code
uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
- name: Setup Golang
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version: ${{ env.GOLANG_VERSION }}
- name: Create symlink in GOPATH
@@ -303,12 +305,13 @@ jobs:
- name: Checkout code
uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
- name: Setup NodeJS
uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version: '21.6.1'
# renovate: datasource=node-version packageName=node versioning=node
node-version: '22.9.0'
- name: Restore node dependency cache
id: cache-dependencies
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: ui/node_modules
key: ${{ runner.os }}-node-dep-v2-${{ hashFiles('**/yarn.lock') }}
@@ -330,6 +333,15 @@ jobs:
run: yarn lint
working-directory: ui/
shellcheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
- run: |
sudo apt-get install shellcheck
shellcheck -e SC2059 -e SC2154 -e SC2034 -e SC2016 -e SC1091 $(find . -type f -name '*.sh' | grep -v './ui/node_modules') | tee sc.log
test ! -s sc.log
analyze:
name: Process & analyze test artifacts
if: ${{ needs.changes.outputs.backend == 'true' || needs.changes.outputs.frontend == 'true' }}
@@ -348,7 +360,7 @@ jobs:
fetch-depth: 0
- name: Restore node dependency cache
id: cache-dependencies
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: ui/node_modules
key: ${{ runner.os }}-node-dep-v2-${{ hashFiles('**/yarn.lock') }}
@@ -356,73 +368,88 @@ jobs:
run: |
rm -rf ui/node_modules/argo-ui/node_modules
- name: Get e2e code coverage
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: e2e-code-coverage
path: e2e-code-coverage
- name: Get unit test code coverage
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: test-results
path: test-results
- name: combine-go-coverage
# We generate coverage reports for all Argo CD components, but only the applicationset-controller,
# app-controller, and repo-server report contain coverage data. The other components currently don't shut down
# gracefully, so no coverage data is produced. Once those components are fixed, we can add references to their
# coverage output directories.
# app-controller, repo-server, and commit-server report contain coverage data. The other components currently
# don't shut down gracefully, so no coverage data is produced. Once those components are fixed, we can add
# references to their coverage output directories.
run: |
go tool covdata percent -i=test-results,e2e-code-coverage/applicationset-controller,e2e-code-coverage/repo-server,e2e-code-coverage/app-controller -o test-results/full-coverage.out
go tool covdata percent -i=test-results,e2e-code-coverage/applicationset-controller,e2e-code-coverage/repo-server,e2e-code-coverage/app-controller,e2e-code-coverage/commit-server -o test-results/full-coverage.out
- name: Upload code coverage information to codecov.io
uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # v4.5.0
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
with:
file: test-results/full-coverage.out
files: test-results/full-coverage.out
fail_ci_if_error: true
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
- name: Upload test results to Codecov
if: github.ref == 'refs/heads/master' && github.event_name == 'push' && github.repository == 'argoproj/argo-cd'
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
file: test-results/junit.xml
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
- name: Perform static code analysis using SonarCloud
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
uses: SonarSource/sonarqube-scan-action@aecaf43ae57e412bd97d70ef9ce6076e672fe0a9 # v2.2
uses: SonarSource/sonarqube-scan-action@1a6d90ebcb0e6a6b1d87e37ba693fe453195ae25 # v5.3.1
if: env.sonar_secret != ''
test-e2e:
name: Run end-to-end tests
if: ${{ needs.changes.outputs.backend == 'true' }}
runs-on: ubuntu-22.04
runs-on: oracle-vm-16cpu-64gb-x86-64
strategy:
fail-fast: false
matrix:
# latest: true means that this version mush upload the coverage report to codecov.io
# We designate the latest version because we only collect code coverage for that version.
k3s:
- version: v1.30.2
# We designate the latest version because we only collect code coverage for that version.
- version: v1.34.2
latest: true
- version: v1.29.6
- version: v1.33.1
latest: false
- version: v1.28.11
- version: v1.32.1
latest: false
- version: v1.27.15
- version: v1.31.0
latest: false
needs:
- build-go
- changes
env:
GOPATH: /home/runner/go
ARGOCD_FAKE_IN_CLUSTER: "true"
ARGOCD_SSH_DATA_PATH: "/tmp/argo-e2e/app/config/ssh"
ARGOCD_TLS_DATA_PATH: "/tmp/argo-e2e/app/config/tls"
ARGOCD_E2E_SSH_KNOWN_HOSTS: "../fixture/certs/ssh_known_hosts"
ARGOCD_E2E_K3S: "true"
ARGOCD_IN_CI: "true"
ARGOCD_E2E_APISERVER_PORT: "8088"
ARGOCD_APPLICATION_NAMESPACES: "argocd-e2e-external,argocd-e2e-external-2"
ARGOCD_SERVER: "127.0.0.1:8088"
GOPATH: /home/ubuntu/go
ARGOCD_FAKE_IN_CLUSTER: 'true'
ARGOCD_SSH_DATA_PATH: '/tmp/argo-e2e/app/config/ssh'
ARGOCD_TLS_DATA_PATH: '/tmp/argo-e2e/app/config/tls'
ARGOCD_E2E_SSH_KNOWN_HOSTS: '../fixture/certs/ssh_known_hosts'
ARGOCD_E2E_K3S: 'true'
ARGOCD_IN_CI: 'true'
ARGOCD_E2E_APISERVER_PORT: '8088'
ARGOCD_APPLICATION_NAMESPACES: 'argocd-e2e-external,argocd-e2e-external-2'
ARGOCD_SERVER: '127.0.0.1:8088'
GITHUB_TOKEN: ${{ secrets.E2E_TEST_GITHUB_TOKEN || secrets.GITHUB_TOKEN }}
GITLAB_TOKEN: ${{ secrets.E2E_TEST_GITLAB_TOKEN }}
steps:
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be
with:
large-packages: false
docker-images: false
swap-storage: false
tool-cache: false
- name: Checkout code
uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
- name: Setup Golang
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version: ${{ env.GOLANG_VERSION }}
- name: GH actions workaround - Kill XSP4 process
@@ -435,19 +462,19 @@ jobs:
set -x
curl -sfL https://get.k3s.io | sh -
sudo chmod -R a+rw /etc/rancher/k3s
sudo mkdir -p $HOME/.kube && sudo chown -R runner $HOME/.kube
sudo mkdir -p $HOME/.kube && sudo chown -R ubuntu $HOME/.kube
sudo k3s kubectl config view --raw > $HOME/.kube/config
sudo chown runner $HOME/.kube/config
sudo chown ubuntu $HOME/.kube/config
sudo chmod go-r $HOME/.kube/config
kubectl version
- name: Restore go build cache
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
with:
path: ~/.cache/go-build
key: ${{ runner.os }}-go-build-v1-${{ github.run_id }}
- name: Add ~/go/bin to PATH
run: |
echo "/home/runner/go/bin" >> $GITHUB_PATH
echo "/home/ubuntu/go/bin" >> $GITHUB_PATH
- name: Add /usr/local/bin to PATH
run: |
echo "/usr/local/bin" >> $GITHUB_PATH
@@ -467,13 +494,13 @@ jobs:
git config --global user.email "john.doe@example.com"
- name: Pull Docker image required for tests
run: |
docker pull ghcr.io/dexidp/dex:v2.41.1
docker pull ghcr.io/dexidp/dex:v2.43.0
docker pull argoproj/argo-cd-ci-builder:v1.0.0
docker pull redis:7.0.15-alpine
docker pull redis:8.2.2-alpine
- name: Create target directory for binaries in the build-process
run: |
mkdir -p dist
chown runner dist
chown ubuntu dist
- name: Run E2E server and wait for it being available
timeout-minutes: 30
run: |
@@ -499,13 +526,13 @@ jobs:
goreman run stop-all || echo "goreman trouble"
sleep 30
- name: Upload e2e coverage report
uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: e2e-code-coverage
path: /tmp/coverage
if: ${{ matrix.k3s.latest }}
- name: Upload e2e-server logs
uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: e2e-server-k8s${{ matrix.k3s.version }}.log
path: /tmp/e2e-server.log
@@ -532,4 +559,4 @@ jobs:
exit 0
else
exit 1
fi
fi

View File

@@ -23,7 +23,7 @@ jobs:
actions: read # for github/codeql-action/init to get workflow details
contents: read # for actions/checkout to fetch code
security-events: write # for github/codeql-action/autobuild to send a status report
if: github.repository == 'argoproj/argo-cd'
if: github.repository == 'argoproj/argo-cd' || vars.enable_codeql
# CodeQL runs on ubuntu-latest and windows-latest
runs-on: ubuntu-22.04
@@ -33,7 +33,7 @@ jobs:
# Use correct go version. https://github.com/github/codeql-action/issues/1842#issuecomment-1704398087
- name: Setup Golang
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version-file: go.mod

View File

@@ -17,11 +17,9 @@ on:
platforms:
required: true
type: string
default: linux/amd64
push:
required: true
type: boolean
default: false
target:
required: false
type: string
@@ -69,15 +67,16 @@ jobs:
if: ${{ github.ref_type != 'tag'}}
- name: Setup Golang
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version: ${{ inputs.go-version }}
cache: false
- name: Install cosign
uses: sigstore/cosign-installer@4959ce089c160fddf62f7b42464195ba1a56d382 # v3.6.0
uses: sigstore/cosign-installer@d7543c93d881b35a8faa02e8e3605f69b7a1ce62 # v3.10.0
- uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3.2.0
- uses: docker/setup-buildx-action@988b5a0280414f521da01fcc63a27aeeb4b104db # v3.6.1
- uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
- uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
- name: Setup tags for container image as a CSV type
run: |
@@ -104,7 +103,7 @@ jobs:
echo 'EOF' >> $GITHUB_ENV
- name: Login to Quay.io
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
with:
registry: quay.io
username: ${{ secrets.quay_username }}
@@ -112,7 +111,7 @@ jobs:
if: ${{ inputs.quay_image_name && inputs.push }}
- name: Login to GitHub Container Registry
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
with:
registry: ghcr.io
username: ${{ secrets.ghcr_username }}
@@ -120,7 +119,7 @@ jobs:
if: ${{ inputs.ghcr_image_name && inputs.push }}
- name: Login to dockerhub Container Registry
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
with:
username: ${{ secrets.docker_username }}
password: ${{ secrets.docker_password }}
@@ -143,7 +142,7 @@ jobs:
- name: Build and push container image
id: image
uses: docker/build-push-action@5cd11c3a4ced054e52742c5fd54dca954e0edd85 #v6.7.0
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 #v6.18.0
with:
context: .
platforms: ${{ inputs.platforms }}

View File

@@ -7,7 +7,7 @@ on:
pull_request:
branches:
- master
types: [ labeled, unlabeled, opened, synchronize, reopened ]
types: [labeled, unlabeled, opened, synchronize, reopened]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
@@ -46,13 +46,14 @@ jobs:
needs: [set-vars]
permissions:
contents: read
packages: write # for pushing packages to GHCR, which is used by cd.apps.argoproj.io to avoid polluting Quay with tags
packages: write # for pushing packages to GHCR, which is used by cd.apps.argoproj.io to avoid polluting Quay with tags
id-token: write # for creating OIDC tokens for signing.
if: ${{ github.repository == 'argoproj/argo-cd' && github.event_name != 'push' }}
uses: ./.github/workflows/image-reuse.yaml
with:
# Note: cannot use env variables to set go-version (https://docs.github.com/en/actions/using-workflows/reusing-workflows#limitations)
go-version: 1.22
# renovate: datasource=golang-version packageName=golang
go-version: 1.25.6
platforms: ${{ needs.set-vars.outputs.platforms }}
push: false
@@ -60,7 +61,7 @@ jobs:
needs: [set-vars]
permissions:
contents: read
packages: write # for pushing packages to GHCR, which is used by cd.apps.argoproj.io to avoid polluting Quay with tags
packages: write # for pushing packages to GHCR, which is used by cd.apps.argoproj.io to avoid polluting Quay with tags
id-token: write # for creating OIDC tokens for signing.
if: ${{ github.repository == 'argoproj/argo-cd' && github.event_name == 'push' }}
uses: ./.github/workflows/image-reuse.yaml
@@ -68,7 +69,8 @@ jobs:
quay_image_name: quay.io/argoproj/argocd:latest
ghcr_image_name: ghcr.io/argoproj/argo-cd/argocd:${{ needs.set-vars.outputs.image-tag }}
# Note: cannot use env variables to set go-version (https://docs.github.com/en/actions/using-workflows/reusing-workflows#limitations)
go-version: 1.22
# renovate: datasource=golang-version packageName=golang
go-version: 1.25.6
platforms: ${{ needs.set-vars.outputs.platforms }}
push: true
secrets:
@@ -86,7 +88,7 @@ jobs:
packages: write # for uploading attestations. (https://github.com/slsa-framework/slsa-github-generator/blob/main/internal/builders/container/README.md#known-issues)
if: ${{ github.repository == 'argoproj/argo-cd' && github.event_name == 'push' }}
# Must be refernced by a tag. https://github.com/slsa-framework/slsa-github-generator/blob/main/internal/builders/container/README.md#referencing-the-slsa-generator
uses: slsa-framework/slsa-github-generator/.github/workflows/generator_container_slsa3.yml@v2.0.0
uses: slsa-framework/slsa-github-generator/.github/workflows/generator_container_slsa3.yml@v2.1.0
with:
image: ghcr.io/argoproj/argo-cd/argocd
digest: ${{ needs.build-and-publish.outputs.image-digest }}
@@ -99,8 +101,8 @@ jobs:
- build-and-publish
- set-vars
permissions:
contents: write # for git to push upgrade commit if not already deployed
packages: write # for pushing packages to GHCR, which is used by cd.apps.argoproj.io to avoid polluting Quay with tags
contents: write # for git to push upgrade commit if not already deployed
packages: write # for pushing packages to GHCR, which is used by cd.apps.argoproj.io to avoid polluting Quay with tags
if: ${{ github.repository == 'argoproj/argo-cd' && github.event_name == 'push' }}
runs-on: ubuntu-22.04
steps:
@@ -114,4 +116,3 @@ jobs:
git config --global user.name 'CI'
git diff --exit-code && echo 'Already deployed' || (git commit -am 'Upgrade argocd to ${{ needs.set-vars.outputs.image-tag }}' && git push)
working-directory: argoproj-deployments/argocd

View File

@@ -64,7 +64,7 @@ jobs:
git stash pop
- name: Create pull request
uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c # v6.1.0
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8
with:
commit-message: "Bump version to ${{ inputs.TARGET_VERSION }}"
title: "Bump version to ${{ inputs.TARGET_VERSION }} on ${{ inputs.TARGET_BRANCH }} branch"

View File

@@ -12,8 +12,8 @@ permissions: {}
# workflow being trigger a number of times. This limits it
# to one run per PR.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
group: ${{ github.workflow }}-${{ github.head_ref }}
cancel-in-progress: true
jobs:
validate:
@@ -23,7 +23,7 @@ jobs:
name: Validate PR Title
runs-on: ubuntu-latest
steps:
- uses: thehanimo/pr-title-checker@1d8cd483a2b73118406a187f54dca8a9415f1375 # v1.4.2
- uses: thehanimo/pr-title-checker@7fbfe05602bdd86f926d3fb3bccb6f3aed43bc70 # v1.4.3
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
configuration_path: ".github/pr-title-checker-config.json"

View File

@@ -10,7 +10,8 @@ on:
permissions: {}
env:
GOLANG_VERSION: '1.22' # Note: go-version must also be set in job argocd-image.with.go-version
# renovate: datasource=golang-version packageName=golang
GOLANG_VERSION: '1.25.6' # Note: go-version must also be set in job argocd-image.with.go-version
jobs:
argocd-image:
@@ -23,40 +24,79 @@ jobs:
with:
quay_image_name: quay.io/argoproj/argocd:${{ github.ref_name }}
# Note: cannot use env variables to set go-version (https://docs.github.com/en/actions/using-workflows/reusing-workflows#limitations)
go-version: 1.22
# renovate: datasource=golang-version packageName=golang
go-version: 1.25.6
platforms: linux/amd64,linux/arm64,linux/s390x,linux/ppc64le
push: true
secrets:
quay_username: ${{ secrets.RELEASE_QUAY_USERNAME }}
quay_password: ${{ secrets.RELEASE_QUAY_TOKEN }}
setup-variables:
name: Setup Release Variables
if: github.repository == 'argoproj/argo-cd'
runs-on: ubuntu-22.04
outputs:
is_pre_release: ${{ steps.var.outputs.is_pre_release }}
is_latest_release: ${{ steps.var.outputs.is_latest_release }}
steps:
- name: Checkout code
uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
with:
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup variables
id: var
run: |
set -xue
# Fetch all tag information
git fetch --prune --tags --force
LATEST_RELEASE_TAG=$(git -c 'versionsort.suffix=-rc' tag --list --sort=version:refname | grep -v '-' | tail -n1)
PRE_RELEASE=false
# Check if latest tag is a pre-release
if echo ${{ github.ref_name }} | grep -E -- '-rc[0-9]+$';then
PRE_RELEASE=true
fi
IS_LATEST=false
# Ensure latest release tag matches github.ref_name
if [[ $LATEST_RELEASE_TAG == ${{ github.ref_name }} ]];then
IS_LATEST=true
fi
echo "is_pre_release=$PRE_RELEASE" >> $GITHUB_OUTPUT
echo "is_latest_release=$IS_LATEST" >> $GITHUB_OUTPUT
argocd-image-provenance:
needs: [argocd-image]
permissions:
actions: read # for detecting the Github Actions environment.
id-token: write # for creating OIDC tokens for signing.
packages: write # for uploading attestations. (https://github.com/slsa-framework/slsa-github-generator/blob/main/internal/builders/container/README.md#known-issues)
# Must be refernced by a tag. https://github.com/slsa-framework/slsa-github-generator/blob/main/internal/builders/container/README.md#referencing-the-slsa-generator
if: github.repository == 'argoproj/argo-cd'
uses: slsa-framework/slsa-github-generator/.github/workflows/generator_container_slsa3.yml@v2.0.0
with:
image: quay.io/argoproj/argocd
digest: ${{ needs.argocd-image.outputs.image-digest }}
secrets:
registry-username: ${{ secrets.RELEASE_QUAY_USERNAME }}
registry-password: ${{ secrets.RELEASE_QUAY_TOKEN }}
needs: [argocd-image]
permissions:
actions: read # for detecting the Github Actions environment.
id-token: write # for creating OIDC tokens for signing.
packages: write # for uploading attestations. (https://github.com/slsa-framework/slsa-github-generator/blob/main/internal/builders/container/README.md#known-issues)
# Must be refernced by a tag. https://github.com/slsa-framework/slsa-github-generator/blob/main/internal/builders/container/README.md#referencing-the-slsa-generator
if: github.repository == 'argoproj/argo-cd'
uses: slsa-framework/slsa-github-generator/.github/workflows/generator_container_slsa3.yml@v2.1.0
with:
image: quay.io/argoproj/argocd
digest: ${{ needs.argocd-image.outputs.image-digest }}
secrets:
registry-username: ${{ secrets.RELEASE_QUAY_USERNAME }}
registry-password: ${{ secrets.RELEASE_QUAY_TOKEN }}
goreleaser:
needs:
- setup-variables
- argocd-image
- argocd-image-provenance
permissions:
contents: write # used for uploading assets
if: github.repository == 'argoproj/argo-cd'
runs-on: ubuntu-22.04
env:
GORELEASER_MAKE_LATEST: ${{ needs.setup-variables.outputs.is_latest_release }}
outputs:
hashes: ${{ steps.hash.outputs.hashes }}
steps:
- name: Checkout code
uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
@@ -67,19 +107,17 @@ jobs:
- name: Fetch all tags
run: git fetch --force --tags
- name: Set GORELEASER_PREVIOUS_TAG # Workaround, GoReleaser uses 'git-describe' to determine a previous tag. Our tags are created in realease branches.
run: |
set -xue
if echo ${{ github.ref_name }} | grep -E -- '-rc1+$';then
echo "GORELEASER_PREVIOUS_TAG=$(git -c 'versionsort.suffix=-rc' tag --list --sort=version:refname | tail -n 2 | head -n 1)" >> $GITHUB_ENV
else
echo "This is not the first release on the branch, Using GoReleaser defaults"
fi
- name: Setup Golang
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version: ${{ env.GOLANG_VERSION }}
cache: false
- name: Set GORELEASER_PREVIOUS_TAG # Workaround, GoReleaser uses 'git-describe' to determine a previous tag. Our tags are created in release branches.
run: |
set -xue
GORELEASER_PREVIOUS_TAG=$(go run hack/get-previous-release/get-previous-version-for-release-notes.go ${{ github.ref_name }}) || exit 1
echo "GORELEASER_PREVIOUS_TAG=$GORELEASER_PREVIOUS_TAG" >> $GITHUB_ENV
- name: Set environment variables for ldflags
id: set_ldflag
@@ -96,20 +134,20 @@ jobs:
tool-cache: false
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@286f3b13b1b49da4ac219696163fb8c1c93e1200 # v6.0.0
uses: goreleaser/goreleaser-action@e435ccd777264be153ace6237001ef4d979d3a7a # v6.4.0
id: run-goreleaser
with:
version: latest
args: release --clean --timeout 55m
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
KUBECTL_VERSION: ${{ env.KUBECTL_VERSION }}
KUBECTL_VERSION: ${{ env.KUBECTL_VERSION }}
GIT_TREE_STATE: ${{ env.GIT_TREE_STATE }}
- name: Generate subject for provenance
id: hash
env:
ARTIFACTS: "${{ steps.run-goreleaser.outputs.artifacts }}"
ARTIFACTS: '${{ steps.run-goreleaser.outputs.artifacts }}'
run: |
set -euo pipefail
@@ -128,10 +166,10 @@ jobs:
contents: write # Needed for release uploads
if: github.repository == 'argoproj/argo-cd'
# Must be refernced by a tag. https://github.com/slsa-framework/slsa-github-generator/blob/main/internal/builders/container/README.md#referencing-the-slsa-generator
uses: slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@v2.0.0
uses: slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@v2.1.0
with:
base64-subjects: "${{ needs.goreleaser.outputs.hashes }}"
provenance-name: "argocd-cli.intoto.jsonl"
base64-subjects: '${{ needs.goreleaser.outputs.hashes }}'
provenance-name: 'argocd-cli.intoto.jsonl'
upload-assets: true
generate-sbom:
@@ -142,7 +180,7 @@ jobs:
permissions:
contents: write # Needed for release uploads
outputs:
hashes: ${{ steps.sbom-hash.outputs.hashes}}
hashes: ${{ steps.sbom-hash.outputs.hashes }}
if: github.repository == 'argoproj/argo-cd'
runs-on: ubuntu-22.04
steps:
@@ -153,9 +191,10 @@ jobs:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Golang
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
with:
go-version: ${{ env.GOLANG_VERSION }}
cache: false
- name: Generate SBOM (spdx)
id: spdx-builder
@@ -166,7 +205,7 @@ jobs:
SIGS_BOM_VERSION: v0.2.1
# comma delimited list of project relative folders to inspect for package
# managers (gomod, yarn, npm).
PROJECT_FOLDERS: ".,./ui"
PROJECT_FOLDERS: '.,./ui'
# full qualified name of the docker image to be inspected
DOCKER_IMAGE: quay.io/argoproj/argocd:${{ github.ref_name }}
run: |
@@ -186,7 +225,7 @@ jobs:
fi
cd /tmp && tar -zcf sbom.tar.gz *.spdx
- name: Generate SBOM hash
shell: bash
id: sbom-hash
@@ -195,15 +234,15 @@ jobs:
# base64 -w0 encodes to base64 and outputs on a single line.
# sha256sum /tmp/sbom.tar.gz ... | base64 -w0
echo "hashes=$(sha256sum /tmp/sbom.tar.gz | base64 -w0)" >> "$GITHUB_OUTPUT"
- name: Upload SBOM
uses: softprops/action-gh-release@c062e08bd532815e2082a85e87e3ef29c3e6d191 # v2.0.8
uses: softprops/action-gh-release@6cbd405e2c4e67a21c47fa9e383d020e4e28b836 # v2.3.3
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
files: |
/tmp/sbom.tar.gz
sbom-provenance:
needs: [generate-sbom]
permissions:
@@ -211,15 +250,16 @@ jobs:
id-token: write # Needed for provenance signing and ID
contents: write # Needed for release uploads
if: github.repository == 'argoproj/argo-cd'
# Must be refernced by a tag. https://github.com/slsa-framework/slsa-github-generator/blob/main/internal/builders/container/README.md#referencing-the-slsa-generator
uses: slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@v2.0.0
# Must be referenced by a tag. https://github.com/slsa-framework/slsa-github-generator/blob/main/internal/builders/container/README.md#referencing-the-slsa-generator
uses: slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@v2.1.0
with:
base64-subjects: "${{ needs.generate-sbom.outputs.hashes }}"
provenance-name: "argocd-sbom.intoto.jsonl"
base64-subjects: '${{ needs.generate-sbom.outputs.hashes }}'
provenance-name: 'argocd-sbom.intoto.jsonl'
upload-assets: true
post-release:
needs:
- setup-variables
- argocd-image
- goreleaser
- generate-sbom
@@ -228,6 +268,8 @@ jobs:
pull-requests: write # Needed to create PR for VERSION update.
if: github.repository == 'argoproj/argo-cd'
runs-on: ubuntu-22.04
env:
TAG_STABLE: ${{ needs.setup-variables.outputs.is_latest_release }}
steps:
- name: Checkout code
uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
@@ -241,27 +283,6 @@ jobs:
git config --global user.email 'ci@argoproj.com'
git config --global user.name 'CI'
- name: Check if tag is the latest version and not a pre-release
run: |
set -xue
# Fetch all tag information
git fetch --prune --tags --force
LATEST_TAG=$(git -c 'versionsort.suffix=-rc' tag --list --sort=version:refname | tail -n1)
PRE_RELEASE=false
# Check if latest tag is a pre-release
if echo $LATEST_TAG | grep -E -- '-rc[0-9]+$';then
PRE_RELEASE=true
fi
# Ensure latest tag matches github.ref_name & not a pre-release
if [[ $LATEST_TAG == ${{ github.ref_name }} ]] && [[ $PRE_RELEASE != 'true' ]];then
echo "TAG_STABLE=true" >> $GITHUB_ENV
else
echo "TAG_STABLE=false" >> $GITHUB_ENV
fi
- name: Update stable tag to latest version
run: |
git tag -f stable ${{ github.ref_name }}
@@ -295,10 +316,10 @@ jobs:
if: ${{ env.UPDATE_VERSION == 'true' }}
- name: Create PR to update VERSION on master branch
uses: peter-evans/create-pull-request@c5a7806660adbe173f04e3e038b0ccdcd758773c # v6.1.0
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8
with:
commit-message: Bump version in master
title: "chore: Bump version in master"
title: 'chore: Bump version in master'
body: All images built from master should indicate which version we are on track for.
signoff: true
branch: update-version

38
.github/workflows/renovate.yaml vendored Normal file
View File

@@ -0,0 +1,38 @@
name: Renovate
on:
schedule:
- cron: '0 * * * *'
workflow_dispatch: {}
permissions:
contents: read
jobs:
renovate:
runs-on: ubuntu-latest
steps:
- name: Get token
id: get_token
uses: actions/create-github-app-token@d72941d797fd3113feb6b93fd0dec494b13a2547 # v1
with:
app-id: ${{ vars.RENOVATE_APP_ID }}
private-key: ${{ secrets.RENOVATE_APP_PRIVATE_KEY }}
- name: Checkout
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # 6.0.1
# Some codegen commands require Go to be setup
- name: Setup Golang
uses: actions/setup-go@7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5 # v6.2.0
with:
# renovate: datasource=golang-version packageName=golang
go-version: 1.25.6
- name: Self-hosted Renovate
uses: renovatebot/github-action@f8af9272cd94a4637c29f60dea8731afd3134473 #43.0.12
with:
configurationFile: .github/configs/renovate-config.js
token: '${{ steps.get_token.outputs.token }}'
env:
LOG_LEVEL: 'debug'
RENOVATE_REPOSITORIES: '${{ github.repository }}'

View File

@@ -35,7 +35,7 @@ jobs:
persist-credentials: false
- name: "Run analysis"
uses: ossf/scorecard-action@62b2cac7ed8198b15735ed49ab1e5cf35480ba46 # v2.4.0
uses: ossf/scorecard-action@05b42c624433fc40578a4040d5cf5e36ddca8cde # v2.4.2
with:
results_file: results.sarif
results_format: sarif
@@ -54,7 +54,7 @@ jobs:
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab.
- name: "Upload artifact"
uses: actions/upload-artifact@834a144ee995460fba8ed112a2fc961b36a5ec5a # v4.3.6
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: SARIF file
path: results.sarif

6
.gitignore vendored
View File

@@ -1,12 +1,14 @@
.vscode/
.idea/
.DS_Store
.run/
vendor/
dist/*
ui/dist/app/*
!ui/dist/app/gitkeep
site/
*.iml
.tilt-bin/
# delve debug binaries
cmd/**/debug
debug.test
@@ -18,6 +20,7 @@ node_modules/
.kube/
./test/cmp/*.sock
.envrc.remote
.mirrord/
.*.swp
rerunreport.txt
@@ -26,3 +29,6 @@ cmd/argocd/argocd
cmd/argocd-application-controller/argocd-application-controller
cmd/argocd-repo-server/argocd-repo-server
cmd/argocd-server/argocd-server
# ignore generated `.argocd-helm-dep-up` marker file; this should not be committed to git
reposerver/repository/testdata/**/.argocd-helm-dep-up

21
.gitpod.Dockerfile vendored
View File

@@ -1,21 +0,0 @@
FROM gitpod/workspace-full@sha256:fbff2dce4236535b96de0e94622bbe9a44fba954ca064862004c34e3e08904df
USER root
RUN curl -o /usr/local/bin/kubectl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" && \
chmod +x /usr/local/bin/kubectl
RUN curl -L https://github.com/kubernetes-sigs/kubebuilder/releases/download/v2.3.1/kubebuilder_2.3.1_$(go env GOOS)_$(go env GOARCH).tar.gz | \
tar -xz -C /tmp/ && mv /tmp/kubebuilder_2.3.1_$(go env GOOS)_$(go env GOARCH) /usr/local/kubebuilder
ENV GOCACHE=/go-build-cache
RUN apt-get install redis-server -y
RUN go install github.com/mattn/goreman@latest
RUN chown -R gitpod:gitpod /go-build-cache
USER gitpod
ENV ARGOCD_REDIS_LOCAL=true
ENV KUBECONFIG=/tmp/kubeconfig

View File

@@ -1,6 +0,0 @@
image:
file: .gitpod.Dockerfile
tasks:
- init: make mod-download-local dep-ui-local && GO111MODULE=off go install github.com/mattn/goreman@latest
command: make start-test-k8s

View File

@@ -1,46 +1,252 @@
issues:
exclude:
- SA1019
- SA5011
max-issues-per-linter: 0
max-same-issues: 0
exclude-rules:
- path: '(.+)_test\.go'
linters:
- unparam
linters:
formatters:
enable:
- errcheck
- errorlint
- gocritic
- gofumpt
- goimports
- gosimple
settings:
goimports:
local-prefixes:
- github.com/argoproj/argo-cd/v3
issues:
max-issues-per-linter: 0
max-same-issues: 0
linters:
enable:
- errorlint
- exptostd
- gocritic
- gomodguard
- govet
- ineffassign
- importas
- misspell
- perfsprint
- revive
- staticcheck
- testifylint
- thelper
- tparallel
- unparam
- unused
- whitespace
linters-settings:
gocritic:
disabled-checks:
- appendAssign
- assignOp # Keep it disabled for readability
- badCond
- commentFormatting
- exitAfterDefer
- ifElseChain
- mapKey
- singleCaseSwitch
- typeSwitchVar
goimports:
local-prefixes: github.com/argoproj/argo-cd/v2
testifylint:
enable-all: true
disable:
- go-require
run:
timeout: 50m
- usestdlibvars
- usetesting
- whitespace
exclusions:
rules:
- linters:
- unparam
path: (.+)_test\.go
presets:
- comments
- common-false-positives
- legacy
- std-error-handling
warn-unused: true
settings:
gocritic:
enable-all: true
# Most of these should probably be enabled one-by-one.
disabled-checks:
- appendAssign
- appendCombine # Leave disabled, multi-line assigns can be more readable.
- assignOp # Leave disabled, assign operations can be more confusing than helpful.
- commentedOutCode
- deferInLoop
- exitAfterDefer
- hugeParam
- importShadow
- paramTypeCombine # Leave disabled, there are too many failures to be worth fixing.
- rangeValCopy
- tooManyResultsChecker
- unnamedResult
- whyNoLint
gomodguard:
blocked:
modules:
- github.com/golang-jwt/jwt/v4:
recommendations:
- github.com/golang-jwt/jwt/v5
- github.com/imdario/mergo:
recommendations:
- dario.cat/mergo
reason: '`github.com/imdario/mergo` has been renamed.'
- github.com/pkg/errors:
recommendations:
- errors
govet:
disable:
- fieldalignment
- shadow
enable-all: true
importas:
alias:
- pkg: github.com/golang-jwt/jwt/v5
alias: jwtgo
- pkg: k8s.io/api/apps/v1
alias: appsv1
- pkg: k8s.io/api/core/v1
alias: corev1
- pkg: k8s.io/api/rbac/v1
alias: rbacv1
- pkg: k8s.io/apimachinery/pkg/api/errors
alias: apierrors
- pkg: k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1
alias: apiextensionsv1
- pkg: k8s.io/apimachinery/pkg/apis/meta/v1
alias: metav1
- pkg: k8s.io/client-go/informers/core/v1
alias: informersv1
- pkg: errors
alias: stderrors
- pkg: github.com/argoproj/argo-cd/v3/util/io
alias: utilio
nolintlint:
require-specific: true
perfsprint:
# Optimizes even if it requires an int or uint type cast.
int-conversion: true
# Optimizes into `err.Error()` even if it is only equivalent for non-nil errors.
err-error: true
# Optimizes `fmt.Errorf`.
errorf: true
# Optimizes `fmt.Sprintf` with only one argument.
sprintf1: true
# Optimizes into strings concatenation.
strconcat: true
revive:
# https://github.com/mgechev/revive/blob/master/RULES_DESCRIPTIONS.md
rules:
- name: bool-literal-in-expr
- name: blank-imports
disabled: true
- name: context-as-argument
arguments:
- allowTypesBefore: '*testing.T,testing.TB'
- name: context-keys-type
disabled: true
- name: dot-imports
disabled: true
- name: duplicated-imports
- name: early-return
arguments:
- preserveScope
- name: empty-block
disabled: true
- name: error-naming
disabled: true
- name: error-return
- name: error-strings
disabled: true
- name: errorf
- name: identical-branches
- name: if-return
- name: increment-decrement
- name: indent-error-flow
arguments:
- preserveScope
- name: modifies-parameter
- name: optimize-operands-order
- name: range
- name: receiver-naming
- name: redefines-builtin-id
disabled: true
- name: redundant-import-alias
- name: superfluous-else
arguments:
- preserveScope
- name: time-equal
- name: time-naming
disabled: true
- name: unexported-return
disabled: true
- name: unnecessary-stmt
- name: unreachable-code
- name: unused-parameter
- name: use-any
- name: useless-break
- name: var-declaration
- name: var-naming
arguments:
- - ID
- - VM
- - skipPackageNameChecks: true
upperCaseConst: true
staticcheck:
checks:
- all
- -SA5011
- -ST1003
- -ST1016
testifylint:
enable-all: true
disable:
- go-require
unused:
field-writes-are-uses: false
exported-fields-are-used: false
usetesting:
os-mkdir-temp: false
output:
show-stats: false
version: "2"

View File

@@ -16,16 +16,16 @@ builds:
flags:
- -v
ldflags:
- -X github.com/argoproj/argo-cd/v2/common.version={{ .Version }}
- -X github.com/argoproj/argo-cd/v2/common.buildDate={{ .Date }}
- -X github.com/argoproj/argo-cd/v2/common.gitCommit={{ .FullCommit }}
- -X github.com/argoproj/argo-cd/v2/common.gitTreeState={{ .Env.GIT_TREE_STATE }}
- -X github.com/argoproj/argo-cd/v2/common.kubectlVersion={{ .Env.KUBECTL_VERSION }}
- -X github.com/argoproj/argo-cd/v3/common.version={{ .Version }}
- -X github.com/argoproj/argo-cd/v3/common.buildDate={{ .Date }}
- -X github.com/argoproj/argo-cd/v3/common.gitCommit={{ .FullCommit }}
- -X github.com/argoproj/argo-cd/v3/common.gitTreeState={{ .Env.GIT_TREE_STATE }}
- -X github.com/argoproj/argo-cd/v3/common.kubectlVersion={{ .Env.KUBECTL_VERSION }}
- -extldflags="-static"
goos:
- linux
- darwin
- windows
- darwin
goarch:
- amd64
- arm64
@@ -45,17 +45,18 @@ builds:
archives:
- id: argocd-archive
builds:
- argocd-cli
ids:
- argocd-cli
name_template: |-
{{ .ProjectName }}-{{ .Os }}-{{ .Arch }}
format: binary
formats: [binary]
checksum:
name_template: 'cli_checksums.txt'
algorithm: sha256
release:
make_latest: '{{ .Env.GORELEASER_MAKE_LATEST }}'
prerelease: auto
draft: false
header: |
@@ -79,25 +80,28 @@ release:
All Argo CD container images are signed by cosign. A Provenance is generated for container images and CLI binaries which meet the SLSA Level 3 specifications. See the [documentation](https://argo-cd.readthedocs.io/en/stable/operator-manual/signed-release-assets) on how to verify.
## Release Notes Blog Post
For a detailed breakdown of the key changes and improvements in this release, check out the [official blog post](https://blog.argoproj.io/argo-cd-v3-0-release-candidate-a0b933f4e58f)
## Upgrading
If upgrading from a different minor version, be sure to read the [upgrading](https://argo-cd.readthedocs.io/en/stable/operator-manual/upgrading/overview/) documentation.
footer: |
**Full Changelog**: https://github.com/argoproj/argo-cd/compare/{{ .PreviousTag }}...{{ .Tag }}
<a href="https://argoproj.github.io/cd/"><img src="https://raw.githubusercontent.com/argoproj/argo-site/master/content/pages/cd/gitops-cd.png" width="25%" ></a>
snapshot: #### To be removed for PR
name_template: "2.6.0"
version_template: '2.6.0'
changelog:
use:
github
use: github
sort: asc
abbrev: 0
groups: # Regex use RE2 syntax as defined here: https://github.com/google/re2/wiki/Syntax.
- title: 'Breaking Changes'
regexp: '^.*?(\([[:word:]]+\))??!:.+$'
order: 0
- title: 'Features'
regexp: '^.*?feat(\([[:word:]]+\))??!?:.+$'
order: 100
@@ -117,7 +121,4 @@ changelog:
- '^test:'
- '^.*?Bump(\([[:word:]]+\))?.+$'
- '^.*?\[Bot\](\([[:word:]]+\))?.+$'
# yaml-language-server: $schema=https://goreleaser.com/static/schema.json

View File

@@ -1,68 +1,88 @@
# global config
filename: "{{.InterfaceName}}.go"
dir: "{{.InterfaceDir}}/mocks"
outpkg: "mocks"
mockname: "{{.InterfaceName}}"
with-expecter: false
# individual interface config
dir: '{{.InterfaceDir}}/mocks'
structname: '{{.InterfaceName}}'
filename: '{{.InterfaceName}}.go'
pkgname: mocks
template-data:
unroll-variadic: true
packages:
github.com/argoproj/argo-cd/v2/applicationset/generators:
github.com/argoproj/argo-cd/v3/applicationset/generators:
interfaces:
Generator:
github.com/argoproj/argo-cd/v2/applicationset/services:
Generator: {}
github.com/argoproj/argo-cd/v3/applicationset/services:
interfaces:
Repos:
github.com/argoproj/argo-cd/v2/applicationset/services/scm_provider:
Repos: {}
github.com/argoproj/argo-cd/v3/applicationset/services/scm_provider:
config:
dir: "applicationset/services/scm_provider/aws_codecommit/mocks"
dir: applicationset/services/scm_provider/aws_codecommit/mocks
interfaces:
AWSCodeCommitClient:
AWSTaggingClient:
github.com/microsoft/azure-devops-go-api/azuredevops/git:
AWSCodeCommitClient: {}
AWSTaggingClient: {}
github.com/argoproj/argo-cd/v3/applicationset/utils:
interfaces:
Renderer: {}
github.com/argoproj/argo-cd/v3/commitserver/apiclient:
interfaces:
CommitServiceClient: {}
github.com/argoproj/argo-cd/v3/commitserver/commit:
interfaces:
RepoClientFactory: {}
github.com/argoproj/argo-cd/v3/controller/cache:
interfaces:
LiveStateCache: {}
github.com/argoproj/argo-cd/v3/controller/hydrator:
interfaces:
Dependencies: {}
RepoGetter: {}
github.com/argoproj/argo-cd/v3/pkg/apiclient/cluster:
interfaces:
ClusterServiceServer: {}
github.com/argoproj/argo-cd/v3/pkg/apiclient/session:
interfaces:
SessionServiceClient: {}
SessionServiceServer: {}
github.com/argoproj/argo-cd/v3/pkg/client/clientset/versioned/typed/application/v1alpha1:
interfaces:
AppProjectInterface: {}
github.com/argoproj/argo-cd/v3/reposerver/apiclient:
interfaces:
RepoServerService_GenerateManifestWithFilesClient: {}
RepoServerServiceClient: {}
github.com/argoproj/argo-cd/v3/server/application:
interfaces:
Broadcaster: {}
github.com/argoproj/argo-cd/v3/server/extension:
interfaces:
ApplicationGetter: {}
ExtensionMetricsRegistry: {}
ProjectGetter: {}
RbacEnforcer: {}
SettingsGetter: {}
UserGetter: {}
github.com/argoproj/argo-cd/v3/util/db:
interfaces:
ArgoDB: {}
github.com/argoproj/argo-cd/v3/util/git:
interfaces:
Client: {}
github.com/argoproj/argo-cd/v3/util/helm:
interfaces:
Client: {}
github.com/argoproj/argo-cd/v3/util/oci:
interfaces:
Client: {}
github.com/argoproj/argo-cd/v3/util/io:
interfaces:
TempPaths: {}
github.com/argoproj/argo-cd/v3/util/notification/argocd:
interfaces:
Service: {}
github.com/argoproj/argo-cd/v3/util/workloadidentity:
interfaces:
TokenProvider: {}
github.com/microsoft/azure-devops-go-api/azuredevops/v7/git:
config:
dir: "applicationset/services/scm_provider/azure_devops/git/mocks"
dir: applicationset/services/scm_provider/azure_devops/git/mocks
interfaces:
Client:
github.com/argoproj/argo-cd/v2/applicationset/utils:
interfaces:
Renderer:
github.com/argoproj/argo-cd/v2/controller/cache:
interfaces:
LiveStateCache:
github.com/argoproj/argo-cd/v2/reposerver/apiclient:
interfaces:
RepoServerServiceClient:
RepoServerService_GenerateManifestWithFilesClient:
github.com/argoproj/argo-cd/v2/server/application:
interfaces:
Broadcaster:
github.com/argoproj/argo-cd/v2/server/extension:
interfaces:
ApplicationGetter:
ExtensionMetricsRegistry:
ProjectGetter:
RbacEnforcer:
SettingsGetter:
github.com/argoproj/argo-cd/v2/util/db:
interfaces:
ArgoDB:
github.com/argoproj/argo-cd/v2/util/git:
interfaces:
Client:
github.com/argoproj/argo-cd/v2/util/helm:
interfaces:
Client:
github.com/argoproj/argo-cd/v2/util/io:
interfaces:
TempPaths:
github.com/argoproj/argo-cd/v2/util/notification/argocd:
interfaces:
Service:
# These mocks are not currently used, but they are part of the public API of this package.
github.com/argoproj/argo-cd/v2/pkg/apiclient/session:
interfaces:
SessionServiceServer:
SessionServiceClient:
github.com/argoproj/argo-cd/v2/pkg/apiclient/cluster:
interfaces:
ClusterServiceServer:
Client: {}

View File

@@ -2,10 +2,11 @@ version: 2
formats: all
mkdocs:
fail_on_warning: false
configuration: mkdocs.yml
python:
install:
- requirements: docs/requirements.txt
build:
os: "ubuntu-22.04"
tools:
python: "3.7"
python: "3.12"

View File

@@ -12,3 +12,8 @@
/.github/** @argoproj/argocd-approvers @argoproj/argocd-approvers-ci
/.goreleaser.yaml @argoproj/argocd-approvers @argoproj/argocd-approvers-ci
/sonar-project.properties @argoproj/argocd-approvers @argoproj/argocd-approvers-ci
# CLI
/cmd/argocd/** @argoproj/argocd-approvers @argoproj/argocd-approvers-cli
/cmd/main.go @argoproj/argocd-approvers @argoproj/argocd-approvers-cli
/docs/operator-manual/ @argoproj/argocd-approvers @argoproj/argocd-approvers-cli

View File

@@ -1,10 +1,12 @@
ARG BASE_IMAGE=docker.io/library/ubuntu:24.04@sha256:3f85b7caad41a95462cf5b787d8a04604c8262cdcdf9a472b8c52ef83375fe15
ARG BASE_IMAGE=docker.io/library/ubuntu:25.04@sha256:10bb10bb062de665d4dc3e0ea36715270ead632cfcb74d08ca2273712a0dfb42
####################################################################################################
# Builder image
# Initial stage which pulls prepares build dependencies and CLI tooling we need for our final image
# Also used as the image in CI jobs so needs all dependencies
####################################################################################################
FROM docker.io/library/golang:1.22.6@sha256:2bd56f00ff47baf33e64eae7996b65846c7cb5e0a46e0a882ef179fd89654afa AS builder
FROM docker.io/library/golang:1.25.6@sha256:fc24d3881a021e7b968a4610fc024fba749f98fe5c07d4f28e6cfa14dc65a84c AS builder
WORKDIR /tmp
RUN echo 'deb http://archive.debian.org/debian buster-backports main' >> /etc/apt/sources.list
@@ -23,8 +25,6 @@ RUN apt-get update && apt-get install --no-install-recommends -y \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
WORKDIR /tmp
COPY hack/install.sh hack/tool-versions.sh ./
COPY hack/installers installers
@@ -40,8 +40,8 @@ LABEL org.opencontainers.image.source="https://github.com/argoproj/argo-cd"
USER root
ENV ARGOCD_USER_ID=999
ENV DEBIAN_FRONTEND=noninteractive
ENV ARGOCD_USER_ID=999 \
DEBIAN_FRONTEND=noninteractive
RUN groupadd -g $ARGOCD_USER_ID argocd && \
useradd -r -u $ARGOCD_USER_ID -g argocd argocd && \
@@ -55,11 +55,13 @@ RUN groupadd -g $ARGOCD_USER_ID argocd && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
COPY hack/gpg-wrapper.sh /usr/local/bin/gpg-wrapper.sh
COPY hack/git-verify-wrapper.sh /usr/local/bin/git-verify-wrapper.sh
COPY hack/gpg-wrapper.sh \
hack/git-verify-wrapper.sh \
entrypoint.sh \
/usr/local/bin/
COPY --from=builder /usr/local/bin/helm /usr/local/bin/helm
COPY --from=builder /usr/local/bin/kustomize /usr/local/bin/kustomize
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
# keep uid_entrypoint.sh for backward compatibility
RUN ln -s /usr/local/bin/entrypoint.sh /usr/local/bin/uid_entrypoint.sh
@@ -83,7 +85,7 @@ WORKDIR /home/argocd
####################################################################################################
# Argo CD UI stage
####################################################################################################
FROM --platform=$BUILDPLATFORM docker.io/library/node:22.3.0@sha256:5e4044ff6001d06e7748e35bfa4f80c73cf5f5a7360a1b782995e038a01b0585 AS argocd-ui
FROM --platform=$BUILDPLATFORM docker.io/library/node:23.0.0@sha256:e643c0b70dca9704dff42e12b17f5b719dbe4f95e6392fc2dfa0c5f02ea8044d AS argocd-ui
WORKDIR /src
COPY ["ui/package.json", "ui/yarn.lock", "./"]
@@ -101,7 +103,7 @@ RUN HOST_ARCH=$TARGETARCH NODE_ENV='production' NODE_ONLINE_ENV='online' NODE_OP
####################################################################################################
# Argo CD Build stage which performs the actual build of Argo CD binaries
####################################################################################################
FROM --platform=$BUILDPLATFORM docker.io/library/golang:1.22.6@sha256:2bd56f00ff47baf33e64eae7996b65846c7cb5e0a46e0a882ef179fd89654afa AS argocd-build
FROM --platform=$BUILDPLATFORM docker.io/library/golang:1.25.6@sha256:fc24d3881a021e7b968a4610fc024fba749f98fe5c07d4f28e6cfa14dc65a84c AS argocd-build
WORKDIR /go/src/github.com/argoproj/argo-cd
@@ -111,13 +113,13 @@ RUN go mod download
# Perform the build
COPY . .
COPY --from=argocd-ui /src/dist/app /go/src/github.com/argoproj/argo-cd/ui/dist/app
ARG TARGETOS
ARG TARGETARCH
ARG TARGETOS \
TARGETARCH
# These build args are optional; if not specified the defaults will be taken from the Makefile
ARG GIT_TAG
ARG BUILD_DATE
ARG GIT_TREE_STATE
ARG GIT_COMMIT
ARG GIT_TAG \
BUILD_DATE \
GIT_TREE_STATE \
GIT_COMMIT
RUN GIT_COMMIT=$GIT_COMMIT \
GIT_TREE_STATE=$GIT_TREE_STATE \
GIT_TAG=$GIT_TAG \
@@ -130,6 +132,7 @@ RUN GIT_COMMIT=$GIT_COMMIT \
# Final image
####################################################################################################
FROM argocd-base
ENTRYPOINT ["/usr/bin/tini", "--"]
COPY --from=argocd-build /go/src/github.com/argoproj/argo-cd/dist/argocd* /usr/local/bin/
USER root
@@ -140,7 +143,7 @@ RUN ln -s /usr/local/bin/argocd /usr/local/bin/argocd-server && \
ln -s /usr/local/bin/argocd /usr/local/bin/argocd-dex && \
ln -s /usr/local/bin/argocd /usr/local/bin/argocd-notifications && \
ln -s /usr/local/bin/argocd /usr/local/bin/argocd-applicationset-controller && \
ln -s /usr/local/bin/argocd /usr/local/bin/argocd-k8s-auth
ln -s /usr/local/bin/argocd /usr/local/bin/argocd-k8s-auth && \
ln -s /usr/local/bin/argocd /usr/local/bin/argocd-commit-server
USER $ARGOCD_USER_ID
ENTRYPOINT ["/usr/bin/tini", "--"]

62
Dockerfile.tilt Normal file
View File

@@ -0,0 +1,62 @@
FROM docker.io/library/golang:1.25.6@sha256:fc24d3881a021e7b968a4610fc024fba749f98fe5c07d4f28e6cfa14dc65a84c
ENV DEBIAN_FRONTEND=noninteractive
RUN echo 'deb http://archive.debian.org/debian buster-backports main' >> /etc/apt/sources.list
RUN apt-get update && apt-get install --no-install-recommends -y \
curl \
openssh-server \
nginx \
unzip \
fcgiwrap \
git \
git-lfs \
make \
wget \
gcc \
sudo \
zip \
tini \
gpg \
tzdata \
connect-proxy
RUN go install github.com/go-delve/delve/cmd/dlv@latest
COPY hack/install.sh hack/tool-versions.sh ./
COPY hack/installers installers
RUN ./install.sh helm && \
INSTALL_PATH=/usr/local/bin ./install.sh kustomize
COPY hack/gpg-wrapper.sh \
hack/git-verify-wrapper.sh \
entrypoint.sh \
/usr/local/bin/
# support for mounting configuration from a configmap
WORKDIR /app/config/ssh
RUN touch ssh_known_hosts && \
ln -s /app/config/ssh/ssh_known_hosts /etc/ssh/ssh_known_hosts
WORKDIR /app/config
RUN mkdir -p tls && \
mkdir -p gpg/source && \
mkdir -p gpg/keys
COPY .tilt-bin/argocd_linux /usr/local/bin/argocd
RUN ln -s /usr/local/bin/argocd /usr/local/bin/argocd-server && \
ln -s /usr/local/bin/argocd /usr/local/bin/argocd-repo-server && \
ln -s /usr/local/bin/argocd /usr/local/bin/argocd-application-controller && \
ln -s /usr/local/bin/argocd /usr/local/bin/argocd-dex && \
ln -s /usr/local/bin/argocd /usr/local/bin/argocd-notifications && \
ln -s /usr/local/bin/argocd /usr/local/bin/argocd-applicationset-controller && \
ln -s /usr/local/bin/argocd /usr/local/bin/argocd-commit-server
# directory for Tilt restart file
RUN mkdir -p /tilt
# overridden by Tiltfile
ENTRYPOINT ["/usr/bin/tini", "-s", "--", "dlv", "exec", "--continue", "--accept-multiclient", "--headless", "--listen=:2345", "--api-version=2"]

9
Dockerfile.ui.tilt Normal file
View File

@@ -0,0 +1,9 @@
FROM node:20
WORKDIR /app/ui
COPY ui /app/ui
RUN yarn install
ENTRYPOINT ["yarn", "start"]

View File

@@ -1,9 +1,18 @@
PACKAGE=github.com/argoproj/argo-cd/v2/common
PACKAGE=github.com/argoproj/argo-cd/v3/common
CURRENT_DIR=$(shell pwd)
DIST_DIR=${CURRENT_DIR}/dist
CLI_NAME=argocd
BIN_NAME=argocd
CGO_FLAG=0
UNAME_S:=$(shell uname)
IS_DARWIN:=$(if $(filter Darwin, $(UNAME_S)),true,false)
# When using OSX/Darwin, you might need to enable CGO for local builds
DEFAULT_CGO_FLAG:=0
ifeq ($(IS_DARWIN),true)
DEFAULT_CGO_FLAG:=1
endif
CGO_FLAG?=${DEFAULT_CGO_FLAG}
GEN_RESOURCES_CLI_NAME=argocd-resources-gen
@@ -34,6 +43,17 @@ endif
DOCKER_SRCDIR?=$(GOPATH)/src
DOCKER_WORKDIR?=/go/src/github.com/argoproj/argo-cd
# Allows you to control which Docker network the test-util containers attach to.
# This is particularly useful if you are running Kubernetes in Docker (e.g., k3d)
# and want the test containers to reach the Kubernetes API via an already-existing Docker network.
DOCKER_NETWORK ?= default
ifneq ($(DOCKER_NETWORK),default)
DOCKER_NETWORK_ARG := --network $(DOCKER_NETWORK)
else
DOCKER_NETWORK_ARG :=
endif
ARGOCD_PROCFILE?=Procfile
# pointing to python 3.7 to match https://github.com/argoproj/argo-cd/blob/master/.readthedocs.yml
@@ -104,11 +124,11 @@ define run-in-test-server
-v ${GOPATH}/pkg/mod:/go/pkg/mod${VOLUME_MOUNT} \
-v ${GOCACHE}:/tmp/go-build-cache${VOLUME_MOUNT} \
-v ${HOME}/.kube:/home/user/.kube${VOLUME_MOUNT} \
-v /tmp:/tmp${VOLUME_MOUNT} \
-w ${DOCKER_WORKDIR} \
-p ${ARGOCD_E2E_APISERVER_PORT}:8080 \
-p 4000:4000 \
-p 5000:5000 \
$(DOCKER_NETWORK_ARG)\
$(PODMAN_ARGS) \
$(TEST_TOOLS_PREFIX)$(TEST_TOOLS_IMAGE):$(TEST_TOOLS_TAG) \
bash -c "$(1)"
@@ -129,8 +149,8 @@ define run-in-test-client
-v ${GOPATH}/pkg/mod:/go/pkg/mod${VOLUME_MOUNT} \
-v ${GOCACHE}:/tmp/go-build-cache${VOLUME_MOUNT} \
-v ${HOME}/.kube:/home/user/.kube${VOLUME_MOUNT} \
-v /tmp:/tmp${VOLUME_MOUNT} \
-w ${DOCKER_WORKDIR} \
$(DOCKER_NETWORK_ARG)\
$(PODMAN_ARGS) \
$(TEST_TOOLS_PREFIX)$(TEST_TOOLS_IMAGE):$(TEST_TOOLS_TAG) \
bash -c "$(1)"
@@ -147,7 +167,11 @@ PATH:=$(PATH):$(PWD)/hack
DOCKER_PUSH?=false
IMAGE_NAMESPACE?=
# perform static compilation
STATIC_BUILD?=true
DEFAULT_STATIC_BUILD:=true
ifeq ($(IS_DARWIN),true)
DEFAULT_STATIC_BUILD:=false
endif
STATIC_BUILD?=${DEFAULT_STATIC_BUILD}
# build development images
DEV_IMAGE?=false
ARGOCD_GPG_ENABLED?=true
@@ -254,7 +278,7 @@ cli: test-tools-image
.PHONY: cli-local
cli-local: clean-debug
CGO_ENABLED=${CGO_FLAG} GODEBUG="tarinsecurepath=0,zipinsecurepath=0" go build $(COVERAGE_FLAG) -v -ldflags '${LDFLAGS}' -o ${DIST_DIR}/${CLI_NAME} ./cmd
CGO_ENABLED=${CGO_FLAG} GODEBUG="tarinsecurepath=0,zipinsecurepath=0" go build -gcflags="all=-N -l" $(COVERAGE_FLAG) -v -ldflags '${LDFLAGS}' -o ${DIST_DIR}/${CLI_NAME} ./cmd
.PHONY: gen-resources-cli-local
gen-resources-cli-local: clean-debug
@@ -355,11 +379,6 @@ mod-vendor: test-tools-image
mod-vendor-local: mod-download-local
go mod vendor
# Deprecated - replace by install-tools-local
.PHONY: install-lint-tools
install-lint-tools:
./hack/install.sh lint-tools
# Run linter on the code
.PHONY: lint
lint: test-tools-image
@@ -435,7 +454,7 @@ test-e2e:
test-e2e-local: cli-local
# NO_PROXY ensures all tests don't go out through a proxy if one is configured on the test system
export GO111MODULE=off
DIST_DIR=${DIST_DIR} RERUN_FAILS=5 PACKAGES="./test/e2e" ARGOCD_E2E_RECORD=${ARGOCD_E2E_RECORD} ARGOCD_GPG_ENABLED=true NO_PROXY=* ./hack/test.sh -timeout $(ARGOCD_E2E_TEST_TIMEOUT) -v -args -test.gocoverdir="$(PWD)/test-results"
DIST_DIR=${DIST_DIR} RERUN_FAILS=5 PACKAGES="./test/e2e" ARGOCD_E2E_RECORD=${ARGOCD_E2E_RECORD} ARGOCD_CONFIG_DIR=$(HOME)/.config/argocd-e2e ARGOCD_GPG_ENABLED=true NO_PROXY=* ./hack/test.sh -timeout $(ARGOCD_E2E_TEST_TIMEOUT) -v -args -test.gocoverdir="$(PWD)/test-results"
# Spawns a shell in the test server container for debugging purposes
debug-test-server: test-tools-image
@@ -472,6 +491,7 @@ start-e2e-local: mod-vendor-local dep-ui-local cli-local
mkdir -p /tmp/coverage/repo-server
mkdir -p /tmp/coverage/applicationset-controller
mkdir -p /tmp/coverage/notification
mkdir -p /tmp/coverage/commit-server
# set paths for locally managed ssh known hosts and tls certs data
ARGOCD_SSH_DATA_PATH=/tmp/argo-e2e/app/config/ssh \
ARGOCD_TLS_DATA_PATH=/tmp/argo-e2e/app/config/tls \
@@ -486,8 +506,11 @@ start-e2e-local: mod-vendor-local dep-ui-local cli-local
BIN_MODE=$(ARGOCD_BIN_MODE) \
ARGOCD_APPLICATION_NAMESPACES=argocd-e2e-external,argocd-e2e-external-2 \
ARGOCD_APPLICATIONSET_CONTROLLER_NAMESPACES=argocd-e2e-external,argocd-e2e-external-2 \
ARGOCD_APPLICATIONSET_CONTROLLER_TOKENREF_STRICT_MODE=true \
ARGOCD_APPLICATIONSET_CONTROLLER_ALLOWED_SCM_PROVIDERS=http://127.0.0.1:8341,http://127.0.0.1:8342,http://127.0.0.1:8343,http://127.0.0.1:8344 \
ARGOCD_E2E_TEST=true \
ARGOCD_HYDRATOR_ENABLED=true \
ARGOCD_CLUSTER_CACHE_EVENTS_PROCESSING_INTERVAL=1ms \
goreman -f $(ARGOCD_PROCFILE) start ${ARGOCD_START}
ls -lrt /tmp/coverage
@@ -553,7 +576,7 @@ build-docs-local:
.PHONY: build-docs
build-docs:
$(DOCKER) run ${MKDOCS_RUN_ARGS} --rm -it -v ${CURRENT_DIR}:/docs -w /docs --entrypoint "" ${MKDOCS_DOCKER_IMAGE} sh -c 'pip install -r docs/requirements.txt; mkdocs build'
$(DOCKER) run ${MKDOCS_RUN_ARGS} --rm -it -v ${CURRENT_DIR}:/docs -w /docs --entrypoint "" ${MKDOCS_DOCKER_IMAGE} sh -c 'pip install mkdocs; pip install $$(mkdocs get-deps); mkdocs build'
.PHONY: serve-docs-local
serve-docs-local:
@@ -561,7 +584,7 @@ serve-docs-local:
.PHONY: serve-docs
serve-docs:
$(DOCKER) run ${MKDOCS_RUN_ARGS} --rm -it -p 8000:8000 -v ${CURRENT_DIR}:/docs -w /docs --entrypoint "" ${MKDOCS_DOCKER_IMAGE} sh -c 'pip install -r docs/requirements.txt; mkdocs serve -a $$(ip route get 1 | awk '\''{print $$7}'\''):8000'
$(DOCKER) run ${MKDOCS_RUN_ARGS} --rm -it -p 8000:8000 -v ${CURRENT_DIR}:/docs -w /docs --entrypoint "" ${MKDOCS_DOCKER_IMAGE} sh -c 'pip install mkdocs; pip install $$(mkdocs get-deps); mkdocs serve -a $$(ip route get 1 | awk '\''{print $$7}'\''):8000'
# Verify that kubectl can connect to your K8s cluster from Docker
.PHONY: verify-kube-connect
@@ -586,16 +609,19 @@ install-test-tools-local:
./hack/install.sh kustomize
./hack/install.sh helm
./hack/install.sh gotestsum
./hack/install.sh oras
# Installs all tools required for running codegen (Linux packages)
.PHONY: install-codegen-tools-local
install-codegen-tools-local:
./hack/install.sh codegen-tools
./hack/install.sh codegen-go-tools
# Installs all tools required for running codegen (Go packages)
.PHONY: install-go-tools-local
install-go-tools-local:
./hack/install.sh codegen-go-tools
./hack/install.sh lint-tools
.PHONY: dep-ui
dep-ui: test-tools-image
@@ -676,7 +702,6 @@ help:
@echo 'debug:'
@echo ' list -- list all make targets'
@echo ' install-tools-local -- install all the tools below'
@echo ' install-lint-tools(-local)'
@echo
@echo 'codegen:'
@echo ' codegen(-local) -- if using -local, run the following targets first'

View File

@@ -1,12 +1,14 @@
controller: [ "$BIN_MODE" = 'true' ] && COMMAND=./dist/argocd || COMMAND='go run ./cmd/main.go' && sh -c "GOCOVERDIR=${ARGOCD_COVERAGE_DIR:-/tmp/coverage/app-controller} HOSTNAME=testappcontroller-1 FORCE_LOG_COLORS=1 ARGOCD_FAKE_IN_CLUSTER=true ARGOCD_TLS_DATA_PATH=${ARGOCD_TLS_DATA_PATH:-/tmp/argocd-local/tls} ARGOCD_SSH_DATA_PATH=${ARGOCD_SSH_DATA_PATH:-/tmp/argocd-local/ssh} ARGOCD_BINARY_NAME=argocd-application-controller $COMMAND --loglevel debug --redis localhost:${ARGOCD_E2E_REDIS_PORT:-6379} --repo-server localhost:${ARGOCD_E2E_REPOSERVER_PORT:-8081} --otlp-address=${ARGOCD_OTLP_ADDRESS} --application-namespaces=${ARGOCD_APPLICATION_NAMESPACES:-''} --server-side-diff-enabled=${ARGOCD_APPLICATION_CONTROLLER_SERVER_SIDE_DIFF:-'false'}"
api-server: [ "$BIN_MODE" = 'true' ] && COMMAND=./dist/argocd || COMMAND='go run ./cmd/main.go' && sh -c "GOCOVERDIR=${ARGOCD_COVERAGE_DIR:-/tmp/coverage/api-server} FORCE_LOG_COLORS=1 ARGOCD_FAKE_IN_CLUSTER=true ARGOCD_TLS_DATA_PATH=${ARGOCD_TLS_DATA_PATH:-/tmp/argocd-local/tls} ARGOCD_SSH_DATA_PATH=${ARGOCD_SSH_DATA_PATH:-/tmp/argocd-local/ssh} ARGOCD_BINARY_NAME=argocd-server $COMMAND --loglevel debug --redis localhost:${ARGOCD_E2E_REDIS_PORT:-6379} --disable-auth=${ARGOCD_E2E_DISABLE_AUTH:-'true'} --insecure --dex-server http://localhost:${ARGOCD_E2E_DEX_PORT:-5556} --repo-server localhost:${ARGOCD_E2E_REPOSERVER_PORT:-8081} --port ${ARGOCD_E2E_APISERVER_PORT:-8080} --otlp-address=${ARGOCD_OTLP_ADDRESS} --application-namespaces=${ARGOCD_APPLICATION_NAMESPACES:-''}"
dex: sh -c "ARGOCD_BINARY_NAME=argocd-dex go run github.com/argoproj/argo-cd/v2/cmd gendexcfg -o `pwd`/dist/dex.yaml && (test -f dist/dex.yaml || { echo 'Failed to generate dex configuration'; exit 1; }) && docker run --rm -p ${ARGOCD_E2E_DEX_PORT:-5556}:${ARGOCD_E2E_DEX_PORT:-5556} -v `pwd`/dist/dex.yaml:/dex.yaml ghcr.io/dexidp/dex:$(grep "image: ghcr.io/dexidp/dex" manifests/base/dex/argocd-dex-server-deployment.yaml | cut -d':' -f3) dex serve /dex.yaml"
redis: bash -c "if [ \"$ARGOCD_REDIS_LOCAL\" = 'true' ]; then redis-server --save '' --appendonly no --port ${ARGOCD_E2E_REDIS_PORT:-6379}; else docker run --rm --name argocd-redis -i -p ${ARGOCD_E2E_REDIS_PORT:-6379}:${ARGOCD_E2E_REDIS_PORT:-6379} docker.io/library/redis:$(grep "image: redis" manifests/base/redis/argocd-redis-deployment.yaml | cut -d':' -f3) --save '' --appendonly no --port ${ARGOCD_E2E_REDIS_PORT:-6379}; fi"
controller: [ "$BIN_MODE" = 'true' ] && COMMAND=./dist/argocd || COMMAND='go run ./cmd/main.go' && sh -c "GOCOVERDIR=${ARGOCD_COVERAGE_DIR:-/tmp/coverage/app-controller} HOSTNAME=testappcontroller-1 FORCE_LOG_COLORS=1 ARGOCD_FAKE_IN_CLUSTER=true ARGOCD_TLS_DATA_PATH=${ARGOCD_TLS_DATA_PATH:-/tmp/argocd-local/tls} ARGOCD_SSH_DATA_PATH=${ARGOCD_SSH_DATA_PATH:-/tmp/argocd-local/ssh} ARGOCD_BINARY_NAME=argocd-application-controller $COMMAND --loglevel debug --redis localhost:${ARGOCD_E2E_REDIS_PORT:-6379} --repo-server localhost:${ARGOCD_E2E_REPOSERVER_PORT:-8081} --commit-server localhost:${ARGOCD_E2E_COMMITSERVER_PORT:-8086} --otlp-address=${ARGOCD_OTLP_ADDRESS} --application-namespaces=${ARGOCD_APPLICATION_NAMESPACES:-''} --server-side-diff-enabled=${ARGOCD_APPLICATION_CONTROLLER_SERVER_SIDE_DIFF:-'false'} --hydrator-enabled=${ARGOCD_HYDRATOR_ENABLED:='false'}"
api-server: [ "$BIN_MODE" = 'true' ] && COMMAND=./dist/argocd || COMMAND='go run ./cmd/main.go' && sh -c "GOCOVERDIR=${ARGOCD_COVERAGE_DIR:-/tmp/coverage/api-server} FORCE_LOG_COLORS=1 ARGOCD_FAKE_IN_CLUSTER=true ARGOCD_TLS_DATA_PATH=${ARGOCD_TLS_DATA_PATH:-/tmp/argocd-local/tls} ARGOCD_SSH_DATA_PATH=${ARGOCD_SSH_DATA_PATH:-/tmp/argocd-local/ssh} ARGOCD_BINARY_NAME=argocd-server $COMMAND --loglevel debug --redis localhost:${ARGOCD_E2E_REDIS_PORT:-6379} --disable-auth=${ARGOCD_E2E_DISABLE_AUTH:-'true'} --insecure --dex-server http://localhost:${ARGOCD_E2E_DEX_PORT:-5556} --repo-server localhost:${ARGOCD_E2E_REPOSERVER_PORT:-8081} --port ${ARGOCD_E2E_APISERVER_PORT:-8080} --otlp-address=${ARGOCD_OTLP_ADDRESS} --application-namespaces=${ARGOCD_APPLICATION_NAMESPACES:-''} --hydrator-enabled=${ARGOCD_HYDRATOR_ENABLED:='false'}"
dex: sh -c "ARGOCD_BINARY_NAME=argocd-dex go run github.com/argoproj/argo-cd/v3/cmd gendexcfg -o `pwd`/dist/dex.yaml && (test -f dist/dex.yaml || { echo 'Failed to generate dex configuration'; exit 1; }) && docker run --rm -p ${ARGOCD_E2E_DEX_PORT:-5556}:${ARGOCD_E2E_DEX_PORT:-5556} -v `pwd`/dist/dex.yaml:/dex.yaml ghcr.io/dexidp/dex:$(grep "image: ghcr.io/dexidp/dex" manifests/base/dex/argocd-dex-server-deployment.yaml | cut -d':' -f3) dex serve /dex.yaml"
redis: hack/start-redis-with-password.sh
repo-server: [ "$BIN_MODE" = 'true' ] && COMMAND=./dist/argocd || COMMAND='go run ./cmd/main.go' && sh -c "GOCOVERDIR=${ARGOCD_COVERAGE_DIR:-/tmp/coverage/repo-server} FORCE_LOG_COLORS=1 ARGOCD_FAKE_IN_CLUSTER=true ARGOCD_GNUPGHOME=${ARGOCD_GNUPGHOME:-/tmp/argocd-local/gpg/keys} ARGOCD_PLUGINSOCKFILEPATH=${ARGOCD_PLUGINSOCKFILEPATH:-./test/cmp} ARGOCD_GPG_DATA_PATH=${ARGOCD_GPG_DATA_PATH:-/tmp/argocd-local/gpg/source} ARGOCD_TLS_DATA_PATH=${ARGOCD_TLS_DATA_PATH:-/tmp/argocd-local/tls} ARGOCD_SSH_DATA_PATH=${ARGOCD_SSH_DATA_PATH:-/tmp/argocd-local/ssh} ARGOCD_BINARY_NAME=argocd-repo-server ARGOCD_GPG_ENABLED=${ARGOCD_GPG_ENABLED:-false} $COMMAND --loglevel debug --port ${ARGOCD_E2E_REPOSERVER_PORT:-8081} --redis localhost:${ARGOCD_E2E_REDIS_PORT:-6379} --otlp-address=${ARGOCD_OTLP_ADDRESS}"
cmp-server: [ "$ARGOCD_E2E_TEST" = 'true' ] && exit 0 || [ "$BIN_MODE" = 'true' ] && COMMAND=./dist/argocd || COMMAND='go run ./cmd/main.go' && sh -c "FORCE_LOG_COLORS=1 ARGOCD_FAKE_IN_CLUSTER=true ARGOCD_BINARY_NAME=argocd-cmp-server ARGOCD_PLUGINSOCKFILEPATH=${ARGOCD_PLUGINSOCKFILEPATH:-./test/cmp} $COMMAND --config-dir-path ./test/cmp --loglevel debug --otlp-address=${ARGOCD_OTLP_ADDRESS}"
commit-server: [ "$BIN_MODE" = 'true' ] && COMMAND=./dist/argocd || COMMAND='go run ./cmd/main.go' && sh -c "GOCOVERDIR=${ARGOCD_COVERAGE_DIR:-/tmp/coverage/commit-server} FORCE_LOG_COLORS=1 ARGOCD_BINARY_NAME=argocd-commit-server $COMMAND --loglevel debug --port ${ARGOCD_E2E_COMMITSERVER_PORT:-8086}"
ui: sh -c 'cd ui && ${ARGOCD_E2E_YARN_CMD:-yarn} start'
git-server: test/fixture/testrepos/start-git.sh
helm-registry: test/fixture/testrepos/start-helm-registry.sh
oci-registry: test/fixture/testrepos/start-authenticated-helm-registry.sh
dev-mounter: [[ "$ARGOCD_E2E_TEST" != "true" ]] && go run hack/dev-mounter/main.go --configmap argocd-ssh-known-hosts-cm=${ARGOCD_SSH_DATA_PATH:-/tmp/argocd-local/ssh} --configmap argocd-tls-certs-cm=${ARGOCD_TLS_DATA_PATH:-/tmp/argocd-local/tls} --configmap argocd-gpg-keys-cm=${ARGOCD_GPG_DATA_PATH:-/tmp/argocd-local/gpg/source}
applicationset-controller: [ "$BIN_MODE" = 'true' ] && COMMAND=./dist/argocd || COMMAND='go run ./cmd/main.go' && sh -c "GOCOVERDIR=${ARGOCD_COVERAGE_DIR:-/tmp/coverage/applicationset-controller} FORCE_LOG_COLORS=4 ARGOCD_FAKE_IN_CLUSTER=true ARGOCD_TLS_DATA_PATH=${ARGOCD_TLS_DATA_PATH:-/tmp/argocd-local/tls} ARGOCD_SSH_DATA_PATH=${ARGOCD_SSH_DATA_PATH:-/tmp/argocd-local/ssh} ARGOCD_BINARY_NAME=argocd-applicationset-controller $COMMAND --loglevel debug --metrics-addr localhost:12345 --probe-addr localhost:12346 --argocd-repo-server localhost:${ARGOCD_E2E_REPOSERVER_PORT:-8081}"
notification: [ "$BIN_MODE" = 'true' ] && COMMAND=./dist/argocd || COMMAND='go run ./cmd/main.go' && sh -c "GOCOVERDIR=${ARGOCD_COVERAGE_DIR:-/tmp/coverage/notification} FORCE_LOG_COLORS=4 ARGOCD_FAKE_IN_CLUSTER=true ARGOCD_TLS_DATA_PATH=${ARGOCD_TLS_DATA_PATH:-/tmp/argocd-local/tls} ARGOCD_BINARY_NAME=argocd-notifications $COMMAND --loglevel debug --application-namespaces=${ARGOCD_APPLICATION_NAMESPACES:-''} --self-service-notification-enabled=${ARGOCD_NOTIFICATION_CONTROLLER_SELF_SERVICE_NOTIFICATION_ENABLED:-'false'}"

View File

@@ -8,7 +8,6 @@
[![codecov](https://codecov.io/gh/argoproj/argo-cd/branch/master/graph/badge.svg)](https://codecov.io/gh/argoproj/argo-cd)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/4486/badge)](https://bestpractices.coreinfrastructure.org/projects/4486)
[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/argoproj/argo-cd/badge)](https://scorecard.dev/viewer/?uri=github.com/argoproj/argo-cd)
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fargoproj%2Fargo-cd.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fargoproj%2Fargo-cd?ref=badge_shield)
**Social:**
[![Twitter Follow](https://img.shields.io/twitter/follow/argoproj?style=social)](https://twitter.com/argoproj)
@@ -57,7 +56,7 @@ Participation in the Argo CD project is governed by the [CNCF Code of Conduct](h
### Blogs and Presentations
1. [Awesome-Argo: A Curated List of Awesome Projects and Resources Related to Argo](https://github.com/terrytangyuan/awesome-argo)
1. [Unveil the Secret Ingredients of Continuous Delivery at Enterprise Scale with Argo CD](https://akuity.io/blog/unveil-the-secret-ingredients-of-continuous-delivery-at-enterprise-scale-with-argocd-kubecon-china-2021/)
1. [Unveil the Secret Ingredients of Continuous Delivery at Enterprise Scale with Argo CD](https://akuity.io/blog/secret-ingredients-of-continuous-delivery-at-enterprise-scale-with-argocd/)
1. [GitOps Without Pipelines With ArgoCD Image Updater](https://youtu.be/avPUQin9kzU)
1. [Combining Argo CD (GitOps), Crossplane (Control Plane), And KubeVela (OAM)](https://youtu.be/eEcgn_gU3SM)
1. [How to Apply GitOps to Everything - Combining Argo CD and Crossplane](https://youtu.be/yrj4lmScKHQ)

View File

@@ -3,9 +3,9 @@ header:
expiration-date: '2024-10-31T00:00:00.000Z' # One year from initial release.
last-updated: '2023-10-27'
last-reviewed: '2023-10-27'
commit-hash: fe606708859574b9b6102a505e260fac5d3fb14e
commit-hash: 320f46f06beaf75f9c406e3a47e2e09d36e2047a
project-url: https://github.com/argoproj/argo-cd
project-release: v2.13.0
project-release: v3.2.0
changelog: https://github.com/argoproj/argo-cd/releases
license: https://github.com/argoproj/argo-cd/blob/master/LICENSE
project-lifecycle:

291
Tiltfile Normal file
View File

@@ -0,0 +1,291 @@
load('ext://restart_process', 'docker_build_with_restart')
load('ext://uibutton', 'cmd_button', 'location')
# add ui button in web ui to run make codegen-local (top nav)
cmd_button(
'make codegen-local',
argv=['sh', '-c', 'make codegen-local'],
location=location.NAV,
icon_name='terminal',
text='make codegen-local',
)
cmd_button(
'make test-local',
argv=['sh', '-c', 'make test-local'],
location=location.NAV,
icon_name='science',
text='make test-local',
)
# add ui button in web ui to run make codegen-local (top nav)
cmd_button(
'make cli-local',
argv=['sh', '-c', 'make cli-local'],
location=location.NAV,
icon_name='terminal',
text='make cli-local',
)
# detect cluster architecture for build
cluster_version = decode_yaml(local('kubectl version -o yaml'))
platform = cluster_version['serverVersion']['platform']
arch = platform.split('/')[1]
# build the argocd binary on code changes
code_deps = [
'applicationset',
'cmd',
'cmpserver',
'commitserver',
'common',
'controller',
'notification-controller',
'pkg',
'reposerver',
'server',
'util',
'go.mod',
'go.sum',
]
local_resource(
'build',
'CGO_ENABLED=0 GOOS=linux GOARCH=' + arch + ' go build -gcflags="all=-N -l" -mod=readonly -o .tilt-bin/argocd_linux cmd/main.go',
deps = code_deps,
allow_parallel=True,
)
# deploy the argocd manifests
k8s_yaml(kustomize('manifests/dev-tilt'))
# build dev image
docker_build_with_restart(
'argocd',
context='.',
dockerfile='Dockerfile.tilt',
entrypoint=[
"/usr/bin/tini",
"-s",
"--",
"dlv",
"exec",
"--continue",
"--accept-multiclient",
"--headless",
"--listen=:2345",
"--api-version=2"
],
platform=platform,
live_update=[
sync('.tilt-bin/argocd_linux', '/usr/local/bin/argocd'),
],
only=[
'.tilt-bin',
'hack',
'entrypoint.sh',
],
restart_file='/tilt/.restart-proc'
)
# build image for argocd-cli jobs
docker_build(
'argocd-job',
context='.',
dockerfile='Dockerfile.tilt',
platform=platform,
only=[
'.tilt-bin',
'hack',
'entrypoint.sh',
]
)
# track argocd-server resources and port forward
k8s_resource(
workload='argocd-server',
objects=[
'argocd-server:serviceaccount',
'argocd-server:role',
'argocd-server:rolebinding',
'argocd-cm:configmap',
'argocd-cmd-params-cm:configmap',
'argocd-gpg-keys-cm:configmap',
'argocd-rbac-cm:configmap',
'argocd-ssh-known-hosts-cm:configmap',
'argocd-tls-certs-cm:configmap',
'argocd-secret:secret',
'argocd-server-network-policy:networkpolicy',
'argocd-server:clusterrolebinding',
'argocd-server:clusterrole',
],
port_forwards=[
'8080:8080',
'9345:2345',
'8083:8083'
],
)
# track crds
k8s_resource(
new_name='cluster-resources',
objects=[
'applications.argoproj.io:customresourcedefinition',
'applicationsets.argoproj.io:customresourcedefinition',
'appprojects.argoproj.io:customresourcedefinition',
'argocd:namespace'
]
)
# track argocd-repo-server resources and port forward
k8s_resource(
workload='argocd-repo-server',
objects=[
'argocd-repo-server:serviceaccount',
'argocd-repo-server-network-policy:networkpolicy',
],
port_forwards=[
'8081:8081',
'9346:2345',
'8084:8084'
],
)
# track argocd-redis resources and port forward
k8s_resource(
workload='argocd-redis',
objects=[
'argocd-redis:serviceaccount',
'argocd-redis:role',
'argocd-redis:rolebinding',
'argocd-redis-network-policy:networkpolicy',
],
port_forwards=[
'6379:6379',
],
)
# track argocd-applicationset-controller resources
k8s_resource(
workload='argocd-applicationset-controller',
objects=[
'argocd-applicationset-controller:serviceaccount',
'argocd-applicationset-controller-network-policy:networkpolicy',
'argocd-applicationset-controller:role',
'argocd-applicationset-controller:rolebinding',
'argocd-applicationset-controller:clusterrolebinding',
'argocd-applicationset-controller:clusterrole',
],
port_forwards=[
'9347:2345',
'8085:8080',
'7000:7000'
],
)
# track argocd-application-controller resources
k8s_resource(
workload='argocd-application-controller',
objects=[
'argocd-application-controller:serviceaccount',
'argocd-application-controller-network-policy:networkpolicy',
'argocd-application-controller:role',
'argocd-application-controller:rolebinding',
'argocd-application-controller:clusterrolebinding',
'argocd-application-controller:clusterrole',
],
port_forwards=[
'9348:2345',
'8086:8082',
],
)
# track argocd-notifications-controller resources
k8s_resource(
workload='argocd-notifications-controller',
objects=[
'argocd-notifications-controller:serviceaccount',
'argocd-notifications-controller-network-policy:networkpolicy',
'argocd-notifications-controller:role',
'argocd-notifications-controller:rolebinding',
'argocd-notifications-cm:configmap',
'argocd-notifications-secret:secret',
],
port_forwards=[
'9349:2345',
'8087:9001',
],
)
# track argocd-dex-server resources
k8s_resource(
workload='argocd-dex-server',
objects=[
'argocd-dex-server:serviceaccount',
'argocd-dex-server-network-policy:networkpolicy',
'argocd-dex-server:role',
'argocd-dex-server:rolebinding',
],
)
# track argocd-commit-server resources
k8s_resource(
workload='argocd-commit-server',
objects=[
'argocd-commit-server:serviceaccount',
'argocd-commit-server-network-policy:networkpolicy',
],
port_forwards=[
'9350:2345',
'8088:8087',
'8089:8086',
],
)
# docker for ui
docker_build(
'argocd-ui',
context='.',
dockerfile='Dockerfile.ui.tilt',
entrypoint=['sh', '-c', 'cd /app/ui && yarn start'],
only=['ui'],
live_update=[
sync('ui', '/app/ui'),
run('sh -c "cd /app/ui && yarn install"', trigger=['/app/ui/package.json', '/app/ui/yarn.lock']),
],
)
# track argocd-ui resources and port forward
k8s_resource(
workload='argocd-ui',
port_forwards=[
'4000:4000',
],
)
# linting
local_resource(
'lint',
'make lint-local',
deps = code_deps,
allow_parallel=True,
resource_deps=['vendor']
)
local_resource(
'lint-ui',
'make lint-ui-local',
deps = [
'ui',
],
allow_parallel=True,
)
local_resource(
'vendor',
'go mod vendor',
deps = [
'go.mod',
'go.sum',
],
)

View File

@@ -5,16 +5,21 @@ PR with your organization name if you are using Argo CD.
Currently, the following organizations are **officially** using Argo CD:
1. [100ms](https://www.100ms.ai/)
1. [127Labs](https://127labs.com/)
1. [3Rein](https://www.3rein.com/)
1. [42 School](https://42.fr/)
1. [4data](https://4data.ch/)
1. [7shifts](https://www.7shifts.com/)
1. [Adevinta](https://www.adevinta.com/)
1. [Adfinis](https://adfinis.com)
1. [Adobe](https://www.adobe.com/)
1. [Adventure](https://jp.adventurekk.com/)
1. [Adyen](https://www.adyen.com)
1. [AirQo](https://airqo.net/)
1. [Akuity](https://akuity.io/)
1. [Alarm.com](https://alarm.com/)
1. [Alauda](https://alauda.io/)
1. [Albert Heijn](https://ah.nl/)
1. [Alibaba Group](https://www.alibabagroup.com/)
1. [Allianz Direct](https://www.allianzdirect.de/)
@@ -27,18 +32,24 @@ Currently, the following organizations are **officially** using Argo CD:
1. [Ant Group](https://www.antgroup.com/)
1. [AppDirect](https://www.appdirect.com)
1. [Arctiq Inc.](https://www.arctiq.ca)
2. [Arturia](https://www.arturia.com)
1. [Artemis Health by Nomi Health](https://www.artemishealth.com/)
1. [Arturia](https://www.arturia.com)
1. [ARZ Allgemeines Rechenzentrum GmbH](https://www.arz.at/)
1. [Augury](https://www.augury.com/)
1. [Autodesk](https://www.autodesk.com)
1. [Axians ACSP](https://www.axians.fr)
1. [Axual B.V.](https://axual.com)
1. [Back Market](https://www.backmarket.com)
1. [Bajaj Finserv Health Ltd.](https://www.bajajfinservhealth.in)
1. [Baloise](https://www.baloise.com)
1. [Batumbu](https://batumbu.id)
1. [BCDevExchange DevOps Platform](https://bcdevexchange.org/DevOpsPlatform)
1. [Beat](https://thebeat.co/en/)
1. [Beez Innovation Labs](https://www.beezlabs.com/)
1. [Bedag Informatik AG](https://www.bedag.ch/)
1. [Beleza Na Web](https://www.belezanaweb.com.br/)
1. [Believable Bots](https://believablebots.io)
1. [Bayer AG](https://bayer.com)
1. [BigPanda](https://bigpanda.io)
1. [BioBox Analytics](https://biobox.io)
1. [BMW Group](https://www.bmwgroup.com/)
@@ -61,7 +72,9 @@ Currently, the following organizations are **officially** using Argo CD:
1. [Chainnodes](https://chainnodes.org)
1. [Chargetrip](https://chargetrip.com)
1. [Chime](https://www.chime.com)
1. [Chronicle Labs](https://chroniclelabs.org)
1. [Cisco ET&I](https://eti.cisco.com/)
1. [Close](https://www.close.com/)
1. [Cloud Posse](https://www.cloudposse.com/)
1. [Cloud Scale](https://cloudscaleinc.com/)
1. [CloudScript](https://www.cloudscript.com.br/)
@@ -73,6 +86,7 @@ Currently, the following organizations are **officially** using Argo CD:
1. [Codility](https://www.codility.com/)
1. [Cognizant](https://www.cognizant.com/)
1. [Commonbond](https://commonbond.co/)
1. [Compatio.AI](https://compatio.ai/)
1. [Contlo](https://contlo.com/)
1. [Coralogix](https://coralogix.com/)
1. [Crédit Agricole CIB](https://www.ca-cib.com)
@@ -82,13 +96,18 @@ Currently, the following organizations are **officially** using Argo CD:
1. [D2iQ](https://www.d2iq.com)
1. [DaoCloud](https://daocloud.io/)
1. [Datarisk](https://www.datarisk.io/)
1. [Daydream](https://daydream.ing)
1. [Deloitte](https://www.deloitte.com/)
1. [Deutsche Telekom AG](https://telekom.com)
1. [Deutsche Bank AG](https://www.deutsche-bank.de/)
1. [Devopsi - Poland Software/DevOps Consulting](https://devopsi.pl/)
1. [Devtron Labs](https://github.com/devtron-labs/devtron)
1. [DigitalEd](https://www.digitaled.com)
1. [DigitalOcean](https://www.digitalocean.com)
1. [Divar](https://divar.ir)
1. [Divistant](https://divistant.com)
1. [Dott](https://ridedott.com)
1. [Doubble](https://www.doubble.app)
1. [Doximity](https://www.doximity.com/)
1. [EDF Renewables](https://www.edf-re.com/)
1. [edX](https://edx.org)
@@ -100,6 +119,7 @@ Currently, the following organizations are **officially** using Argo CD:
1. [Energisme](https://energisme.com/)
1. [enigmo](https://enigmo.co.jp/)
1. [Envoy](https://envoy.com/)
1. [eSave](https://esave.es/)
1. [Factorial](https://factorialhr.com/)
1. [Farfetch](https://www.farfetch.com)
1. [Faro](https://www.faro.com/)
@@ -112,6 +132,7 @@ Currently, the following organizations are **officially** using Argo CD:
1. [freee](https://corp.freee.co.jp/en/company/)
1. [Freshop, Inc](https://www.freshop.com/)
1. [Future PLC](https://www.futureplc.com/)
1. [Flagler Health](https://www.flaglerhealth.io/)
1. [G DATA CyberDefense AG](https://www.gdata-software.com/)
1. [G-Research](https://www.gresearch.com/teams/open-source-software/)
1. [Garner](https://www.garnercorp.com)
@@ -137,14 +158,17 @@ Currently, the following organizations are **officially** using Argo CD:
1. [Hazelcast](https://hazelcast.com/)
1. [Healy](https://www.healyworld.net)
1. [Helio](https://helio.exchange)
1. [hetao101](https://www.hetao101.com/)
1. [Hetki](https://hetki.ai)
1. [hipages](https://hipages.com.au/)
1. [Hiya](https://hiya.com)
1. [Honestbank](https://honestbank.com)
1. [Hostinger](https://www.hostinger.com)
1. [Hotjar](https://www.hotjar.com)
1. [IABAI](https://www.iab.ai)
1. [IBM](https://www.ibm.com/)
1. [Ibotta](https://home.ibotta.com)
1. [Icelandair](https://www.icelandair.com)
1. [IFS](https://www.ifs.com)
1. [IITS-Consulting](https://iits-consulting.de)
1. [IllumiDesk](https://www.illumidesk.com)
@@ -154,6 +178,7 @@ Currently, the following organizations are **officially** using Argo CD:
1. [Info Support](https://www.infosupport.com/)
1. [InsideBoard](https://www.insideboard.com)
1. [Instruqt](https://www.instruqt.com)
1. [Intel](https://www.intel.com)
1. [Intuit](https://www.intuit.com/)
1. [Jellysmack](https://www.jellysmack.com)
1. [Joblift](https://joblift.com/)
@@ -182,10 +207,10 @@ Currently, the following organizations are **officially** using Argo CD:
1. [Lian Chu Securities](https://lczq.com)
1. [Liatrio](https://www.liatrio.com)
1. [Lightricks](https://www.lightricks.com/)
1. [LINE](https://linecorp.com/en/)
1. [Loom](https://www.loom.com/)
1. [Lucid Motors](https://www.lucidmotors.com/)
1. [Lytt](https://www.lytt.co/)
1. [LY Corporation](https://www.lycorp.co.jp/en/)
1. [Magic Leap](https://www.magicleap.com/)
1. [Majid Al Futtaim](https://www.majidalfuttaim.com/)
1. [Major League Baseball](https://mlb.com)
@@ -207,6 +232,7 @@ Currently, the following organizations are **officially** using Argo CD:
1. [Moengage](https://www.moengage.com/)
1. [Money Forward](https://corp.moneyforward.com/en/)
1. [MOO Print](https://www.moo.com/)
1. [Mozilla](https://www.mozilla.org)
1. [MTN Group](https://www.mtn.com/)
1. [Municipality of The Hague](https://www.denhaag.nl/)
1. [My Job Glasses](https://myjobglasses.com)
@@ -239,6 +265,7 @@ Currently, the following organizations are **officially** using Argo CD:
1. [Optoro](https://www.optoro.com/)
1. [Orbital Insight](https://orbitalinsight.com/)
1. [Oscar Health Insurance](https://hioscar.com/)
1. [Outpost24](https://outpost24.com/)
1. [p3r](https://www.p3r.one/)
1. [Packlink](https://www.packlink.com/)
1. [PagerDuty](https://www.pagerduty.com/)
@@ -246,6 +273,7 @@ Currently, the following organizations are **officially** using Argo CD:
1. [Patreon](https://www.patreon.com/)
1. [PayIt](https://payitgov.com/)
1. [PayPay](https://paypay.ne.jp/)
1. [Paystack](https://paystack.com/)
1. [Peloton Interactive](https://www.onepeloton.com/)
1. [Percona](https://percona.com/)
1. [PGS](https://www.pgs.com)
@@ -257,6 +285,7 @@ Currently, the following organizations are **officially** using Argo CD:
1. [PITS Globale Datenrettungsdienste](https://www.pitsdatenrettung.de/)
1. [Platform9 Systems](https://platform9.com/)
1. [Polarpoint.io](https://polarpoint.io)
1. [Pollinate](https://www.pollinate.global)
1. [PostFinance](https://github.com/postfinance)
1. [Preferred Networks](https://preferred.jp/en/)
1. [Previder BV](https://previder.nl)
@@ -267,6 +296,7 @@ Currently, the following organizations are **officially** using Argo CD:
1. [PT Boer Technology (Btech)](https://btech.id/)
1. [PUBG](https://www.pubg.com)
1. [Puzzle ITC](https://www.puzzle.ch/)
1. [Pvotal Technologies](https://pvotal.tech/)
1. [Qonto](https://qonto.com)
1. [QuintoAndar](https://quintoandar.com.br)
1. [Quipper](https://www.quipper.com/)
@@ -290,23 +320,29 @@ Currently, the following organizations are **officially** using Argo CD:
1. [Saloodo! GmbH](https://www.saloodo.com)
1. [Sap Labs](http://sap.com)
1. [Sauce Labs](https://saucelabs.com/)
1. [Schneider Electric](https://www.se.com)
1. [Schwarz IT](https://jobs.schwarz/it-mission)
1. [SCRM Lidl International Hub](https://scrm.lidl)
1. [SEEK](https://seek.com.au)
1. [SEKAI](https://www.sekai.io/)
1. [Semgrep](https://semgrep.com)
1. [Seznam.cz](https://o-seznam.cz/)
1. [Shield](https://shield.com)
1. [Shipfox](https://www.shipfox.io)
1. [Shock Media](https://www.shockmedia.nl)
1. [SI Analytics](https://si-analytics.ai)
1. [Sidewalk Entertainment](https://sidewalkplay.com/)
1. [Skit](https://skit.ai/)
1. [Skribble](https://skribble.com)
1. [Skribble](https://skribble.com)
1. [Skyscanner](https://www.skyscanner.net/)
1. [Smart Pension](https://www.smartpension.co.uk/)
1. [Smilee.io](https://smilee.io)
1. [Smilegate Stove](https://www.onstove.com/)
1. [Smood.ch](https://www.smood.ch/)
1. [Snapp](https://snapp.ir/)
1. [Snyk](https://snyk.io/)
1. [Softway Medical](https://www.softwaymedical.fr/)
1. [Sophotech](https://sopho.tech)
1. [South China Morning Post (SCMP)](https://www.scmp.com/)
1. [Speee](https://speee.jp/)
1. [Spendesk](https://spendesk.com/)
@@ -319,17 +355,22 @@ Currently, the following organizations are **officially** using Argo CD:
1. [Sumo Logic](https://sumologic.com/)
1. [Sutpc](http://www.sutpc.com/)
1. [Swiss Post](https://github.com/swisspost)
1. [Swissblock Technologies](https://swissblock.net/)
1. [Swisscom](https://www.swisscom.ch)
1. [Swissquote](https://github.com/swissquote)
1. [Syncier](https://syncier.com/)
1. [Synergy](https://synergy.net.au)
1. [Syself](https://syself.com)
1. [T-ROC Global](https://trocglobal.com/)
1. [TableCheck](https://tablecheck.com/)
1. [Tailor Brands](https://www.tailorbrands.com)
1. [Tamkeen Technologies](https://tamkeentech.sa/)
1. [TBC Bank](https://tbcbank.ge/)
1. [Techcombank](https://www.techcombank.com.vn/trang-chu)
1. [Technacy](https://www.technacy.it/)
1. [Telavita](https://www.telavita.com.br/)
1. [Tesla](https://tesla.com/)
1. [TextNow](https://www.textnow.com/)
1. [The Scale Factory](https://www.scalefactory.com/)
1. [ThousandEyes](https://www.thousandeyes.com/)
1. [Ticketmaster](https://ticketmaster.com)
@@ -358,9 +399,11 @@ Currently, the following organizations are **officially** using Argo CD:
1. [Vinted](https://vinted.com/)
1. [Virtuo](https://www.govirtuo.com/)
1. [VISITS Technologies](https://visits.world/en)
1. [Viya](https://viya.me)
1. [Volvo Cars](https://www.volvocars.com/)
1. [Voyager Digital](https://www.investvoyager.com/)
1. [VSHN - The DevOps Company](https://vshn.ch/)
1. [Wakacje.pl](https://www.wakacje.pl/)
1. [Walkbase](https://www.walkbase.com/)
1. [Webstores](https://www.webstores.nl)
1. [Wehkamp](https://www.wehkamp.nl/)
@@ -372,9 +415,12 @@ Currently, the following organizations are **officially** using Argo CD:
1. [WooliesX](https://wooliesx.com.au/)
1. [Woolworths Group](https://www.woolworthsgroup.com.au/)
1. [WSpot](https://www.wspot.com.br/)
1. [X3M ads](https://x3mads.com)
1. [Yieldlab](https://www.yieldlab.de/)
1. [Youverify](https://youverify.co/)
1. [Yubo](https://www.yubo.live/)
1. [Yuno](https://y.uno/)
1. [ZDF](https://www.zdf.de/)
1. [Zimpler](https://www.zimpler.com/)
1. [ZipRecruiter](https://www.ziprecruiter.com/)
1. [ZOZO](https://corp.zozo.com/)

View File

@@ -1 +1 @@
2.13.0
3.2.7

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -4,6 +4,8 @@ import (
"context"
"fmt"
"sigs.k8s.io/controller-runtime/pkg/reconcile"
log "github.com/sirupsen/logrus"
"k8s.io/apimachinery/pkg/types"
@@ -12,43 +14,45 @@ import (
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/event"
"github.com/argoproj/argo-cd/v2/applicationset/generators"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
"github.com/argoproj/argo-cd/v3/applicationset/utils"
"github.com/argoproj/argo-cd/v3/common"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
)
// clusterSecretEventHandler is used when watching Secrets to check if they are ArgoCD Cluster Secrets, and if so
// requeue any related ApplicationSets.
type clusterSecretEventHandler struct {
// handler.EnqueueRequestForOwner
Log log.FieldLogger
Client client.Client
Log log.FieldLogger
Client client.Client
ApplicationSetNamespaces []string
}
func (h *clusterSecretEventHandler) Create(ctx context.Context, e event.CreateEvent, q workqueue.RateLimitingInterface) {
func (h *clusterSecretEventHandler) Create(ctx context.Context, e event.CreateEvent, q workqueue.TypedRateLimitingInterface[reconcile.Request]) {
h.queueRelatedAppGenerators(ctx, q, e.Object)
}
func (h *clusterSecretEventHandler) Update(ctx context.Context, e event.UpdateEvent, q workqueue.RateLimitingInterface) {
func (h *clusterSecretEventHandler) Update(ctx context.Context, e event.UpdateEvent, q workqueue.TypedRateLimitingInterface[reconcile.Request]) {
h.queueRelatedAppGenerators(ctx, q, e.ObjectNew)
}
func (h *clusterSecretEventHandler) Delete(ctx context.Context, e event.DeleteEvent, q workqueue.RateLimitingInterface) {
func (h *clusterSecretEventHandler) Delete(ctx context.Context, e event.DeleteEvent, q workqueue.TypedRateLimitingInterface[reconcile.Request]) {
h.queueRelatedAppGenerators(ctx, q, e.Object)
}
func (h *clusterSecretEventHandler) Generic(ctx context.Context, e event.GenericEvent, q workqueue.RateLimitingInterface) {
func (h *clusterSecretEventHandler) Generic(ctx context.Context, e event.GenericEvent, q workqueue.TypedRateLimitingInterface[reconcile.Request]) {
h.queueRelatedAppGenerators(ctx, q, e.Object)
}
// addRateLimitingInterface defines the Add method of workqueue.RateLimitingInterface, allow us to easily mock
// it for testing purposes.
type addRateLimitingInterface interface {
Add(item interface{})
type addRateLimitingInterface[T comparable] interface {
Add(item T)
}
func (h *clusterSecretEventHandler) queueRelatedAppGenerators(ctx context.Context, q addRateLimitingInterface, object client.Object) {
func (h *clusterSecretEventHandler) queueRelatedAppGenerators(ctx context.Context, q addRateLimitingInterface[reconcile.Request], object client.Object) {
// Check for label, lookup all ApplicationSets that might match the cluster, queue them all
if object.GetLabels()[generators.ArgoCDSecretTypeLabel] != generators.ArgoCDSecretTypeCluster {
if object.GetLabels()[common.LabelKeySecretType] != common.LabelValueSecretTypeCluster {
return
}
@@ -66,6 +70,10 @@ func (h *clusterSecretEventHandler) queueRelatedAppGenerators(ctx context.Contex
h.Log.WithField("count", len(appSetList.Items)).Info("listed ApplicationSets")
for _, appSet := range appSetList.Items {
if !utils.IsNamespaceAllowed(h.ApplicationSetNamespaces, appSet.GetNamespace()) {
// Ignore it as not part of the allowed list of namespaces in which to watch Appsets
continue
}
foundClusterGenerator := false
for _, generator := range appSet.Spec.Generators {
if generator.Clusters != nil {

View File

@@ -1,25 +1,34 @@
package controllers
import (
"context"
"testing"
argocommon "github.com/argoproj/argo-cd/v3/common"
log "github.com/sirupsen/logrus"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
corev1 "k8s.io/api/core/v1"
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/types"
ctrl "sigs.k8s.io/controller-runtime"
"sigs.k8s.io/controller-runtime/pkg/client/fake"
"sigs.k8s.io/controller-runtime/pkg/reconcile"
"github.com/argoproj/argo-cd/v2/applicationset/generators"
argov1alpha1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
argov1alpha1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
)
type mockAddRateLimitingInterface struct {
addedItems []reconcile.Request
}
// Add checks the type, and adds it to the internal list of received additions
func (obj *mockAddRateLimitingInterface) Add(item reconcile.Request) {
obj.addedItems = append(obj.addedItems, item)
}
func TestClusterEventHandler(t *testing.T) {
scheme := runtime.NewScheme()
err := argov1alpha1.AddToScheme(scheme)
@@ -38,11 +47,11 @@ func TestClusterEventHandler(t *testing.T) {
name: "no application sets should mean no requests",
items: []argov1alpha1.ApplicationSet{},
secret: corev1.Secret{
ObjectMeta: v1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Namespace: "argocd",
Name: "my-secret",
Labels: map[string]string{
generators.ArgoCDSecretTypeLabel: generators.ArgoCDSecretTypeCluster,
argocommon.LabelKeySecretType: argocommon.LabelValueSecretTypeCluster,
},
},
},
@@ -52,7 +61,7 @@ func TestClusterEventHandler(t *testing.T) {
name: "a cluster generator should produce a request",
items: []argov1alpha1.ApplicationSet{
{
ObjectMeta: v1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Name: "my-app-set",
Namespace: "argocd",
},
@@ -66,11 +75,11 @@ func TestClusterEventHandler(t *testing.T) {
},
},
secret: corev1.Secret{
ObjectMeta: v1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Namespace: "argocd",
Name: "my-secret",
Labels: map[string]string{
generators.ArgoCDSecretTypeLabel: generators.ArgoCDSecretTypeCluster,
argocommon.LabelKeySecretType: argocommon.LabelValueSecretTypeCluster,
},
},
},
@@ -82,7 +91,7 @@ func TestClusterEventHandler(t *testing.T) {
name: "multiple cluster generators should produce multiple requests",
items: []argov1alpha1.ApplicationSet{
{
ObjectMeta: v1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Name: "my-app-set",
Namespace: "argocd",
},
@@ -95,7 +104,7 @@ func TestClusterEventHandler(t *testing.T) {
},
},
{
ObjectMeta: v1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Name: "my-app-set2",
Namespace: "argocd",
},
@@ -109,11 +118,11 @@ func TestClusterEventHandler(t *testing.T) {
},
},
secret: corev1.Secret{
ObjectMeta: v1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Namespace: "argocd",
Name: "my-secret",
Labels: map[string]string{
generators.ArgoCDSecretTypeLabel: generators.ArgoCDSecretTypeCluster,
argocommon.LabelKeySecretType: argocommon.LabelValueSecretTypeCluster,
},
},
},
@@ -126,9 +135,9 @@ func TestClusterEventHandler(t *testing.T) {
name: "non-cluster generator should not match",
items: []argov1alpha1.ApplicationSet{
{
ObjectMeta: v1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Name: "my-app-set",
Namespace: "another-namespace",
Namespace: "argocd",
},
Spec: argov1alpha1.ApplicationSetSpec{
Generators: []argov1alpha1.ApplicationSetGenerator{
@@ -139,7 +148,7 @@ func TestClusterEventHandler(t *testing.T) {
},
},
{
ObjectMeta: v1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Name: "app-set-non-cluster",
Namespace: "argocd",
},
@@ -153,23 +162,51 @@ func TestClusterEventHandler(t *testing.T) {
},
},
secret: corev1.Secret{
ObjectMeta: v1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Namespace: "argocd",
Name: "my-secret",
Labels: map[string]string{
generators.ArgoCDSecretTypeLabel: generators.ArgoCDSecretTypeCluster,
argocommon.LabelKeySecretType: argocommon.LabelValueSecretTypeCluster,
},
},
},
expectedRequests: []reconcile.Request{
{NamespacedName: types.NamespacedName{Namespace: "another-namespace", Name: "my-app-set"}},
{NamespacedName: types.NamespacedName{Namespace: "argocd", Name: "my-app-set"}},
},
},
{
name: "cluster generators in other namespaces should not match",
items: []argov1alpha1.ApplicationSet{
{
ObjectMeta: metav1.ObjectMeta{
Name: "my-app-set",
Namespace: "my-namespace-not-allowed",
},
Spec: argov1alpha1.ApplicationSetSpec{
Generators: []argov1alpha1.ApplicationSetGenerator{
{
Clusters: &argov1alpha1.ClusterGenerator{},
},
},
},
},
},
secret: corev1.Secret{
ObjectMeta: metav1.ObjectMeta{
Namespace: "argocd",
Name: "my-secret",
Labels: map[string]string{
argocommon.LabelKeySecretType: argocommon.LabelValueSecretTypeCluster,
},
},
},
expectedRequests: []reconcile.Request{},
},
{
name: "non-argo cd secret should not match",
items: []argov1alpha1.ApplicationSet{
{
ObjectMeta: v1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Name: "my-app-set",
Namespace: "another-namespace",
},
@@ -183,7 +220,7 @@ func TestClusterEventHandler(t *testing.T) {
},
},
secret: corev1.Secret{
ObjectMeta: v1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Namespace: "argocd",
Name: "my-non-argocd-secret",
},
@@ -194,7 +231,7 @@ func TestClusterEventHandler(t *testing.T) {
name: "a matrix generator with a cluster generator should produce a request",
items: []argov1alpha1.ApplicationSet{
{
ObjectMeta: v1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Name: "my-app-set",
Namespace: "argocd",
},
@@ -214,11 +251,11 @@ func TestClusterEventHandler(t *testing.T) {
},
},
secret: corev1.Secret{
ObjectMeta: v1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Namespace: "argocd",
Name: "my-secret",
Labels: map[string]string{
generators.ArgoCDSecretTypeLabel: generators.ArgoCDSecretTypeCluster,
argocommon.LabelKeySecretType: argocommon.LabelValueSecretTypeCluster,
},
},
},
@@ -230,7 +267,7 @@ func TestClusterEventHandler(t *testing.T) {
name: "a matrix generator with non cluster generator should not match",
items: []argov1alpha1.ApplicationSet{
{
ObjectMeta: v1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Name: "my-app-set",
Namespace: "argocd",
},
@@ -250,11 +287,11 @@ func TestClusterEventHandler(t *testing.T) {
},
},
secret: corev1.Secret{
ObjectMeta: v1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Namespace: "argocd",
Name: "my-secret",
Labels: map[string]string{
generators.ArgoCDSecretTypeLabel: generators.ArgoCDSecretTypeCluster,
argocommon.LabelKeySecretType: argocommon.LabelValueSecretTypeCluster,
},
},
},
@@ -264,7 +301,7 @@ func TestClusterEventHandler(t *testing.T) {
name: "a matrix generator with a nested matrix generator containing a cluster generator should produce a request",
items: []argov1alpha1.ApplicationSet{
{
ObjectMeta: v1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Name: "my-app-set",
Namespace: "argocd",
},
@@ -300,11 +337,11 @@ func TestClusterEventHandler(t *testing.T) {
},
},
secret: corev1.Secret{
ObjectMeta: v1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Namespace: "argocd",
Name: "my-secret",
Labels: map[string]string{
generators.ArgoCDSecretTypeLabel: generators.ArgoCDSecretTypeCluster,
argocommon.LabelKeySecretType: argocommon.LabelValueSecretTypeCluster,
},
},
},
@@ -316,7 +353,7 @@ func TestClusterEventHandler(t *testing.T) {
name: "a matrix generator with a nested matrix generator containing non cluster generator should not match",
items: []argov1alpha1.ApplicationSet{
{
ObjectMeta: v1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Name: "my-app-set",
Namespace: "argocd",
},
@@ -351,11 +388,11 @@ func TestClusterEventHandler(t *testing.T) {
},
},
secret: corev1.Secret{
ObjectMeta: v1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Namespace: "argocd",
Name: "my-secret",
Labels: map[string]string{
generators.ArgoCDSecretTypeLabel: generators.ArgoCDSecretTypeCluster,
argocommon.LabelKeySecretType: argocommon.LabelValueSecretTypeCluster,
},
},
},
@@ -365,7 +402,7 @@ func TestClusterEventHandler(t *testing.T) {
name: "a merge generator with a cluster generator should produce a request",
items: []argov1alpha1.ApplicationSet{
{
ObjectMeta: v1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Name: "my-app-set",
Namespace: "argocd",
},
@@ -385,11 +422,11 @@ func TestClusterEventHandler(t *testing.T) {
},
},
secret: corev1.Secret{
ObjectMeta: v1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Namespace: "argocd",
Name: "my-secret",
Labels: map[string]string{
generators.ArgoCDSecretTypeLabel: generators.ArgoCDSecretTypeCluster,
argocommon.LabelKeySecretType: argocommon.LabelValueSecretTypeCluster,
},
},
},
@@ -401,7 +438,7 @@ func TestClusterEventHandler(t *testing.T) {
name: "a matrix generator with non cluster generator should not match",
items: []argov1alpha1.ApplicationSet{
{
ObjectMeta: v1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Name: "my-app-set",
Namespace: "argocd",
},
@@ -421,11 +458,11 @@ func TestClusterEventHandler(t *testing.T) {
},
},
secret: corev1.Secret{
ObjectMeta: v1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Namespace: "argocd",
Name: "my-secret",
Labels: map[string]string{
generators.ArgoCDSecretTypeLabel: generators.ArgoCDSecretTypeCluster,
argocommon.LabelKeySecretType: argocommon.LabelValueSecretTypeCluster,
},
},
},
@@ -435,7 +472,7 @@ func TestClusterEventHandler(t *testing.T) {
name: "a merge generator with a nested merge generator containing a cluster generator should produce a request",
items: []argov1alpha1.ApplicationSet{
{
ObjectMeta: v1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Name: "my-app-set",
Namespace: "argocd",
},
@@ -471,11 +508,11 @@ func TestClusterEventHandler(t *testing.T) {
},
},
secret: corev1.Secret{
ObjectMeta: v1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Namespace: "argocd",
Name: "my-secret",
Labels: map[string]string{
generators.ArgoCDSecretTypeLabel: generators.ArgoCDSecretTypeCluster,
argocommon.LabelKeySecretType: argocommon.LabelValueSecretTypeCluster,
},
},
},
@@ -487,7 +524,7 @@ func TestClusterEventHandler(t *testing.T) {
name: "a merge generator with a nested merge generator containing non cluster generator should not match",
items: []argov1alpha1.ApplicationSet{
{
ObjectMeta: v1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Name: "my-app-set",
Namespace: "argocd",
},
@@ -522,11 +559,11 @@ func TestClusterEventHandler(t *testing.T) {
},
},
secret: corev1.Secret{
ObjectMeta: v1.ObjectMeta{
ObjectMeta: metav1.ObjectMeta{
Namespace: "argocd",
Name: "my-secret",
Labels: map[string]string{
generators.ArgoCDSecretTypeLabel: generators.ArgoCDSecretTypeCluster,
argocommon.LabelKeySecretType: argocommon.LabelValueSecretTypeCluster,
},
},
},
@@ -543,34 +580,20 @@ func TestClusterEventHandler(t *testing.T) {
fakeClient := fake.NewClientBuilder().WithScheme(scheme).WithLists(&appSetList).Build()
handler := &clusterSecretEventHandler{
Client: fakeClient,
Log: log.WithField("type", "createSecretEventHandler"),
Client: fakeClient,
Log: log.WithField("type", "createSecretEventHandler"),
ApplicationSetNamespaces: []string{"argocd"},
}
mockAddRateLimitingInterface := mockAddRateLimitingInterface{}
handler.queueRelatedAppGenerators(context.Background(), &mockAddRateLimitingInterface, &test.secret)
handler.queueRelatedAppGenerators(t.Context(), &mockAddRateLimitingInterface, &test.secret)
assert.False(t, mockAddRateLimitingInterface.errorOccurred)
assert.ElementsMatch(t, mockAddRateLimitingInterface.addedItems, test.expectedRequests)
})
}
}
// Add checks the type, and adds it to the internal list of received additions
func (obj *mockAddRateLimitingInterface) Add(item interface{}) {
if req, ok := item.(ctrl.Request); ok {
obj.addedItems = append(obj.addedItems, req)
} else {
obj.errorOccurred = true
}
}
type mockAddRateLimitingInterface struct {
errorOccurred bool
addedItems []ctrl.Request
}
func TestNestedGeneratorHasClusterGenerator_NestedClusterGenerator(t *testing.T) {
nested := argov1alpha1.ApplicationSetNestedGenerator{
Clusters: &argov1alpha1.ClusterGenerator{},

View File

@@ -1,7 +1,6 @@
package controllers
import (
"context"
"testing"
"time"
@@ -16,14 +15,15 @@ import (
"k8s.io/client-go/tools/record"
"sigs.k8s.io/controller-runtime/pkg/client/fake"
"github.com/argoproj/argo-cd/v2/applicationset/generators"
"github.com/argoproj/argo-cd/v2/applicationset/services/mocks"
argov1alpha1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
"github.com/argoproj/argo-cd/v3/applicationset/generators"
appsetmetrics "github.com/argoproj/argo-cd/v3/applicationset/metrics"
"github.com/argoproj/argo-cd/v3/applicationset/services/mocks"
argov1alpha1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
)
func TestRequeueAfter(t *testing.T) {
mockServer := &mocks.Repos{}
ctx := context.Background()
ctx := t.Context()
scheme := runtime.NewScheme()
err := argov1alpha1.AddToScheme(scheme)
require.NoError(t, err)
@@ -35,20 +35,20 @@ func TestRequeueAfter(t *testing.T) {
appClientset := kubefake.NewSimpleClientset()
k8sClient := fake.NewClientBuilder().Build()
duckType := &unstructured.Unstructured{
Object: map[string]interface{}{
Object: map[string]any{
"apiVersion": "v2quack",
"kind": "Duck",
"metadata": map[string]interface{}{
"metadata": map[string]any{
"name": "mightyduck",
"namespace": "namespace",
"labels": map[string]interface{}{"duck": "all-species"},
"labels": map[string]any{"duck": "all-species"},
},
"status": map[string]interface{}{
"decisions": []interface{}{
map[string]interface{}{
"status": map[string]any{
"decisions": []any{
map[string]any{
"clusterName": "staging-01",
},
map[string]interface{}{
map[string]any{
"clusterName": "production-01",
},
},
@@ -56,10 +56,10 @@ func TestRequeueAfter(t *testing.T) {
},
}
fakeDynClient := dynfake.NewSimpleDynamicClientWithCustomListKinds(runtime.NewScheme(), gvrToListKind, duckType)
scmConfig := generators.NewSCMConfig("", []string{""}, true, nil)
scmConfig := generators.NewSCMConfig("", []string{""}, true, true, nil, true)
terminalGenerators := map[string]generators.Generator{
"List": generators.NewListGenerator(),
"Clusters": generators.NewClusterGenerator(k8sClient, ctx, appClientset, "argocd"),
"Clusters": generators.NewClusterGenerator(ctx, k8sClient, appClientset, "argocd"),
"Git": generators.NewGitGenerator(mockServer, "namespace"),
"SCMProvider": generators.NewSCMProviderGenerator(fake.NewClientBuilder().WithObjects(&corev1.Secret{}).Build(), scmConfig),
"ClusterDecisionResource": generators.NewDuckTypeGenerator(ctx, fakeDynClient, appClientset, "argocd"),
@@ -89,15 +89,18 @@ func TestRequeueAfter(t *testing.T) {
}
client := fake.NewClientBuilder().WithScheme(scheme).Build()
metrics := appsetmetrics.NewFakeAppsetMetrics()
r := ApplicationSetReconciler{
Client: client,
Scheme: scheme,
Recorder: record.NewFakeRecorder(0),
Generators: topLevelGenerators,
Metrics: metrics,
}
type args struct {
appset *argov1alpha1.ApplicationSet
appset *argov1alpha1.ApplicationSet
requeueAfterOverride string
}
tests := []struct {
name string
@@ -105,11 +108,13 @@ func TestRequeueAfter(t *testing.T) {
want time.Duration
wantErr assert.ErrorAssertionFunc
}{
{name: "Cluster", args: args{appset: &argov1alpha1.ApplicationSet{
Spec: argov1alpha1.ApplicationSetSpec{
Generators: []argov1alpha1.ApplicationSetGenerator{{Clusters: &argov1alpha1.ClusterGenerator{}}},
},
}}, want: generators.NoRequeueAfter, wantErr: assert.NoError},
{name: "Cluster", args: args{
appset: &argov1alpha1.ApplicationSet{
Spec: argov1alpha1.ApplicationSetSpec{
Generators: []argov1alpha1.ApplicationSetGenerator{{Clusters: &argov1alpha1.ClusterGenerator{}}},
},
}, requeueAfterOverride: "",
}, want: generators.NoRequeueAfter, wantErr: assert.NoError},
{name: "ClusterMergeNested", args: args{&argov1alpha1.ApplicationSet{
Spec: argov1alpha1.ApplicationSetSpec{
Generators: []argov1alpha1.ApplicationSetGenerator{
@@ -124,7 +129,7 @@ func TestRequeueAfter(t *testing.T) {
}},
},
},
}}, want: generators.DefaultRequeueAfterSeconds, wantErr: assert.NoError},
}, ""}, want: generators.DefaultRequeueAfter, wantErr: assert.NoError},
{name: "ClusterMatrixNested", args: args{&argov1alpha1.ApplicationSet{
Spec: argov1alpha1.ApplicationSetSpec{
Generators: []argov1alpha1.ApplicationSetGenerator{
@@ -139,15 +144,65 @@ func TestRequeueAfter(t *testing.T) {
}},
},
},
}}, want: generators.DefaultRequeueAfterSeconds, wantErr: assert.NoError},
}, ""}, want: generators.DefaultRequeueAfter, wantErr: assert.NoError},
{name: "ListGenerator", args: args{appset: &argov1alpha1.ApplicationSet{
Spec: argov1alpha1.ApplicationSetSpec{
Generators: []argov1alpha1.ApplicationSetGenerator{{List: &argov1alpha1.ListGenerator{}}},
},
}}, want: generators.NoRequeueAfter, wantErr: assert.NoError},
{name: "DuckGenerator", args: args{appset: &argov1alpha1.ApplicationSet{
Spec: argov1alpha1.ApplicationSetSpec{
Generators: []argov1alpha1.ApplicationSetGenerator{{ClusterDecisionResource: &argov1alpha1.DuckTypeGenerator{}}},
},
}}, want: generators.DefaultRequeueAfter, wantErr: assert.NoError},
{name: "OverrideRequeueDuck", args: args{
appset: &argov1alpha1.ApplicationSet{
Spec: argov1alpha1.ApplicationSetSpec{
Generators: []argov1alpha1.ApplicationSetGenerator{{ClusterDecisionResource: &argov1alpha1.DuckTypeGenerator{}}},
},
}, requeueAfterOverride: "1h",
}, want: 1 * time.Hour, wantErr: assert.NoError},
{name: "OverrideRequeueGit", args: args{&argov1alpha1.ApplicationSet{
Spec: argov1alpha1.ApplicationSetSpec{
Generators: []argov1alpha1.ApplicationSetGenerator{
{Git: &argov1alpha1.GitGenerator{}},
},
},
}, "1h"}, want: 1 * time.Hour, wantErr: assert.NoError},
{name: "OverrideRequeueMatrix", args: args{&argov1alpha1.ApplicationSet{
Spec: argov1alpha1.ApplicationSetSpec{
Generators: []argov1alpha1.ApplicationSetGenerator{
{Clusters: &argov1alpha1.ClusterGenerator{}},
{Merge: &argov1alpha1.MergeGenerator{
Generators: []argov1alpha1.ApplicationSetNestedGenerator{
{
Clusters: &argov1alpha1.ClusterGenerator{},
Git: &argov1alpha1.GitGenerator{},
},
},
}},
},
},
}, "5m"}, want: 5 * time.Minute, wantErr: assert.NoError},
{name: "OverrideRequeueMerge", args: args{&argov1alpha1.ApplicationSet{
Spec: argov1alpha1.ApplicationSetSpec{
Generators: []argov1alpha1.ApplicationSetGenerator{
{Clusters: &argov1alpha1.ClusterGenerator{}},
{Merge: &argov1alpha1.MergeGenerator{
Generators: []argov1alpha1.ApplicationSetNestedGenerator{
{
Clusters: &argov1alpha1.ClusterGenerator{},
Git: &argov1alpha1.GitGenerator{},
},
},
}},
},
},
}, "12s"}, want: 12 * time.Second, wantErr: assert.NoError},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
t.Setenv("ARGOCD_APPLICATIONSET_CONTROLLER_REQUEUE_AFTER", tt.args.requeueAfterOverride)
assert.Equalf(t, tt.want, r.getMinRequeueAfter(tt.args.appset), "getMinRequeueAfter(%v)", tt.args.appset)
})
}

View File

@@ -6,8 +6,8 @@ import (
"k8s.io/apimachinery/pkg/util/strategicpatch"
"github.com/argoproj/argo-cd/v2/applicationset/utils"
appv1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
"github.com/argoproj/argo-cd/v3/applicationset/utils"
appv1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
)
func applyTemplatePatch(app *appv1.Application, templatePatch string) (*appv1.Application, error) {

View File

@@ -7,7 +7,7 @@ import (
"github.com/stretchr/testify/require"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
appv1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
appv1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
)
func Test_ApplyTemplatePatch(t *testing.T) {
@@ -27,7 +27,7 @@ func Test_ApplyTemplatePatch(t *testing.T) {
ObjectMeta: metav1.ObjectMeta{
Name: "my-cluster-guestbook",
Namespace: "namespace",
Finalizers: []string{"resources-finalizer.argocd.argoproj.io"},
Finalizers: []string{appv1.ResourcesFinalizerName},
},
Spec: appv1.ApplicationSpec{
Project: "default",
@@ -72,7 +72,7 @@ func Test_ApplyTemplatePatch(t *testing.T) {
ObjectMeta: metav1.ObjectMeta{
Name: "my-cluster-guestbook",
Namespace: "namespace",
Finalizers: []string{"resources-finalizer.argocd.argoproj.io"},
Finalizers: []string{appv1.ResourcesFinalizerName},
Annotations: map[string]string{
"annotation-some-key": "annotation-some-value",
},
@@ -112,7 +112,7 @@ func Test_ApplyTemplatePatch(t *testing.T) {
ObjectMeta: metav1.ObjectMeta{
Name: "my-cluster-guestbook",
Namespace: "namespace",
Finalizers: []string{"resources-finalizer.argocd.argoproj.io"},
Finalizers: []string{appv1.ResourcesFinalizerName},
},
Spec: appv1.ApplicationSpec{
Project: "default",
@@ -148,7 +148,7 @@ spec:
ObjectMeta: metav1.ObjectMeta{
Name: "my-cluster-guestbook",
Namespace: "namespace",
Finalizers: []string{"resources-finalizer.argocd.argoproj.io"},
Finalizers: []string{appv1.ResourcesFinalizerName},
Annotations: map[string]string{
"annotation-some-key": "annotation-some-value",
},

View File

@@ -7,10 +7,10 @@ import (
log "github.com/sirupsen/logrus"
"github.com/argoproj/argo-cd/v2/applicationset/generators"
"github.com/argoproj/argo-cd/v2/applicationset/utils"
"github.com/argoproj/argo-cd/v3/applicationset/generators"
"github.com/argoproj/argo-cd/v3/applicationset/utils"
argov1alpha1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
argov1alpha1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
)
func GenerateApplications(logCtx *log.Entry, applicationSetInfo argov1alpha1.ApplicationSet, g map[string]generators.Generator, renderer utils.Renderer, client client.Client) ([]argov1alpha1.Application, argov1alpha1.ApplicationSetReasonType, error) {
@@ -20,7 +20,7 @@ func GenerateApplications(logCtx *log.Entry, applicationSetInfo argov1alpha1.App
var applicationSetReason argov1alpha1.ApplicationSetReasonType
for _, requestedGenerator := range applicationSetInfo.Spec.Generators {
t, err := generators.Transform(requestedGenerator, g, applicationSetInfo.Spec.Template, &applicationSetInfo, map[string]interface{}{}, client)
t, err := generators.Transform(requestedGenerator, g, applicationSetInfo.Spec.Template, &applicationSetInfo, map[string]any{}, client)
if err != nil {
logCtx.WithError(err).WithField("generator", requestedGenerator).
Error("error generating application from params")
@@ -69,15 +69,17 @@ func GenerateApplications(logCtx *log.Entry, applicationSetInfo argov1alpha1.App
res = append(res, *app)
}
}
logCtx.WithField("generator", requestedGenerator).Infof("generated %d applications", len(res))
logCtx.WithField("generator", requestedGenerator).Debugf("apps from generator: %+v", res)
if log.IsLevelEnabled(log.DebugLevel) {
logCtx.WithField("generator", requestedGenerator).Debugf("apps from generator: %+v", res)
} else {
logCtx.Infof("generated %d applications", len(res))
}
}
return res, applicationSetReason, firstError
}
func renderTemplatePatch(r utils.Renderer, app *argov1alpha1.Application, applicationSetInfo argov1alpha1.ApplicationSet, params map[string]interface{}) (*argov1alpha1.Application, error) {
func renderTemplatePatch(r utils.Renderer, app *argov1alpha1.Application, applicationSetInfo argov1alpha1.ApplicationSet, params map[string]any) (*argov1alpha1.Application, error) {
replacedTemplate, err := r.Replace(*applicationSetInfo.Spec.TemplatePatch, params, applicationSetInfo.Spec.GoTemplate, applicationSetInfo.Spec.GoTemplateOptions)
if err != nil {
return nil, fmt.Errorf("error replacing values in templatePatch: %w", err)

View File

@@ -1,7 +1,8 @@
package template
import (
"fmt"
"errors"
"maps"
"testing"
"github.com/stretchr/testify/mock"
@@ -12,13 +13,12 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"github.com/argoproj/argo-cd/v2/applicationset/generators"
genmock "github.com/argoproj/argo-cd/v2/applicationset/generators/mocks"
"github.com/argoproj/argo-cd/v2/applicationset/utils"
rendmock "github.com/argoproj/argo-cd/v2/applicationset/utils/mocks"
"github.com/argoproj/argo-cd/v2/pkg/apis/application"
"github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
"github.com/argoproj/argo-cd/v2/util/collections"
"github.com/argoproj/argo-cd/v3/applicationset/generators"
genmock "github.com/argoproj/argo-cd/v3/applicationset/generators/mocks"
"github.com/argoproj/argo-cd/v3/applicationset/utils"
rendmock "github.com/argoproj/argo-cd/v3/applicationset/utils/mocks"
"github.com/argoproj/argo-cd/v3/pkg/apis/application"
"github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
)
func TestGenerateApplications(t *testing.T) {
@@ -31,7 +31,7 @@ func TestGenerateApplications(t *testing.T) {
for _, c := range []struct {
name string
params []map[string]interface{}
params []map[string]any
template v1alpha1.ApplicationSetTemplate
generateParamsError error
rendererError error
@@ -40,7 +40,7 @@ func TestGenerateApplications(t *testing.T) {
}{
{
name: "Generate two applications",
params: []map[string]interface{}{{"name": "app1"}, {"name": "app2"}},
params: []map[string]any{{"name": "app1"}, {"name": "app2"}},
template: v1alpha1.ApplicationSetTemplate{
ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{
Name: "name",
@@ -53,13 +53,13 @@ func TestGenerateApplications(t *testing.T) {
},
{
name: "Handles error from the generator",
generateParamsError: fmt.Errorf("error"),
generateParamsError: errors.New("error"),
expectErr: true,
expectedReason: v1alpha1.ApplicationSetReasonApplicationParamsGenerationError,
},
{
name: "Handles error from the render",
params: []map[string]interface{}{{"name": "app1"}, {"name": "app2"}},
params: []map[string]any{{"name": "app1"}, {"name": "app2"}},
template: v1alpha1.ApplicationSetTemplate{
ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{
Name: "name",
@@ -68,7 +68,7 @@ func TestGenerateApplications(t *testing.T) {
},
Spec: v1alpha1.ApplicationSpec{},
},
rendererError: fmt.Errorf("error"),
rendererError: errors.New("error"),
expectErr: true,
expectedReason: v1alpha1.ApplicationSetReasonRenderTemplateParamsError,
},
@@ -153,7 +153,7 @@ func TestGenerateApplications(t *testing.T) {
func TestMergeTemplateApplications(t *testing.T) {
for _, c := range []struct {
name string
params []map[string]interface{}
params []map[string]any
template v1alpha1.ApplicationSetTemplate
overrideTemplate v1alpha1.ApplicationSetTemplate
expectedMerged v1alpha1.ApplicationSetTemplate
@@ -161,7 +161,7 @@ func TestMergeTemplateApplications(t *testing.T) {
}{
{
name: "Generate app",
params: []map[string]interface{}{{"name": "app1"}},
params: []map[string]any{{"name": "app1"}},
template: v1alpha1.ApplicationSetTemplate{
ApplicationSetTemplateMeta: v1alpha1.ApplicationSetTemplateMeta{
Name: "name",
@@ -245,13 +245,13 @@ func TestMergeTemplateApplications(t *testing.T) {
func TestGenerateAppsUsingPullRequestGenerator(t *testing.T) {
for _, cases := range []struct {
name string
params []map[string]interface{}
params []map[string]any
template v1alpha1.ApplicationSetTemplate
expectedApp []v1alpha1.Application
}{
{
name: "Generate an application from a go template application set manifest using a pull request generator",
params: []map[string]interface{}{
params: []map[string]any{
{
"number": "1",
"title": "title1",
@@ -341,10 +341,10 @@ func TestGenerateAppsUsingPullRequestGenerator(t *testing.T) {
renderer,
nil,
)
assert.EqualValues(t, cases.expectedApp[0].ObjectMeta.Name, gotApp[0].ObjectMeta.Name)
assert.EqualValues(t, cases.expectedApp[0].Spec.Source.TargetRevision, gotApp[0].Spec.Source.TargetRevision)
assert.EqualValues(t, cases.expectedApp[0].Spec.Destination.Namespace, gotApp[0].Spec.Destination.Namespace)
assert.True(t, collections.StringMapsEqual(cases.expectedApp[0].ObjectMeta.Labels, gotApp[0].ObjectMeta.Labels))
assert.Equal(t, cases.expectedApp[0].Name, gotApp[0].Name)
assert.Equal(t, cases.expectedApp[0].Spec.Source.TargetRevision, gotApp[0].Spec.Source.TargetRevision)
assert.Equal(t, cases.expectedApp[0].Spec.Destination.Namespace, gotApp[0].Spec.Destination.Namespace)
assert.True(t, maps.Equal(cases.expectedApp[0].Labels, gotApp[0].Labels))
})
}
}

View File

@@ -14,7 +14,7 @@ spec:
app: guestbook-ui
spec:
containers:
- image: gcr.io/heptio-images/ks-guestbook-demo:0.2
- image: quay.io/argoprojlabs/argocd-e2e-container:0.2
name: guestbook-ui
ports:
- containerPort: 80

View File

@@ -14,7 +14,7 @@ spec:
app: guestbook-ui
spec:
containers:
- image: gcr.io/heptio-images/ks-guestbook-demo:0.2
- image: quay.io/argoprojlabs/argocd-e2e-container:0.2
name: guestbook-ui
ports:
- containerPort: 80

View File

@@ -5,7 +5,7 @@
replicaCount: 1
image:
repository: gcr.io/heptio-images/ks-guestbook-demo
repository: quay.io/argoprojlabs/argocd-e2e-container
tag: 0.1
pullPolicy: IfNotPresent

View File

@@ -14,7 +14,7 @@ spec:
app: guestbook-ui
spec:
containers:
- image: gcr.io/heptio-images/ks-guestbook-demo:0.2
- image: quay.io/argoprojlabs/argocd-e2e-container:0.2
name: guestbook-ui
ports:
- containerPort: 80

View File

@@ -0,0 +1,26 @@
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
name: guestbook
spec:
generators:
- git:
repoURL: https://github.com/argoproj/argo-cd.git
revision: HEAD
files:
- path: "applicationset/examples/git-generator-files-discovery/cluster-config/**/config.json"
- path: "applicationset/examples/git-generator-files-discovery/cluster-config/*/dev/config.json"
exclude: true
template:
metadata:
name: '{{cluster.name}}-guestbook'
spec:
project: default
source:
repoURL: https://github.com/argoproj/argo-cd.git
targetRevision: HEAD
path: "applicationset/examples/git-generator-files-discovery/apps/guestbook"
destination:
server: https://kubernetes.default.svc
#server: '{{cluster.address}}'
namespace: guestbook

View File

@@ -0,0 +1,27 @@
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
name: guestbook
spec:
goTemplate: true
goTemplateOptions: ["missingkey=error"]
generators:
- git:
repoURL: https://github.com/argoproj/argo-cd.git
revision: HEAD
files:
- path: "applicationset/examples/git-generator-files-discovery/cluster-config/**/config.json"
- path: "applicationset/examples/git-generator-files-discovery/cluster-config/*/dev/config.json"
exclude: true
template:
metadata:
name: '{{.cluster.name}}-guestbook'
spec:
project: default
source:
repoURL: https://github.com/argoproj/argo-cd.git
targetRevision: HEAD
path: "applicationset/examples/git-generator-files-discovery/apps/guestbook"
destination:
server: https://kubernetes.default.svc
namespace: guestbook

View File

@@ -14,7 +14,7 @@ spec:
app: guestbook-ui
spec:
containers:
- image: gcr.io/heptio-images/ks-guestbook-demo:0.2
- image: quay.io/argoprojlabs/argocd-e2e-container:0.2
name: guestbook-ui
ports:
- containerPort: 80

View File

@@ -14,7 +14,7 @@ spec:
app: guestbook-ui
spec:
containers:
- image: gcr.io/heptio-images/ks-guestbook-demo:0.2
- image: quay.io/argoprojlabs/argocd-e2e-container:0.2
name: guestbook-ui
ports:
- containerPort: 80

View File

@@ -14,7 +14,7 @@ spec:
app: guestbook-ui
spec:
containers:
- image: gcr.io/heptio-images/ks-guestbook-demo:0.2
- image: quay.io/argoprojlabs/argocd-e2e-container:0.2
name: guestbook-ui
ports:
- containerPort: 80

View File

@@ -14,7 +14,7 @@ spec:
app: guestbook-ui
spec:
containers:
- image: gcr.io/heptio-images/ks-guestbook-demo:0.2
- image: quay.io/argoprojlabs/argocd-e2e-container:0.2
name: guestbook-ui
ports:
- containerPort: 80

View File

@@ -7,20 +7,14 @@ import (
log "github.com/sirupsen/logrus"
"github.com/argoproj/argo-cd/v2/util/settings"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/kubernetes"
"sigs.k8s.io/controller-runtime/pkg/client"
"github.com/argoproj/argo-cd/v2/applicationset/utils"
argoappsetv1alpha1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
)
const (
ArgoCDSecretTypeLabel = "argocd.argoproj.io/secret-type"
ArgoCDSecretTypeCluster = "cluster"
"github.com/argoproj/argo-cd/v3/applicationset/utils"
"github.com/argoproj/argo-cd/v3/common"
argoappsetv1alpha1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
)
var _ Generator = (*ClusterGenerator)(nil)
@@ -31,28 +25,24 @@ type ClusterGenerator struct {
ctx context.Context
clientset kubernetes.Interface
// namespace is the Argo CD namespace
namespace string
settingsManager *settings.SettingsManager
namespace string
}
var render = &utils.Render{}
func NewClusterGenerator(c client.Client, ctx context.Context, clientset kubernetes.Interface, namespace string) Generator {
settingsManager := settings.NewSettingsManager(ctx, clientset, namespace)
func NewClusterGenerator(ctx context.Context, c client.Client, clientset kubernetes.Interface, namespace string) Generator {
g := &ClusterGenerator{
Client: c,
ctx: ctx,
clientset: clientset,
namespace: namespace,
settingsManager: settingsManager,
Client: c,
ctx: ctx,
clientset: clientset,
namespace: namespace,
}
return g
}
// GetRequeueAfter never requeue the cluster generator because the `clusterSecretEventHandler` will requeue the appsets
// when the cluster secrets change
func (g *ClusterGenerator) GetRequeueAfter(appSetGenerator *argoappsetv1alpha1.ApplicationSetGenerator) time.Duration {
func (g *ClusterGenerator) GetRequeueAfter(_ *argoappsetv1alpha1.ApplicationSetGenerator) time.Duration {
return NoRequeueAfter
}
@@ -60,20 +50,21 @@ func (g *ClusterGenerator) GetTemplate(appSetGenerator *argoappsetv1alpha1.Appli
return &appSetGenerator.Clusters.Template
}
func (g *ClusterGenerator) GenerateParams(appSetGenerator *argoappsetv1alpha1.ApplicationSetGenerator, appSet *argoappsetv1alpha1.ApplicationSet, _ client.Client) ([]map[string]interface{}, error) {
func (g *ClusterGenerator) GenerateParams(appSetGenerator *argoappsetv1alpha1.ApplicationSetGenerator, appSet *argoappsetv1alpha1.ApplicationSet, _ client.Client) ([]map[string]any, error) {
logCtx := log.WithField("applicationset", appSet.GetName()).WithField("namespace", appSet.GetNamespace())
if appSetGenerator == nil {
return nil, EmptyAppSetGeneratorError
return nil, ErrEmptyAppSetGenerator
}
if appSetGenerator.Clusters == nil {
return nil, EmptyAppSetGeneratorError
return nil, ErrEmptyAppSetGenerator
}
// Do not include the local cluster in the cluster parameters IF there is a non-empty selector
// - Since local clusters do not have secrets, they do not have labels to match against
ignoreLocalClusters := len(appSetGenerator.Clusters.Selector.MatchExpressions) > 0 || len(appSetGenerator.Clusters.Selector.MatchLabels) > 0
// ListCluster from Argo CD's util/db package will include the local cluster in the list of clusters
// ListCluster will include the local cluster in the list of clusters
clustersFromArgoCD, err := utils.ListClusters(g.ctx, g.clientset, g.namespace)
if err != nil {
return nil, fmt.Errorf("error listing clusters: %w", err)
@@ -83,94 +74,122 @@ func (g *ClusterGenerator) GenerateParams(appSetGenerator *argoappsetv1alpha1.Ap
return nil, nil
}
clusterSecrets, err := g.getSecretsByClusterName(appSetGenerator)
clusterSecrets, err := g.getSecretsByClusterName(logCtx, appSetGenerator)
if err != nil {
return nil, fmt.Errorf("error getting cluster secrets: %w", err)
}
res := []map[string]interface{}{}
paramHolder := &paramHolder{isFlatMode: appSetGenerator.Clusters.FlatList}
logCtx.Debugf("Using flat mode = %t for cluster generator", paramHolder.isFlatMode)
secretsFound := []corev1.Secret{}
for _, cluster := range clustersFromArgoCD.Items {
for _, cluster := range clustersFromArgoCD {
// If there is a secret for this cluster, then it's a non-local cluster, so it will be
// handled by the next step.
if secretForCluster, exists := clusterSecrets[cluster.Name]; exists {
secretsFound = append(secretsFound, secretForCluster)
} else if !ignoreLocalClusters {
// If there is no secret for the cluster, it's the local cluster, so handle it here.
params := map[string]interface{}{}
params := map[string]any{}
params["name"] = cluster.Name
params["nameNormalized"] = cluster.Name
params["server"] = cluster.Server
params["project"] = ""
err = appendTemplatedValues(appSetGenerator.Clusters.Values, params, appSet.Spec.GoTemplate, appSet.Spec.GoTemplateOptions)
if err != nil {
return nil, fmt.Errorf("error appending templated values for local cluster: %w", err)
}
res = append(res, params)
log.WithField("cluster", "local cluster").Info("matched local cluster")
paramHolder.append(params)
logCtx.WithField("cluster", "local cluster").Info("matched local cluster")
}
}
// For each matching cluster secret (non-local clusters only)
for _, cluster := range secretsFound {
params := map[string]interface{}{}
params["name"] = string(cluster.Data["name"])
params["nameNormalized"] = utils.SanitizeName(string(cluster.Data["name"]))
params["server"] = string(cluster.Data["server"])
if appSet.Spec.GoTemplate {
meta := map[string]interface{}{}
if len(cluster.ObjectMeta.Annotations) > 0 {
meta["annotations"] = cluster.ObjectMeta.Annotations
}
if len(cluster.ObjectMeta.Labels) > 0 {
meta["labels"] = cluster.ObjectMeta.Labels
}
params["metadata"] = meta
} else {
for key, value := range cluster.ObjectMeta.Annotations {
params[fmt.Sprintf("metadata.annotations.%s", key)] = value
}
for key, value := range cluster.ObjectMeta.Labels {
params[fmt.Sprintf("metadata.labels.%s", key)] = value
}
}
params := g.getClusterParameters(cluster, appSet)
err = appendTemplatedValues(appSetGenerator.Clusters.Values, params, appSet.Spec.GoTemplate, appSet.Spec.GoTemplateOptions)
if err != nil {
return nil, fmt.Errorf("error appending templated values for cluster: %w", err)
}
res = append(res, params)
log.WithField("cluster", cluster.Name).Info("matched cluster secret")
paramHolder.append(params)
logCtx.WithField("cluster", cluster.Name).Debug("matched cluster secret")
}
return res, nil
return paramHolder.consolidate(), nil
}
func (g *ClusterGenerator) getSecretsByClusterName(appSetGenerator *argoappsetv1alpha1.ApplicationSetGenerator) (map[string]corev1.Secret, error) {
// List all Clusters:
type paramHolder struct {
isFlatMode bool
params []map[string]any
}
func (p *paramHolder) append(params map[string]any) {
p.params = append(p.params, params)
}
func (p *paramHolder) consolidate() []map[string]any {
if p.isFlatMode {
p.params = []map[string]any{
{"clusters": p.params},
}
}
return p.params
}
func (g *ClusterGenerator) getClusterParameters(cluster corev1.Secret, appSet *argoappsetv1alpha1.ApplicationSet) map[string]any {
params := map[string]any{}
params["name"] = string(cluster.Data["name"])
params["nameNormalized"] = utils.SanitizeName(string(cluster.Data["name"]))
params["server"] = string(cluster.Data["server"])
project, ok := cluster.Data["project"]
if ok {
params["project"] = string(project)
} else {
params["project"] = ""
}
if appSet.Spec.GoTemplate {
meta := map[string]any{}
if len(cluster.Annotations) > 0 {
meta["annotations"] = cluster.Annotations
}
if len(cluster.Labels) > 0 {
meta["labels"] = cluster.Labels
}
params["metadata"] = meta
} else {
for key, value := range cluster.Annotations {
params["metadata.annotations."+key] = value
}
for key, value := range cluster.Labels {
params["metadata.labels."+key] = value
}
}
return params
}
func (g *ClusterGenerator) getSecretsByClusterName(log *log.Entry, appSetGenerator *argoappsetv1alpha1.ApplicationSetGenerator) (map[string]corev1.Secret, error) {
clusterSecretList := &corev1.SecretList{}
selector := metav1.AddLabelToSelector(&appSetGenerator.Clusters.Selector, ArgoCDSecretTypeLabel, ArgoCDSecretTypeCluster)
selector := metav1.AddLabelToSelector(&appSetGenerator.Clusters.Selector, common.LabelKeySecretType, common.LabelValueSecretTypeCluster)
secretSelector, err := metav1.LabelSelectorAsSelector(selector)
if err != nil {
return nil, fmt.Errorf("error converting label selector: %w", err)
}
if err := g.Client.List(context.Background(), clusterSecretList, client.MatchingLabelsSelector{Selector: secretSelector}); err != nil {
if err := g.List(context.Background(), clusterSecretList, client.MatchingLabelsSelector{Selector: secretSelector}); err != nil {
return nil, err
}
log.Debug("clusters matching labels", "count", len(clusterSecretList.Items))
log.Debugf("clusters matching labels: %d", len(clusterSecretList.Items))
res := map[string]corev1.Secret{}

View File

@@ -2,7 +2,7 @@ package generators
import (
"context"
"fmt"
"errors"
"testing"
corev1 "k8s.io/api/core/v1"
@@ -13,8 +13,8 @@ import (
kubefake "k8s.io/client-go/kubernetes/fake"
"github.com/argoproj/argo-cd/v2/applicationset/utils"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
"github.com/argoproj/argo-cd/v3/applicationset/utils"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
@@ -27,7 +27,7 @@ type possiblyErroringFakeCtrlRuntimeClient struct {
func (p *possiblyErroringFakeCtrlRuntimeClient) List(ctx context.Context, secretList client.ObjectList, opts ...client.ListOption) error {
if p.shouldError {
return fmt.Errorf("could not list Secrets")
return errors.New("could not list Secrets")
}
return p.Client.List(ctx, secretList, opts...)
}
@@ -76,18 +76,20 @@ func TestGenerateParams(t *testing.T) {
},
},
Data: map[string][]byte{
"config": []byte("{}"),
"name": []byte("production_01/west"),
"server": []byte("https://production-01.example.com"),
"config": []byte("{}"),
"name": []byte("production_01/west"),
"server": []byte("https://production-01.example.com"),
"project": []byte("prod-project"),
},
Type: corev1.SecretType("Opaque"),
},
}
testCases := []struct {
name string
selector metav1.LabelSelector
values map[string]string
expected []map[string]interface{}
name string
selector metav1.LabelSelector
isFlatMode bool
values map[string]string
expected []map[string]any
// clientError is true if a k8s client error should be simulated
clientError bool
expectedError error
@@ -104,18 +106,17 @@ func TestGenerateParams(t *testing.T) {
"bat": "{{ metadata.labels.environment }}",
"aaa": "{{ server }}",
"no-op": "{{ this-does-not-exist }}",
}, expected: []map[string]interface{}{
}, expected: []map[string]any{
{"values.lol1": "lol", "values.lol2": "{{values.lol1}}{{values.lol1}}", "values.lol3": "{{values.lol2}}{{values.lol2}}{{values.lol2}}", "values.foo": "bar", "values.bar": "{{ metadata.annotations.foo.argoproj.io }}", "values.no-op": "{{ this-does-not-exist }}", "values.bat": "{{ metadata.labels.environment }}", "values.aaa": "https://kubernetes.default.svc", "nameNormalized": "in-cluster", "name": "in-cluster", "server": "https://kubernetes.default.svc", "project": ""},
{
"values.lol1": "lol", "values.lol2": "{{values.lol1}}{{values.lol1}}", "values.lol3": "{{values.lol2}}{{values.lol2}}{{values.lol2}}", "values.foo": "bar", "values.bar": "production", "values.no-op": "{{ this-does-not-exist }}", "values.bat": "production", "values.aaa": "https://production-01.example.com", "name": "production_01/west", "nameNormalized": "production-01-west", "server": "https://production-01.example.com", "metadata.labels.environment": "production", "metadata.labels.org": "bar",
"metadata.labels.argocd.argoproj.io/secret-type": "cluster", "metadata.annotations.foo.argoproj.io": "production",
"metadata.labels.argocd.argoproj.io/secret-type": "cluster", "metadata.annotations.foo.argoproj.io": "production", "project": "prod-project",
},
{
"values.lol1": "lol", "values.lol2": "{{values.lol1}}{{values.lol1}}", "values.lol3": "{{values.lol2}}{{values.lol2}}{{values.lol2}}", "values.foo": "bar", "values.bar": "staging", "values.no-op": "{{ this-does-not-exist }}", "values.bat": "staging", "values.aaa": "https://staging-01.example.com", "name": "staging-01", "nameNormalized": "staging-01", "server": "https://staging-01.example.com", "metadata.labels.environment": "staging", "metadata.labels.org": "foo",
"metadata.labels.argocd.argoproj.io/secret-type": "cluster", "metadata.annotations.foo.argoproj.io": "staging",
"metadata.labels.argocd.argoproj.io/secret-type": "cluster", "metadata.annotations.foo.argoproj.io": "staging", "project": "",
},
{"values.lol1": "lol", "values.lol2": "{{values.lol1}}{{values.lol1}}", "values.lol3": "{{values.lol2}}{{values.lol2}}{{values.lol2}}", "values.foo": "bar", "values.bar": "{{ metadata.annotations.foo.argoproj.io }}", "values.no-op": "{{ this-does-not-exist }}", "values.bat": "{{ metadata.labels.environment }}", "values.aaa": "https://kubernetes.default.svc", "nameNormalized": "in-cluster", "name": "in-cluster", "server": "https://kubernetes.default.svc"},
},
clientError: false,
expectedError: nil,
@@ -128,15 +129,15 @@ func TestGenerateParams(t *testing.T) {
},
},
values: nil,
expected: []map[string]interface{}{
expected: []map[string]any{
{
"name": "production_01/west", "nameNormalized": "production-01-west", "server": "https://production-01.example.com", "metadata.labels.environment": "production", "metadata.labels.org": "bar",
"metadata.labels.argocd.argoproj.io/secret-type": "cluster", "metadata.annotations.foo.argoproj.io": "production",
"metadata.labels.argocd.argoproj.io/secret-type": "cluster", "metadata.annotations.foo.argoproj.io": "production", "project": "prod-project",
},
{
"name": "staging-01", "nameNormalized": "staging-01", "server": "https://staging-01.example.com", "metadata.labels.environment": "staging", "metadata.labels.org": "foo",
"metadata.labels.argocd.argoproj.io/secret-type": "cluster", "metadata.annotations.foo.argoproj.io": "staging",
"metadata.labels.argocd.argoproj.io/secret-type": "cluster", "metadata.annotations.foo.argoproj.io": "staging", "project": "",
},
},
clientError: false,
@@ -152,10 +153,10 @@ func TestGenerateParams(t *testing.T) {
values: map[string]string{
"foo": "bar",
},
expected: []map[string]interface{}{
expected: []map[string]any{
{
"values.foo": "bar", "name": "production_01/west", "nameNormalized": "production-01-west", "server": "https://production-01.example.com", "metadata.labels.environment": "production", "metadata.labels.org": "bar",
"metadata.labels.argocd.argoproj.io/secret-type": "cluster", "metadata.annotations.foo.argoproj.io": "production",
"metadata.labels.argocd.argoproj.io/secret-type": "cluster", "metadata.annotations.foo.argoproj.io": "production", "project": "prod-project",
},
},
clientError: false,
@@ -178,14 +179,14 @@ func TestGenerateParams(t *testing.T) {
values: map[string]string{
"foo": "bar",
},
expected: []map[string]interface{}{
expected: []map[string]any{
{
"values.foo": "bar", "name": "staging-01", "nameNormalized": "staging-01", "server": "https://staging-01.example.com", "metadata.labels.environment": "staging", "metadata.labels.org": "foo",
"metadata.labels.argocd.argoproj.io/secret-type": "cluster", "metadata.annotations.foo.argoproj.io": "staging",
"metadata.labels.argocd.argoproj.io/secret-type": "cluster", "metadata.annotations.foo.argoproj.io": "staging", "project": "",
},
{
"values.foo": "bar", "name": "production_01/west", "nameNormalized": "production-01-west", "server": "https://production-01.example.com", "metadata.labels.environment": "production", "metadata.labels.org": "bar",
"metadata.labels.argocd.argoproj.io/secret-type": "cluster", "metadata.annotations.foo.argoproj.io": "production",
"metadata.labels.argocd.argoproj.io/secret-type": "cluster", "metadata.annotations.foo.argoproj.io": "production", "project": "prod-project",
},
},
clientError: false,
@@ -211,10 +212,10 @@ func TestGenerateParams(t *testing.T) {
values: map[string]string{
"name": "baz",
},
expected: []map[string]interface{}{
expected: []map[string]any{
{
"values.name": "baz", "name": "staging-01", "nameNormalized": "staging-01", "server": "https://staging-01.example.com", "metadata.labels.environment": "staging", "metadata.labels.org": "foo",
"metadata.labels.argocd.argoproj.io/secret-type": "cluster", "metadata.annotations.foo.argoproj.io": "staging",
"metadata.labels.argocd.argoproj.io/secret-type": "cluster", "metadata.annotations.foo.argoproj.io": "staging", "project": "",
},
},
clientError: false,
@@ -226,7 +227,75 @@ func TestGenerateParams(t *testing.T) {
values: nil,
expected: nil,
clientError: true,
expectedError: fmt.Errorf("error getting cluster secrets: could not list Secrets"),
expectedError: errors.New("error getting cluster secrets: could not list Secrets"),
},
{
name: "flat mode without selectors",
selector: metav1.LabelSelector{},
values: map[string]string{
"lol1": "lol",
"lol2": "{{values.lol1}}{{values.lol1}}",
"lol3": "{{values.lol2}}{{values.lol2}}{{values.lol2}}",
"foo": "bar",
"bar": "{{ metadata.annotations.foo.argoproj.io }}",
"bat": "{{ metadata.labels.environment }}",
"aaa": "{{ server }}",
"no-op": "{{ this-does-not-exist }}",
},
expected: []map[string]any{
{
"clusters": []map[string]any{
{"values.lol1": "lol", "values.lol2": "{{values.lol1}}{{values.lol1}}", "values.lol3": "{{values.lol2}}{{values.lol2}}{{values.lol2}}", "values.foo": "bar", "values.bar": "{{ metadata.annotations.foo.argoproj.io }}", "values.no-op": "{{ this-does-not-exist }}", "values.bat": "{{ metadata.labels.environment }}", "values.aaa": "https://kubernetes.default.svc", "nameNormalized": "in-cluster", "name": "in-cluster", "server": "https://kubernetes.default.svc", "project": ""},
{
"values.lol1": "lol", "values.lol2": "{{values.lol1}}{{values.lol1}}", "values.lol3": "{{values.lol2}}{{values.lol2}}{{values.lol2}}", "values.foo": "bar", "values.bar": "production", "values.no-op": "{{ this-does-not-exist }}", "values.bat": "production", "values.aaa": "https://production-01.example.com", "name": "production_01/west", "nameNormalized": "production-01-west", "server": "https://production-01.example.com", "metadata.labels.environment": "production", "metadata.labels.org": "bar",
"metadata.labels.argocd.argoproj.io/secret-type": "cluster", "metadata.annotations.foo.argoproj.io": "production", "project": "prod-project",
},
{
"values.lol1": "lol", "values.lol2": "{{values.lol1}}{{values.lol1}}", "values.lol3": "{{values.lol2}}{{values.lol2}}{{values.lol2}}", "values.foo": "bar", "values.bar": "staging", "values.no-op": "{{ this-does-not-exist }}", "values.bat": "staging", "values.aaa": "https://staging-01.example.com", "name": "staging-01", "nameNormalized": "staging-01", "server": "https://staging-01.example.com", "metadata.labels.environment": "staging", "metadata.labels.org": "foo",
"metadata.labels.argocd.argoproj.io/secret-type": "cluster", "metadata.annotations.foo.argoproj.io": "staging", "project": "",
},
},
},
},
isFlatMode: true,
clientError: false,
expectedError: nil,
},
{
name: "production or staging with flat mode",
selector: metav1.LabelSelector{
MatchExpressions: []metav1.LabelSelectorRequirement{
{
Key: "environment",
Operator: "In",
Values: []string{
"production",
"staging",
},
},
},
},
isFlatMode: true,
values: map[string]string{
"foo": "bar",
},
expected: []map[string]any{
{
"clusters": []map[string]any{
{
"values.foo": "bar", "name": "production_01/west", "nameNormalized": "production-01-west", "server": "https://production-01.example.com", "metadata.labels.environment": "production", "metadata.labels.org": "bar",
"metadata.labels.argocd.argoproj.io/secret-type": "cluster", "metadata.annotations.foo.argoproj.io": "production", "project": "prod-project",
},
{
"values.foo": "bar", "name": "staging-01", "nameNormalized": "staging-01", "server": "https://staging-01.example.com", "metadata.labels.environment": "staging", "metadata.labels.org": "foo",
"metadata.labels.argocd.argoproj.io/secret-type": "cluster", "metadata.annotations.foo.argoproj.io": "staging", "project": "",
},
},
},
},
clientError: false,
expectedError: nil,
},
}
@@ -246,7 +315,7 @@ func TestGenerateParams(t *testing.T) {
testCase.clientError,
}
clusterGenerator := NewClusterGenerator(cl, context.Background(), appClientset, "namespace")
clusterGenerator := NewClusterGenerator(t.Context(), cl, appClientset, "namespace")
applicationSetInfo := argoprojiov1alpha1.ApplicationSet{
ObjectMeta: metav1.ObjectMeta{
@@ -259,6 +328,7 @@ func TestGenerateParams(t *testing.T) {
Clusters: &argoprojiov1alpha1.ClusterGenerator{
Selector: testCase.selector,
Values: testCase.values,
FlatList: testCase.isFlatMode,
},
}, &applicationSetInfo, nil)
@@ -324,10 +394,11 @@ func TestGenerateParamsGoTemplate(t *testing.T) {
},
}
testCases := []struct {
name string
selector metav1.LabelSelector
values map[string]string
expected []map[string]interface{}
name string
selector metav1.LabelSelector
values map[string]string
isFlatMode bool
expected []map[string]any
// clientError is true if a k8s client error should be simulated
clientError bool
expectedError error
@@ -344,12 +415,13 @@ func TestGenerateParamsGoTemplate(t *testing.T) {
"bat": "{{ if not (empty .metadata) }}{{.metadata.labels.environment}}{{ end }}",
"aaa": "{{ .server }}",
"no-op": "{{ .thisDoesNotExist }}",
}, expected: []map[string]interface{}{
}, expected: []map[string]any{
{
"name": "production_01/west",
"nameNormalized": "production-01-west",
"server": "https://production-01.example.com",
"metadata": map[string]interface{}{
"project": "",
"metadata": map[string]any{
"labels": map[string]string{
"argocd.argoproj.io/secret-type": "cluster",
"environment": "production",
@@ -374,7 +446,8 @@ func TestGenerateParamsGoTemplate(t *testing.T) {
"name": "staging-01",
"nameNormalized": "staging-01",
"server": "https://staging-01.example.com",
"metadata": map[string]interface{}{
"project": "",
"metadata": map[string]any{
"labels": map[string]string{
"argocd.argoproj.io/secret-type": "cluster",
"environment": "staging",
@@ -399,6 +472,7 @@ func TestGenerateParamsGoTemplate(t *testing.T) {
"nameNormalized": "in-cluster",
"name": "in-cluster",
"server": "https://kubernetes.default.svc",
"project": "",
"values": map[string]string{
"lol1": "lol",
"lol2": "<no value><no value>",
@@ -422,12 +496,13 @@ func TestGenerateParamsGoTemplate(t *testing.T) {
},
},
values: nil,
expected: []map[string]interface{}{
expected: []map[string]any{
{
"name": "production_01/west",
"nameNormalized": "production-01-west",
"server": "https://production-01.example.com",
"metadata": map[string]interface{}{
"project": "",
"metadata": map[string]any{
"labels": map[string]string{
"argocd.argoproj.io/secret-type": "cluster",
"environment": "production",
@@ -442,7 +517,8 @@ func TestGenerateParamsGoTemplate(t *testing.T) {
"name": "staging-01",
"nameNormalized": "staging-01",
"server": "https://staging-01.example.com",
"metadata": map[string]interface{}{
"project": "",
"metadata": map[string]any{
"labels": map[string]string{
"argocd.argoproj.io/secret-type": "cluster",
"environment": "staging",
@@ -467,12 +543,13 @@ func TestGenerateParamsGoTemplate(t *testing.T) {
values: map[string]string{
"foo": "bar",
},
expected: []map[string]interface{}{
expected: []map[string]any{
{
"name": "production_01/west",
"nameNormalized": "production-01-west",
"server": "https://production-01.example.com",
"metadata": map[string]interface{}{
"project": "",
"metadata": map[string]any{
"labels": map[string]string{
"argocd.argoproj.io/secret-type": "cluster",
"environment": "production",
@@ -507,12 +584,13 @@ func TestGenerateParamsGoTemplate(t *testing.T) {
values: map[string]string{
"foo": "bar",
},
expected: []map[string]interface{}{
expected: []map[string]any{
{
"name": "production_01/west",
"nameNormalized": "production-01-west",
"server": "https://production-01.example.com",
"metadata": map[string]interface{}{
"project": "",
"metadata": map[string]any{
"labels": map[string]string{
"argocd.argoproj.io/secret-type": "cluster",
"environment": "production",
@@ -530,7 +608,8 @@ func TestGenerateParamsGoTemplate(t *testing.T) {
"name": "staging-01",
"nameNormalized": "staging-01",
"server": "https://staging-01.example.com",
"metadata": map[string]interface{}{
"project": "",
"metadata": map[string]any{
"labels": map[string]string{
"argocd.argoproj.io/secret-type": "cluster",
"environment": "staging",
@@ -568,12 +647,13 @@ func TestGenerateParamsGoTemplate(t *testing.T) {
values: map[string]string{
"name": "baz",
},
expected: []map[string]interface{}{
expected: []map[string]any{
{
"name": "staging-01",
"nameNormalized": "staging-01",
"server": "https://staging-01.example.com",
"metadata": map[string]interface{}{
"project": "",
"metadata": map[string]any{
"labels": map[string]string{
"argocd.argoproj.io/secret-type": "cluster",
"environment": "staging",
@@ -597,7 +677,163 @@ func TestGenerateParamsGoTemplate(t *testing.T) {
values: nil,
expected: nil,
clientError: true,
expectedError: fmt.Errorf("error getting cluster secrets: could not list Secrets"),
expectedError: errors.New("error getting cluster secrets: could not list Secrets"),
},
{
name: "Clusters with flat list mode and no selector",
selector: metav1.LabelSelector{},
isFlatMode: true,
values: map[string]string{
"lol1": "lol",
"lol2": "{{ .values.lol1 }}{{ .values.lol1 }}",
"lol3": "{{ .values.lol2 }}{{ .values.lol2 }}{{ .values.lol2 }}",
"foo": "bar",
"bar": "{{ if not (empty .metadata) }}{{index .metadata.annotations \"foo.argoproj.io\" }}{{ end }}",
"bat": "{{ if not (empty .metadata) }}{{.metadata.labels.environment}}{{ end }}",
"aaa": "{{ .server }}",
"no-op": "{{ .thisDoesNotExist }}",
},
expected: []map[string]any{
{
"clusters": []map[string]any{
{
"nameNormalized": "in-cluster",
"name": "in-cluster",
"server": "https://kubernetes.default.svc",
"project": "",
"values": map[string]string{
"lol1": "lol",
"lol2": "<no value><no value>",
"lol3": "<no value><no value><no value>",
"foo": "bar",
"bar": "",
"bat": "",
"aaa": "https://kubernetes.default.svc",
"no-op": "<no value>",
},
},
{
"name": "production_01/west",
"nameNormalized": "production-01-west",
"server": "https://production-01.example.com",
"project": "",
"metadata": map[string]any{
"labels": map[string]string{
"argocd.argoproj.io/secret-type": "cluster",
"environment": "production",
"org": "bar",
},
"annotations": map[string]string{
"foo.argoproj.io": "production",
},
},
"values": map[string]string{
"lol1": "lol",
"lol2": "<no value><no value>",
"lol3": "<no value><no value><no value>",
"foo": "bar",
"bar": "production",
"bat": "production",
"aaa": "https://production-01.example.com",
"no-op": "<no value>",
},
},
{
"name": "staging-01",
"nameNormalized": "staging-01",
"server": "https://staging-01.example.com",
"project": "",
"metadata": map[string]any{
"labels": map[string]string{
"argocd.argoproj.io/secret-type": "cluster",
"environment": "staging",
"org": "foo",
},
"annotations": map[string]string{
"foo.argoproj.io": "staging",
},
},
"values": map[string]string{
"lol1": "lol",
"lol2": "<no value><no value>",
"lol3": "<no value><no value><no value>",
"foo": "bar",
"bar": "staging",
"bat": "staging",
"aaa": "https://staging-01.example.com",
"no-op": "<no value>",
},
},
},
},
},
clientError: false,
expectedError: nil,
},
{
name: "production or staging with flat mode",
selector: metav1.LabelSelector{
MatchExpressions: []metav1.LabelSelectorRequirement{
{
Key: "environment",
Operator: "In",
Values: []string{
"production",
"staging",
},
},
},
},
isFlatMode: true,
values: map[string]string{
"foo": "bar",
},
expected: []map[string]any{
{
"clusters": []map[string]any{
{
"name": "production_01/west",
"nameNormalized": "production-01-west",
"server": "https://production-01.example.com",
"project": "",
"metadata": map[string]any{
"labels": map[string]string{
"argocd.argoproj.io/secret-type": "cluster",
"environment": "production",
"org": "bar",
},
"annotations": map[string]string{
"foo.argoproj.io": "production",
},
},
"values": map[string]string{
"foo": "bar",
},
},
{
"name": "staging-01",
"nameNormalized": "staging-01",
"server": "https://staging-01.example.com",
"project": "",
"metadata": map[string]any{
"labels": map[string]string{
"argocd.argoproj.io/secret-type": "cluster",
"environment": "staging",
"org": "foo",
},
"annotations": map[string]string{
"foo.argoproj.io": "staging",
},
},
"values": map[string]string{
"foo": "bar",
},
},
},
},
},
clientError: false,
expectedError: nil,
},
}
@@ -617,7 +853,7 @@ func TestGenerateParamsGoTemplate(t *testing.T) {
testCase.clientError,
}
clusterGenerator := NewClusterGenerator(cl, context.Background(), appClientset, "namespace")
clusterGenerator := NewClusterGenerator(t.Context(), cl, appClientset, "namespace")
applicationSetInfo := argoprojiov1alpha1.ApplicationSet{
ObjectMeta: metav1.ObjectMeta{
@@ -632,6 +868,7 @@ func TestGenerateParamsGoTemplate(t *testing.T) {
Clusters: &argoprojiov1alpha1.ClusterGenerator{
Selector: testCase.selector,
Values: testCase.values,
FlatList: testCase.isFlatMode,
},
}, &applicationSetInfo, nil)

View File

@@ -2,6 +2,7 @@ package generators
import (
"context"
"errors"
"fmt"
"strings"
"time"
@@ -9,38 +10,33 @@ import (
log "github.com/sirupsen/logrus"
"sigs.k8s.io/controller-runtime/pkg/client"
"github.com/argoproj/argo-cd/v2/util/settings"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/fields"
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/client-go/dynamic"
"k8s.io/client-go/kubernetes"
"github.com/argoproj/argo-cd/v2/applicationset/utils"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
"github.com/argoproj/argo-cd/v3/applicationset/utils"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
)
var _ Generator = (*DuckTypeGenerator)(nil)
// DuckTypeGenerator generates Applications for some or all clusters registered with ArgoCD.
type DuckTypeGenerator struct {
ctx context.Context
dynClient dynamic.Interface
clientset kubernetes.Interface
namespace string // namespace is the Argo CD namespace
settingsManager *settings.SettingsManager
ctx context.Context
dynClient dynamic.Interface
clientset kubernetes.Interface
namespace string // namespace is the Argo CD namespace
}
func NewDuckTypeGenerator(ctx context.Context, dynClient dynamic.Interface, clientset kubernetes.Interface, namespace string) Generator {
settingsManager := settings.NewSettingsManager(ctx, clientset, namespace)
g := &DuckTypeGenerator{
ctx: ctx,
dynClient: dynClient,
clientset: clientset,
namespace: namespace,
settingsManager: settingsManager,
ctx: ctx,
dynClient: dynClient,
clientset: clientset,
namespace: namespace,
}
return g
}
@@ -52,21 +48,21 @@ func (g *DuckTypeGenerator) GetRequeueAfter(appSetGenerator *argoprojiov1alpha1.
return time.Duration(*appSetGenerator.ClusterDecisionResource.RequeueAfterSeconds) * time.Second
}
return DefaultRequeueAfterSeconds
return getDefaultRequeueAfter()
}
func (g *DuckTypeGenerator) GetTemplate(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator) *argoprojiov1alpha1.ApplicationSetTemplate {
return &appSetGenerator.ClusterDecisionResource.Template
}
func (g *DuckTypeGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, appSet *argoprojiov1alpha1.ApplicationSet, _ client.Client) ([]map[string]interface{}, error) {
func (g *DuckTypeGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, appSet *argoprojiov1alpha1.ApplicationSet, _ client.Client) ([]map[string]any, error) {
if appSetGenerator == nil {
return nil, EmptyAppSetGeneratorError
return nil, ErrEmptyAppSetGenerator
}
// Not likely to happen
if appSetGenerator.ClusterDecisionResource == nil {
return nil, EmptyAppSetGeneratorError
return nil, ErrEmptyAppSetGenerator
}
// ListCluster from Argo CD's util/db package will include the local cluster in the list of clusters
@@ -96,13 +92,13 @@ func (g *DuckTypeGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.A
// Validate the fields
if kind == "" || versionIdx < 1 {
log.Warningf("kind=%v, resourceName=%v, versionIdx=%v", kind, resourceName, versionIdx)
return nil, fmt.Errorf("There is a problem with the apiVersion, kind or resourceName provided")
return nil, errors.New("there is a problem with the apiVersion, kind or resourceName provided")
}
if (resourceName == "" && labelSelector.MatchLabels == nil && labelSelector.MatchExpressions == nil) ||
(resourceName != "" && (labelSelector.MatchExpressions != nil || labelSelector.MatchLabels != nil)) {
log.Warningf("You must choose either resourceName=%v, labelSelector.matchLabels=%v or labelSelect.matchExpressions=%v", resourceName, labelSelector.MatchLabels, labelSelector.MatchExpressions)
return nil, fmt.Errorf("There is a problem with the definition of the ClusterDecisionResource generator")
return nil, errors.New("there is a problem with the definition of the ClusterDecisionResource generator")
}
// Split up the apiVersion
@@ -130,97 +126,104 @@ func (g *DuckTypeGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.A
if len(duckResources.Items) == 0 {
log.Warning("no resource found, make sure you clusterDecisionResource is defined correctly")
return nil, fmt.Errorf("no clusterDecisionResources found")
return nil, errors.New("no clusterDecisionResources found")
}
// Override the duck type in the status of the resource
statusListKey := "clusters"
matchKey := cm.Data["matchKey"]
if cm.Data["statusListKey"] != "" {
statusListKey = cm.Data["statusListKey"]
}
matchKey := cm.Data["matchKey"]
if matchKey == "" {
log.WithField("matchKey", matchKey).Warning("matchKey not found in " + cm.Name)
return nil, nil
}
res := []map[string]interface{}{}
clusterDecisions := []interface{}{}
clusterDecisions := buildClusterDecisions(duckResources, statusListKey)
if len(clusterDecisions) == 0 {
log.Warningf("clusterDecisionResource status.%s missing", statusListKey)
return nil, nil
}
res := []map[string]any{}
for _, clusterDecision := range clusterDecisions {
cluster := findCluster(clustersFromArgoCD, clusterDecision, matchKey, statusListKey)
// if no cluster is found, move to the next cluster
if cluster == nil {
continue
}
// generated instance of cluster params
params := map[string]any{
"name": cluster.Name,
"server": cluster.Server,
}
for key, value := range clusterDecision.(map[string]any) {
params[key] = value.(string)
}
for key, value := range appSetGenerator.ClusterDecisionResource.Values {
collectParams(appSet, params, key, value)
}
res = append(res, params)
}
return res, nil
}
func buildClusterDecisions(duckResources *unstructured.UnstructuredList, statusListKey string) []any {
clusterDecisions := []any{}
// Build the decision slice
for _, duckResource := range duckResources.Items {
log.WithField("duckResourceName", duckResource.GetName()).Debug("found resource")
if duckResource.Object["status"] == nil || len(duckResource.Object["status"].(map[string]interface{})) == 0 {
if duckResource.Object["status"] == nil || len(duckResource.Object["status"].(map[string]any)) == 0 {
log.Warningf("clusterDecisionResource: %s, has no status", duckResource.GetName())
continue
}
log.WithField("duckResourceStatus", duckResource.Object["status"]).Debug("found resource")
clusterDecisions = append(clusterDecisions, duckResource.Object["status"].(map[string]interface{})[statusListKey].([]interface{})...)
clusterDecisions = append(clusterDecisions, duckResource.Object["status"].(map[string]any)[statusListKey].([]any)...)
}
log.Infof("Number of decisions found: %v", len(clusterDecisions))
return clusterDecisions
}
// Read this outside the loop to improve performance
argoClusters := clustersFromArgoCD.Items
if len(clusterDecisions) > 0 {
for _, cluster := range clusterDecisions {
// generated instance of cluster params
params := map[string]interface{}{}
log.Infof("cluster: %v", cluster)
matchValue := cluster.(map[string]interface{})[matchKey]
if matchValue == nil || matchValue.(string) == "" {
log.Warningf("matchKey=%v not found in \"%v\" list: %v\n", matchKey, statusListKey, cluster.(map[string]interface{}))
continue
}
strMatchValue := matchValue.(string)
log.WithField(matchKey, strMatchValue).Debug("validate against ArgoCD")
found := false
for _, argoCluster := range argoClusters {
if argoCluster.Name == strMatchValue {
log.WithField(matchKey, argoCluster.Name).Info("matched cluster in ArgoCD")
params["name"] = argoCluster.Name
params["server"] = argoCluster.Server
found = true
break // Stop looking
}
}
if !found {
log.WithField(matchKey, strMatchValue).Warning("unmatched cluster in ArgoCD")
continue
}
for key, value := range cluster.(map[string]interface{}) {
params[key] = value.(string)
}
for key, value := range appSetGenerator.ClusterDecisionResource.Values {
if appSet.Spec.GoTemplate {
if params["values"] == nil {
params["values"] = map[string]string{}
}
params["values"].(map[string]string)[key] = value
} else {
params[fmt.Sprintf("values.%s", key)] = value
}
}
res = append(res, params)
}
} else {
log.Warningf("clusterDecisionResource status." + statusListKey + " missing")
return nil, nil
func findCluster(clustersFromArgoCD []utils.ClusterSpecifier, cluster any, matchKey string, statusListKey string) *utils.ClusterSpecifier {
log.Infof("cluster: %v", cluster)
matchValue := cluster.(map[string]any)[matchKey]
if matchValue == nil || matchValue.(string) == "" {
log.Warningf("matchKey=%v not found in \"%v\" list: %v\n", matchKey, statusListKey, cluster.(map[string]any))
return nil // no match
}
return res, nil
strMatchValue := matchValue.(string)
log.WithField(matchKey, strMatchValue).Debug("validate against ArgoCD")
for _, argoCluster := range clustersFromArgoCD {
if argoCluster.Name == strMatchValue {
log.WithField(matchKey, argoCluster.Name).Info("matched cluster in ArgoCD")
return &argoCluster
}
}
log.WithField(matchKey, strMatchValue).Warning("unmatched cluster in ArgoCD")
return nil
}
func collectParams(appSet *argoprojiov1alpha1.ApplicationSet, params map[string]any, key string, value string) {
if appSet.Spec.GoTemplate {
if params["values"] == nil {
params["values"] = map[string]string{}
}
params["values"].(map[string]string)[key] = value
} else {
params["values."+key] = value
}
}

View File

@@ -1,8 +1,7 @@
package generators
import (
"context"
"fmt"
"errors"
"testing"
"github.com/stretchr/testify/assert"
@@ -16,11 +15,11 @@ import (
kubefake "k8s.io/client-go/kubernetes/fake"
"sigs.k8s.io/controller-runtime/pkg/client"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
)
const (
resourceApiVersion = "mallard.io/v1"
resourceAPIVersion = "mallard.io/v1"
resourceKind = "ducks"
resourceName = "quak"
)
@@ -78,20 +77,20 @@ func TestGenerateParamsForDuckType(t *testing.T) {
}
duckType := &unstructured.Unstructured{
Object: map[string]interface{}{
"apiVersion": resourceApiVersion,
Object: map[string]any{
"apiVersion": resourceAPIVersion,
"kind": "Duck",
"metadata": map[string]interface{}{
"metadata": map[string]any{
"name": resourceName,
"namespace": "namespace",
"labels": map[string]interface{}{"duck": "all-species"},
"labels": map[string]any{"duck": "all-species"},
},
"status": map[string]interface{}{
"decisions": []interface{}{
map[string]interface{}{
"status": map[string]any{
"decisions": []any{
map[string]any{
"clusterName": "staging-01",
},
map[string]interface{}{
map[string]any{
"clusterName": "production-01",
},
},
@@ -100,17 +99,17 @@ func TestGenerateParamsForDuckType(t *testing.T) {
}
duckTypeProdOnly := &unstructured.Unstructured{
Object: map[string]interface{}{
"apiVersion": resourceApiVersion,
Object: map[string]any{
"apiVersion": resourceAPIVersion,
"kind": "Duck",
"metadata": map[string]interface{}{
"metadata": map[string]any{
"name": resourceName,
"namespace": "namespace",
"labels": map[string]interface{}{"duck": "spotted"},
"labels": map[string]any{"duck": "spotted"},
},
"status": map[string]interface{}{
"decisions": []interface{}{
map[string]interface{}{
"status": map[string]any{
"decisions": []any{
map[string]any{
"clusterName": "production-01",
},
},
@@ -119,15 +118,15 @@ func TestGenerateParamsForDuckType(t *testing.T) {
}
duckTypeEmpty := &unstructured.Unstructured{
Object: map[string]interface{}{
"apiVersion": resourceApiVersion,
Object: map[string]any{
"apiVersion": resourceAPIVersion,
"kind": "Duck",
"metadata": map[string]interface{}{
"metadata": map[string]any{
"name": resourceName,
"namespace": "namespace",
"labels": map[string]interface{}{"duck": "canvasback"},
"labels": map[string]any{"duck": "canvasback"},
},
"status": map[string]interface{}{},
"status": map[string]any{},
},
}
@@ -137,7 +136,7 @@ func TestGenerateParamsForDuckType(t *testing.T) {
Namespace: "namespace",
},
Data: map[string]string{
"apiVersion": resourceApiVersion,
"apiVersion": resourceAPIVersion,
"kind": resourceKind,
"statusListKey": "decisions",
"matchKey": "clusterName",
@@ -151,7 +150,7 @@ func TestGenerateParamsForDuckType(t *testing.T) {
labelSelector metav1.LabelSelector
resource *unstructured.Unstructured
values map[string]string
expected []map[string]interface{}
expected []map[string]any
expectedError error
}{
{
@@ -159,8 +158,8 @@ func TestGenerateParamsForDuckType(t *testing.T) {
resourceName: "",
resource: duckType,
values: nil,
expected: []map[string]interface{}{},
expectedError: fmt.Errorf("There is a problem with the definition of the ClusterDecisionResource generator"),
expected: []map[string]any{},
expectedError: errors.New("there is a problem with the definition of the ClusterDecisionResource generator"),
},
/*** This does not work with the FAKE runtime client, fieldSelectors are broken.
{
@@ -177,7 +176,7 @@ func TestGenerateParamsForDuckType(t *testing.T) {
resourceName: resourceName,
resource: duckType,
values: nil,
expected: []map[string]interface{}{
expected: []map[string]any{
{"clusterName": "production-01", "name": "production-01", "server": "https://production-01.example.com"},
{"clusterName": "staging-01", "name": "staging-01", "server": "https://staging-01.example.com"},
@@ -191,7 +190,7 @@ func TestGenerateParamsForDuckType(t *testing.T) {
values: map[string]string{
"foo": "bar",
},
expected: []map[string]interface{}{
expected: []map[string]any{
{"clusterName": "production-01", "values.foo": "bar", "name": "production-01", "server": "https://production-01.example.com"},
},
expectedError: nil,
@@ -219,7 +218,7 @@ func TestGenerateParamsForDuckType(t *testing.T) {
labelSelector: metav1.LabelSelector{MatchLabels: map[string]string{"duck": "all-species"}},
resource: duckType,
values: nil,
expected: []map[string]interface{}{
expected: []map[string]any{
{"clusterName": "production-01", "name": "production-01", "server": "https://production-01.example.com"},
{"clusterName": "staging-01", "name": "staging-01", "server": "https://staging-01.example.com"},
@@ -234,7 +233,7 @@ func TestGenerateParamsForDuckType(t *testing.T) {
values: map[string]string{
"foo": "bar",
},
expected: []map[string]interface{}{
expected: []map[string]any{
{"clusterName": "production-01", "values.foo": "bar", "name": "production-01", "server": "https://production-01.example.com"},
},
expectedError: nil,
@@ -251,7 +250,7 @@ func TestGenerateParamsForDuckType(t *testing.T) {
}},
resource: duckType,
values: nil,
expected: []map[string]interface{}{
expected: []map[string]any{
{"clusterName": "production-01", "name": "production-01", "server": "https://production-01.example.com"},
{"clusterName": "staging-01", "name": "staging-01", "server": "https://staging-01.example.com"},
@@ -271,7 +270,7 @@ func TestGenerateParamsForDuckType(t *testing.T) {
resource: duckType,
values: nil,
expected: nil,
expectedError: fmt.Errorf("There is a problem with the definition of the ClusterDecisionResource generator"),
expectedError: errors.New("there is a problem with the definition of the ClusterDecisionResource generator"),
},
}
@@ -293,7 +292,7 @@ func TestGenerateParamsForDuckType(t *testing.T) {
fakeDynClient := dynfake.NewSimpleDynamicClientWithCustomListKinds(runtime.NewScheme(), gvrToListKind, testCase.resource)
duckTypeGenerator := NewDuckTypeGenerator(context.Background(), fakeDynClient, appClientset, "namespace")
duckTypeGenerator := NewDuckTypeGenerator(t.Context(), fakeDynClient, appClientset, "namespace")
applicationSetInfo := argoprojiov1alpha1.ApplicationSet{
ObjectMeta: metav1.ObjectMeta{
@@ -374,20 +373,20 @@ func TestGenerateParamsForDuckTypeGoTemplate(t *testing.T) {
}
duckType := &unstructured.Unstructured{
Object: map[string]interface{}{
"apiVersion": resourceApiVersion,
Object: map[string]any{
"apiVersion": resourceAPIVersion,
"kind": "Duck",
"metadata": map[string]interface{}{
"metadata": map[string]any{
"name": resourceName,
"namespace": "namespace",
"labels": map[string]interface{}{"duck": "all-species"},
"labels": map[string]any{"duck": "all-species"},
},
"status": map[string]interface{}{
"decisions": []interface{}{
map[string]interface{}{
"status": map[string]any{
"decisions": []any{
map[string]any{
"clusterName": "staging-01",
},
map[string]interface{}{
map[string]any{
"clusterName": "production-01",
},
},
@@ -396,17 +395,17 @@ func TestGenerateParamsForDuckTypeGoTemplate(t *testing.T) {
}
duckTypeProdOnly := &unstructured.Unstructured{
Object: map[string]interface{}{
"apiVersion": resourceApiVersion,
Object: map[string]any{
"apiVersion": resourceAPIVersion,
"kind": "Duck",
"metadata": map[string]interface{}{
"metadata": map[string]any{
"name": resourceName,
"namespace": "namespace",
"labels": map[string]interface{}{"duck": "spotted"},
"labels": map[string]any{"duck": "spotted"},
},
"status": map[string]interface{}{
"decisions": []interface{}{
map[string]interface{}{
"status": map[string]any{
"decisions": []any{
map[string]any{
"clusterName": "production-01",
},
},
@@ -415,15 +414,15 @@ func TestGenerateParamsForDuckTypeGoTemplate(t *testing.T) {
}
duckTypeEmpty := &unstructured.Unstructured{
Object: map[string]interface{}{
"apiVersion": resourceApiVersion,
Object: map[string]any{
"apiVersion": resourceAPIVersion,
"kind": "Duck",
"metadata": map[string]interface{}{
"metadata": map[string]any{
"name": resourceName,
"namespace": "namespace",
"labels": map[string]interface{}{"duck": "canvasback"},
"labels": map[string]any{"duck": "canvasback"},
},
"status": map[string]interface{}{},
"status": map[string]any{},
},
}
@@ -433,7 +432,7 @@ func TestGenerateParamsForDuckTypeGoTemplate(t *testing.T) {
Namespace: "namespace",
},
Data: map[string]string{
"apiVersion": resourceApiVersion,
"apiVersion": resourceAPIVersion,
"kind": resourceKind,
"statusListKey": "decisions",
"matchKey": "clusterName",
@@ -447,7 +446,7 @@ func TestGenerateParamsForDuckTypeGoTemplate(t *testing.T) {
labelSelector metav1.LabelSelector
resource *unstructured.Unstructured
values map[string]string
expected []map[string]interface{}
expected []map[string]any
expectedError error
}{
{
@@ -455,8 +454,8 @@ func TestGenerateParamsForDuckTypeGoTemplate(t *testing.T) {
resourceName: "",
resource: duckType,
values: nil,
expected: []map[string]interface{}{},
expectedError: fmt.Errorf("There is a problem with the definition of the ClusterDecisionResource generator"),
expected: []map[string]any{},
expectedError: errors.New("there is a problem with the definition of the ClusterDecisionResource generator"),
},
/*** This does not work with the FAKE runtime client, fieldSelectors are broken.
{
@@ -473,7 +472,7 @@ func TestGenerateParamsForDuckTypeGoTemplate(t *testing.T) {
resourceName: resourceName,
resource: duckType,
values: nil,
expected: []map[string]interface{}{
expected: []map[string]any{
{"clusterName": "production-01", "name": "production-01", "server": "https://production-01.example.com"},
{"clusterName": "staging-01", "name": "staging-01", "server": "https://staging-01.example.com"},
@@ -487,7 +486,7 @@ func TestGenerateParamsForDuckTypeGoTemplate(t *testing.T) {
values: map[string]string{
"foo": "bar",
},
expected: []map[string]interface{}{
expected: []map[string]any{
{"clusterName": "production-01", "values": map[string]string{"foo": "bar"}, "name": "production-01", "server": "https://production-01.example.com"},
},
expectedError: nil,
@@ -515,7 +514,7 @@ func TestGenerateParamsForDuckTypeGoTemplate(t *testing.T) {
labelSelector: metav1.LabelSelector{MatchLabels: map[string]string{"duck": "all-species"}},
resource: duckType,
values: nil,
expected: []map[string]interface{}{
expected: []map[string]any{
{"clusterName": "production-01", "name": "production-01", "server": "https://production-01.example.com"},
{"clusterName": "staging-01", "name": "staging-01", "server": "https://staging-01.example.com"},
@@ -530,7 +529,7 @@ func TestGenerateParamsForDuckTypeGoTemplate(t *testing.T) {
values: map[string]string{
"foo": "bar",
},
expected: []map[string]interface{}{
expected: []map[string]any{
{"clusterName": "production-01", "values": map[string]string{"foo": "bar"}, "name": "production-01", "server": "https://production-01.example.com"},
},
expectedError: nil,
@@ -547,7 +546,7 @@ func TestGenerateParamsForDuckTypeGoTemplate(t *testing.T) {
}},
resource: duckType,
values: nil,
expected: []map[string]interface{}{
expected: []map[string]any{
{"clusterName": "production-01", "name": "production-01", "server": "https://production-01.example.com"},
{"clusterName": "staging-01", "name": "staging-01", "server": "https://staging-01.example.com"},
@@ -567,7 +566,7 @@ func TestGenerateParamsForDuckTypeGoTemplate(t *testing.T) {
resource: duckType,
values: nil,
expected: nil,
expectedError: fmt.Errorf("There is a problem with the definition of the ClusterDecisionResource generator"),
expectedError: errors.New("there is a problem with the definition of the ClusterDecisionResource generator"),
},
}
@@ -589,7 +588,7 @@ func TestGenerateParamsForDuckTypeGoTemplate(t *testing.T) {
fakeDynClient := dynfake.NewSimpleDynamicClientWithCustomListKinds(runtime.NewScheme(), gvrToListKind, testCase.resource)
duckTypeGenerator := NewDuckTypeGenerator(context.Background(), fakeDynClient, appClientset, "namespace")
duckTypeGenerator := NewDuckTypeGenerator(t.Context(), fakeDynClient, appClientset, "namespace")
applicationSetInfo := argoprojiov1alpha1.ApplicationSet{
ObjectMeta: metav1.ObjectMeta{

View File

@@ -7,13 +7,13 @@ import (
"github.com/jeremywohl/flatten"
"sigs.k8s.io/controller-runtime/pkg/client"
"github.com/argoproj/argo-cd/v2/applicationset/utils"
"github.com/argoproj/argo-cd/v3/applicationset/utils"
"k8s.io/apimachinery/pkg/labels"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
"github.com/imdario/mergo"
"dario.cat/mergo"
log "github.com/sirupsen/logrus"
)
@@ -22,12 +22,12 @@ const (
)
type TransformResult struct {
Params []map[string]interface{}
Params []map[string]any
Template argoprojiov1alpha1.ApplicationSetTemplate
}
// Transform a spec generator to list of paramSets and a template
func Transform(requestedGenerator argoprojiov1alpha1.ApplicationSetGenerator, allGenerators map[string]Generator, baseTemplate argoprojiov1alpha1.ApplicationSetTemplate, appSet *argoprojiov1alpha1.ApplicationSet, genParams map[string]interface{}, client client.Client) ([]TransformResult, error) {
func Transform(requestedGenerator argoprojiov1alpha1.ApplicationSetGenerator, allGenerators map[string]Generator, baseTemplate argoprojiov1alpha1.ApplicationSetTemplate, appSet *argoprojiov1alpha1.ApplicationSet, genParams map[string]any, client client.Client) ([]TransformResult, error) {
// This is a custom version of the `LabelSelectorAsSelector` that is in k8s.io/apimachinery. This has been copied
// verbatim from that package, with the difference that we do not have any restrictions on label values. This is done
// so that, among other things, we can match on cluster urls.
@@ -52,7 +52,7 @@ func Transform(requestedGenerator argoprojiov1alpha1.ApplicationSetGenerator, al
}
continue
}
var params []map[string]interface{}
var params []map[string]any
if len(genParams) != 0 {
tempInterpolatedGenerator, err := InterpolateGenerator(&requestedGenerator, genParams, appSet.Spec.GoTemplate, appSet.Spec.GoTemplateOptions)
interpolatedGenerator = &tempInterpolatedGenerator
@@ -74,7 +74,7 @@ func Transform(requestedGenerator argoprojiov1alpha1.ApplicationSetGenerator, al
}
continue
}
var filterParams []map[string]interface{}
var filterParams []map[string]any
for _, param := range params {
flatParam, err := flattenParameters(param)
if err != nil {
@@ -123,7 +123,7 @@ func GetRelevantGenerators(requestedGenerator *argoprojiov1alpha1.ApplicationSet
return res
}
func flattenParameters(in map[string]interface{}) (map[string]string, error) {
func flattenParameters(in map[string]any) (map[string]string, error) {
flat, err := flatten.Flatten(in, "", flatten.DotStyle)
if err != nil {
return nil, fmt.Errorf("error flatenning parameters: %w", err)
@@ -149,7 +149,7 @@ func mergeGeneratorTemplate(g Generator, requestedGenerator *argoprojiov1alpha1.
// InterpolateGenerator allows interpolating the matrix's 2nd child generator with values from the 1st child generator
// "params" parameter is an array, where each index corresponds to a generator. Each index contains a map w/ that generator's parameters.
func InterpolateGenerator(requestedGenerator *argoprojiov1alpha1.ApplicationSetGenerator, params map[string]interface{}, useGoTemplate bool, goTemplateOptions []string) (argoprojiov1alpha1.ApplicationSetGenerator, error) {
func InterpolateGenerator(requestedGenerator *argoprojiov1alpha1.ApplicationSetGenerator, params map[string]any, useGoTemplate bool, goTemplateOptions []string) (argoprojiov1alpha1.ApplicationSetGenerator, error) {
render := utils.Render{}
interpolatedGenerator, err := render.RenderGeneratorParams(requestedGenerator, params, useGoTemplate, goTemplateOptions)
if err != nil {
@@ -159,16 +159,3 @@ func InterpolateGenerator(requestedGenerator *argoprojiov1alpha1.ApplicationSetG
return *interpolatedGenerator, nil
}
// Fixes https://github.com/argoproj/argo-cd/issues/11982 while ensuring backwards compatibility.
// This is only a short-term solution and should be removed in a future major version.
func dropDisabledNestedSelectors(generators []argoprojiov1alpha1.ApplicationSetNestedGenerator) bool {
var foundSelector bool
for i := range generators {
if generators[i].Selector != nil {
foundSelector = true
generators[i].Selector = nil
}
}
return foundSelector
}

View File

@@ -10,9 +10,9 @@ import (
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"github.com/argoproj/argo-cd/v2/applicationset/services/mocks"
"github.com/argoproj/argo-cd/v3/applicationset/services/mocks"
argov1alpha1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
argov1alpha1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
"github.com/stretchr/testify/mock"
corev1 "k8s.io/api/core/v1"
@@ -27,19 +27,19 @@ func TestMatchValues(t *testing.T) {
name string
elements []apiextensionsv1.JSON
selector *metav1.LabelSelector
expected []map[string]interface{}
expected []map[string]any
}{
{
name: "no filter",
elements: []apiextensionsv1.JSON{{Raw: []byte(`{"cluster": "cluster","url": "url"}`)}},
selector: &metav1.LabelSelector{},
expected: []map[string]interface{}{{"cluster": "cluster", "url": "url"}},
expected: []map[string]any{{"cluster": "cluster", "url": "url"}},
},
{
name: "nil",
elements: []apiextensionsv1.JSON{{Raw: []byte(`{"cluster": "cluster","url": "url"}`)}},
selector: nil,
expected: []map[string]interface{}{{"cluster": "cluster", "url": "url"}},
expected: []map[string]any{{"cluster": "cluster", "url": "url"}},
},
{
name: "values.foo should be foo but is ignore element",
@@ -49,7 +49,7 @@ func TestMatchValues(t *testing.T) {
"values.foo": "foo",
},
},
expected: []map[string]interface{}{},
expected: []map[string]any{},
},
{
name: "values.foo should be bar",
@@ -59,7 +59,7 @@ func TestMatchValues(t *testing.T) {
"values.foo": "bar",
},
},
expected: []map[string]interface{}{{"cluster": "cluster", "url": "url", "values.foo": "bar"}},
expected: []map[string]any{{"cluster": "cluster", "url": "url", "values.foo": "bar"}},
},
}
@@ -101,19 +101,19 @@ func TestMatchValuesGoTemplate(t *testing.T) {
name string
elements []apiextensionsv1.JSON
selector *metav1.LabelSelector
expected []map[string]interface{}
expected []map[string]any
}{
{
name: "no filter",
elements: []apiextensionsv1.JSON{{Raw: []byte(`{"cluster": "cluster","url": "url"}`)}},
selector: &metav1.LabelSelector{},
expected: []map[string]interface{}{{"cluster": "cluster", "url": "url"}},
expected: []map[string]any{{"cluster": "cluster", "url": "url"}},
},
{
name: "nil",
elements: []apiextensionsv1.JSON{{Raw: []byte(`{"cluster": "cluster","url": "url"}`)}},
selector: nil,
expected: []map[string]interface{}{{"cluster": "cluster", "url": "url"}},
expected: []map[string]any{{"cluster": "cluster", "url": "url"}},
},
{
name: "values.foo should be foo but is ignore element",
@@ -123,7 +123,7 @@ func TestMatchValuesGoTemplate(t *testing.T) {
"values.foo": "foo",
},
},
expected: []map[string]interface{}{},
expected: []map[string]any{},
},
{
name: "values.foo should be bar",
@@ -133,7 +133,7 @@ func TestMatchValuesGoTemplate(t *testing.T) {
"values.foo": "bar",
},
},
expected: []map[string]interface{}{{"cluster": "cluster", "url": "url", "values": map[string]interface{}{"foo": "bar"}}},
expected: []map[string]any{{"cluster": "cluster", "url": "url", "values": map[string]any{"foo": "bar"}}},
},
{
name: "values.0 should be bar",
@@ -143,7 +143,7 @@ func TestMatchValuesGoTemplate(t *testing.T) {
"values.0": "bar",
},
},
expected: []map[string]interface{}{{"cluster": "cluster", "url": "url", "values": []interface{}{"bar"}}},
expected: []map[string]any{{"cluster": "cluster", "url": "url", "values": []any{"bar"}}},
},
}
@@ -184,14 +184,14 @@ func TestTransForm(t *testing.T) {
testCases := []struct {
name string
selector *metav1.LabelSelector
expected []map[string]interface{}
expected []map[string]any
}{
{
name: "server filter",
selector: &metav1.LabelSelector{
MatchLabels: map[string]string{"server": "https://production-01.example.com"},
},
expected: []map[string]interface{}{{
expected: []map[string]any{{
"metadata.annotations.foo.argoproj.io": "production",
"metadata.labels.argocd.argoproj.io/secret-type": "cluster",
"metadata.labels.environment": "production",
@@ -199,6 +199,7 @@ func TestTransForm(t *testing.T) {
"name": "production_01/west",
"nameNormalized": "production-01-west",
"server": "https://production-01.example.com",
"project": "",
}},
},
{
@@ -206,7 +207,7 @@ func TestTransForm(t *testing.T) {
selector: &metav1.LabelSelector{
MatchLabels: map[string]string{"server": "https://some-really-long-url-that-will-exceed-63-characters.com"},
},
expected: []map[string]interface{}{{
expected: []map[string]any{{
"metadata.annotations.foo.argoproj.io": "production",
"metadata.labels.argocd.argoproj.io/secret-type": "cluster",
"metadata.labels.environment": "production",
@@ -214,6 +215,7 @@ func TestTransForm(t *testing.T) {
"name": "some-really-long-server-url",
"nameNormalized": "some-really-long-server-url",
"server": "https://some-really-long-url-that-will-exceed-63-characters.com",
"project": "",
}},
},
}
@@ -340,7 +342,7 @@ func getMockClusterGenerator() Generator {
appClientset := kubefake.NewSimpleClientset(runtimeClusters...)
fakeClient := fake.NewClientBuilder().WithObjects(clusters...).Build()
return NewClusterGenerator(fakeClient, context.Background(), appClientset, "namespace")
return NewClusterGenerator(context.Background(), fakeClient, appClientset, "namespace")
}
func getMockGitGenerator() Generator {
@@ -411,7 +413,7 @@ func TestInterpolateGenerator(t *testing.T) {
},
},
}
gitGeneratorParams := map[string]interface{}{
gitGeneratorParams := map[string]any{
"path": "p1/p2/app3",
"path.basename": "app3",
"path[0]": "p1",
@@ -440,7 +442,7 @@ func TestInterpolateGenerator(t *testing.T) {
Template: argov1alpha1.ApplicationSetTemplate{},
},
}
clusterGeneratorParams := map[string]interface{}{
clusterGeneratorParams := map[string]any{
"name": "production_01/west", "server": "https://production-01.example.com",
}
interpolatedGenerator, err = InterpolateGenerator(requestedGenerator, clusterGeneratorParams, false, nil)
@@ -466,8 +468,8 @@ func TestInterpolateGenerator_go(t *testing.T) {
},
},
}
gitGeneratorParams := map[string]interface{}{
"path": map[string]interface{}{
gitGeneratorParams := map[string]any{
"path": map[string]any{
"path": "p1/p2/app3",
"segments": []string{"p1", "p2", "app3"},
},
@@ -495,7 +497,7 @@ func TestInterpolateGenerator_go(t *testing.T) {
Template: argov1alpha1.ApplicationSetTemplate{},
},
}
clusterGeneratorParams := map[string]interface{}{
clusterGeneratorParams := map[string]any{
"name": "production_01/west", "server": "https://production-01.example.com",
}
interpolatedGenerator, err = InterpolateGenerator(requestedGenerator, clusterGeneratorParams, true, nil)
@@ -510,7 +512,7 @@ func TestInterpolateGenerator_go(t *testing.T) {
func TestInterpolateGeneratorError(t *testing.T) {
type args struct {
requestedGenerator *argov1alpha1.ApplicationSetGenerator
params map[string]interface{}
params map[string]any
useGoTemplate bool
goTemplateOptions []string
}
@@ -528,7 +530,7 @@ func TestInterpolateGeneratorError(t *testing.T) {
}, want: argov1alpha1.ApplicationSetGenerator{}, expectedErrStr: "generator is empty"},
{name: "No Params", args: args{
requestedGenerator: &argov1alpha1.ApplicationSetGenerator{},
params: map[string]interface{}{},
params: map[string]any{},
useGoTemplate: false,
goTemplateOptions: nil,
}, want: argov1alpha1.ApplicationSetGenerator{}, expectedErrStr: ""},
@@ -543,7 +545,7 @@ func TestInterpolateGeneratorError(t *testing.T) {
"resolved": "{{ index .rmap (default .override .test) }}",
},
}},
params: map[string]interface{}{
params: map[string]any{
"name": "in-cluster",
"override": "foo",
},

View File

@@ -15,10 +15,10 @@ import (
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/yaml"
"github.com/argoproj/argo-cd/v2/applicationset/services"
"github.com/argoproj/argo-cd/v2/applicationset/utils"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
"github.com/argoproj/argo-cd/v2/util/gpg"
"github.com/argoproj/argo-cd/v3/applicationset/services"
"github.com/argoproj/argo-cd/v3/applicationset/utils"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
"github.com/argoproj/argo-cd/v3/util/gpg"
)
var _ Generator = (*GitGenerator)(nil)
@@ -28,36 +28,43 @@ type GitGenerator struct {
namespace string
}
func NewGitGenerator(repos services.Repos, namespace string) Generator {
// NewGitGenerator creates a new instance of Git Generator
func NewGitGenerator(repos services.Repos, controllerNamespace string) Generator {
g := &GitGenerator{
repos: repos,
namespace: namespace,
namespace: controllerNamespace,
}
return g
}
// GetTemplate returns the ApplicationSetTemplate associated with the Git generator
// from the provided ApplicationSetGenerator. This template defines how each
// generated Argo CD Application should be rendered.
func (g *GitGenerator) GetTemplate(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator) *argoprojiov1alpha1.ApplicationSetTemplate {
return &appSetGenerator.Git.Template
}
// GetRequeueAfter returns the duration after which the Git generator should be
// requeued for reconciliation. If RequeueAfterSeconds is set in the generator spec,
// it uses that value. Otherwise, it falls back to a default requeue interval (3 minutes).
func (g *GitGenerator) GetRequeueAfter(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator) time.Duration {
// Return a requeue default of 3 minutes, if no default is specified.
if appSetGenerator.Git.RequeueAfterSeconds != nil {
return time.Duration(*appSetGenerator.Git.RequeueAfterSeconds) * time.Second
}
return DefaultRequeueAfterSeconds
return getDefaultRequeueAfter()
}
func (g *GitGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, appSet *argoprojiov1alpha1.ApplicationSet, client client.Client) ([]map[string]interface{}, error) {
// GenerateParams generates a list of parameter maps for the ApplicationSet by evaluating the Git generator's configuration.
// It supports both directory-based and file-based Git generators.
func (g *GitGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, appSet *argoprojiov1alpha1.ApplicationSet, client client.Client) ([]map[string]any, error) {
if appSetGenerator == nil {
return nil, EmptyAppSetGeneratorError
return nil, ErrEmptyAppSetGenerator
}
if appSetGenerator.Git == nil {
return nil, EmptyAppSetGeneratorError
return nil, ErrEmptyAppSetGenerator
}
noRevisionCache := appSet.RefreshRequired()
@@ -67,28 +74,34 @@ func (g *GitGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.Applic
// When the project field is templated, the contents of the git repo are required to run the git generator and get the templated value,
// but git generator cannot be called without verifying the commit signature.
// In this case, we skip the signature verification.
// If the project is templated, we skip the commit verification
if !strings.Contains(appSet.Spec.Template.Spec.Project, "{{") {
project := appSet.Spec.Template.Spec.Project
appProject := &argoprojiov1alpha1.AppProject{}
namespace := g.namespace
if namespace == "" {
namespace = appSet.Namespace
controllerNamespace := g.namespace
if controllerNamespace == "" {
controllerNamespace = appSet.Namespace
}
if err := client.Get(context.TODO(), types.NamespacedName{Name: project, Namespace: namespace}, appProject); err != nil {
if err := client.Get(context.TODO(), types.NamespacedName{Name: project, Namespace: controllerNamespace}, appProject); err != nil {
return nil, fmt.Errorf("error getting project %s: %w", project, err)
}
// we need to verify the signature on the Git revision if GPG is enabled
verifyCommit = appProject.Spec.SignatureKeys != nil && len(appProject.Spec.SignatureKeys) > 0 && gpg.IsGPGEnabled()
verifyCommit = len(appProject.Spec.SignatureKeys) > 0 && gpg.IsGPGEnabled()
}
// If the project field is templated, we cannot resolve the project name, so we pass an empty string to the repo-server.
// This means only "globally-scoped" repo credentials can be used for such appsets.
project := resolveProjectName(appSet.Spec.Template.Spec.Project)
var err error
var res []map[string]interface{}
if len(appSetGenerator.Git.Directories) != 0 {
res, err = g.generateParamsForGitDirectories(appSetGenerator, noRevisionCache, verifyCommit, appSet.Spec.GoTemplate, appSet.Spec.GoTemplateOptions)
} else if len(appSetGenerator.Git.Files) != 0 {
res, err = g.generateParamsForGitFiles(appSetGenerator, noRevisionCache, verifyCommit, appSet.Spec.GoTemplate, appSet.Spec.GoTemplateOptions)
} else {
return nil, EmptyAppSetGeneratorError
var res []map[string]any
switch {
case len(appSetGenerator.Git.Directories) != 0:
res, err = g.generateParamsForGitDirectories(appSetGenerator, noRevisionCache, verifyCommit, appSet.Spec.GoTemplate, project, appSet.Spec.GoTemplateOptions)
case len(appSetGenerator.Git.Files) != 0:
res, err = g.generateParamsForGitFiles(appSetGenerator, noRevisionCache, verifyCommit, appSet.Spec.GoTemplate, project, appSet.Spec.GoTemplateOptions)
default:
return nil, ErrEmptyAppSetGenerator
}
if err != nil {
return nil, fmt.Errorf("error generating params from git: %w", err)
@@ -97,9 +110,11 @@ func (g *GitGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.Applic
return res, nil
}
func (g *GitGenerator) generateParamsForGitDirectories(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, noRevisionCache, verifyCommit bool, useGoTemplate bool, goTemplateOptions []string) ([]map[string]interface{}, error) {
// Directories, not files
allPaths, err := g.repos.GetDirectories(context.TODO(), appSetGenerator.Git.RepoURL, appSetGenerator.Git.Revision, noRevisionCache, verifyCommit)
// generateParamsForGitDirectories generates parameters for an ApplicationSet using a directory-based Git generator.
// It fetches all directories from the given Git repository and revision, optionally using a revision cache and verifying commits.
// It then filters the directories based on the generator's configuration and renders parameters for the resulting applications
func (g *GitGenerator) generateParamsForGitDirectories(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, noRevisionCache, verifyCommit, useGoTemplate bool, project string, goTemplateOptions []string) ([]map[string]any, error) {
allPaths, err := g.repos.GetDirectories(context.TODO(), appSetGenerator.Git.RepoURL, appSetGenerator.Git.Revision, project, noRevisionCache, verifyCommit)
if err != nil {
return nil, fmt.Errorf("error getting directories from repo: %w", err)
}
@@ -122,70 +137,116 @@ func (g *GitGenerator) generateParamsForGitDirectories(appSetGenerator *argoproj
return res, nil
}
func (g *GitGenerator) generateParamsForGitFiles(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, noRevisionCache, verifyCommit bool, useGoTemplate bool, goTemplateOptions []string) ([]map[string]interface{}, error) {
// Get all files that match the requested path string, removing duplicates
allFiles := make(map[string][]byte)
for _, requestedPath := range appSetGenerator.Git.Files {
files, err := g.repos.GetFiles(context.TODO(), appSetGenerator.Git.RepoURL, appSetGenerator.Git.Revision, requestedPath.Path, noRevisionCache, verifyCommit)
// generateParamsForGitFiles generates parameters for an ApplicationSet using a file-based Git generator.
// It retrieves and processes specified files from the Git repository, supporting both YAML and JSON formats,
// and returns a list of parameter maps extracted from the content.
func (g *GitGenerator) generateParamsForGitFiles(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, noRevisionCache, verifyCommit, useGoTemplate bool, project string, goTemplateOptions []string) ([]map[string]any, error) {
// fileContentMap maps absolute file paths to their byte content
fileContentMap := make(map[string][]byte)
var includePatterns []string
var excludePatterns []string
for _, req := range appSetGenerator.Git.Files {
if req.Exclude {
excludePatterns = append(excludePatterns, req.Path)
} else {
includePatterns = append(includePatterns, req.Path)
}
}
// Fetch all files from include patterns
for _, includePattern := range includePatterns {
retrievedFiles, err := g.repos.GetFiles(
context.TODO(),
appSetGenerator.Git.RepoURL,
appSetGenerator.Git.Revision,
project,
includePattern,
noRevisionCache,
verifyCommit,
)
if err != nil {
return nil, err
}
for filePath, content := range files {
allFiles[filePath] = content
for absPath, content := range retrievedFiles {
fileContentMap[absPath] = content
}
}
// Extract the unduplicated map into a list, and sort by path to ensure a deterministic
// processing order in the subsequent step
allPaths := []string{}
for path := range allFiles {
allPaths = append(allPaths, path)
}
sort.Strings(allPaths)
// Generate params from each path, and return
res := []map[string]interface{}{}
for _, path := range allPaths {
// A JSON / YAML file path can contain multiple sets of parameters (ie it is an array)
paramsArray, err := g.generateParamsFromGitFile(path, allFiles[path], appSetGenerator.Git.Values, useGoTemplate, goTemplateOptions, appSetGenerator.Git.PathParamPrefix)
// Now remove files matching any exclude pattern
for _, excludePattern := range excludePatterns {
matchingFiles, err := g.repos.GetFiles(
context.TODO(),
appSetGenerator.Git.RepoURL,
appSetGenerator.Git.Revision,
project,
excludePattern,
noRevisionCache,
verifyCommit,
)
if err != nil {
return nil, fmt.Errorf("unable to process file '%s': %w", path, err)
return nil, err
}
for absPath := range matchingFiles {
// if the file doesn't exist already and you try to delete it from the map
// the operation is a no-op. Its safe and doesn't return an error or panic.
// Hence, we can simply try to delete the file from the path without checking
// if that file already exists in the map.
delete(fileContentMap, absPath)
}
res = append(res, paramsArray...)
}
return res, nil
// Get a sorted list of file paths to ensure deterministic processing order
var filePaths []string
for path := range fileContentMap {
filePaths = append(filePaths, path)
}
sort.Strings(filePaths)
var allParams []map[string]any
for _, filePath := range filePaths {
// A JSON / YAML file path can contain multiple sets of parameters (ie it is an array)
paramsFromFileArray, err := g.generateParamsFromGitFile(filePath, fileContentMap[filePath], appSetGenerator.Git.Values, useGoTemplate, goTemplateOptions, appSetGenerator.Git.PathParamPrefix)
if err != nil {
return nil, fmt.Errorf("unable to process file '%s': %w", filePath, err)
}
allParams = append(allParams, paramsFromFileArray...)
}
return allParams, nil
}
func (g *GitGenerator) generateParamsFromGitFile(filePath string, fileContent []byte, values map[string]string, useGoTemplate bool, goTemplateOptions []string, pathParamPrefix string) ([]map[string]interface{}, error) {
objectsFound := []map[string]interface{}{}
// generateParamsFromGitFile parses the content of a Git-tracked file and generates a slice of parameter maps.
// The file can contain a single YAML/JSON object or an array of such objects. Depending on the useGoTemplate flag,
// it either preserves structure for Go templating or flattens the objects for use as plain key-value parameters.
func (g *GitGenerator) generateParamsFromGitFile(filePath string, fileContent []byte, values map[string]string, useGoTemplate bool, goTemplateOptions []string, pathParamPrefix string) ([]map[string]any, error) {
objectsFound := []map[string]any{}
// First, we attempt to parse as an array
err := yaml.Unmarshal(fileContent, &objectsFound)
if err != nil {
// If unable to parse as an array, attempt to parse as a single object
singleObj := make(map[string]interface{})
err = yaml.Unmarshal(fileContent, &singleObj)
// First, we attempt to parse as a single object.
// This will also succeed for empty files.
singleObj := map[string]any{}
err := yaml.Unmarshal(fileContent, &singleObj)
if err == nil {
objectsFound = append(objectsFound, singleObj)
} else {
// If unable to parse as an object, try to parse as an array
err = yaml.Unmarshal(fileContent, &objectsFound)
if err != nil {
return nil, fmt.Errorf("unable to parse file: %w", err)
}
objectsFound = append(objectsFound, singleObj)
} else if len(objectsFound) == 0 {
// If file is valid but empty, add a default empty item
objectsFound = append(objectsFound, map[string]interface{}{})
}
res := []map[string]interface{}{}
res := []map[string]any{}
for _, objectFound := range objectsFound {
params := map[string]interface{}{}
params := map[string]any{}
if useGoTemplate {
for k, v := range objectFound {
params[k] = v
}
paramPath := map[string]interface{}{}
paramPath := map[string]any{}
paramPath["path"] = path.Dir(filePath)
paramPath["basename"] = path.Base(paramPath["path"].(string))
@@ -194,7 +255,7 @@ func (g *GitGenerator) generateParamsFromGitFile(filePath string, fileContent []
paramPath["filenameNormalized"] = utils.SanitizeName(path.Base(paramPath["filename"].(string)))
paramPath["segments"] = strings.Split(paramPath["path"].(string), "/")
if pathParamPrefix != "" {
params[pathParamPrefix] = map[string]interface{}{"path": paramPath}
params[pathParamPrefix] = map[string]any{"path": paramPath}
} else {
params["path"] = paramPath
}
@@ -216,7 +277,7 @@ func (g *GitGenerator) generateParamsFromGitFile(filePath string, fileContent []
params[pathParamName+".basenameNormalized"] = utils.SanitizeName(path.Base(params[pathParamName].(string)))
params[pathParamName+".filenameNormalized"] = utils.SanitizeName(path.Base(params[pathParamName+".filename"].(string)))
for k, v := range strings.Split(params[pathParamName].(string), "/") {
if len(v) > 0 {
if v != "" {
params[pathParamName+"["+strconv.Itoa(k)+"]"] = v
}
}
@@ -233,8 +294,10 @@ func (g *GitGenerator) generateParamsFromGitFile(filePath string, fileContent []
return res, nil
}
// filterApps filters the list of all application paths based on inclusion and exclusion rules
// defined in GitDirectoryGeneratorItems. Each item can either include or exclude matching paths.
func (g *GitGenerator) filterApps(directories []argoprojiov1alpha1.GitDirectoryGeneratorItem, allPaths []string) []string {
res := []string{}
var res []string
for _, appPath := range allPaths {
appInclude := false
appExclude := false
@@ -261,19 +324,22 @@ func (g *GitGenerator) filterApps(directories []argoprojiov1alpha1.GitDirectoryG
return res
}
func (g *GitGenerator) generateParamsFromApps(requestedApps []string, appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, useGoTemplate bool, goTemplateOptions []string) ([]map[string]interface{}, error) {
res := make([]map[string]interface{}, len(requestedApps))
// generateParamsFromApps generates a list of parameter maps based on the given app paths.
// Each app path is converted into a parameter object with path metadata (basename, segments, etc.).
// It supports both Go templates and flat key-value parameters.
func (g *GitGenerator) generateParamsFromApps(requestedApps []string, appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, useGoTemplate bool, goTemplateOptions []string) ([]map[string]any, error) {
res := make([]map[string]any, len(requestedApps))
for i, a := range requestedApps {
params := make(map[string]interface{}, 5)
params := make(map[string]any, 5)
if useGoTemplate {
paramPath := map[string]interface{}{}
paramPath := map[string]any{}
paramPath["path"] = a
paramPath["basename"] = path.Base(a)
paramPath["basenameNormalized"] = utils.SanitizeName(path.Base(a))
paramPath["segments"] = strings.Split(paramPath["path"].(string), "/")
if appSetGenerator.Git.PathParamPrefix != "" {
params[appSetGenerator.Git.PathParamPrefix] = map[string]interface{}{"path": paramPath}
params[appSetGenerator.Git.PathParamPrefix] = map[string]any{"path": paramPath}
} else {
params["path"] = paramPath
}
@@ -286,7 +352,7 @@ func (g *GitGenerator) generateParamsFromApps(requestedApps []string, appSetGene
params[pathParamName+".basename"] = path.Base(a)
params[pathParamName+".basenameNormalized"] = utils.SanitizeName(path.Base(a))
for k, v := range strings.Split(params[pathParamName].(string), "/") {
if len(v) > 0 {
if v != "" {
params[pathParamName+"["+strconv.Itoa(k)+"]"] = v
}
}
@@ -302,3 +368,12 @@ func (g *GitGenerator) generateParamsFromApps(requestedApps []string, appSetGene
return res, nil
}
// resolveProjectName resolves a project name whether templated or not
func resolveProjectName(project string) string {
if strings.Contains(project, "{{") {
return ""
}
return project
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,12 +1,13 @@
package generators
import (
"fmt"
"errors"
"time"
"sigs.k8s.io/controller-runtime/pkg/client"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
"github.com/argoproj/argo-cd/v3/util/env"
)
// Generator defines the interface implemented by all ApplicationSet generators.
@@ -14,7 +15,7 @@ type Generator interface {
// GenerateParams interprets the ApplicationSet and generates all relevant parameters for the application template.
// The expected / desired list of parameters is returned, it then will be render and reconciled
// against the current state of the Applications in the cluster.
GenerateParams(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, applicationSetInfo *argoprojiov1alpha1.ApplicationSet, client client.Client) ([]map[string]interface{}, error)
GenerateParams(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, applicationSetInfo *argoprojiov1alpha1.ApplicationSet, client client.Client) ([]map[string]any, error)
// GetRequeueAfter is the generator can controller the next reconciled loop
// In case there is more then one generator the time will be the minimum of the times.
@@ -26,11 +27,15 @@ type Generator interface {
}
var (
EmptyAppSetGeneratorError = fmt.Errorf("ApplicationSet is empty")
NoRequeueAfter time.Duration
ErrEmptyAppSetGenerator = errors.New("ApplicationSet is empty")
NoRequeueAfter time.Duration
)
// DefaultRequeueAfterSeconds is used when GetRequeueAfter is not specified, it is the default time to wait before the next reconcile loop
const (
DefaultRequeueAfterSeconds = 3 * time.Minute
DefaultRequeueAfter = 3 * time.Minute
)
func getDefaultRequeueAfter() time.Duration {
// Default is 3 minutes, min is 1 second, max is 1 year
return env.ParseDurationFromEnv("ARGOCD_APPLICATIONSET_CONTROLLER_REQUEUE_AFTER", DefaultRequeueAfter, 1*time.Second, 8760*time.Hour)
}

View File

@@ -0,0 +1,29 @@
package generators
import (
"testing"
"time"
"github.com/stretchr/testify/assert"
)
func Test_getDefaultRequeueAfter(t *testing.T) {
tests := []struct {
name string
requeueAfterEnv string
want time.Duration
}{
{name: "Default", requeueAfterEnv: "", want: DefaultRequeueAfter},
{name: "Min", requeueAfterEnv: "1s", want: 1 * time.Second},
{name: "Max", requeueAfterEnv: "8760h", want: 8760 * time.Hour},
{name: "Override", requeueAfterEnv: "10m", want: 10 * time.Minute},
{name: "LessThanMin", requeueAfterEnv: "1ms", want: DefaultRequeueAfter},
{name: "MoreThanMax", requeueAfterEnv: "8761h", want: DefaultRequeueAfter},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
t.Setenv("ARGOCD_APPLICATIONSET_CONTROLLER_REQUEUE_AFTER", tt.requeueAfterEnv)
assert.Equalf(t, tt.want, getDefaultRequeueAfter(), "getDefaultRequeueAfter()")
})
}
}

View File

@@ -2,13 +2,14 @@ package generators
import (
"encoding/json"
"errors"
"fmt"
"time"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/yaml"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
)
var _ Generator = (*ListGenerator)(nil)
@@ -20,7 +21,7 @@ func NewListGenerator() Generator {
return g
}
func (g *ListGenerator) GetRequeueAfter(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator) time.Duration {
func (g *ListGenerator) GetRequeueAfter(_ *argoprojiov1alpha1.ApplicationSetGenerator) time.Duration {
return NoRequeueAfter
}
@@ -28,20 +29,20 @@ func (g *ListGenerator) GetTemplate(appSetGenerator *argoprojiov1alpha1.Applicat
return &appSetGenerator.List.Template
}
func (g *ListGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, appSet *argoprojiov1alpha1.ApplicationSet, _ client.Client) ([]map[string]interface{}, error) {
func (g *ListGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, appSet *argoprojiov1alpha1.ApplicationSet, _ client.Client) ([]map[string]any, error) {
if appSetGenerator == nil {
return nil, EmptyAppSetGeneratorError
return nil, ErrEmptyAppSetGenerator
}
if appSetGenerator.List == nil {
return nil, EmptyAppSetGeneratorError
return nil, ErrEmptyAppSetGenerator
}
res := make([]map[string]interface{}, len(appSetGenerator.List.Elements))
res := make([]map[string]any, len(appSetGenerator.List.Elements))
for i, tmpItem := range appSetGenerator.List.Elements {
params := map[string]interface{}{}
var element map[string]interface{}
params := map[string]any{}
var element map[string]any
err := json.Unmarshal(tmpItem.Raw, &element)
if err != nil {
return nil, fmt.Errorf("error unmarshling list element %w", err)
@@ -52,16 +53,16 @@ func (g *ListGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.Appli
} else {
for key, value := range element {
if key == "values" {
values, ok := (value).(map[string]interface{})
values, ok := (value).(map[string]any)
if !ok {
return nil, fmt.Errorf("error parsing values map")
return nil, errors.New("error parsing values map")
}
for k, v := range values {
value, ok := v.(string)
if !ok {
return nil, fmt.Errorf("error parsing value as string %w", err)
}
params[fmt.Sprintf("values.%s", k)] = value
params["values."+k] = value
}
} else {
v, ok := value.(string)
@@ -76,8 +77,8 @@ func (g *ListGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.Appli
}
// Append elements from ElementsYaml to the response
if len(appSetGenerator.List.ElementsYaml) > 0 {
var yamlElements []map[string]interface{}
if appSetGenerator.List.ElementsYaml != "" {
var yamlElements []map[string]any
err := yaml.Unmarshal([]byte(appSetGenerator.List.ElementsYaml), &yamlElements)
if err != nil {
return nil, fmt.Errorf("error unmarshling decoded ElementsYaml %w", err)

View File

@@ -8,20 +8,20 @@ import (
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
)
func TestGenerateListParams(t *testing.T) {
testCases := []struct {
elements []apiextensionsv1.JSON
expected []map[string]interface{}
expected []map[string]any
}{
{
elements: []apiextensionsv1.JSON{{Raw: []byte(`{"cluster": "cluster","url": "url"}`)}},
expected: []map[string]interface{}{{"cluster": "cluster", "url": "url"}},
expected: []map[string]any{{"cluster": "cluster", "url": "url"}},
}, {
elements: []apiextensionsv1.JSON{{Raw: []byte(`{"cluster": "cluster","url": "url","values":{"foo":"bar"}}`)}},
expected: []map[string]interface{}{{"cluster": "cluster", "url": "url", "values.foo": "bar"}},
expected: []map[string]any{{"cluster": "cluster", "url": "url", "values.foo": "bar"}},
},
}
@@ -49,14 +49,14 @@ func TestGenerateListParams(t *testing.T) {
func TestGenerateListParamsGoTemplate(t *testing.T) {
testCases := []struct {
elements []apiextensionsv1.JSON
expected []map[string]interface{}
expected []map[string]any
}{
{
elements: []apiextensionsv1.JSON{{Raw: []byte(`{"cluster": "cluster","url": "url"}`)}},
expected: []map[string]interface{}{{"cluster": "cluster", "url": "url"}},
expected: []map[string]any{{"cluster": "cluster", "url": "url"}},
}, {
elements: []apiextensionsv1.JSON{{Raw: []byte(`{"cluster": "cluster","url": "url","values":{"foo":"bar"}}`)}},
expected: []map[string]interface{}{{"cluster": "cluster", "url": "url", "values": map[string]interface{}{"foo": "bar"}}},
expected: []map[string]any{{"cluster": "cluster", "url": "url", "values": map[string]any{"foo": "bar"}}},
},
}

View File

@@ -1,24 +1,23 @@
package generators
import (
"errors"
"fmt"
"time"
"github.com/imdario/mergo"
"dario.cat/mergo"
"sigs.k8s.io/controller-runtime/pkg/client"
"github.com/argoproj/argo-cd/v2/applicationset/utils"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
log "github.com/sirupsen/logrus"
"github.com/argoproj/argo-cd/v3/applicationset/utils"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
)
var _ Generator = (*MatrixGenerator)(nil)
var (
ErrMoreThanTwoGenerators = fmt.Errorf("found more than two generators, Matrix support only two")
ErrLessThanTwoGenerators = fmt.Errorf("found less than two generators, Matrix support only two")
ErrMoreThenOneInnerGenerators = fmt.Errorf("found more than one generator in matrix.Generators")
ErrMoreThanTwoGenerators = errors.New("found more than two generators, Matrix support only two")
ErrLessThanTwoGenerators = errors.New("found less than two generators, Matrix support only two")
ErrMoreThenOneInnerGenerators = errors.New("found more than one generator in matrix.Generators")
)
type MatrixGenerator struct {
@@ -33,9 +32,9 @@ func NewMatrixGenerator(supportedGenerators map[string]Generator) Generator {
return m
}
func (m *MatrixGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, appSet *argoprojiov1alpha1.ApplicationSet, client client.Client) ([]map[string]interface{}, error) {
func (m *MatrixGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, appSet *argoprojiov1alpha1.ApplicationSet, client client.Client) ([]map[string]any, error) {
if appSetGenerator.Matrix == nil {
return nil, EmptyAppSetGeneratorError
return nil, ErrEmptyAppSetGenerator
}
if len(appSetGenerator.Matrix.Generators) < 2 {
@@ -46,7 +45,7 @@ func (m *MatrixGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.App
return nil, ErrMoreThanTwoGenerators
}
res := []map[string]interface{}{}
res := []map[string]any{}
g0, err := m.getParams(appSetGenerator.Matrix.Generators[0], appSet, nil, client)
if err != nil {
@@ -59,7 +58,7 @@ func (m *MatrixGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.App
}
for _, b := range g1 {
if appSet.Spec.GoTemplate {
tmp := map[string]interface{}{}
tmp := map[string]any{}
if err := mergo.Merge(&tmp, b, mergo.WithOverride); err != nil {
return nil, fmt.Errorf("failed to merge params from the second generator in the matrix generator with temp map: %w", err)
}
@@ -72,7 +71,7 @@ func (m *MatrixGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.App
if err != nil {
return nil, fmt.Errorf("failed to combine string maps with merging params for the matrix generator: %w", err)
}
res = append(res, utils.ConvertToMapStringInterface(val))
res = append(res, val)
}
}
}
@@ -80,27 +79,15 @@ func (m *MatrixGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.App
return res, nil
}
func (m *MatrixGenerator) getParams(appSetBaseGenerator argoprojiov1alpha1.ApplicationSetNestedGenerator, appSet *argoprojiov1alpha1.ApplicationSet, params map[string]interface{}, client client.Client) ([]map[string]interface{}, error) {
func (m *MatrixGenerator) getParams(appSetBaseGenerator argoprojiov1alpha1.ApplicationSetNestedGenerator, appSet *argoprojiov1alpha1.ApplicationSet, params map[string]any, client client.Client) ([]map[string]any, error) {
matrixGen, err := getMatrixGenerator(appSetBaseGenerator)
if err != nil {
return nil, err
}
if matrixGen != nil && !appSet.Spec.ApplyNestedSelectors {
foundSelector := dropDisabledNestedSelectors(matrixGen.Generators)
if foundSelector {
log.Warnf("AppSet '%v' defines selector on nested matrix generator's generator without enabling them via 'spec.applyNestedSelectors', ignoring nested selectors", appSet.Name)
}
}
mergeGen, err := getMergeGenerator(appSetBaseGenerator)
if err != nil {
return nil, fmt.Errorf("error retrieving merge generator: %w", err)
}
if mergeGen != nil && !appSet.Spec.ApplyNestedSelectors {
foundSelector := dropDisabledNestedSelectors(mergeGen.Generators)
if foundSelector {
log.Warnf("AppSet '%v' defines selector on nested merge generator's generator without enabling them via 'spec.applyNestedSelectors', ignoring nested selectors", appSet.Name)
}
}
t, err := Transform(
argoprojiov1alpha1.ApplicationSetGenerator{
@@ -125,7 +112,7 @@ func (m *MatrixGenerator) getParams(appSetBaseGenerator argoprojiov1alpha1.Appli
}
if len(t) == 0 {
return nil, fmt.Errorf("child generator generated no parameters")
return nil, errors.New("child generator generated no parameters")
}
if len(t) > 1 {
@@ -168,9 +155,8 @@ func (m *MatrixGenerator) GetRequeueAfter(appSetGenerator *argoprojiov1alpha1.Ap
if found {
return res
} else {
return NoRequeueAfter
}
return NoRequeueAfter
}
func getMatrixGenerator(r argoprojiov1alpha1.ApplicationSetNestedGenerator) (*argoprojiov1alpha1.MatrixGenerator, error) {

View File

@@ -1,7 +1,6 @@
package generators
import (
"context"
"testing"
"time"
@@ -13,36 +12,35 @@ import (
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/client/fake"
"github.com/argoproj/argo-cd/v2/applicationset/services/mocks"
"github.com/argoproj/argo-cd/v3/applicationset/services/mocks"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
"github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
"github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
)
func TestMatrixGenerate(t *testing.T) {
gitGenerator := &argoprojiov1alpha1.GitGenerator{
gitGenerator := &v1alpha1.GitGenerator{
RepoURL: "RepoURL",
Revision: "Revision",
Directories: []argoprojiov1alpha1.GitDirectoryGeneratorItem{{Path: "*"}},
Directories: []v1alpha1.GitDirectoryGeneratorItem{{Path: "*"}},
}
listGenerator := &argoprojiov1alpha1.ListGenerator{
listGenerator := &v1alpha1.ListGenerator{
Elements: []apiextensionsv1.JSON{{Raw: []byte(`{"cluster": "Cluster","url": "Url", "templated": "test-{{path.basenameNormalized}}"}`)}},
}
testCases := []struct {
name string
baseGenerators []argoprojiov1alpha1.ApplicationSetNestedGenerator
baseGenerators []v1alpha1.ApplicationSetNestedGenerator
expectedErr error
expected []map[string]interface{}
expected []map[string]any
}{
{
name: "happy flow - generate params",
baseGenerators: []argoprojiov1alpha1.ApplicationSetNestedGenerator{
baseGenerators: []v1alpha1.ApplicationSetNestedGenerator{
{
Git: gitGenerator,
},
@@ -50,16 +48,16 @@ func TestMatrixGenerate(t *testing.T) {
List: listGenerator,
},
},
expected: []map[string]interface{}{
expected: []map[string]any{
{"path": "app1", "path.basename": "app1", "path.basenameNormalized": "app1", "cluster": "Cluster", "url": "Url", "templated": "test-app1"},
{"path": "app2", "path.basename": "app2", "path.basenameNormalized": "app2", "cluster": "Cluster", "url": "Url", "templated": "test-app2"},
},
},
{
name: "happy flow - generate params from two lists",
baseGenerators: []argoprojiov1alpha1.ApplicationSetNestedGenerator{
baseGenerators: []v1alpha1.ApplicationSetNestedGenerator{
{
List: &argoprojiov1alpha1.ListGenerator{
List: &v1alpha1.ListGenerator{
Elements: []apiextensionsv1.JSON{
{Raw: []byte(`{"a": "1"}`)},
{Raw: []byte(`{"a": "2"}`)},
@@ -67,7 +65,7 @@ func TestMatrixGenerate(t *testing.T) {
},
},
{
List: &argoprojiov1alpha1.ListGenerator{
List: &v1alpha1.ListGenerator{
Elements: []apiextensionsv1.JSON{
{Raw: []byte(`{"b": "1"}`)},
{Raw: []byte(`{"b": "2"}`)},
@@ -75,7 +73,7 @@ func TestMatrixGenerate(t *testing.T) {
},
},
},
expected: []map[string]interface{}{
expected: []map[string]any{
{"a": "1", "b": "1"},
{"a": "1", "b": "2"},
{"a": "2", "b": "1"},
@@ -84,7 +82,7 @@ func TestMatrixGenerate(t *testing.T) {
},
{
name: "returns error if there is less than two base generators",
baseGenerators: []argoprojiov1alpha1.ApplicationSetNestedGenerator{
baseGenerators: []v1alpha1.ApplicationSetNestedGenerator{
{
Git: gitGenerator,
},
@@ -93,7 +91,7 @@ func TestMatrixGenerate(t *testing.T) {
},
{
name: "returns error if there is more than two base generators",
baseGenerators: []argoprojiov1alpha1.ApplicationSetNestedGenerator{
baseGenerators: []v1alpha1.ApplicationSetNestedGenerator{
{
List: listGenerator,
},
@@ -108,7 +106,7 @@ func TestMatrixGenerate(t *testing.T) {
},
{
name: "returns error if there is more than one inner generator in the first base generator",
baseGenerators: []argoprojiov1alpha1.ApplicationSetNestedGenerator{
baseGenerators: []v1alpha1.ApplicationSetNestedGenerator{
{
Git: gitGenerator,
List: listGenerator,
@@ -121,7 +119,7 @@ func TestMatrixGenerate(t *testing.T) {
},
{
name: "returns error if there is more than one inner generator in the second base generator",
baseGenerators: []argoprojiov1alpha1.ApplicationSetNestedGenerator{
baseGenerators: []v1alpha1.ApplicationSetNestedGenerator{
{
List: listGenerator,
},
@@ -139,19 +137,19 @@ func TestMatrixGenerate(t *testing.T) {
t.Run(testCaseCopy.name, func(t *testing.T) {
genMock := &generatorMock{}
appSet := &argoprojiov1alpha1.ApplicationSet{
appSet := &v1alpha1.ApplicationSet{
ObjectMeta: metav1.ObjectMeta{
Name: "set",
},
Spec: argoprojiov1alpha1.ApplicationSetSpec{},
Spec: v1alpha1.ApplicationSetSpec{},
}
for _, g := range testCaseCopy.baseGenerators {
gitGeneratorSpec := argoprojiov1alpha1.ApplicationSetGenerator{
gitGeneratorSpec := v1alpha1.ApplicationSetGenerator{
Git: g.Git,
List: g.List,
}
genMock.On("GenerateParams", mock.AnythingOfType("*v1alpha1.ApplicationSetGenerator"), appSet, mock.Anything).Return([]map[string]interface{}{
genMock.On("GenerateParams", mock.AnythingOfType("*v1alpha1.ApplicationSetGenerator"), appSet, mock.Anything).Return([]map[string]any{
{
"path": "app1",
"path.basename": "app1",
@@ -165,7 +163,7 @@ func TestMatrixGenerate(t *testing.T) {
}, nil)
genMock.On("GetTemplate", &gitGeneratorSpec).
Return(&argoprojiov1alpha1.ApplicationSetTemplate{})
Return(&v1alpha1.ApplicationSetTemplate{})
}
matrixGenerator := NewMatrixGenerator(
@@ -175,10 +173,10 @@ func TestMatrixGenerate(t *testing.T) {
},
)
got, err := matrixGenerator.GenerateParams(&argoprojiov1alpha1.ApplicationSetGenerator{
Matrix: &argoprojiov1alpha1.MatrixGenerator{
got, err := matrixGenerator.GenerateParams(&v1alpha1.ApplicationSetGenerator{
Matrix: &v1alpha1.MatrixGenerator{
Generators: testCaseCopy.baseGenerators,
Template: argoprojiov1alpha1.ApplicationSetTemplate{},
Template: v1alpha1.ApplicationSetTemplate{},
},
}, appSet, nil)
@@ -193,25 +191,25 @@ func TestMatrixGenerate(t *testing.T) {
}
func TestMatrixGenerateGoTemplate(t *testing.T) {
gitGenerator := &argoprojiov1alpha1.GitGenerator{
gitGenerator := &v1alpha1.GitGenerator{
RepoURL: "RepoURL",
Revision: "Revision",
Directories: []argoprojiov1alpha1.GitDirectoryGeneratorItem{{Path: "*"}},
Directories: []v1alpha1.GitDirectoryGeneratorItem{{Path: "*"}},
}
listGenerator := &argoprojiov1alpha1.ListGenerator{
listGenerator := &v1alpha1.ListGenerator{
Elements: []apiextensionsv1.JSON{{Raw: []byte(`{"cluster": "Cluster","url": "Url"}`)}},
}
testCases := []struct {
name string
baseGenerators []argoprojiov1alpha1.ApplicationSetNestedGenerator
baseGenerators []v1alpha1.ApplicationSetNestedGenerator
expectedErr error
expected []map[string]interface{}
expected []map[string]any
}{
{
name: "happy flow - generate params",
baseGenerators: []argoprojiov1alpha1.ApplicationSetNestedGenerator{
baseGenerators: []v1alpha1.ApplicationSetNestedGenerator{
{
Git: gitGenerator,
},
@@ -219,7 +217,7 @@ func TestMatrixGenerateGoTemplate(t *testing.T) {
List: listGenerator,
},
},
expected: []map[string]interface{}{
expected: []map[string]any{
{
"path": map[string]string{
"path": "app1",
@@ -242,9 +240,9 @@ func TestMatrixGenerateGoTemplate(t *testing.T) {
},
{
name: "happy flow - generate params from two lists",
baseGenerators: []argoprojiov1alpha1.ApplicationSetNestedGenerator{
baseGenerators: []v1alpha1.ApplicationSetNestedGenerator{
{
List: &argoprojiov1alpha1.ListGenerator{
List: &v1alpha1.ListGenerator{
Elements: []apiextensionsv1.JSON{
{Raw: []byte(`{"a": "1"}`)},
{Raw: []byte(`{"a": "2"}`)},
@@ -252,7 +250,7 @@ func TestMatrixGenerateGoTemplate(t *testing.T) {
},
},
{
List: &argoprojiov1alpha1.ListGenerator{
List: &v1alpha1.ListGenerator{
Elements: []apiextensionsv1.JSON{
{Raw: []byte(`{"b": "1"}`)},
{Raw: []byte(`{"b": "2"}`)},
@@ -260,7 +258,7 @@ func TestMatrixGenerateGoTemplate(t *testing.T) {
},
},
},
expected: []map[string]interface{}{
expected: []map[string]any{
{"a": "1", "b": "1"},
{"a": "1", "b": "2"},
{"a": "2", "b": "1"},
@@ -269,29 +267,29 @@ func TestMatrixGenerateGoTemplate(t *testing.T) {
},
{
name: "parameter override: first list elements take precedence",
baseGenerators: []argoprojiov1alpha1.ApplicationSetNestedGenerator{
baseGenerators: []v1alpha1.ApplicationSetNestedGenerator{
{
List: &argoprojiov1alpha1.ListGenerator{
List: &v1alpha1.ListGenerator{
Elements: []apiextensionsv1.JSON{
{Raw: []byte(`{"booleanFalse": false, "booleanTrue": true, "stringFalse": "false", "stringTrue": "true"}`)},
},
},
},
{
List: &argoprojiov1alpha1.ListGenerator{
List: &v1alpha1.ListGenerator{
Elements: []apiextensionsv1.JSON{
{Raw: []byte(`{"booleanFalse": true, "booleanTrue": false, "stringFalse": "true", "stringTrue": "false"}`)},
},
},
},
},
expected: []map[string]interface{}{
expected: []map[string]any{
{"booleanFalse": false, "booleanTrue": true, "stringFalse": "false", "stringTrue": "true"},
},
},
{
name: "returns error if there is less than two base generators",
baseGenerators: []argoprojiov1alpha1.ApplicationSetNestedGenerator{
baseGenerators: []v1alpha1.ApplicationSetNestedGenerator{
{
Git: gitGenerator,
},
@@ -300,7 +298,7 @@ func TestMatrixGenerateGoTemplate(t *testing.T) {
},
{
name: "returns error if there is more than two base generators",
baseGenerators: []argoprojiov1alpha1.ApplicationSetNestedGenerator{
baseGenerators: []v1alpha1.ApplicationSetNestedGenerator{
{
List: listGenerator,
},
@@ -315,7 +313,7 @@ func TestMatrixGenerateGoTemplate(t *testing.T) {
},
{
name: "returns error if there is more than one inner generator in the first base generator",
baseGenerators: []argoprojiov1alpha1.ApplicationSetNestedGenerator{
baseGenerators: []v1alpha1.ApplicationSetNestedGenerator{
{
Git: gitGenerator,
List: listGenerator,
@@ -328,7 +326,7 @@ func TestMatrixGenerateGoTemplate(t *testing.T) {
},
{
name: "returns error if there is more than one inner generator in the second base generator",
baseGenerators: []argoprojiov1alpha1.ApplicationSetNestedGenerator{
baseGenerators: []v1alpha1.ApplicationSetNestedGenerator{
{
List: listGenerator,
},
@@ -346,21 +344,21 @@ func TestMatrixGenerateGoTemplate(t *testing.T) {
t.Run(testCaseCopy.name, func(t *testing.T) {
genMock := &generatorMock{}
appSet := &argoprojiov1alpha1.ApplicationSet{
appSet := &v1alpha1.ApplicationSet{
ObjectMeta: metav1.ObjectMeta{
Name: "set",
},
Spec: argoprojiov1alpha1.ApplicationSetSpec{
Spec: v1alpha1.ApplicationSetSpec{
GoTemplate: true,
},
}
for _, g := range testCaseCopy.baseGenerators {
gitGeneratorSpec := argoprojiov1alpha1.ApplicationSetGenerator{
gitGeneratorSpec := v1alpha1.ApplicationSetGenerator{
Git: g.Git,
List: g.List,
}
genMock.On("GenerateParams", mock.AnythingOfType("*v1alpha1.ApplicationSetGenerator"), appSet, mock.Anything).Return([]map[string]interface{}{
genMock.On("GenerateParams", mock.AnythingOfType("*v1alpha1.ApplicationSetGenerator"), appSet, mock.Anything).Return([]map[string]any{
{
"path": map[string]string{
"path": "app1",
@@ -378,7 +376,7 @@ func TestMatrixGenerateGoTemplate(t *testing.T) {
}, nil)
genMock.On("GetTemplate", &gitGeneratorSpec).
Return(&argoprojiov1alpha1.ApplicationSetTemplate{})
Return(&v1alpha1.ApplicationSetTemplate{})
}
matrixGenerator := NewMatrixGenerator(
@@ -388,10 +386,10 @@ func TestMatrixGenerateGoTemplate(t *testing.T) {
},
)
got, err := matrixGenerator.GenerateParams(&argoprojiov1alpha1.ApplicationSetGenerator{
Matrix: &argoprojiov1alpha1.MatrixGenerator{
got, err := matrixGenerator.GenerateParams(&v1alpha1.ApplicationSetGenerator{
Matrix: &v1alpha1.MatrixGenerator{
Generators: testCaseCopy.baseGenerators,
Template: argoprojiov1alpha1.ApplicationSetTemplate{},
Template: v1alpha1.ApplicationSetTemplate{},
},
}, appSet, nil)
@@ -406,31 +404,31 @@ func TestMatrixGenerateGoTemplate(t *testing.T) {
}
func TestMatrixGetRequeueAfter(t *testing.T) {
gitGenerator := &argoprojiov1alpha1.GitGenerator{
gitGenerator := &v1alpha1.GitGenerator{
RepoURL: "RepoURL",
Revision: "Revision",
Directories: []argoprojiov1alpha1.GitDirectoryGeneratorItem{{Path: "*"}},
Directories: []v1alpha1.GitDirectoryGeneratorItem{{Path: "*"}},
}
listGenerator := &argoprojiov1alpha1.ListGenerator{
listGenerator := &v1alpha1.ListGenerator{
Elements: []apiextensionsv1.JSON{{Raw: []byte(`{"cluster": "Cluster","url": "Url"}`)}},
}
pullRequestGenerator := &argoprojiov1alpha1.PullRequestGenerator{}
pullRequestGenerator := &v1alpha1.PullRequestGenerator{}
scmGenerator := &argoprojiov1alpha1.SCMProviderGenerator{}
scmGenerator := &v1alpha1.SCMProviderGenerator{}
duckTypeGenerator := &argoprojiov1alpha1.DuckTypeGenerator{}
duckTypeGenerator := &v1alpha1.DuckTypeGenerator{}
testCases := []struct {
name string
baseGenerators []argoprojiov1alpha1.ApplicationSetNestedGenerator
baseGenerators []v1alpha1.ApplicationSetNestedGenerator
gitGetRequeueAfter time.Duration
expected time.Duration
}{
{
name: "return NoRequeueAfter if all the inner baseGenerators returns it",
baseGenerators: []argoprojiov1alpha1.ApplicationSetNestedGenerator{
baseGenerators: []v1alpha1.ApplicationSetNestedGenerator{
{
Git: gitGenerator,
},
@@ -443,7 +441,7 @@ func TestMatrixGetRequeueAfter(t *testing.T) {
},
{
name: "returns the minimal time",
baseGenerators: []argoprojiov1alpha1.ApplicationSetNestedGenerator{
baseGenerators: []v1alpha1.ApplicationSetNestedGenerator{
{
Git: gitGenerator,
},
@@ -456,7 +454,7 @@ func TestMatrixGetRequeueAfter(t *testing.T) {
},
{
name: "returns the minimal time for pull request",
baseGenerators: []argoprojiov1alpha1.ApplicationSetNestedGenerator{
baseGenerators: []v1alpha1.ApplicationSetNestedGenerator{
{
Git: gitGenerator,
},
@@ -469,7 +467,7 @@ func TestMatrixGetRequeueAfter(t *testing.T) {
},
{
name: "returns the default time if no requeueAfterSeconds is provided",
baseGenerators: []argoprojiov1alpha1.ApplicationSetNestedGenerator{
baseGenerators: []v1alpha1.ApplicationSetNestedGenerator{
{
Git: gitGenerator,
},
@@ -481,7 +479,7 @@ func TestMatrixGetRequeueAfter(t *testing.T) {
},
{
name: "returns the default time for duck type generator",
baseGenerators: []argoprojiov1alpha1.ApplicationSetNestedGenerator{
baseGenerators: []v1alpha1.ApplicationSetNestedGenerator{
{
Git: gitGenerator,
},
@@ -493,7 +491,7 @@ func TestMatrixGetRequeueAfter(t *testing.T) {
},
{
name: "returns the default time for scm generator",
baseGenerators: []argoprojiov1alpha1.ApplicationSetNestedGenerator{
baseGenerators: []v1alpha1.ApplicationSetNestedGenerator{
{
Git: gitGenerator,
},
@@ -512,7 +510,7 @@ func TestMatrixGetRequeueAfter(t *testing.T) {
mock := &generatorMock{}
for _, g := range testCaseCopy.baseGenerators {
gitGeneratorSpec := argoprojiov1alpha1.ApplicationSetGenerator{
gitGeneratorSpec := v1alpha1.ApplicationSetGenerator{
Git: g.Git,
List: g.List,
PullRequest: g.PullRequest,
@@ -532,10 +530,10 @@ func TestMatrixGetRequeueAfter(t *testing.T) {
},
)
got := matrixGenerator.GetRequeueAfter(&argoprojiov1alpha1.ApplicationSetGenerator{
Matrix: &argoprojiov1alpha1.MatrixGenerator{
got := matrixGenerator.GetRequeueAfter(&v1alpha1.ApplicationSetGenerator{
Matrix: &v1alpha1.MatrixGenerator{
Generators: testCaseCopy.baseGenerators,
Template: argoprojiov1alpha1.ApplicationSetTemplate{},
Template: v1alpha1.ApplicationSetTemplate{},
},
})
@@ -545,16 +543,16 @@ func TestMatrixGetRequeueAfter(t *testing.T) {
}
func TestInterpolatedMatrixGenerate(t *testing.T) {
interpolatedGitGenerator := &argoprojiov1alpha1.GitGenerator{
interpolatedGitGenerator := &v1alpha1.GitGenerator{
RepoURL: "RepoURL",
Revision: "Revision",
Files: []argoprojiov1alpha1.GitFileGeneratorItem{
Files: []v1alpha1.GitFileGeneratorItem{
{Path: "examples/git-generator-files-discovery/cluster-config/dev/config.json"},
{Path: "examples/git-generator-files-discovery/cluster-config/prod/config.json"},
},
}
interpolatedClusterGenerator := &argoprojiov1alpha1.ClusterGenerator{
interpolatedClusterGenerator := &v1alpha1.ClusterGenerator{
Selector: metav1.LabelSelector{
MatchLabels: map[string]string{"environment": "{{path.basename}}"},
MatchExpressions: nil,
@@ -562,14 +560,14 @@ func TestInterpolatedMatrixGenerate(t *testing.T) {
}
testCases := []struct {
name string
baseGenerators []argoprojiov1alpha1.ApplicationSetNestedGenerator
baseGenerators []v1alpha1.ApplicationSetNestedGenerator
expectedErr error
expected []map[string]interface{}
expected []map[string]any
clientError bool
}{
{
name: "happy flow - generate interpolated params",
baseGenerators: []argoprojiov1alpha1.ApplicationSetNestedGenerator{
baseGenerators: []v1alpha1.ApplicationSetNestedGenerator{
{
Git: interpolatedGitGenerator,
},
@@ -577,9 +575,9 @@ func TestInterpolatedMatrixGenerate(t *testing.T) {
Clusters: interpolatedClusterGenerator,
},
},
expected: []map[string]interface{}{
{"path": "examples/git-generator-files-discovery/cluster-config/dev/config.json", "path.basename": "dev", "path.basenameNormalized": "dev", "name": "dev-01", "nameNormalized": "dev-01", "server": "https://dev-01.example.com", "metadata.labels.environment": "dev", "metadata.labels.argocd.argoproj.io/secret-type": "cluster"},
{"path": "examples/git-generator-files-discovery/cluster-config/prod/config.json", "path.basename": "prod", "path.basenameNormalized": "prod", "name": "prod-01", "nameNormalized": "prod-01", "server": "https://prod-01.example.com", "metadata.labels.environment": "prod", "metadata.labels.argocd.argoproj.io/secret-type": "cluster"},
expected: []map[string]any{
{"path": "examples/git-generator-files-discovery/cluster-config/dev/config.json", "path.basename": "dev", "path.basenameNormalized": "dev", "name": "dev-01", "nameNormalized": "dev-01", "server": "https://dev-01.example.com", "metadata.labels.environment": "dev", "metadata.labels.argocd.argoproj.io/secret-type": "cluster", "project": ""},
{"path": "examples/git-generator-files-discovery/cluster-config/prod/config.json", "path.basename": "prod", "path.basenameNormalized": "prod", "name": "prod-01", "nameNormalized": "prod-01", "server": "https://prod-01.example.com", "metadata.labels.environment": "prod", "metadata.labels.argocd.argoproj.io/secret-type": "cluster", "project": ""},
},
clientError: false,
},
@@ -637,7 +635,7 @@ func TestInterpolatedMatrixGenerate(t *testing.T) {
t.Run(testCaseCopy.name, func(t *testing.T) {
genMock := &generatorMock{}
appSet := &argoprojiov1alpha1.ApplicationSet{}
appSet := &v1alpha1.ApplicationSet{}
appClientset := kubefake.NewSimpleClientset(runtimeClusters...)
fakeClient := fake.NewClientBuilder().WithObjects(clusters...).Build()
@@ -645,14 +643,14 @@ func TestInterpolatedMatrixGenerate(t *testing.T) {
fakeClient,
testCase.clientError,
}
clusterGenerator := NewClusterGenerator(cl, context.Background(), appClientset, "namespace")
clusterGenerator := NewClusterGenerator(t.Context(), cl, appClientset, "namespace")
for _, g := range testCaseCopy.baseGenerators {
gitGeneratorSpec := argoprojiov1alpha1.ApplicationSetGenerator{
gitGeneratorSpec := v1alpha1.ApplicationSetGenerator{
Git: g.Git,
Clusters: g.Clusters,
}
genMock.On("GenerateParams", mock.AnythingOfType("*v1alpha1.ApplicationSetGenerator"), appSet).Return([]map[string]interface{}{
genMock.On("GenerateParams", mock.AnythingOfType("*v1alpha1.ApplicationSetGenerator"), appSet).Return([]map[string]any{
{
"path": "examples/git-generator-files-discovery/cluster-config/dev/config.json",
"path.basename": "dev",
@@ -665,7 +663,7 @@ func TestInterpolatedMatrixGenerate(t *testing.T) {
},
}, nil)
genMock.On("GetTemplate", &gitGeneratorSpec).
Return(&argoprojiov1alpha1.ApplicationSetTemplate{})
Return(&v1alpha1.ApplicationSetTemplate{})
}
matrixGenerator := NewMatrixGenerator(
map[string]Generator{
@@ -674,10 +672,10 @@ func TestInterpolatedMatrixGenerate(t *testing.T) {
},
)
got, err := matrixGenerator.GenerateParams(&argoprojiov1alpha1.ApplicationSetGenerator{
Matrix: &argoprojiov1alpha1.MatrixGenerator{
got, err := matrixGenerator.GenerateParams(&v1alpha1.ApplicationSetGenerator{
Matrix: &v1alpha1.MatrixGenerator{
Generators: testCaseCopy.baseGenerators,
Template: argoprojiov1alpha1.ApplicationSetTemplate{},
Template: v1alpha1.ApplicationSetTemplate{},
},
}, appSet, nil)
@@ -692,16 +690,16 @@ func TestInterpolatedMatrixGenerate(t *testing.T) {
}
func TestInterpolatedMatrixGenerateGoTemplate(t *testing.T) {
interpolatedGitGenerator := &argoprojiov1alpha1.GitGenerator{
interpolatedGitGenerator := &v1alpha1.GitGenerator{
RepoURL: "RepoURL",
Revision: "Revision",
Files: []argoprojiov1alpha1.GitFileGeneratorItem{
Files: []v1alpha1.GitFileGeneratorItem{
{Path: "examples/git-generator-files-discovery/cluster-config/dev/config.json"},
{Path: "examples/git-generator-files-discovery/cluster-config/prod/config.json"},
},
}
interpolatedClusterGenerator := &argoprojiov1alpha1.ClusterGenerator{
interpolatedClusterGenerator := &v1alpha1.ClusterGenerator{
Selector: metav1.LabelSelector{
MatchLabels: map[string]string{"environment": "{{.path.basename}}"},
MatchExpressions: nil,
@@ -709,14 +707,14 @@ func TestInterpolatedMatrixGenerateGoTemplate(t *testing.T) {
}
testCases := []struct {
name string
baseGenerators []argoprojiov1alpha1.ApplicationSetNestedGenerator
baseGenerators []v1alpha1.ApplicationSetNestedGenerator
expectedErr error
expected []map[string]interface{}
expected []map[string]any
clientError bool
}{
{
name: "happy flow - generate interpolated params",
baseGenerators: []argoprojiov1alpha1.ApplicationSetNestedGenerator{
baseGenerators: []v1alpha1.ApplicationSetNestedGenerator{
{
Git: interpolatedGitGenerator,
},
@@ -724,7 +722,7 @@ func TestInterpolatedMatrixGenerateGoTemplate(t *testing.T) {
Clusters: interpolatedClusterGenerator,
},
},
expected: []map[string]interface{}{
expected: []map[string]any{
{
"path": map[string]string{
"path": "examples/git-generator-files-discovery/cluster-config/dev/config.json",
@@ -734,7 +732,8 @@ func TestInterpolatedMatrixGenerateGoTemplate(t *testing.T) {
"name": "dev-01",
"nameNormalized": "dev-01",
"server": "https://dev-01.example.com",
"metadata": map[string]interface{}{
"project": "",
"metadata": map[string]any{
"labels": map[string]string{
"environment": "dev",
"argocd.argoproj.io/secret-type": "cluster",
@@ -750,7 +749,8 @@ func TestInterpolatedMatrixGenerateGoTemplate(t *testing.T) {
"name": "prod-01",
"nameNormalized": "prod-01",
"server": "https://prod-01.example.com",
"metadata": map[string]interface{}{
"project": "",
"metadata": map[string]any{
"labels": map[string]string{
"environment": "prod",
"argocd.argoproj.io/secret-type": "cluster",
@@ -814,8 +814,8 @@ func TestInterpolatedMatrixGenerateGoTemplate(t *testing.T) {
t.Run(testCaseCopy.name, func(t *testing.T) {
genMock := &generatorMock{}
appSet := &argoprojiov1alpha1.ApplicationSet{
Spec: argoprojiov1alpha1.ApplicationSetSpec{
appSet := &v1alpha1.ApplicationSet{
Spec: v1alpha1.ApplicationSetSpec{
GoTemplate: true,
},
}
@@ -826,14 +826,14 @@ func TestInterpolatedMatrixGenerateGoTemplate(t *testing.T) {
fakeClient,
testCase.clientError,
}
clusterGenerator := NewClusterGenerator(cl, context.Background(), appClientset, "namespace")
clusterGenerator := NewClusterGenerator(t.Context(), cl, appClientset, "namespace")
for _, g := range testCaseCopy.baseGenerators {
gitGeneratorSpec := argoprojiov1alpha1.ApplicationSetGenerator{
gitGeneratorSpec := v1alpha1.ApplicationSetGenerator{
Git: g.Git,
Clusters: g.Clusters,
}
genMock.On("GenerateParams", mock.AnythingOfType("*v1alpha1.ApplicationSetGenerator"), appSet).Return([]map[string]interface{}{
genMock.On("GenerateParams", mock.AnythingOfType("*v1alpha1.ApplicationSetGenerator"), appSet).Return([]map[string]any{
{
"path": map[string]string{
"path": "examples/git-generator-files-discovery/cluster-config/dev/config.json",
@@ -850,7 +850,7 @@ func TestInterpolatedMatrixGenerateGoTemplate(t *testing.T) {
},
}, nil)
genMock.On("GetTemplate", &gitGeneratorSpec).
Return(&argoprojiov1alpha1.ApplicationSetTemplate{})
Return(&v1alpha1.ApplicationSetTemplate{})
}
matrixGenerator := NewMatrixGenerator(
map[string]Generator{
@@ -859,10 +859,10 @@ func TestInterpolatedMatrixGenerateGoTemplate(t *testing.T) {
},
)
got, err := matrixGenerator.GenerateParams(&argoprojiov1alpha1.ApplicationSetGenerator{
Matrix: &argoprojiov1alpha1.MatrixGenerator{
got, err := matrixGenerator.GenerateParams(&v1alpha1.ApplicationSetGenerator{
Matrix: &v1alpha1.MatrixGenerator{
Generators: testCaseCopy.baseGenerators,
Template: argoprojiov1alpha1.ApplicationSetTemplate{},
Template: v1alpha1.ApplicationSetTemplate{},
},
}, appSet, nil)
@@ -877,28 +877,28 @@ func TestInterpolatedMatrixGenerateGoTemplate(t *testing.T) {
}
func TestMatrixGenerateListElementsYaml(t *testing.T) {
gitGenerator := &argoprojiov1alpha1.GitGenerator{
gitGenerator := &v1alpha1.GitGenerator{
RepoURL: "RepoURL",
Revision: "Revision",
Files: []argoprojiov1alpha1.GitFileGeneratorItem{
Files: []v1alpha1.GitFileGeneratorItem{
{Path: "config.yaml"},
},
}
listGenerator := &argoprojiov1alpha1.ListGenerator{
listGenerator := &v1alpha1.ListGenerator{
Elements: []apiextensionsv1.JSON{},
ElementsYaml: "{{ .foo.bar | toJson }}",
}
testCases := []struct {
name string
baseGenerators []argoprojiov1alpha1.ApplicationSetNestedGenerator
baseGenerators []v1alpha1.ApplicationSetNestedGenerator
expectedErr error
expected []map[string]interface{}
expected []map[string]any
}{
{
name: "happy flow - generate params",
baseGenerators: []argoprojiov1alpha1.ApplicationSetNestedGenerator{
baseGenerators: []v1alpha1.ApplicationSetNestedGenerator{
{
Git: gitGenerator,
},
@@ -906,23 +906,23 @@ func TestMatrixGenerateListElementsYaml(t *testing.T) {
List: listGenerator,
},
},
expected: []map[string]interface{}{
expected: []map[string]any{
{
"chart": "a",
"version": "1",
"foo": map[string]interface{}{
"bar": []interface{}{
map[string]interface{}{
"foo": map[string]any{
"bar": []any{
map[string]any{
"chart": "a",
"version": "1",
},
map[string]interface{}{
map[string]any{
"chart": "b",
"version": "2",
},
},
},
"path": map[string]interface{}{
"path": map[string]any{
"basename": "dir",
"basenameNormalized": "dir",
"filename": "file_name.yaml",
@@ -937,19 +937,19 @@ func TestMatrixGenerateListElementsYaml(t *testing.T) {
{
"chart": "b",
"version": "2",
"foo": map[string]interface{}{
"bar": []interface{}{
map[string]interface{}{
"foo": map[string]any{
"bar": []any{
map[string]any{
"chart": "a",
"version": "1",
},
map[string]interface{}{
map[string]any{
"chart": "b",
"version": "2",
},
},
},
"path": map[string]interface{}{
"path": map[string]any{
"basename": "dir",
"basenameNormalized": "dir",
"filename": "file_name.yaml",
@@ -970,34 +970,34 @@ func TestMatrixGenerateListElementsYaml(t *testing.T) {
t.Run(testCaseCopy.name, func(t *testing.T) {
genMock := &generatorMock{}
appSet := &argoprojiov1alpha1.ApplicationSet{
appSet := &v1alpha1.ApplicationSet{
ObjectMeta: metav1.ObjectMeta{
Name: "set",
},
Spec: argoprojiov1alpha1.ApplicationSetSpec{
Spec: v1alpha1.ApplicationSetSpec{
GoTemplate: true,
},
}
for _, g := range testCaseCopy.baseGenerators {
gitGeneratorSpec := argoprojiov1alpha1.ApplicationSetGenerator{
gitGeneratorSpec := v1alpha1.ApplicationSetGenerator{
Git: g.Git,
List: g.List,
}
genMock.On("GenerateParams", mock.AnythingOfType("*v1alpha1.ApplicationSetGenerator"), appSet).Return([]map[string]any{{
"foo": map[string]interface{}{
"bar": []interface{}{
map[string]interface{}{
"foo": map[string]any{
"bar": []any{
map[string]any{
"chart": "a",
"version": "1",
},
map[string]interface{}{
map[string]any{
"chart": "b",
"version": "2",
},
},
},
"path": map[string]interface{}{
"path": map[string]any{
"basename": "dir",
"basenameNormalized": "dir",
"filename": "file_name.yaml",
@@ -1010,7 +1010,7 @@ func TestMatrixGenerateListElementsYaml(t *testing.T) {
},
}}, nil)
genMock.On("GetTemplate", &gitGeneratorSpec).
Return(&argoprojiov1alpha1.ApplicationSetTemplate{})
Return(&v1alpha1.ApplicationSetTemplate{})
}
matrixGenerator := NewMatrixGenerator(
@@ -1020,10 +1020,10 @@ func TestMatrixGenerateListElementsYaml(t *testing.T) {
},
)
got, err := matrixGenerator.GenerateParams(&argoprojiov1alpha1.ApplicationSetGenerator{
Matrix: &argoprojiov1alpha1.MatrixGenerator{
got, err := matrixGenerator.GenerateParams(&v1alpha1.ApplicationSetGenerator{
Matrix: &v1alpha1.MatrixGenerator{
Generators: testCaseCopy.baseGenerators,
Template: argoprojiov1alpha1.ApplicationSetTemplate{},
Template: v1alpha1.ApplicationSetTemplate{},
},
}, appSet, nil)
@@ -1041,19 +1041,19 @@ type generatorMock struct {
mock.Mock
}
func (g *generatorMock) GetTemplate(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator) *argoprojiov1alpha1.ApplicationSetTemplate {
func (g *generatorMock) GetTemplate(appSetGenerator *v1alpha1.ApplicationSetGenerator) *v1alpha1.ApplicationSetTemplate {
args := g.Called(appSetGenerator)
return args.Get(0).(*argoprojiov1alpha1.ApplicationSetTemplate)
return args.Get(0).(*v1alpha1.ApplicationSetTemplate)
}
func (g *generatorMock) GenerateParams(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, appSet *argoprojiov1alpha1.ApplicationSet, _ client.Client) ([]map[string]interface{}, error) {
func (g *generatorMock) GenerateParams(appSetGenerator *v1alpha1.ApplicationSetGenerator, appSet *v1alpha1.ApplicationSet, _ client.Client) ([]map[string]any, error) {
args := g.Called(appSetGenerator, appSet)
return args.Get(0).([]map[string]interface{}), args.Error(1)
return args.Get(0).([]map[string]any), args.Error(1)
}
func (g *generatorMock) GetRequeueAfter(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator) time.Duration {
func (g *generatorMock) GetRequeueAfter(appSetGenerator *v1alpha1.ApplicationSetGenerator) time.Duration {
args := g.Called(appSetGenerator)
return args.Get(0).(time.Duration)
@@ -1073,20 +1073,20 @@ func TestGitGenerator_GenerateParams_list_x_git_matrix_generator(t *testing.T) {
// of that bug.
listGeneratorMock := &generatorMock{}
listGeneratorMock.On("GenerateParams", mock.AnythingOfType("*v1alpha1.ApplicationSetGenerator"), mock.AnythingOfType("*v1alpha1.ApplicationSet"), mock.Anything).Return([]map[string]interface{}{
listGeneratorMock.On("GenerateParams", mock.AnythingOfType("*v1alpha1.ApplicationSetGenerator"), mock.AnythingOfType("*v1alpha1.ApplicationSet"), mock.Anything).Return([]map[string]any{
{"some": "value"},
}, nil)
listGeneratorMock.On("GetTemplate", mock.AnythingOfType("*v1alpha1.ApplicationSetGenerator")).Return(&argoprojiov1alpha1.ApplicationSetTemplate{})
listGeneratorMock.On("GetTemplate", mock.AnythingOfType("*v1alpha1.ApplicationSetGenerator")).Return(&v1alpha1.ApplicationSetTemplate{})
gitGeneratorSpec := &argoprojiov1alpha1.GitGenerator{
gitGeneratorSpec := &v1alpha1.GitGenerator{
RepoURL: "https://git.example.com",
Files: []argoprojiov1alpha1.GitFileGeneratorItem{
Files: []v1alpha1.GitFileGeneratorItem{
{Path: "some/path.json"},
},
}
repoServiceMock := &mocks.Repos{}
repoServiceMock.On("GetFiles", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(map[string][]byte{
repoServiceMock.On("GetFiles", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(map[string][]byte{
"some/path.json": []byte("test: content"),
}, nil)
gitGenerator := NewGitGenerator(repoServiceMock, "")
@@ -1096,10 +1096,10 @@ func TestGitGenerator_GenerateParams_list_x_git_matrix_generator(t *testing.T) {
"Git": gitGenerator,
})
matrixGeneratorSpec := &argoprojiov1alpha1.MatrixGenerator{
Generators: []argoprojiov1alpha1.ApplicationSetNestedGenerator{
matrixGeneratorSpec := &v1alpha1.MatrixGenerator{
Generators: []v1alpha1.ApplicationSetNestedGenerator{
{
List: &argoprojiov1alpha1.ListGenerator{
List: &v1alpha1.ListGenerator{
Elements: []apiextensionsv1.JSON{
{
Raw: []byte(`{"some": "value"}`),
@@ -1116,15 +1116,15 @@ func TestGitGenerator_GenerateParams_list_x_git_matrix_generator(t *testing.T) {
scheme := runtime.NewScheme()
err := v1alpha1.AddToScheme(scheme)
require.NoError(t, err)
appProject := argoprojiov1alpha1.AppProject{}
appProject := v1alpha1.AppProject{}
client := fake.NewClientBuilder().WithScheme(scheme).WithObjects(&appProject).Build()
params, err := matrixGenerator.GenerateParams(&argoprojiov1alpha1.ApplicationSetGenerator{
params, err := matrixGenerator.GenerateParams(&v1alpha1.ApplicationSetGenerator{
Matrix: matrixGeneratorSpec,
}, &argoprojiov1alpha1.ApplicationSet{}, client)
}, &v1alpha1.ApplicationSet{}, client)
require.NoError(t, err)
assert.Equal(t, []map[string]interface{}{{
assert.Equal(t, []map[string]any{{
"path": "some",
"path.basename": "some",
"path.basenameNormalized": "some",

View File

@@ -2,24 +2,23 @@ package generators
import (
"encoding/json"
"errors"
"fmt"
"maps"
"time"
"github.com/imdario/mergo"
"dario.cat/mergo"
"sigs.k8s.io/controller-runtime/pkg/client"
"github.com/argoproj/argo-cd/v2/applicationset/utils"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
log "github.com/sirupsen/logrus"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
)
var _ Generator = (*MergeGenerator)(nil)
var (
ErrLessThanTwoGeneratorsInMerge = fmt.Errorf("found less than two generators, Merge requires two or more")
ErrNoMergeKeys = fmt.Errorf("no merge keys were specified, Merge requires at least one")
ErrNonUniqueParamSets = fmt.Errorf("the parameters from a generator were not unique by the given mergeKeys, Merge requires all param sets to be unique")
ErrLessThanTwoGeneratorsInMerge = errors.New("found less than two generators, Merge requires two or more")
ErrNoMergeKeys = errors.New("no merge keys were specified, Merge requires at least one")
ErrNonUniqueParamSets = errors.New("the parameters from a generator were not unique by the given mergeKeys, Merge requires all param sets to be unique")
)
type MergeGenerator struct {
@@ -37,8 +36,8 @@ func NewMergeGenerator(supportedGenerators map[string]Generator) Generator {
// getParamSetsForAllGenerators generates params for each child generator in a MergeGenerator. Param sets are returned
// in slices ordered according to the order of the given generators.
func (m *MergeGenerator) getParamSetsForAllGenerators(generators []argoprojiov1alpha1.ApplicationSetNestedGenerator, appSet *argoprojiov1alpha1.ApplicationSet, client client.Client) ([][]map[string]interface{}, error) {
var paramSets [][]map[string]interface{}
func (m *MergeGenerator) getParamSetsForAllGenerators(generators []argoprojiov1alpha1.ApplicationSetNestedGenerator, appSet *argoprojiov1alpha1.ApplicationSet, client client.Client) ([][]map[string]any, error) {
var paramSets [][]map[string]any
for i, generator := range generators {
generatorParamSets, err := m.getParams(generator, appSet, client)
if err != nil {
@@ -51,9 +50,9 @@ func (m *MergeGenerator) getParamSetsForAllGenerators(generators []argoprojiov1a
}
// GenerateParams gets the params produced by the MergeGenerator.
func (m *MergeGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, appSet *argoprojiov1alpha1.ApplicationSet, client client.Client) ([]map[string]interface{}, error) {
func (m *MergeGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, appSet *argoprojiov1alpha1.ApplicationSet, client client.Client) ([]map[string]any, error) {
if appSetGenerator.Merge == nil {
return nil, EmptyAppSetGeneratorError
return nil, ErrEmptyAppSetGenerator
}
if len(appSetGenerator.Merge.Generators) < 2 {
@@ -84,21 +83,18 @@ func (m *MergeGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.Appl
}
baseParamSetsByMergeKey[mergeKeyValue] = baseParamSet
} else {
overriddenParamSet, err := utils.CombineStringMapsAllowDuplicates(baseParamSet, overrideParamSet)
if err != nil {
return nil, fmt.Errorf("error combining string maps: %w", err)
}
baseParamSetsByMergeKey[mergeKeyValue] = utils.ConvertToMapStringInterface(overriddenParamSet)
maps.Copy(baseParamSet, overrideParamSet)
baseParamSetsByMergeKey[mergeKeyValue] = baseParamSet
}
}
}
}
mergedParamSets := make([]map[string]interface{}, len(baseParamSetsByMergeKey))
mergedParamSets := make([]map[string]any, len(baseParamSetsByMergeKey))
i := 0
for _, mergedParamSet := range baseParamSetsByMergeKey {
mergedParamSets[i] = mergedParamSet
i += 1
i++
}
return mergedParamSets, nil
@@ -107,7 +103,7 @@ func (m *MergeGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.Appl
// getParamSetsByMergeKey converts the given list of parameter sets to a map of parameter sets where the key is the
// unique key of the parameter set as determined by the given mergeKeys. If any two parameter sets share the same merge
// key, getParamSetsByMergeKey will throw NonUniqueParamSets.
func getParamSetsByMergeKey(mergeKeys []string, paramSets []map[string]interface{}) (map[string]map[string]interface{}, error) {
func getParamSetsByMergeKey(mergeKeys []string, paramSets []map[string]any) (map[string]map[string]any, error) {
if len(mergeKeys) < 1 {
return nil, ErrNoMergeKeys
}
@@ -117,17 +113,17 @@ func getParamSetsByMergeKey(mergeKeys []string, paramSets []map[string]interface
deDuplicatedMergeKeys[mergeKey] = false
}
paramSetsByMergeKey := make(map[string]map[string]interface{}, len(paramSets))
paramSetsByMergeKey := make(map[string]map[string]any, len(paramSets))
for _, paramSet := range paramSets {
paramSetKey := make(map[string]interface{})
paramSetKey := make(map[string]any)
for mergeKey := range deDuplicatedMergeKeys {
paramSetKey[mergeKey] = paramSet[mergeKey]
}
paramSetKeyJson, err := json.Marshal(paramSetKey)
paramSetKeyJSON, err := json.Marshal(paramSetKey)
if err != nil {
return nil, fmt.Errorf("error marshalling param set key json: %w", err)
}
paramSetKeyString := string(paramSetKeyJson)
paramSetKeyString := string(paramSetKeyJSON)
if _, exists := paramSetsByMergeKey[paramSetKeyString]; exists {
return nil, fmt.Errorf("%w. Duplicate key was %s", ErrNonUniqueParamSets, paramSetKeyString)
}
@@ -138,27 +134,15 @@ func getParamSetsByMergeKey(mergeKeys []string, paramSets []map[string]interface
}
// getParams get the parameters generated by this generator.
func (m *MergeGenerator) getParams(appSetBaseGenerator argoprojiov1alpha1.ApplicationSetNestedGenerator, appSet *argoprojiov1alpha1.ApplicationSet, client client.Client) ([]map[string]interface{}, error) {
func (m *MergeGenerator) getParams(appSetBaseGenerator argoprojiov1alpha1.ApplicationSetNestedGenerator, appSet *argoprojiov1alpha1.ApplicationSet, client client.Client) ([]map[string]any, error) {
matrixGen, err := getMatrixGenerator(appSetBaseGenerator)
if err != nil {
return nil, err
}
if matrixGen != nil && !appSet.Spec.ApplyNestedSelectors {
foundSelector := dropDisabledNestedSelectors(matrixGen.Generators)
if foundSelector {
log.Warnf("AppSet '%v' defines selector on nested matrix generator's generator without enabling them via 'spec.applyNestedSelectors', ignoring nested selector", appSet.Name)
}
}
mergeGen, err := getMergeGenerator(appSetBaseGenerator)
if err != nil {
return nil, err
}
if mergeGen != nil && !appSet.Spec.ApplyNestedSelectors {
foundSelector := dropDisabledNestedSelectors(mergeGen.Generators)
if foundSelector {
log.Warnf("AppSet '%v' defines selector on nested merge generator's generator without enabling them via 'spec.applyNestedSelectors', ignoring nested selector", appSet.Name)
}
}
t, err := Transform(
argoprojiov1alpha1.ApplicationSetGenerator{
@@ -176,13 +160,13 @@ func (m *MergeGenerator) getParams(appSetBaseGenerator argoprojiov1alpha1.Applic
m.supportedGenerators,
argoprojiov1alpha1.ApplicationSetTemplate{},
appSet,
map[string]interface{}{}, client)
map[string]any{}, client)
if err != nil {
return nil, fmt.Errorf("child generator returned an error on parameter generation: %w", err)
}
if len(t) == 0 {
return nil, fmt.Errorf("child generator generated no parameters")
return nil, errors.New("child generator generated no parameters")
}
if len(t) > 1 {
@@ -223,9 +207,8 @@ func (m *MergeGenerator) GetRequeueAfter(appSetGenerator *argoprojiov1alpha1.App
if found {
return res
} else {
return NoRequeueAfter
}
return NoRequeueAfter
}
func getMergeGenerator(r argoprojiov1alpha1.ApplicationSetNestedGenerator) (*argoprojiov1alpha1.MergeGenerator, error) {

View File

@@ -9,7 +9,7 @@ import (
"github.com/stretchr/testify/require"
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
)
func getNestedListGenerator(json string) *argoprojiov1alpha1.ApplicationSetNestedGenerator {
@@ -36,26 +36,28 @@ func getTerminalListGeneratorMultiple(jsons []string) argoprojiov1alpha1.Applica
return generator
}
func listOfMapsToSet(maps []map[string]interface{}) (map[string]bool, error) {
func listOfMapsToSet(maps []map[string]any) (map[string]bool, error) {
set := make(map[string]bool, len(maps))
for _, paramMap := range maps {
paramMapAsJson, err := json.Marshal(paramMap)
paramMapAsJSON, err := json.Marshal(paramMap)
if err != nil {
return nil, err
}
set[string(paramMapAsJson)] = false
set[string(paramMapAsJSON)] = false
}
return set, nil
}
func TestMergeGenerate(t *testing.T) {
t.Parallel()
testCases := []struct {
name string
baseGenerators []argoprojiov1alpha1.ApplicationSetNestedGenerator
mergeKeys []string
expectedErr error
expected []map[string]interface{}
expected []map[string]any
}{
{
name: "no generators",
@@ -79,7 +81,7 @@ func TestMergeGenerate(t *testing.T) {
*getNestedListGenerator(`{"a": "3_1","b": "different","c": "3_3"}`), // gets ignored because its merge key value isn't in the base params set
},
mergeKeys: []string{"b"},
expected: []map[string]interface{}{
expected: []map[string]any{
{"a": "2_1", "b": "same", "c": "1_3"},
},
},
@@ -90,7 +92,7 @@ func TestMergeGenerate(t *testing.T) {
*getNestedListGenerator(`{"a": "a"}`),
},
mergeKeys: []string{"b"},
expected: []map[string]interface{}{
expected: []map[string]any{
{"a": "a"},
},
},
@@ -101,7 +103,7 @@ func TestMergeGenerate(t *testing.T) {
*getNestedListGenerator(`{"b": "b"}`),
},
mergeKeys: []string{"b"},
expected: []map[string]interface{}{
expected: []map[string]any{
{"a": "a"},
},
},
@@ -119,7 +121,7 @@ func TestMergeGenerate(t *testing.T) {
*getNestedListGenerator(`{"a": "1", "b": "1", "c": "added"}`),
},
mergeKeys: []string{"a", "b"},
expected: []map[string]interface{}{
expected: []map[string]any{
{"a": "1", "b": "1", "c": "added"},
{"a": "1", "b": "2"},
{"a": "2", "b": "1"},
@@ -141,7 +143,7 @@ func TestMergeGenerate(t *testing.T) {
*getNestedListGenerator(`{"a": "1", "b": "3", "d": "added"}`),
},
mergeKeys: []string{"a", "b"},
expected: []map[string]interface{}{
expected: []map[string]any{
{"a": "1", "b": "3", "c": "added", "d": "added"},
{"a": "2", "b": "2"},
},
@@ -196,7 +198,8 @@ func TestMergeGenerate(t *testing.T) {
}
}
func toAPIExtensionsJSON(t *testing.T, g interface{}) *apiextensionsv1.JSON {
func toAPIExtensionsJSON(t *testing.T, g any) *apiextensionsv1.JSON {
t.Helper()
resVal, err := json.Marshal(g)
if err != nil {
t.Error("unable to unmarshal json", g)
@@ -209,12 +212,14 @@ func toAPIExtensionsJSON(t *testing.T, g interface{}) *apiextensionsv1.JSON {
}
func TestParamSetsAreUniqueByMergeKeys(t *testing.T) {
t.Parallel()
testCases := []struct {
name string
mergeKeys []string
paramSets []map[string]interface{}
paramSets []map[string]any
expectedErr error
expected map[string]map[string]interface{}
expected map[string]map[string]any
}{
{
name: "no merge keys",
@@ -224,13 +229,13 @@ func TestParamSetsAreUniqueByMergeKeys(t *testing.T) {
{
name: "no paramSets",
mergeKeys: []string{"key"},
expected: make(map[string]map[string]interface{}),
expected: make(map[string]map[string]any),
},
{
name: "simple key, unique paramSets",
mergeKeys: []string{"key"},
paramSets: []map[string]interface{}{{"key": "a"}, {"key": "b"}},
expected: map[string]map[string]interface{}{
paramSets: []map[string]any{{"key": "a"}, {"key": "b"}},
expected: map[string]map[string]any{
`{"key":"a"}`: {"key": "a"},
`{"key":"b"}`: {"key": "b"},
},
@@ -238,23 +243,23 @@ func TestParamSetsAreUniqueByMergeKeys(t *testing.T) {
{
name: "simple key object, unique paramSets",
mergeKeys: []string{"key"},
paramSets: []map[string]interface{}{{"key": map[string]interface{}{"hello": "world"}}, {"key": "b"}},
expected: map[string]map[string]interface{}{
`{"key":{"hello":"world"}}`: {"key": map[string]interface{}{"hello": "world"}},
paramSets: []map[string]any{{"key": map[string]any{"hello": "world"}}, {"key": "b"}},
expected: map[string]map[string]any{
`{"key":{"hello":"world"}}`: {"key": map[string]any{"hello": "world"}},
`{"key":"b"}`: {"key": "b"},
},
},
{
name: "simple key, non-unique paramSets",
mergeKeys: []string{"key"},
paramSets: []map[string]interface{}{{"key": "a"}, {"key": "b"}, {"key": "b"}},
paramSets: []map[string]any{{"key": "a"}, {"key": "b"}, {"key": "b"}},
expectedErr: fmt.Errorf("%w. Duplicate key was %s", ErrNonUniqueParamSets, `{"key":"b"}`),
},
{
name: "simple key, duplicated key name, unique paramSets",
mergeKeys: []string{"key", "key"},
paramSets: []map[string]interface{}{{"key": "a"}, {"key": "b"}},
expected: map[string]map[string]interface{}{
paramSets: []map[string]any{{"key": "a"}, {"key": "b"}},
expected: map[string]map[string]any{
`{"key":"a"}`: {"key": "a"},
`{"key":"b"}`: {"key": "b"},
},
@@ -262,18 +267,18 @@ func TestParamSetsAreUniqueByMergeKeys(t *testing.T) {
{
name: "simple key, duplicated key name, non-unique paramSets",
mergeKeys: []string{"key", "key"},
paramSets: []map[string]interface{}{{"key": "a"}, {"key": "b"}, {"key": "b"}},
paramSets: []map[string]any{{"key": "a"}, {"key": "b"}, {"key": "b"}},
expectedErr: fmt.Errorf("%w. Duplicate key was %s", ErrNonUniqueParamSets, `{"key":"b"}`),
},
{
name: "compound key, unique paramSets",
mergeKeys: []string{"key1", "key2"},
paramSets: []map[string]interface{}{
paramSets: []map[string]any{
{"key1": "a", "key2": "a"},
{"key1": "a", "key2": "b"},
{"key1": "b", "key2": "a"},
},
expected: map[string]map[string]interface{}{
expected: map[string]map[string]any{
`{"key1":"a","key2":"a"}`: {"key1": "a", "key2": "a"},
`{"key1":"a","key2":"b"}`: {"key1": "a", "key2": "b"},
`{"key1":"b","key2":"a"}`: {"key1": "b", "key2": "a"},
@@ -282,13 +287,13 @@ func TestParamSetsAreUniqueByMergeKeys(t *testing.T) {
{
name: "compound key object, unique paramSets",
mergeKeys: []string{"key1", "key2"},
paramSets: []map[string]interface{}{
{"key1": "a", "key2": map[string]interface{}{"hello": "world"}},
paramSets: []map[string]any{
{"key1": "a", "key2": map[string]any{"hello": "world"}},
{"key1": "a", "key2": "b"},
{"key1": "b", "key2": "a"},
},
expected: map[string]map[string]interface{}{
`{"key1":"a","key2":{"hello":"world"}}`: {"key1": "a", "key2": map[string]interface{}{"hello": "world"}},
expected: map[string]map[string]any{
`{"key1":"a","key2":{"hello":"world"}}`: {"key1": "a", "key2": map[string]any{"hello": "world"}},
`{"key1":"a","key2":"b"}`: {"key1": "a", "key2": "b"},
`{"key1":"b","key2":"a"}`: {"key1": "b", "key2": "a"},
},
@@ -296,12 +301,12 @@ func TestParamSetsAreUniqueByMergeKeys(t *testing.T) {
{
name: "compound key, duplicate key names, unique paramSets",
mergeKeys: []string{"key1", "key1", "key2"},
paramSets: []map[string]interface{}{
paramSets: []map[string]any{
{"key1": "a", "key2": "a"},
{"key1": "a", "key2": "b"},
{"key1": "b", "key2": "a"},
},
expected: map[string]map[string]interface{}{
expected: map[string]map[string]any{
`{"key1":"a","key2":"a"}`: {"key1": "a", "key2": "a"},
`{"key1":"a","key2":"b"}`: {"key1": "a", "key2": "b"},
`{"key1":"b","key2":"a"}`: {"key1": "b", "key2": "a"},
@@ -310,7 +315,7 @@ func TestParamSetsAreUniqueByMergeKeys(t *testing.T) {
{
name: "compound key, non-unique paramSets",
mergeKeys: []string{"key1", "key2"},
paramSets: []map[string]interface{}{
paramSets: []map[string]any{
{"key1": "a", "key2": "a"},
{"key1": "a", "key2": "a"},
{"key1": "b", "key2": "a"},
@@ -320,7 +325,7 @@ func TestParamSetsAreUniqueByMergeKeys(t *testing.T) {
{
name: "compound key, duplicate key names, non-unique paramSets",
mergeKeys: []string{"key1", "key1", "key2"},
paramSets: []map[string]interface{}{
paramSets: []map[string]any{
{"key1": "a", "key2": "a"},
{"key1": "a", "key2": "a"},
{"key1": "b", "key2": "a"},

View File

@@ -1,90 +1,17 @@
// Code generated by mockery v2.43.2. DO NOT EDIT.
// Code generated by mockery; DO NOT EDIT.
// github.com/vektra/mockery
// template: testify
package mocks
import (
client "sigs.k8s.io/controller-runtime/pkg/client"
"time"
"github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
mock "github.com/stretchr/testify/mock"
time "time"
v1alpha1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
"sigs.k8s.io/controller-runtime/pkg/client"
)
// Generator is an autogenerated mock type for the Generator type
type Generator struct {
mock.Mock
}
// GenerateParams provides a mock function with given fields: appSetGenerator, applicationSetInfo, _a2
func (_m *Generator) GenerateParams(appSetGenerator *v1alpha1.ApplicationSetGenerator, applicationSetInfo *v1alpha1.ApplicationSet, _a2 client.Client) ([]map[string]interface{}, error) {
ret := _m.Called(appSetGenerator, applicationSetInfo, _a2)
if len(ret) == 0 {
panic("no return value specified for GenerateParams")
}
var r0 []map[string]interface{}
var r1 error
if rf, ok := ret.Get(0).(func(*v1alpha1.ApplicationSetGenerator, *v1alpha1.ApplicationSet, client.Client) ([]map[string]interface{}, error)); ok {
return rf(appSetGenerator, applicationSetInfo, _a2)
}
if rf, ok := ret.Get(0).(func(*v1alpha1.ApplicationSetGenerator, *v1alpha1.ApplicationSet, client.Client) []map[string]interface{}); ok {
r0 = rf(appSetGenerator, applicationSetInfo, _a2)
} else {
if ret.Get(0) != nil {
r0 = ret.Get(0).([]map[string]interface{})
}
}
if rf, ok := ret.Get(1).(func(*v1alpha1.ApplicationSetGenerator, *v1alpha1.ApplicationSet, client.Client) error); ok {
r1 = rf(appSetGenerator, applicationSetInfo, _a2)
} else {
r1 = ret.Error(1)
}
return r0, r1
}
// GetRequeueAfter provides a mock function with given fields: appSetGenerator
func (_m *Generator) GetRequeueAfter(appSetGenerator *v1alpha1.ApplicationSetGenerator) time.Duration {
ret := _m.Called(appSetGenerator)
if len(ret) == 0 {
panic("no return value specified for GetRequeueAfter")
}
var r0 time.Duration
if rf, ok := ret.Get(0).(func(*v1alpha1.ApplicationSetGenerator) time.Duration); ok {
r0 = rf(appSetGenerator)
} else {
r0 = ret.Get(0).(time.Duration)
}
return r0
}
// GetTemplate provides a mock function with given fields: appSetGenerator
func (_m *Generator) GetTemplate(appSetGenerator *v1alpha1.ApplicationSetGenerator) *v1alpha1.ApplicationSetTemplate {
ret := _m.Called(appSetGenerator)
if len(ret) == 0 {
panic("no return value specified for GetTemplate")
}
var r0 *v1alpha1.ApplicationSetTemplate
if rf, ok := ret.Get(0).(func(*v1alpha1.ApplicationSetGenerator) *v1alpha1.ApplicationSetTemplate); ok {
r0 = rf(appSetGenerator)
} else {
if ret.Get(0) != nil {
r0 = ret.Get(0).(*v1alpha1.ApplicationSetTemplate)
}
}
return r0
}
// NewGenerator creates a new instance of Generator. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
// The first argument is typically a *testing.T value.
func NewGenerator(t interface {
@@ -98,3 +25,194 @@ func NewGenerator(t interface {
return mock
}
// Generator is an autogenerated mock type for the Generator type
type Generator struct {
mock.Mock
}
type Generator_Expecter struct {
mock *mock.Mock
}
func (_m *Generator) EXPECT() *Generator_Expecter {
return &Generator_Expecter{mock: &_m.Mock}
}
// GenerateParams provides a mock function for the type Generator
func (_mock *Generator) GenerateParams(appSetGenerator *v1alpha1.ApplicationSetGenerator, applicationSetInfo *v1alpha1.ApplicationSet, client1 client.Client) ([]map[string]any, error) {
ret := _mock.Called(appSetGenerator, applicationSetInfo, client1)
if len(ret) == 0 {
panic("no return value specified for GenerateParams")
}
var r0 []map[string]any
var r1 error
if returnFunc, ok := ret.Get(0).(func(*v1alpha1.ApplicationSetGenerator, *v1alpha1.ApplicationSet, client.Client) ([]map[string]any, error)); ok {
return returnFunc(appSetGenerator, applicationSetInfo, client1)
}
if returnFunc, ok := ret.Get(0).(func(*v1alpha1.ApplicationSetGenerator, *v1alpha1.ApplicationSet, client.Client) []map[string]any); ok {
r0 = returnFunc(appSetGenerator, applicationSetInfo, client1)
} else {
if ret.Get(0) != nil {
r0 = ret.Get(0).([]map[string]any)
}
}
if returnFunc, ok := ret.Get(1).(func(*v1alpha1.ApplicationSetGenerator, *v1alpha1.ApplicationSet, client.Client) error); ok {
r1 = returnFunc(appSetGenerator, applicationSetInfo, client1)
} else {
r1 = ret.Error(1)
}
return r0, r1
}
// Generator_GenerateParams_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GenerateParams'
type Generator_GenerateParams_Call struct {
*mock.Call
}
// GenerateParams is a helper method to define mock.On call
// - appSetGenerator *v1alpha1.ApplicationSetGenerator
// - applicationSetInfo *v1alpha1.ApplicationSet
// - client1 client.Client
func (_e *Generator_Expecter) GenerateParams(appSetGenerator interface{}, applicationSetInfo interface{}, client1 interface{}) *Generator_GenerateParams_Call {
return &Generator_GenerateParams_Call{Call: _e.mock.On("GenerateParams", appSetGenerator, applicationSetInfo, client1)}
}
func (_c *Generator_GenerateParams_Call) Run(run func(appSetGenerator *v1alpha1.ApplicationSetGenerator, applicationSetInfo *v1alpha1.ApplicationSet, client1 client.Client)) *Generator_GenerateParams_Call {
_c.Call.Run(func(args mock.Arguments) {
var arg0 *v1alpha1.ApplicationSetGenerator
if args[0] != nil {
arg0 = args[0].(*v1alpha1.ApplicationSetGenerator)
}
var arg1 *v1alpha1.ApplicationSet
if args[1] != nil {
arg1 = args[1].(*v1alpha1.ApplicationSet)
}
var arg2 client.Client
if args[2] != nil {
arg2 = args[2].(client.Client)
}
run(
arg0,
arg1,
arg2,
)
})
return _c
}
func (_c *Generator_GenerateParams_Call) Return(stringToVs []map[string]any, err error) *Generator_GenerateParams_Call {
_c.Call.Return(stringToVs, err)
return _c
}
func (_c *Generator_GenerateParams_Call) RunAndReturn(run func(appSetGenerator *v1alpha1.ApplicationSetGenerator, applicationSetInfo *v1alpha1.ApplicationSet, client1 client.Client) ([]map[string]any, error)) *Generator_GenerateParams_Call {
_c.Call.Return(run)
return _c
}
// GetRequeueAfter provides a mock function for the type Generator
func (_mock *Generator) GetRequeueAfter(appSetGenerator *v1alpha1.ApplicationSetGenerator) time.Duration {
ret := _mock.Called(appSetGenerator)
if len(ret) == 0 {
panic("no return value specified for GetRequeueAfter")
}
var r0 time.Duration
if returnFunc, ok := ret.Get(0).(func(*v1alpha1.ApplicationSetGenerator) time.Duration); ok {
r0 = returnFunc(appSetGenerator)
} else {
r0 = ret.Get(0).(time.Duration)
}
return r0
}
// Generator_GetRequeueAfter_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetRequeueAfter'
type Generator_GetRequeueAfter_Call struct {
*mock.Call
}
// GetRequeueAfter is a helper method to define mock.On call
// - appSetGenerator *v1alpha1.ApplicationSetGenerator
func (_e *Generator_Expecter) GetRequeueAfter(appSetGenerator interface{}) *Generator_GetRequeueAfter_Call {
return &Generator_GetRequeueAfter_Call{Call: _e.mock.On("GetRequeueAfter", appSetGenerator)}
}
func (_c *Generator_GetRequeueAfter_Call) Run(run func(appSetGenerator *v1alpha1.ApplicationSetGenerator)) *Generator_GetRequeueAfter_Call {
_c.Call.Run(func(args mock.Arguments) {
var arg0 *v1alpha1.ApplicationSetGenerator
if args[0] != nil {
arg0 = args[0].(*v1alpha1.ApplicationSetGenerator)
}
run(
arg0,
)
})
return _c
}
func (_c *Generator_GetRequeueAfter_Call) Return(duration time.Duration) *Generator_GetRequeueAfter_Call {
_c.Call.Return(duration)
return _c
}
func (_c *Generator_GetRequeueAfter_Call) RunAndReturn(run func(appSetGenerator *v1alpha1.ApplicationSetGenerator) time.Duration) *Generator_GetRequeueAfter_Call {
_c.Call.Return(run)
return _c
}
// GetTemplate provides a mock function for the type Generator
func (_mock *Generator) GetTemplate(appSetGenerator *v1alpha1.ApplicationSetGenerator) *v1alpha1.ApplicationSetTemplate {
ret := _mock.Called(appSetGenerator)
if len(ret) == 0 {
panic("no return value specified for GetTemplate")
}
var r0 *v1alpha1.ApplicationSetTemplate
if returnFunc, ok := ret.Get(0).(func(*v1alpha1.ApplicationSetGenerator) *v1alpha1.ApplicationSetTemplate); ok {
r0 = returnFunc(appSetGenerator)
} else {
if ret.Get(0) != nil {
r0 = ret.Get(0).(*v1alpha1.ApplicationSetTemplate)
}
}
return r0
}
// Generator_GetTemplate_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetTemplate'
type Generator_GetTemplate_Call struct {
*mock.Call
}
// GetTemplate is a helper method to define mock.On call
// - appSetGenerator *v1alpha1.ApplicationSetGenerator
func (_e *Generator_Expecter) GetTemplate(appSetGenerator interface{}) *Generator_GetTemplate_Call {
return &Generator_GetTemplate_Call{Call: _e.mock.On("GetTemplate", appSetGenerator)}
}
func (_c *Generator_GetTemplate_Call) Run(run func(appSetGenerator *v1alpha1.ApplicationSetGenerator)) *Generator_GetTemplate_Call {
_c.Call.Run(func(args mock.Arguments) {
var arg0 *v1alpha1.ApplicationSetGenerator
if args[0] != nil {
arg0 = args[0].(*v1alpha1.ApplicationSetGenerator)
}
run(
arg0,
)
})
return _c
}
func (_c *Generator_GetTemplate_Call) Return(applicationSetTemplate *v1alpha1.ApplicationSetTemplate) *Generator_GetTemplate_Call {
_c.Call.Return(applicationSetTemplate)
return _c
}
func (_c *Generator_GetTemplate_Call) RunAndReturn(run func(appSetGenerator *v1alpha1.ApplicationSetGenerator) *v1alpha1.ApplicationSetTemplate) *Generator_GetTemplate_Call {
_c.Call.Return(run)
return _c
}

View File

@@ -2,6 +2,7 @@ package generators
import (
"context"
"errors"
"fmt"
"strconv"
"strings"
@@ -9,33 +10,28 @@ import (
"github.com/jeremywohl/flatten"
corev1 "k8s.io/api/core/v1"
"k8s.io/client-go/kubernetes"
"sigs.k8s.io/controller-runtime/pkg/client"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
"github.com/argoproj/argo-cd/v2/util/settings"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
"github.com/argoproj/argo-cd/v3/util/settings"
"github.com/argoproj/argo-cd/v2/applicationset/services/plugin"
"github.com/argoproj/argo-cd/v3/applicationset/services/plugin"
)
const (
DefaultPluginRequeueAfterSeconds = 30 * time.Minute
DefaultPluginRequeueAfter = 30 * time.Minute
)
var _ Generator = (*PluginGenerator)(nil)
type PluginGenerator struct {
client client.Client
ctx context.Context
clientset kubernetes.Interface
namespace string
}
func NewPluginGenerator(client client.Client, ctx context.Context, clientset kubernetes.Interface, namespace string) Generator {
func NewPluginGenerator(client client.Client, namespace string) Generator {
g := &PluginGenerator{
client: client,
ctx: ctx,
clientset: clientset,
namespace: namespace,
}
return g
@@ -48,20 +44,20 @@ func (g *PluginGenerator) GetRequeueAfter(appSetGenerator *argoprojiov1alpha1.Ap
return time.Duration(*appSetGenerator.Plugin.RequeueAfterSeconds) * time.Second
}
return DefaultPluginRequeueAfterSeconds
return DefaultPluginRequeueAfter
}
func (g *PluginGenerator) GetTemplate(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator) *argoprojiov1alpha1.ApplicationSetTemplate {
return &appSetGenerator.Plugin.Template
}
func (g *PluginGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, applicationSetInfo *argoprojiov1alpha1.ApplicationSet, _ client.Client) ([]map[string]interface{}, error) {
func (g *PluginGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, applicationSetInfo *argoprojiov1alpha1.ApplicationSet, _ client.Client) ([]map[string]any, error) {
if appSetGenerator == nil {
return nil, EmptyAppSetGeneratorError
return nil, ErrEmptyAppSetGenerator
}
if appSetGenerator.Plugin == nil {
return nil, EmptyAppSetGeneratorError
return nil, ErrEmptyAppSetGenerator
}
ctx := context.Background()
@@ -105,18 +101,18 @@ func (g *PluginGenerator) getPluginFromGenerator(ctx context.Context, appSetName
}
}
pluginClient, err := plugin.NewPluginService(ctx, appSetName, cm["baseUrl"], token, requestTimeout)
pluginClient, err := plugin.NewPluginService(appSetName, cm["baseUrl"], token, requestTimeout)
if err != nil {
return nil, fmt.Errorf("error initializing plugin client: %w", err)
}
return pluginClient, nil
}
func (g *PluginGenerator) generateParams(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, appSet *argoprojiov1alpha1.ApplicationSet, objectsFound []map[string]interface{}, pluginParams argoprojiov1alpha1.PluginParameters, useGoTemplate bool) ([]map[string]interface{}, error) {
res := []map[string]interface{}{}
func (g *PluginGenerator) generateParams(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, appSet *argoprojiov1alpha1.ApplicationSet, objectsFound []map[string]any, pluginParams argoprojiov1alpha1.PluginParameters, useGoTemplate bool) ([]map[string]any, error) {
res := []map[string]any{}
for _, objectFound := range objectsFound {
params := map[string]interface{}{}
params := map[string]any{}
if useGoTemplate {
for k, v := range objectFound {
@@ -132,7 +128,7 @@ func (g *PluginGenerator) generateParams(appSetGenerator *argoprojiov1alpha1.App
}
}
params["generator"] = map[string]interface{}{
params["generator"] = map[string]any{
"input": map[string]argoprojiov1alpha1.PluginParameters{
"parameters": pluginParams,
},
@@ -192,14 +188,14 @@ func (g *PluginGenerator) getConfigMap(ctx context.Context, configMapRef string)
return nil, err
}
baseUrl, ok := cm.Data["baseUrl"]
if !ok || baseUrl == "" {
return nil, fmt.Errorf("baseUrl not found in ConfigMap")
baseURL, ok := cm.Data["baseUrl"]
if !ok || baseURL == "" {
return nil, errors.New("baseUrl not found in ConfigMap")
}
token, ok := cm.Data["token"]
if !ok || token == "" {
return nil, fmt.Errorf("token not found in ConfigMap")
return nil, errors.New("token not found in ConfigMap")
}
return cm.Data, nil

View File

@@ -1,8 +1,8 @@
package generators
import (
"context"
"encoding/json"
"errors"
"fmt"
"net/http"
"net/http/httptest"
@@ -11,33 +11,31 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
v1 "k8s.io/api/core/v1"
corev1 "k8s.io/api/core/v1"
apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
kubefake "k8s.io/client-go/kubernetes/fake"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/client/fake"
"github.com/argoproj/argo-cd/v2/applicationset/services/plugin"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
"github.com/argoproj/argo-cd/v3/applicationset/services/plugin"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
)
func TestPluginGenerateParams(t *testing.T) {
testCases := []struct {
name string
configmap *v1.ConfigMap
secret *v1.Secret
configmap *corev1.ConfigMap
secret *corev1.Secret
inputParameters map[string]apiextensionsv1.JSON
values map[string]string
gotemplate bool
expected []map[string]interface{}
expected []map[string]any
content []byte
expectedError error
}{
{
name: "simple case",
configmap: &v1.ConfigMap{
configmap: &corev1.ConfigMap{
ObjectMeta: metav1.ObjectMeta{
Name: "first-plugin-cm",
Namespace: "default",
@@ -47,7 +45,7 @@ func TestPluginGenerateParams(t *testing.T) {
"token": "$plugin.token",
},
},
secret: &v1.Secret{
secret: &corev1.Secret{
ObjectMeta: metav1.ObjectMeta{
Name: "argocd-secret",
Namespace: "default",
@@ -73,13 +71,13 @@ func TestPluginGenerateParams(t *testing.T) {
"key3": 123
}]
}}`),
expected: []map[string]interface{}{
expected: []map[string]any{
{
"key1": "val1",
"key2.key2_1": "val2_1",
"key2.key2_2.key2_2_1": "val2_2_1",
"key3": "123",
"generator": map[string]interface{}{
"generator": map[string]any{
"input": argoprojiov1alpha1.PluginInput{
Parameters: argoprojiov1alpha1.PluginParameters{
"pkey1": {Raw: []byte(`"val1"`)},
@@ -93,7 +91,7 @@ func TestPluginGenerateParams(t *testing.T) {
},
{
name: "simple case with values",
configmap: &v1.ConfigMap{
configmap: &corev1.ConfigMap{
ObjectMeta: metav1.ObjectMeta{
Name: "first-plugin-cm",
Namespace: "default",
@@ -103,7 +101,7 @@ func TestPluginGenerateParams(t *testing.T) {
"token": "$plugin.token",
},
},
secret: &v1.Secret{
secret: &corev1.Secret{
ObjectMeta: metav1.ObjectMeta{
Name: "argocd-secret",
Namespace: "default",
@@ -133,7 +131,7 @@ func TestPluginGenerateParams(t *testing.T) {
"key3": 123
}]
}}`),
expected: []map[string]interface{}{
expected: []map[string]any{
{
"key1": "val1",
"key2.key2_1": "val2_1",
@@ -141,7 +139,7 @@ func TestPluginGenerateParams(t *testing.T) {
"key3": "123",
"values.valuekey1": "valuevalue1",
"values.valuekey2": "templated-val1",
"generator": map[string]interface{}{
"generator": map[string]any{
"input": argoprojiov1alpha1.PluginInput{
Parameters: argoprojiov1alpha1.PluginParameters{
"pkey1": {Raw: []byte(`"val1"`)},
@@ -155,7 +153,7 @@ func TestPluginGenerateParams(t *testing.T) {
},
{
name: "simple case with gotemplate",
configmap: &v1.ConfigMap{
configmap: &corev1.ConfigMap{
ObjectMeta: metav1.ObjectMeta{
Name: "first-plugin-cm",
Namespace: "default",
@@ -165,7 +163,7 @@ func TestPluginGenerateParams(t *testing.T) {
"token": "$plugin.token",
},
},
secret: &v1.Secret{
secret: &corev1.Secret{
ObjectMeta: metav1.ObjectMeta{
Name: "argocd-secret",
Namespace: "default",
@@ -191,17 +189,17 @@ func TestPluginGenerateParams(t *testing.T) {
"key3": 123
}]
}}`),
expected: []map[string]interface{}{
expected: []map[string]any{
{
"key1": "val1",
"key2": map[string]interface{}{
"key2": map[string]any{
"key2_1": "val2_1",
"key2_2": map[string]interface{}{
"key2_2": map[string]any{
"key2_2_1": "val2_2_1",
},
},
"key3": float64(123),
"generator": map[string]interface{}{
"generator": map[string]any{
"input": argoprojiov1alpha1.PluginInput{
Parameters: argoprojiov1alpha1.PluginParameters{
"pkey1": {Raw: []byte(`"val1"`)},
@@ -215,7 +213,7 @@ func TestPluginGenerateParams(t *testing.T) {
},
{
name: "simple case with appended params",
configmap: &v1.ConfigMap{
configmap: &corev1.ConfigMap{
ObjectMeta: metav1.ObjectMeta{
Name: "first-plugin-cm",
Namespace: "default",
@@ -225,7 +223,7 @@ func TestPluginGenerateParams(t *testing.T) {
"token": "$plugin.token",
},
},
secret: &v1.Secret{
secret: &corev1.Secret{
ObjectMeta: metav1.ObjectMeta{
Name: "argocd-secret",
Namespace: "default",
@@ -250,14 +248,14 @@ func TestPluginGenerateParams(t *testing.T) {
"key3": 123,
"pkey2": "valplugin"
}]}}`),
expected: []map[string]interface{}{
expected: []map[string]any{
{
"key1": "val1",
"key2.key2_1": "val2_1",
"key2.key2_2.key2_2_1": "val2_2_1",
"key3": "123",
"pkey2": "valplugin",
"generator": map[string]interface{}{
"generator": map[string]any{
"input": argoprojiov1alpha1.PluginInput{
Parameters: argoprojiov1alpha1.PluginParameters{
"pkey1": {Raw: []byte(`"val1"`)},
@@ -271,7 +269,7 @@ func TestPluginGenerateParams(t *testing.T) {
},
{
name: "no params",
configmap: &v1.ConfigMap{
configmap: &corev1.ConfigMap{
ObjectMeta: metav1.ObjectMeta{
Name: "first-plugin-cm",
Namespace: "default",
@@ -281,7 +279,7 @@ func TestPluginGenerateParams(t *testing.T) {
"token": "$plugin.token",
},
},
secret: &v1.Secret{
secret: &corev1.Secret{
ObjectMeta: metav1.ObjectMeta{
Name: "argocd-secret",
Namespace: "default",
@@ -304,14 +302,14 @@ func TestPluginGenerateParams(t *testing.T) {
"key3": 123
}]
}}`),
expected: []map[string]interface{}{
expected: []map[string]any{
{
"key1": "val1",
"key2.key2_1": "val2_1",
"key2.key2_2.key2_2_1": "val2_2_1",
"key3": "123",
"generator": map[string]interface{}{
"input": map[string]map[string]interface{}{
"generator": map[string]any{
"input": map[string]map[string]any{
"parameters": {},
},
},
@@ -321,7 +319,7 @@ func TestPluginGenerateParams(t *testing.T) {
},
{
name: "empty return",
configmap: &v1.ConfigMap{
configmap: &corev1.ConfigMap{
ObjectMeta: metav1.ObjectMeta{
Name: "first-plugin-cm",
Namespace: "default",
@@ -331,7 +329,7 @@ func TestPluginGenerateParams(t *testing.T) {
"token": "$plugin.token",
},
},
secret: &v1.Secret{
secret: &corev1.Secret{
ObjectMeta: metav1.ObjectMeta{
Name: "argocd-secret",
Namespace: "default",
@@ -343,12 +341,12 @@ func TestPluginGenerateParams(t *testing.T) {
inputParameters: map[string]apiextensionsv1.JSON{},
gotemplate: false,
content: []byte(`{"input": {"parameters": []}}`),
expected: []map[string]interface{}{},
expected: []map[string]any{},
expectedError: nil,
},
{
name: "wrong return",
configmap: &v1.ConfigMap{
configmap: &corev1.ConfigMap{
ObjectMeta: metav1.ObjectMeta{
Name: "first-plugin-cm",
Namespace: "default",
@@ -358,7 +356,7 @@ func TestPluginGenerateParams(t *testing.T) {
"token": "$plugin.token",
},
},
secret: &v1.Secret{
secret: &corev1.Secret{
ObjectMeta: metav1.ObjectMeta{
Name: "argocd-secret",
Namespace: "default",
@@ -370,12 +368,12 @@ func TestPluginGenerateParams(t *testing.T) {
inputParameters: map[string]apiextensionsv1.JSON{},
gotemplate: false,
content: []byte(`wrong body ...`),
expected: []map[string]interface{}{},
expectedError: fmt.Errorf("error listing params: error get api 'set': invalid character 'w' looking for beginning of value: wrong body ..."),
expected: []map[string]any{},
expectedError: errors.New("error listing params: error get api 'set': invalid character 'w' looking for beginning of value: wrong body ..."),
},
{
name: "external secret",
configmap: &v1.ConfigMap{
configmap: &corev1.ConfigMap{
ObjectMeta: metav1.ObjectMeta{
Name: "first-plugin-cm",
Namespace: "default",
@@ -385,7 +383,7 @@ func TestPluginGenerateParams(t *testing.T) {
"token": "$plugin-secret:plugin.token",
},
},
secret: &v1.Secret{
secret: &corev1.Secret{
ObjectMeta: metav1.ObjectMeta{
Name: "plugin-secret",
Namespace: "default",
@@ -410,14 +408,14 @@ func TestPluginGenerateParams(t *testing.T) {
"key3": 123,
"pkey2": "valplugin"
}]}}`),
expected: []map[string]interface{}{
expected: []map[string]any{
{
"key1": "val1",
"key2.key2_1": "val2_1",
"key2.key2_2.key2_2_1": "val2_2_1",
"key3": "123",
"pkey2": "valplugin",
"generator": map[string]interface{}{
"generator": map[string]any{
"input": argoprojiov1alpha1.PluginInput{
Parameters: argoprojiov1alpha1.PluginParameters{
"pkey1": {Raw: []byte(`"val1"`)},
@@ -431,7 +429,7 @@ func TestPluginGenerateParams(t *testing.T) {
},
{
name: "no secret",
configmap: &v1.ConfigMap{
configmap: &corev1.ConfigMap{
ObjectMeta: metav1.ObjectMeta{
Name: "first-plugin-cm",
Namespace: "default",
@@ -441,7 +439,7 @@ func TestPluginGenerateParams(t *testing.T) {
"token": "$plugin.token",
},
},
secret: &v1.Secret{},
secret: &corev1.Secret{},
inputParameters: map[string]apiextensionsv1.JSON{
"pkey1": {Raw: []byte(`"val1"`)},
"pkey2": {Raw: []byte(`"val2"`)},
@@ -459,13 +457,13 @@ func TestPluginGenerateParams(t *testing.T) {
"key3": 123
}]
}}`),
expected: []map[string]interface{}{
expected: []map[string]any{
{
"key1": "val1",
"key2.key2_1": "val2_1",
"key2.key2_2.key2_2_1": "val2_2_1",
"key3": "123",
"generator": map[string]interface{}{
"generator": map[string]any{
"input": argoprojiov1alpha1.PluginInput{
Parameters: argoprojiov1alpha1.PluginParameters{
"pkey1": {Raw: []byte(`"val1"`)},
@@ -475,12 +473,12 @@ func TestPluginGenerateParams(t *testing.T) {
},
},
},
expectedError: fmt.Errorf("error getting plugin from generator: error fetching Secret token: error fetching secret default/argocd-secret: secrets \"argocd-secret\" not found"),
expectedError: errors.New("error getting plugin from generator: error fetching Secret token: error fetching secret default/argocd-secret: secrets \"argocd-secret\" not found"),
},
{
name: "no configmap",
configmap: &v1.ConfigMap{},
secret: &v1.Secret{
configmap: &corev1.ConfigMap{},
secret: &corev1.Secret{
ObjectMeta: metav1.ObjectMeta{
Name: "argocd-secret",
Namespace: "default",
@@ -506,13 +504,13 @@ func TestPluginGenerateParams(t *testing.T) {
"key3": 123
}]
}}`),
expected: []map[string]interface{}{
expected: []map[string]any{
{
"key1": "val1",
"key2.key2_1": "val2_1",
"key2.key2_2.key2_2_1": "val2_2_1",
"key3": "123",
"generator": map[string]interface{}{
"generator": map[string]any{
"input": argoprojiov1alpha1.PluginInput{
Parameters: argoprojiov1alpha1.PluginParameters{
"pkey1": {Raw: []byte(`"val1"`)},
@@ -522,11 +520,11 @@ func TestPluginGenerateParams(t *testing.T) {
},
},
},
expectedError: fmt.Errorf("error getting plugin from generator: error fetching ConfigMap: configmaps \"\" not found"),
expectedError: errors.New("error getting plugin from generator: error fetching ConfigMap: configmaps \"\" not found"),
},
{
name: "no baseUrl",
configmap: &v1.ConfigMap{
configmap: &corev1.ConfigMap{
ObjectMeta: metav1.ObjectMeta{
Name: "first-plugin-cm",
Namespace: "default",
@@ -535,7 +533,7 @@ func TestPluginGenerateParams(t *testing.T) {
"token": "$plugin.token",
},
},
secret: &v1.Secret{
secret: &corev1.Secret{
ObjectMeta: metav1.ObjectMeta{
Name: "argocd-secret",
Namespace: "default",
@@ -561,13 +559,13 @@ func TestPluginGenerateParams(t *testing.T) {
"key3": 123
}]
}}`),
expected: []map[string]interface{}{
expected: []map[string]any{
{
"key1": "val1",
"key2.key2_1": "val2_1",
"key2.key2_2.key2_2_1": "val2_2_1",
"key3": "123",
"generator": map[string]interface{}{
"generator": map[string]any{
"input": argoprojiov1alpha1.PluginInput{
Parameters: argoprojiov1alpha1.PluginParameters{
"pkey1": {Raw: []byte(`"val1"`)},
@@ -577,11 +575,11 @@ func TestPluginGenerateParams(t *testing.T) {
},
},
},
expectedError: fmt.Errorf("error getting plugin from generator: error fetching ConfigMap: baseUrl not found in ConfigMap"),
expectedError: errors.New("error getting plugin from generator: error fetching ConfigMap: baseUrl not found in ConfigMap"),
},
{
name: "no token",
configmap: &v1.ConfigMap{
configmap: &corev1.ConfigMap{
ObjectMeta: metav1.ObjectMeta{
Name: "first-plugin-cm",
Namespace: "default",
@@ -590,7 +588,7 @@ func TestPluginGenerateParams(t *testing.T) {
"baseUrl": "http://127.0.0.1",
},
},
secret: &v1.Secret{},
secret: &corev1.Secret{},
inputParameters: map[string]apiextensionsv1.JSON{
"pkey1": {Raw: []byte(`"val1"`)},
"pkey2": {Raw: []byte(`"val2"`)},
@@ -608,13 +606,13 @@ func TestPluginGenerateParams(t *testing.T) {
"key3": 123
}]
}}`),
expected: []map[string]interface{}{
expected: []map[string]any{
{
"key1": "val1",
"key2.key2_1": "val2_1",
"key2.key2_2.key2_2_1": "val2_2_1",
"key3": "123",
"generator": map[string]interface{}{
"generator": map[string]any{
"input": argoprojiov1alpha1.PluginInput{
Parameters: argoprojiov1alpha1.PluginParameters{
"pkey1": {Raw: []byte(`"val1"`)},
@@ -624,12 +622,10 @@ func TestPluginGenerateParams(t *testing.T) {
},
},
},
expectedError: fmt.Errorf("error getting plugin from generator: error fetching ConfigMap: token not found in ConfigMap"),
expectedError: errors.New("error getting plugin from generator: error fetching ConfigMap: token not found in ConfigMap"),
},
}
ctx := context.Background()
for _, testCase := range testCases {
t.Run(testCase.name, func(t *testing.T) {
generatorConfig := argoprojiov1alpha1.ApplicationSetGenerator{
@@ -666,11 +662,9 @@ func TestPluginGenerateParams(t *testing.T) {
testCase.configmap.Data["baseUrl"] = fakeServer.URL
}
fakeClient := kubefake.NewSimpleClientset(append([]runtime.Object{}, testCase.configmap, testCase.secret)...)
fakeClientWithCache := fake.NewClientBuilder().WithObjects([]client.Object{testCase.configmap, testCase.secret}...).Build()
pluginGenerator := NewPluginGenerator(fakeClientWithCache, ctx, fakeClient, "default")
pluginGenerator := NewPluginGenerator(fakeClientWithCache, "default")
applicationSetInfo := argoprojiov1alpha1.ApplicationSet{
ObjectMeta: metav1.ObjectMeta{
@@ -690,11 +684,11 @@ func TestPluginGenerateParams(t *testing.T) {
require.EqualError(t, err, testCase.expectedError.Error())
} else {
require.NoError(t, err)
expectedJson, err := json.Marshal(testCase.expected)
expectedJSON, err := json.Marshal(testCase.expected)
require.NoError(t, err)
gotJson, err := json.Marshal(got)
gotJSON, err := json.Marshal(got)
require.NoError(t, err)
assert.Equal(t, string(expectedJson), string(gotJson))
assert.JSONEq(t, string(expectedJSON), string(gotJSON))
}
})
}

View File

@@ -2,23 +2,25 @@ package generators
import (
"context"
"errors"
"fmt"
"net/http"
"strconv"
"time"
"sigs.k8s.io/controller-runtime/pkg/client"
"github.com/gosimple/slug"
log "github.com/sirupsen/logrus"
pullrequest "github.com/argoproj/argo-cd/v2/applicationset/services/pull_request"
"github.com/argoproj/argo-cd/v2/applicationset/utils"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
"github.com/argoproj/argo-cd/v3/applicationset/services"
pullrequest "github.com/argoproj/argo-cd/v3/applicationset/services/pull_request"
"github.com/argoproj/argo-cd/v3/applicationset/utils"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
)
var _ Generator = (*PullRequestGenerator)(nil)
const (
DefaultPullRequestRequeueAfterSeconds = 30 * time.Minute
DefaultPullRequestRequeueAfter = 30 * time.Minute
)
type PullRequestGenerator struct {
@@ -43,20 +45,24 @@ func (g *PullRequestGenerator) GetRequeueAfter(appSetGenerator *argoprojiov1alph
return time.Duration(*appSetGenerator.PullRequest.RequeueAfterSeconds) * time.Second
}
return DefaultPullRequestRequeueAfterSeconds
return DefaultPullRequestRequeueAfter
}
func (g *PullRequestGenerator) GetContinueOnRepoNotFoundError(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator) bool {
return appSetGenerator.PullRequest.ContinueOnRepoNotFoundError
}
func (g *PullRequestGenerator) GetTemplate(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator) *argoprojiov1alpha1.ApplicationSetTemplate {
return &appSetGenerator.PullRequest.Template
}
func (g *PullRequestGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, applicationSetInfo *argoprojiov1alpha1.ApplicationSet, _ client.Client) ([]map[string]interface{}, error) {
func (g *PullRequestGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, applicationSetInfo *argoprojiov1alpha1.ApplicationSet, _ client.Client) ([]map[string]any, error) {
if appSetGenerator == nil {
return nil, EmptyAppSetGeneratorError
return nil, ErrEmptyAppSetGenerator
}
if appSetGenerator.PullRequest == nil {
return nil, EmptyAppSetGeneratorError
return nil, ErrEmptyAppSetGenerator
}
ctx := context.Background()
@@ -66,10 +72,15 @@ func (g *PullRequestGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha
}
pulls, err := pullrequest.ListPullRequests(ctx, svc, appSetGenerator.PullRequest.Filters)
params := make([]map[string]any, 0, len(pulls))
if err != nil {
if pullrequest.IsRepositoryNotFoundError(err) && g.GetContinueOnRepoNotFoundError(appSetGenerator) {
log.WithError(err).WithField("generator", g).
Warn("Skipping params generation for this repository since it was not found.")
return params, nil
}
return nil, fmt.Errorf("error listing repos: %w", err)
}
params := make([]map[string]interface{}, 0, len(pulls))
// In order to follow the DNS label standard as defined in RFC 1123,
// we need to limit the 'branch' to 50 to give room to append/suffix-ing it
@@ -95,7 +106,7 @@ func (g *PullRequestGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha
shortSHALength7 = len(pull.HeadSHA)
}
paramMap := map[string]interface{}{
paramMap := map[string]any{
"number": strconv.Itoa(pull.Number),
"title": pull.Title,
"branch": pull.Branch,
@@ -112,6 +123,11 @@ func (g *PullRequestGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha
if applicationSetInfo != nil && applicationSetInfo.Spec.GoTemplate {
paramMap["labels"] = pull.Labels
}
err := appendTemplatedValues(appSetGenerator.PullRequest.Values, paramMap, applicationSetInfo.Spec.GoTemplate, applicationSetInfo.Spec.GoTemplateOptions)
if err != nil {
return nil, fmt.Errorf("failed to append templated values: %w", err)
}
params = append(params, paramMap)
}
return params, nil
@@ -139,19 +155,20 @@ func (g *PullRequestGenerator) selectServiceProvider(ctx context.Context, genera
return nil, fmt.Errorf("error fetching CA certificates from ConfigMap: %w", prErr)
}
}
token, err := utils.GetSecretRef(ctx, g.client, providerConfig.TokenRef, applicationSetInfo.Namespace)
token, err := utils.GetSecretRef(ctx, g.client, providerConfig.TokenRef, applicationSetInfo.Namespace, g.tokenRefStrictMode)
if err != nil {
return nil, fmt.Errorf("error fetching Secret token: %w", err)
}
return pullrequest.NewGitLabService(ctx, token, providerConfig.API, providerConfig.Project, providerConfig.Labels, providerConfig.PullRequestState, g.scmRootCAPath, providerConfig.Insecure, caCerts)
return pullrequest.NewGitLabService(token, providerConfig.API, providerConfig.Project, providerConfig.Labels, providerConfig.PullRequestState, g.scmRootCAPath, providerConfig.Insecure, caCerts)
}
if generatorConfig.Gitea != nil {
providerConfig := generatorConfig.Gitea
token, err := utils.GetSecretRef(ctx, g.client, providerConfig.TokenRef, applicationSetInfo.Namespace)
token, err := utils.GetSecretRef(ctx, g.client, providerConfig.TokenRef, applicationSetInfo.Namespace, g.tokenRefStrictMode)
if err != nil {
return nil, fmt.Errorf("error fetching Secret token: %w", err)
}
return pullrequest.NewGiteaService(ctx, token, providerConfig.API, providerConfig.Owner, providerConfig.Repo, providerConfig.Insecure)
return pullrequest.NewGiteaService(token, providerConfig.API, providerConfig.Owner, providerConfig.Repo, providerConfig.Labels, providerConfig.Insecure)
}
if generatorConfig.BitbucketServer != nil {
providerConfig := generatorConfig.BitbucketServer
@@ -164,64 +181,81 @@ func (g *PullRequestGenerator) selectServiceProvider(ctx context.Context, genera
}
}
if providerConfig.BearerToken != nil {
appToken, err := utils.GetSecretRef(ctx, g.client, providerConfig.BearerToken.TokenRef, applicationSetInfo.Namespace)
appToken, err := utils.GetSecretRef(ctx, g.client, providerConfig.BearerToken.TokenRef, applicationSetInfo.Namespace, g.tokenRefStrictMode)
if err != nil {
return nil, fmt.Errorf("error fetching Secret Bearer token: %w", err)
}
return pullrequest.NewBitbucketServiceBearerToken(ctx, providerConfig.API, appToken, providerConfig.Project, providerConfig.Repo, g.scmRootCAPath, providerConfig.Insecure, caCerts)
return pullrequest.NewBitbucketServiceBearerToken(ctx, appToken, providerConfig.API, providerConfig.Project, providerConfig.Repo, g.scmRootCAPath, providerConfig.Insecure, caCerts)
} else if providerConfig.BasicAuth != nil {
password, err := utils.GetSecretRef(ctx, g.client, providerConfig.BasicAuth.PasswordRef, applicationSetInfo.Namespace)
password, err := utils.GetSecretRef(ctx, g.client, providerConfig.BasicAuth.PasswordRef, applicationSetInfo.Namespace, g.tokenRefStrictMode)
if err != nil {
return nil, fmt.Errorf("error fetching Secret token: %w", err)
}
return pullrequest.NewBitbucketServiceBasicAuth(ctx, providerConfig.BasicAuth.Username, password, providerConfig.API, providerConfig.Project, providerConfig.Repo, g.scmRootCAPath, providerConfig.Insecure, caCerts)
} else {
return pullrequest.NewBitbucketServiceNoAuth(ctx, providerConfig.API, providerConfig.Project, providerConfig.Repo, g.scmRootCAPath, providerConfig.Insecure, caCerts)
}
return pullrequest.NewBitbucketServiceNoAuth(ctx, providerConfig.API, providerConfig.Project, providerConfig.Repo, g.scmRootCAPath, providerConfig.Insecure, caCerts)
}
if generatorConfig.Bitbucket != nil {
providerConfig := generatorConfig.Bitbucket
if providerConfig.BearerToken != nil {
appToken, err := utils.GetSecretRef(ctx, g.client, providerConfig.BearerToken.TokenRef, applicationSetInfo.Namespace)
appToken, err := utils.GetSecretRef(ctx, g.client, providerConfig.BearerToken.TokenRef, applicationSetInfo.Namespace, g.tokenRefStrictMode)
if err != nil {
return nil, fmt.Errorf("error fetching Secret Bearer token: %w", err)
}
return pullrequest.NewBitbucketCloudServiceBearerToken(providerConfig.API, appToken, providerConfig.Owner, providerConfig.Repo)
} else if providerConfig.BasicAuth != nil {
password, err := utils.GetSecretRef(ctx, g.client, providerConfig.BasicAuth.PasswordRef, applicationSetInfo.Namespace)
password, err := utils.GetSecretRef(ctx, g.client, providerConfig.BasicAuth.PasswordRef, applicationSetInfo.Namespace, g.tokenRefStrictMode)
if err != nil {
return nil, fmt.Errorf("error fetching Secret token: %w", err)
}
return pullrequest.NewBitbucketCloudServiceBasicAuth(providerConfig.API, providerConfig.BasicAuth.Username, password, providerConfig.Owner, providerConfig.Repo)
} else {
return pullrequest.NewBitbucketCloudServiceNoAuth(providerConfig.API, providerConfig.Owner, providerConfig.Repo)
}
return pullrequest.NewBitbucketCloudServiceNoAuth(providerConfig.API, providerConfig.Owner, providerConfig.Repo)
}
if generatorConfig.AzureDevOps != nil {
providerConfig := generatorConfig.AzureDevOps
token, err := utils.GetSecretRef(ctx, g.client, providerConfig.TokenRef, applicationSetInfo.Namespace)
token, err := utils.GetSecretRef(ctx, g.client, providerConfig.TokenRef, applicationSetInfo.Namespace, g.tokenRefStrictMode)
if err != nil {
return nil, fmt.Errorf("error fetching Secret token: %w", err)
}
return pullrequest.NewAzureDevOpsService(ctx, token, providerConfig.API, providerConfig.Organization, providerConfig.Project, providerConfig.Repo, providerConfig.Labels)
return pullrequest.NewAzureDevOpsService(token, providerConfig.API, providerConfig.Organization, providerConfig.Project, providerConfig.Repo, providerConfig.Labels)
}
return nil, fmt.Errorf("no Pull Request provider implementation configured")
return nil, errors.New("no Pull Request provider implementation configured")
}
func (g *PullRequestGenerator) github(ctx context.Context, cfg *argoprojiov1alpha1.PullRequestGeneratorGithub, applicationSetInfo *argoprojiov1alpha1.ApplicationSet) (pullrequest.PullRequestService, error) {
var metricsCtx *services.MetricsContext
var httpClient *http.Client
if g.enableGitHubAPIMetrics {
metricsCtx = &services.MetricsContext{
AppSetNamespace: applicationSetInfo.Namespace,
AppSetName: applicationSetInfo.Name,
}
httpClient = services.NewGitHubMetricsClient(metricsCtx)
}
// use an app if it was configured
if cfg.AppSecretName != "" {
auth, err := g.GitHubApps.GetAuthSecret(ctx, cfg.AppSecretName)
if err != nil {
return nil, fmt.Errorf("error getting GitHub App secret: %w", err)
}
if g.enableGitHubAPIMetrics {
return pullrequest.NewGithubAppService(*auth, cfg.API, cfg.Owner, cfg.Repo, cfg.Labels, httpClient)
}
return pullrequest.NewGithubAppService(*auth, cfg.API, cfg.Owner, cfg.Repo, cfg.Labels)
}
// always default to token, even if not set (public access)
token, err := utils.GetSecretRef(ctx, g.client, cfg.TokenRef, applicationSetInfo.Namespace)
token, err := utils.GetSecretRef(ctx, g.client, cfg.TokenRef, applicationSetInfo.Namespace, g.tokenRefStrictMode)
if err != nil {
return nil, fmt.Errorf("error fetching Secret token: %w", err)
}
return pullrequest.NewGithubService(ctx, token, cfg.API, cfg.Owner, cfg.Repo, cfg.Labels)
if g.enableGitHubAPIMetrics {
return pullrequest.NewGithubService(token, cfg.API, cfg.Owner, cfg.Repo, cfg.Labels, httpClient)
}
return pullrequest.NewGithubService(token, cfg.API, cfg.Owner, cfg.Repo, cfg.Labels)
}

View File

@@ -2,24 +2,26 @@ package generators
import (
"context"
"fmt"
"errors"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
pullrequest "github.com/argoproj/argo-cd/v2/applicationset/services/pull_request"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
pullrequest "github.com/argoproj/argo-cd/v3/applicationset/services/pull_request"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
)
func TestPullRequestGithubGenerateParams(t *testing.T) {
ctx := context.Background()
ctx := t.Context()
cases := []struct {
selectFunc func(context.Context, *argoprojiov1alpha1.PullRequestGenerator, *argoprojiov1alpha1.ApplicationSet) (pullrequest.PullRequestService, error)
expected []map[string]interface{}
expectedErr error
applicationSet argoprojiov1alpha1.ApplicationSet
selectFunc func(context.Context, *argoprojiov1alpha1.PullRequestGenerator, *argoprojiov1alpha1.ApplicationSet) (pullrequest.PullRequestService, error)
values map[string]string
expected []map[string]any
expectedErr error
applicationSet argoprojiov1alpha1.ApplicationSet
continueOnRepoNotFoundError bool
}{
{
selectFunc: func(context.Context, *argoprojiov1alpha1.PullRequestGenerator, *argoprojiov1alpha1.ApplicationSet) (pullrequest.PullRequestService, error) {
@@ -38,7 +40,7 @@ func TestPullRequestGithubGenerateParams(t *testing.T) {
nil,
)
},
expected: []map[string]interface{}{
expected: []map[string]any{
{
"number": "1",
"title": "title1",
@@ -71,7 +73,7 @@ func TestPullRequestGithubGenerateParams(t *testing.T) {
nil,
)
},
expected: []map[string]interface{}{
expected: []map[string]any{
{
"number": "2",
"title": "title2",
@@ -104,7 +106,7 @@ func TestPullRequestGithubGenerateParams(t *testing.T) {
nil,
)
},
expected: []map[string]interface{}{
expected: []map[string]any{
{
"number": "1",
"title": "title1",
@@ -124,12 +126,75 @@ func TestPullRequestGithubGenerateParams(t *testing.T) {
selectFunc: func(context.Context, *argoprojiov1alpha1.PullRequestGenerator, *argoprojiov1alpha1.ApplicationSet) (pullrequest.PullRequestService, error) {
return pullrequest.NewFakeService(
ctx,
[]*pullrequest.PullRequest{
{
Number: 1,
Title: "title1",
Branch: "my_branch",
TargetBranch: "master",
HeadSHA: "abcd",
Author: "testName",
},
},
nil,
fmt.Errorf("fake error"),
)
},
values: map[string]string{
"foo": "bar",
"pr_branch": "{{ branch }}",
},
expected: []map[string]any{
{
"number": "1",
"title": "title1",
"branch": "my_branch",
"branch_slug": "my-branch",
"target_branch": "master",
"target_branch_slug": "master",
"head_sha": "abcd",
"head_short_sha": "abcd",
"head_short_sha_7": "abcd",
"author": "testName",
"values.foo": "bar",
"values.pr_branch": "my_branch",
},
},
expectedErr: nil,
},
{
selectFunc: func(context.Context, *argoprojiov1alpha1.PullRequestGenerator, *argoprojiov1alpha1.ApplicationSet) (pullrequest.PullRequestService, error) {
return pullrequest.NewFakeService(
ctx,
nil,
errors.New("fake error"),
)
},
expected: nil,
expectedErr: fmt.Errorf("error listing repos: fake error"),
expectedErr: errors.New("error listing repos: fake error"),
},
{
selectFunc: func(context.Context, *argoprojiov1alpha1.PullRequestGenerator, *argoprojiov1alpha1.ApplicationSet) (pullrequest.PullRequestService, error) {
return pullrequest.NewFakeService(
ctx,
nil,
pullrequest.NewRepositoryNotFoundError(errors.New("repository not found")),
)
},
expected: []map[string]any{},
expectedErr: nil,
continueOnRepoNotFoundError: true,
},
{
selectFunc: func(context.Context, *argoprojiov1alpha1.PullRequestGenerator, *argoprojiov1alpha1.ApplicationSet) (pullrequest.PullRequestService, error) {
return pullrequest.NewFakeService(
ctx,
nil,
pullrequest.NewRepositoryNotFoundError(errors.New("repository not found")),
)
},
expected: nil,
expectedErr: errors.New("error listing repos: repository not found"),
continueOnRepoNotFoundError: false,
},
{
selectFunc: func(context.Context, *argoprojiov1alpha1.PullRequestGenerator, *argoprojiov1alpha1.ApplicationSet) (pullrequest.PullRequestService, error) {
@@ -149,7 +214,7 @@ func TestPullRequestGithubGenerateParams(t *testing.T) {
nil,
)
},
expected: []map[string]interface{}{
expected: []map[string]any{
{
"number": "1",
"title": "title1",
@@ -190,7 +255,7 @@ func TestPullRequestGithubGenerateParams(t *testing.T) {
nil,
)
},
expected: []map[string]interface{}{
expected: []map[string]any{
{
"number": "1",
"title": "title1",
@@ -212,6 +277,51 @@ func TestPullRequestGithubGenerateParams(t *testing.T) {
},
},
},
{
selectFunc: func(context.Context, *argoprojiov1alpha1.PullRequestGenerator, *argoprojiov1alpha1.ApplicationSet) (pullrequest.PullRequestService, error) {
return pullrequest.NewFakeService(
ctx,
[]*pullrequest.PullRequest{
{
Number: 1,
Title: "title1",
Branch: "my_branch",
TargetBranch: "master",
HeadSHA: "abcd",
Author: "testName",
Labels: []string{"preview", "preview:team1"},
},
},
nil,
)
},
values: map[string]string{
"preview_env": "{{ regexFind \"(team1|team2)\" (.labels | join \",\") }}",
},
expected: []map[string]any{
{
"number": "1",
"title": "title1",
"branch": "my_branch",
"branch_slug": "my-branch",
"target_branch": "master",
"target_branch_slug": "master",
"head_sha": "abcd",
"head_short_sha": "abcd",
"head_short_sha_7": "abcd",
"author": "testName",
"labels": []string{"preview", "preview:team1"},
"values": map[string]string{"preview_env": "team1"},
},
},
expectedErr: nil,
applicationSet: argoprojiov1alpha1.ApplicationSet{
Spec: argoprojiov1alpha1.ApplicationSetSpec{
// Application set is using fasttemplate.
GoTemplate: true,
},
},
},
}
for _, c := range cases {
@@ -219,12 +329,15 @@ func TestPullRequestGithubGenerateParams(t *testing.T) {
selectServiceProviderFunc: c.selectFunc,
}
generatorConfig := argoprojiov1alpha1.ApplicationSetGenerator{
PullRequest: &argoprojiov1alpha1.PullRequestGenerator{},
PullRequest: &argoprojiov1alpha1.PullRequestGenerator{
Values: c.values,
ContinueOnRepoNotFoundError: c.continueOnRepoNotFoundError,
},
}
got, gotErr := gen.GenerateParams(&generatorConfig, &c.applicationSet, nil)
if c.expectedErr != nil {
assert.Equal(t, c.expectedErr.Error(), gotErr.Error())
require.EqualError(t, gotErr, c.expectedErr.Error())
} else {
require.NoError(t, gotErr)
}
@@ -233,6 +346,8 @@ func TestPullRequestGithubGenerateParams(t *testing.T) {
}
func TestAllowedSCMProviderPullRequest(t *testing.T) {
t.Parallel()
cases := []struct {
name string
providerConfig *argoprojiov1alpha1.PullRequestGenerator
@@ -283,7 +398,7 @@ func TestAllowedSCMProviderPullRequest(t *testing.T) {
"gitea.myorg.com",
"bitbucket.myorg.com",
"azuredevops.myorg.com",
}, true, nil))
}, true, true, nil, true))
applicationSetInfo := argoprojiov1alpha1.ApplicationSet{
ObjectMeta: metav1.ObjectMeta{
@@ -306,7 +421,7 @@ func TestAllowedSCMProviderPullRequest(t *testing.T) {
}
func TestSCMProviderDisabled_PRGenerator(t *testing.T) {
generator := NewPullRequestGenerator(nil, NewSCMConfig("", []string{}, false, nil))
generator := NewPullRequestGenerator(nil, NewSCMConfig("", []string{}, false, true, nil, true))
applicationSetInfo := argoprojiov1alpha1.ApplicationSet{
ObjectMeta: metav1.ObjectMeta{

View File

@@ -4,6 +4,7 @@ import (
"context"
"errors"
"fmt"
"net/http"
"strings"
"time"
@@ -11,17 +12,18 @@ import (
log "github.com/sirupsen/logrus"
"github.com/argoproj/argo-cd/v2/applicationset/services/github_app_auth"
"github.com/argoproj/argo-cd/v2/applicationset/services/scm_provider"
"github.com/argoproj/argo-cd/v2/applicationset/utils"
"github.com/argoproj/argo-cd/v2/common"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
"github.com/argoproj/argo-cd/v3/applicationset/services"
"github.com/argoproj/argo-cd/v3/applicationset/services/github_app_auth"
"github.com/argoproj/argo-cd/v3/applicationset/services/scm_provider"
"github.com/argoproj/argo-cd/v3/applicationset/utils"
"github.com/argoproj/argo-cd/v3/common"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
)
var _ Generator = (*SCMProviderGenerator)(nil)
const (
DefaultSCMProviderRequeueAfterSeconds = 30 * time.Minute
DefaultSCMProviderRequeueAfter = 30 * time.Minute
)
type SCMProviderGenerator struct {
@@ -31,18 +33,22 @@ type SCMProviderGenerator struct {
SCMConfig
}
type SCMConfig struct {
scmRootCAPath string
allowedSCMProviders []string
enableSCMProviders bool
GitHubApps github_app_auth.Credentials
scmRootCAPath string
allowedSCMProviders []string
enableSCMProviders bool
enableGitHubAPIMetrics bool
GitHubApps github_app_auth.Credentials
tokenRefStrictMode bool
}
func NewSCMConfig(scmRootCAPath string, allowedSCMProviders []string, enableSCMProviders bool, gitHubApps github_app_auth.Credentials) SCMConfig {
func NewSCMConfig(scmRootCAPath string, allowedSCMProviders []string, enableSCMProviders bool, enableGitHubAPIMetrics bool, gitHubApps github_app_auth.Credentials, tokenRefStrictMode bool) SCMConfig {
return SCMConfig{
scmRootCAPath: scmRootCAPath,
allowedSCMProviders: allowedSCMProviders,
enableSCMProviders: enableSCMProviders,
GitHubApps: gitHubApps,
scmRootCAPath: scmRootCAPath,
allowedSCMProviders: allowedSCMProviders,
enableSCMProviders: enableSCMProviders,
enableGitHubAPIMetrics: enableGitHubAPIMetrics,
GitHubApps: gitHubApps,
tokenRefStrictMode: tokenRefStrictMode,
}
}
@@ -67,7 +73,7 @@ func (g *SCMProviderGenerator) GetRequeueAfter(appSetGenerator *argoprojiov1alph
return time.Duration(*appSetGenerator.SCMProvider.RequeueAfterSeconds) * time.Second
}
return DefaultSCMProviderRequeueAfterSeconds
return DefaultSCMProviderRequeueAfter
}
func (g *SCMProviderGenerator) GetTemplate(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator) *argoprojiov1alpha1.ApplicationSetTemplate {
@@ -114,13 +120,13 @@ func ScmProviderAllowed(applicationSetInfo *argoprojiov1alpha1.ApplicationSet, g
return NewErrDisallowedSCMProvider(url, allowedScmProviders)
}
func (g *SCMProviderGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, applicationSetInfo *argoprojiov1alpha1.ApplicationSet, _ client.Client) ([]map[string]interface{}, error) {
func (g *SCMProviderGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.ApplicationSetGenerator, applicationSetInfo *argoprojiov1alpha1.ApplicationSet, _ client.Client) ([]map[string]any, error) {
if appSetGenerator == nil {
return nil, EmptyAppSetGeneratorError
return nil, ErrEmptyAppSetGenerator
}
if appSetGenerator.SCMProvider == nil {
return nil, EmptyAppSetGeneratorError
return nil, ErrEmptyAppSetGenerator
}
if !g.enableSCMProviders {
@@ -136,15 +142,16 @@ func (g *SCMProviderGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha
ctx := context.Background()
var provider scm_provider.SCMProviderService
if g.overrideProvider != nil {
switch {
case g.overrideProvider != nil:
provider = g.overrideProvider
} else if providerConfig.Github != nil {
case providerConfig.Github != nil:
var err error
provider, err = g.githubProvider(ctx, providerConfig.Github, applicationSetInfo)
if err != nil {
return nil, fmt.Errorf("scm provider: %w", err)
}
} else if providerConfig.Gitlab != nil {
case providerConfig.Gitlab != nil:
providerConfig := providerConfig.Gitlab
var caCerts []byte
var scmError error
@@ -154,24 +161,24 @@ func (g *SCMProviderGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha
return nil, fmt.Errorf("error fetching CA certificates from ConfigMap: %w", scmError)
}
}
token, err := utils.GetSecretRef(ctx, g.client, providerConfig.TokenRef, applicationSetInfo.Namespace)
token, err := utils.GetSecretRef(ctx, g.client, providerConfig.TokenRef, applicationSetInfo.Namespace, g.tokenRefStrictMode)
if err != nil {
return nil, fmt.Errorf("error fetching Gitlab token: %w", err)
}
provider, err = scm_provider.NewGitlabProvider(ctx, providerConfig.Group, token, providerConfig.API, providerConfig.AllBranches, providerConfig.IncludeSubgroups, providerConfig.WillIncludeSharedProjects(), providerConfig.Insecure, g.scmRootCAPath, providerConfig.Topic, caCerts)
provider, err = scm_provider.NewGitlabProvider(providerConfig.Group, token, providerConfig.API, providerConfig.AllBranches, providerConfig.IncludeSubgroups, providerConfig.WillIncludeSharedProjects(), providerConfig.Insecure, g.scmRootCAPath, providerConfig.Topic, caCerts)
if err != nil {
return nil, fmt.Errorf("error initializing Gitlab service: %w", err)
}
} else if providerConfig.Gitea != nil {
token, err := utils.GetSecretRef(ctx, g.client, providerConfig.Gitea.TokenRef, applicationSetInfo.Namespace)
case providerConfig.Gitea != nil:
token, err := utils.GetSecretRef(ctx, g.client, providerConfig.Gitea.TokenRef, applicationSetInfo.Namespace, g.tokenRefStrictMode)
if err != nil {
return nil, fmt.Errorf("error fetching Gitea token: %w", err)
}
provider, err = scm_provider.NewGiteaProvider(ctx, providerConfig.Gitea.Owner, token, providerConfig.Gitea.API, providerConfig.Gitea.AllBranches, providerConfig.Gitea.Insecure)
provider, err = scm_provider.NewGiteaProvider(providerConfig.Gitea.Owner, token, providerConfig.Gitea.API, providerConfig.Gitea.AllBranches, providerConfig.Gitea.Insecure)
if err != nil {
return nil, fmt.Errorf("error initializing Gitea service: %w", err)
}
} else if providerConfig.BitbucketServer != nil {
case providerConfig.BitbucketServer != nil:
providerConfig := providerConfig.BitbucketServer
var caCerts []byte
var scmError error
@@ -181,50 +188,51 @@ func (g *SCMProviderGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha
return nil, fmt.Errorf("error fetching CA certificates from ConfigMap: %w", scmError)
}
}
if providerConfig.BearerToken != nil {
appToken, err := utils.GetSecretRef(ctx, g.client, providerConfig.BearerToken.TokenRef, applicationSetInfo.Namespace)
switch {
case providerConfig.BearerToken != nil:
appToken, err := utils.GetSecretRef(ctx, g.client, providerConfig.BearerToken.TokenRef, applicationSetInfo.Namespace, g.tokenRefStrictMode)
if err != nil {
return nil, fmt.Errorf("error fetching Secret Bearer token: %w", err)
}
provider, scmError = scm_provider.NewBitbucketServerProviderBearerToken(ctx, appToken, providerConfig.API, providerConfig.Project, providerConfig.AllBranches, g.scmRootCAPath, providerConfig.Insecure, caCerts)
} else if providerConfig.BasicAuth != nil {
password, err := utils.GetSecretRef(ctx, g.client, providerConfig.BasicAuth.PasswordRef, applicationSetInfo.Namespace)
case providerConfig.BasicAuth != nil:
password, err := utils.GetSecretRef(ctx, g.client, providerConfig.BasicAuth.PasswordRef, applicationSetInfo.Namespace, g.tokenRefStrictMode)
if err != nil {
return nil, fmt.Errorf("error fetching Secret token: %w", err)
}
provider, scmError = scm_provider.NewBitbucketServerProviderBasicAuth(ctx, providerConfig.BasicAuth.Username, password, providerConfig.API, providerConfig.Project, providerConfig.AllBranches, g.scmRootCAPath, providerConfig.Insecure, caCerts)
} else {
default:
provider, scmError = scm_provider.NewBitbucketServerProviderNoAuth(ctx, providerConfig.API, providerConfig.Project, providerConfig.AllBranches, g.scmRootCAPath, providerConfig.Insecure, caCerts)
}
if scmError != nil {
return nil, fmt.Errorf("error initializing Bitbucket Server service: %w", scmError)
}
} else if providerConfig.AzureDevOps != nil {
token, err := utils.GetSecretRef(ctx, g.client, providerConfig.AzureDevOps.AccessTokenRef, applicationSetInfo.Namespace)
case providerConfig.AzureDevOps != nil:
token, err := utils.GetSecretRef(ctx, g.client, providerConfig.AzureDevOps.AccessTokenRef, applicationSetInfo.Namespace, g.tokenRefStrictMode)
if err != nil {
return nil, fmt.Errorf("error fetching Azure Devops access token: %w", err)
}
provider, err = scm_provider.NewAzureDevOpsProvider(ctx, token, providerConfig.AzureDevOps.Organization, providerConfig.AzureDevOps.API, providerConfig.AzureDevOps.TeamProject, providerConfig.AzureDevOps.AllBranches)
provider, err = scm_provider.NewAzureDevOpsProvider(token, providerConfig.AzureDevOps.Organization, providerConfig.AzureDevOps.API, providerConfig.AzureDevOps.TeamProject, providerConfig.AzureDevOps.AllBranches)
if err != nil {
return nil, fmt.Errorf("error initializing Azure Devops service: %w", err)
}
} else if providerConfig.Bitbucket != nil {
appPassword, err := utils.GetSecretRef(ctx, g.client, providerConfig.Bitbucket.AppPasswordRef, applicationSetInfo.Namespace)
case providerConfig.Bitbucket != nil:
appPassword, err := utils.GetSecretRef(ctx, g.client, providerConfig.Bitbucket.AppPasswordRef, applicationSetInfo.Namespace, g.tokenRefStrictMode)
if err != nil {
return nil, fmt.Errorf("error fetching Bitbucket cloud appPassword: %w", err)
}
provider, err = scm_provider.NewBitBucketCloudProvider(ctx, providerConfig.Bitbucket.Owner, providerConfig.Bitbucket.User, appPassword, providerConfig.Bitbucket.AllBranches)
provider, err = scm_provider.NewBitBucketCloudProvider(providerConfig.Bitbucket.Owner, providerConfig.Bitbucket.User, appPassword, providerConfig.Bitbucket.AllBranches)
if err != nil {
return nil, fmt.Errorf("error initializing Bitbucket cloud service: %w", err)
}
} else if providerConfig.AWSCodeCommit != nil {
case providerConfig.AWSCodeCommit != nil:
var awsErr error
provider, awsErr = scm_provider.NewAWSCodeCommitProvider(ctx, providerConfig.AWSCodeCommit.TagFilters, providerConfig.AWSCodeCommit.Role, providerConfig.AWSCodeCommit.Region, providerConfig.AWSCodeCommit.AllBranches)
if awsErr != nil {
return nil, fmt.Errorf("error initializing AWS codecommit service: %w", awsErr)
}
} else {
return nil, fmt.Errorf("no SCM provider implementation configured")
default:
return nil, errors.New("no SCM provider implementation configured")
}
// Find all the available repos.
@@ -232,7 +240,7 @@ func (g *SCMProviderGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha
if err != nil {
return nil, fmt.Errorf("error listing repos: %w", err)
}
paramsArray := make([]map[string]interface{}, 0, len(repos))
paramsArray := make([]map[string]any, 0, len(repos))
var shortSHALength int
var shortSHALength7 int
for _, repo := range repos {
@@ -246,9 +254,10 @@ func (g *SCMProviderGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha
shortSHALength7 = len(repo.SHA)
}
params := map[string]interface{}{
params := map[string]any{
"organization": repo.Organization,
"repository": repo.Repository,
"repository_id": repo.RepositoryId,
"url": repo.URL,
"branch": repo.Branch,
"sha": repo.SHA,
@@ -269,23 +278,36 @@ func (g *SCMProviderGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha
}
func (g *SCMProviderGenerator) githubProvider(ctx context.Context, github *argoprojiov1alpha1.SCMProviderGeneratorGithub, applicationSetInfo *argoprojiov1alpha1.ApplicationSet) (scm_provider.SCMProviderService, error) {
var metricsCtx *services.MetricsContext
var httpClient *http.Client
if g.enableGitHubAPIMetrics {
metricsCtx = &services.MetricsContext{
AppSetNamespace: applicationSetInfo.Namespace,
AppSetName: applicationSetInfo.Name,
}
httpClient = services.NewGitHubMetricsClient(metricsCtx)
}
if github.AppSecretName != "" {
auth, err := g.GitHubApps.GetAuthSecret(ctx, github.AppSecretName)
if err != nil {
return nil, fmt.Errorf("error fetching Github app secret: %w", err)
}
return scm_provider.NewGithubAppProviderFor(
*auth,
github.Organization,
github.API,
github.AllBranches,
)
if g.enableGitHubAPIMetrics {
return scm_provider.NewGithubAppProviderFor(*auth, github.Organization, github.API, github.AllBranches, httpClient)
}
return scm_provider.NewGithubAppProviderFor(*auth, github.Organization, github.API, github.AllBranches)
}
token, err := utils.GetSecretRef(ctx, g.client, github.TokenRef, applicationSetInfo.Namespace)
token, err := utils.GetSecretRef(ctx, g.client, github.TokenRef, applicationSetInfo.Namespace, g.tokenRefStrictMode)
if err != nil {
return nil, fmt.Errorf("error fetching Github token: %w", err)
}
return scm_provider.NewGithubProvider(ctx, github.Organization, token, github.API, github.AllBranches)
if g.enableGitHubAPIMetrics {
return scm_provider.NewGithubProvider(github.Organization, token, github.API, github.AllBranches, httpClient)
}
return scm_provider.NewGithubProvider(github.Organization, token, github.API, github.AllBranches)
}

View File

@@ -7,16 +7,18 @@ import (
"github.com/stretchr/testify/require"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"github.com/argoproj/argo-cd/v2/applicationset/services/scm_provider"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
"github.com/argoproj/argo-cd/v3/applicationset/services/scm_provider"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
)
func TestSCMProviderGenerateParams(t *testing.T) {
t.Parallel()
cases := []struct {
name string
repos []*scm_provider.Repository
values map[string]string
expected []map[string]interface{}
expected []map[string]any
expectedError error
}{
{
@@ -25,6 +27,7 @@ func TestSCMProviderGenerateParams(t *testing.T) {
{
Organization: "myorg",
Repository: "repo1",
RepositoryId: 190320251,
URL: "git@github.com:myorg/repo1.git",
Branch: "main",
SHA: "0bc57212c3cbbec69d20b34c507284bd300def5b",
@@ -33,15 +36,17 @@ func TestSCMProviderGenerateParams(t *testing.T) {
{
Organization: "myorg",
Repository: "repo2",
RepositoryId: 190320252,
URL: "git@github.com:myorg/repo2.git",
Branch: "main",
SHA: "59d0",
},
},
expected: []map[string]interface{}{
expected: []map[string]any{
{
"organization": "myorg",
"repository": "repo1",
"repository_id": 190320251,
"url": "git@github.com:myorg/repo1.git",
"branch": "main",
"branchNormalized": "main",
@@ -53,6 +58,7 @@ func TestSCMProviderGenerateParams(t *testing.T) {
{
"organization": "myorg",
"repository": "repo2",
"repository_id": 190320252,
"url": "git@github.com:myorg/repo2.git",
"branch": "main",
"branchNormalized": "main",
@@ -69,6 +75,7 @@ func TestSCMProviderGenerateParams(t *testing.T) {
{
Organization: "myorg",
Repository: "repo3",
RepositoryId: 190320253,
URL: "git@github.com:myorg/repo3.git",
Branch: "main",
SHA: "0bc57212c3cbbec69d20b34c507284bd300def5b",
@@ -79,10 +86,11 @@ func TestSCMProviderGenerateParams(t *testing.T) {
"foo": "bar",
"should_i_force_push_to": "{{ branch }}?",
},
expected: []map[string]interface{}{
expected: []map[string]any{
{
"organization": "myorg",
"repository": "repo3",
"repository_id": 190320253,
"url": "git@github.com:myorg/repo3.git",
"branch": "main",
"branchNormalized": "main",
@@ -95,6 +103,52 @@ func TestSCMProviderGenerateParams(t *testing.T) {
},
},
},
{
name: "Repos with and without id",
repos: []*scm_provider.Repository{
{
Organization: "myorg",
Repository: "repo4",
RepositoryId: "idaz09",
URL: "git@github.com:myorg/repo4.git",
Branch: "main",
SHA: "0bc57212c3cbbec69d20b34c507284bd300def5b",
},
{
Organization: "myorg",
Repository: "repo5",
URL: "git@github.com:myorg/repo5.git",
Branch: "main",
SHA: "0bc57212c3cbbec69d20b34c507284bd300def5b",
},
},
expected: []map[string]any{
{
"organization": "myorg",
"repository": "repo4",
"repository_id": "idaz09",
"url": "git@github.com:myorg/repo4.git",
"branch": "main",
"branchNormalized": "main",
"sha": "0bc57212c3cbbec69d20b34c507284bd300def5b",
"short_sha": "0bc57212",
"short_sha_7": "0bc5721",
"labels": "",
},
{
"organization": "myorg",
"repository": "repo5",
"repository_id": nil,
"url": "git@github.com:myorg/repo5.git",
"branch": "main",
"branchNormalized": "main",
"sha": "0bc57212c3cbbec69d20b34c507284bd300def5b",
"short_sha": "0bc57212",
"short_sha_7": "0bc5721",
"labels": "",
},
},
},
}
for _, testCase := range cases {
@@ -133,6 +187,8 @@ func TestSCMProviderGenerateParams(t *testing.T) {
}
func TestAllowedSCMProvider(t *testing.T) {
t.Parallel()
cases := []struct {
name string
providerConfig *argoprojiov1alpha1.SCMProviderGenerator

View File

@@ -1,5 +1,5 @@
package generators
type SCMGeneratorWithCustomApiUrl interface {
type SCMGeneratorWithCustomApiUrl interface { //nolint:revive //FIXME(var-naming)
CustomApiUrl() string
}

View File

@@ -7,18 +7,18 @@ import (
"k8s.io/client-go/kubernetes"
"sigs.k8s.io/controller-runtime/pkg/client"
"github.com/argoproj/argo-cd/v2/applicationset/services"
"github.com/argoproj/argo-cd/v3/applicationset/services"
)
func GetGenerators(ctx context.Context, c client.Client, k8sClient kubernetes.Interface, namespace string, argoCDService services.Repos, dynamicClient dynamic.Interface, scmConfig SCMConfig) map[string]Generator {
func GetGenerators(ctx context.Context, c client.Client, k8sClient kubernetes.Interface, controllerNamespace string, argoCDService services.Repos, dynamicClient dynamic.Interface, scmConfig SCMConfig) map[string]Generator {
terminalGenerators := map[string]Generator{
"List": NewListGenerator(),
"Clusters": NewClusterGenerator(c, ctx, k8sClient, namespace),
"Git": NewGitGenerator(argoCDService, namespace),
"Clusters": NewClusterGenerator(ctx, c, k8sClient, controllerNamespace),
"Git": NewGitGenerator(argoCDService, controllerNamespace),
"SCMProvider": NewSCMProviderGenerator(c, scmConfig),
"ClusterDecisionResource": NewDuckTypeGenerator(ctx, dynamicClient, k8sClient, namespace),
"ClusterDecisionResource": NewDuckTypeGenerator(ctx, dynamicClient, k8sClient, controllerNamespace),
"PullRequest": NewPullRequestGenerator(c, scmConfig),
"Plugin": NewPluginGenerator(c, ctx, k8sClient, namespace),
"Plugin": NewPluginGenerator(c, controllerNamespace),
}
nestedGenerators := map[string]Generator{

View File

@@ -4,11 +4,11 @@ import (
"fmt"
)
func appendTemplatedValues(values map[string]string, params map[string]interface{}, useGoTemplate bool, goTemplateOptions []string) error {
func appendTemplatedValues(values map[string]string, params map[string]any, useGoTemplate bool, goTemplateOptions []string) error {
// We create a local map to ensure that we do not fall victim to a billion-laughs attack. We iterate through the
// cluster values map and only replace values in said map if it has already been allowlisted in the params map.
// Once we iterate through all the cluster values we can then safely merge the `tmp` map into the main params map.
tmp := map[string]interface{}{}
tmp := map[string]any{}
for key, value := range values {
result, err := replaceTemplatedString(value, params, useGoTemplate, goTemplateOptions)
@@ -22,7 +22,7 @@ func appendTemplatedValues(values map[string]string, params map[string]interface
}
tmp["values"].(map[string]string)[key] = result
} else {
tmp[fmt.Sprintf("values.%s", key)] = result
tmp["values."+key] = result
}
}
@@ -33,7 +33,7 @@ func appendTemplatedValues(values map[string]string, params map[string]interface
return nil
}
func replaceTemplatedString(value string, params map[string]interface{}, useGoTemplate bool, goTemplateOptions []string) (string, error) {
func replaceTemplatedString(value string, params map[string]any, useGoTemplate bool, goTemplateOptions []string) (string, error) {
replacedTmplStr, err := render.Replace(value, params, useGoTemplate, goTemplateOptions)
if err != nil {
return "", fmt.Errorf("failed to replace templated string with rendered values: %w", err)

View File

@@ -11,18 +11,18 @@ func TestValueInterpolation(t *testing.T) {
testCases := []struct {
name string
values map[string]string
params map[string]interface{}
expected map[string]interface{}
params map[string]any
expected map[string]any
}{
{
name: "Simple interpolation",
values: map[string]string{
"hello": "{{ world }}",
},
params: map[string]interface{}{
params: map[string]any{
"world": "world!",
},
expected: map[string]interface{}{
expected: map[string]any{
"world": "world!",
"values.hello": "world!",
},
@@ -32,8 +32,8 @@ func TestValueInterpolation(t *testing.T) {
values: map[string]string{
"non-existent": "{{ non-existent }}",
},
params: map[string]interface{}{},
expected: map[string]interface{}{
params: map[string]any{},
expected: map[string]any{
"values.non-existent": "{{ non-existent }}",
},
},
@@ -44,8 +44,8 @@ func TestValueInterpolation(t *testing.T) {
"lol2": "{{values.lol1}}{{values.lol1}}",
"lol3": "{{values.lol2}}{{values.lol2}}{{values.lol2}}",
},
params: map[string]interface{}{},
expected: map[string]interface{}{
params: map[string]any{},
expected: map[string]any{
"values.lol1": "lol",
"values.lol2": "{{values.lol1}}{{values.lol1}}",
"values.lol3": "{{values.lol2}}{{values.lol2}}{{values.lol2}}",
@@ -57,7 +57,7 @@ func TestValueInterpolation(t *testing.T) {
t.Run(testCase.name, func(t *testing.T) {
err := appendTemplatedValues(testCase.values, testCase.params, false, nil)
require.NoError(t, err)
assert.EqualValues(t, testCase.expected, testCase.params)
assert.Equal(t, testCase.expected, testCase.params)
})
}
}
@@ -66,18 +66,18 @@ func TestValueInterpolationWithGoTemplating(t *testing.T) {
testCases := []struct {
name string
values map[string]string
params map[string]interface{}
expected map[string]interface{}
params map[string]any
expected map[string]any
}{
{
name: "Simple interpolation",
values: map[string]string{
"hello": "{{ .world }}",
},
params: map[string]interface{}{
params: map[string]any{
"world": "world!",
},
expected: map[string]interface{}{
expected: map[string]any{
"world": "world!",
"values": map[string]string{
"hello": "world!",
@@ -89,8 +89,8 @@ func TestValueInterpolationWithGoTemplating(t *testing.T) {
values: map[string]string{
"non_existent": "{{ default \"bar\" .non_existent }}",
},
params: map[string]interface{}{},
expected: map[string]interface{}{
params: map[string]any{},
expected: map[string]any{
"values": map[string]string{
"non_existent": "bar",
},
@@ -103,8 +103,8 @@ func TestValueInterpolationWithGoTemplating(t *testing.T) {
"lol2": "{{.values.lol1}}{{.values.lol1}}",
"lol3": "{{.values.lol2}}{{.values.lol2}}{{.values.lol2}}",
},
params: map[string]interface{}{},
expected: map[string]interface{}{
params: map[string]any{},
expected: map[string]any{
"values": map[string]string{
"lol1": "lol",
"lol2": "<no value><no value>",
@@ -118,7 +118,7 @@ func TestValueInterpolationWithGoTemplating(t *testing.T) {
t.Run(testCase.name, func(t *testing.T) {
err := appendTemplatedValues(testCase.values, testCase.params, true, nil)
require.NoError(t, err)
assert.EqualValues(t, testCase.expected, testCase.params)
assert.Equal(t, testCase.expected, testCase.params)
})
}
}

View File

@@ -0,0 +1,21 @@
package metrics
import (
"github.com/prometheus/client_golang/prometheus"
)
// Fake implementation for testing
func NewFakeAppsetMetrics() *ApplicationsetMetrics {
reconcileHistogram := prometheus.NewHistogramVec(
prometheus.HistogramOpts{
Name: "argocd_appset_reconcile",
Help: "Application reconciliation performance in seconds.",
// Buckets can be set later on after observing median time
},
[]string{"name", "namespace"},
)
return &ApplicationsetMetrics{
reconcileHistogram: reconcileHistogram,
}
}

View File

@@ -0,0 +1,135 @@
package metrics
import (
"time"
"github.com/prometheus/client_golang/prometheus"
"k8s.io/apimachinery/pkg/labels"
"sigs.k8s.io/controller-runtime/pkg/metrics"
argoappv1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
applisters "github.com/argoproj/argo-cd/v3/pkg/client/listers/application/v1alpha1"
metricsutil "github.com/argoproj/argo-cd/v3/util/metrics"
"github.com/argoproj/argo-cd/v3/util/metrics/kubectl"
)
var (
descAppsetLabels *prometheus.Desc
descAppsetDefaultLabels = []string{"namespace", "name"}
descAppsetInfo = prometheus.NewDesc(
"argocd_appset_info",
"Information about applicationset",
append(descAppsetDefaultLabels, "resource_update_status"),
nil,
)
descAppsetGeneratedApps = prometheus.NewDesc(
"argocd_appset_owned_applications",
"Number of applications owned by the applicationset",
descAppsetDefaultLabels,
nil,
)
)
type ApplicationsetMetrics struct {
reconcileHistogram *prometheus.HistogramVec
}
type appsetCollector struct {
lister applisters.ApplicationSetLister
// appsClientSet appclientset.Interface
labels []string
filter func(appset *argoappv1.ApplicationSet) bool
}
func NewApplicationsetMetrics(appsetLister applisters.ApplicationSetLister, appsetLabels []string, appsetFilter func(appset *argoappv1.ApplicationSet) bool) ApplicationsetMetrics {
reconcileHistogram := prometheus.NewHistogramVec(
prometheus.HistogramOpts{
Name: "argocd_appset_reconcile",
Help: "Application reconciliation performance in seconds.",
// Buckets can be set later on after observing median time
},
descAppsetDefaultLabels,
)
appsetCollector := newAppsetCollector(appsetLister, appsetLabels, appsetFilter)
// Register collectors and metrics
metrics.Registry.MustRegister(reconcileHistogram)
metrics.Registry.MustRegister(appsetCollector)
kubectl.RegisterWithClientGo()
kubectl.RegisterWithPrometheus(metrics.Registry)
return ApplicationsetMetrics{
reconcileHistogram: reconcileHistogram,
}
}
func (m *ApplicationsetMetrics) ObserveReconcile(appset *argoappv1.ApplicationSet, duration time.Duration) {
m.reconcileHistogram.WithLabelValues(appset.Namespace, appset.Name).Observe(duration.Seconds())
}
func newAppsetCollector(lister applisters.ApplicationSetLister, labels []string, filter func(appset *argoappv1.ApplicationSet) bool) *appsetCollector {
descAppsetDefaultLabels = []string{"namespace", "name"}
if len(labels) > 0 {
descAppsetLabels = prometheus.NewDesc(
"argocd_appset_labels",
"Applicationset labels translated to Prometheus labels",
append(descAppsetDefaultLabels, metricsutil.NormalizeLabels("label", labels)...),
nil,
)
}
return &appsetCollector{
lister: lister,
labels: labels,
filter: filter,
}
}
// Describe implements the prometheus.Collector interface
func (c *appsetCollector) Describe(ch chan<- *prometheus.Desc) {
ch <- descAppsetInfo
ch <- descAppsetGeneratedApps
if len(c.labels) > 0 {
ch <- descAppsetLabels
}
}
// Collect implements the prometheus.Collector interface
func (c *appsetCollector) Collect(ch chan<- prometheus.Metric) {
appsets, _ := c.lister.List(labels.NewSelector())
for _, appset := range appsets {
if c.filter(appset) {
collectAppset(appset, c.labels, ch)
}
}
}
func collectAppset(appset *argoappv1.ApplicationSet, labelsToCollect []string, ch chan<- prometheus.Metric) {
labelValues := make([]string, 0)
commonLabelValues := []string{appset.Namespace, appset.Name}
for _, label := range labelsToCollect {
labelValues = append(labelValues, appset.GetLabels()[label])
}
resourceUpdateStatus := "Unknown"
for _, condition := range appset.Status.Conditions {
if condition.Type == argoappv1.ApplicationSetConditionResourcesUpToDate {
resourceUpdateStatus = condition.Reason
}
}
if len(labelsToCollect) > 0 {
ch <- prometheus.MustNewConstMetric(descAppsetLabels, prometheus.GaugeValue, 1, append(commonLabelValues, labelValues...)...)
}
ch <- prometheus.MustNewConstMetric(descAppsetInfo, prometheus.GaugeValue, 1, appset.Namespace, appset.Name, resourceUpdateStatus)
ch <- prometheus.MustNewConstMetric(descAppsetGeneratedApps, prometheus.GaugeValue, float64(len(appset.Status.Resources)), appset.Namespace, appset.Name)
}

View File

@@ -0,0 +1,252 @@
package metrics
import (
"net/http"
"net/http/httptest"
"strings"
"testing"
"time"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promhttp"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"k8s.io/apimachinery/pkg/runtime"
ctrlclient "sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/client/fake"
"sigs.k8s.io/controller-runtime/pkg/metrics"
"sigs.k8s.io/yaml"
"github.com/argoproj/argo-cd/v3/applicationset/utils"
argoappv1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
metricsutil "github.com/argoproj/argo-cd/v3/util/metrics"
)
var (
applicationsetNamespaces = []string{"argocd", "test-namespace1"}
filter = func(appset *argoappv1.ApplicationSet) bool {
return utils.IsNamespaceAllowed(applicationsetNamespaces, appset.Namespace)
}
collectedLabels = []string{"included/test"}
)
const fakeAppsetList = `
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
name: test1
namespace: argocd
labels:
included/test: test
not-included.label/test: test
spec:
generators:
- git:
directories:
- path: test/*
repoURL: https://github.com/test/test.git
revision: HEAD
template:
metadata:
name: '{{.path.basename}}'
spec:
destination:
namespace: '{{.path.basename}}'
server: https://kubernetes.default.svc
project: default
source:
path: '{{.path.path}}'
repoURL: https://github.com/test/test.git
targetRevision: HEAD
status:
resources:
- group: argoproj.io
health:
status: Missing
kind: Application
name: test-app1
namespace: argocd
status: OutOfSync
version: v1alpha1
- group: argoproj.io
health:
status: Missing
kind: Application
name: test-app2
namespace: argocd
status: OutOfSync
version: v1alpha1
conditions:
- lastTransitionTime: "2024-01-01T00:00:00Z"
message: Successfully generated parameters for all Applications
reason: ApplicationSetUpToDate
status: "False"
type: ErrorOccurred
- lastTransitionTime: "2024-01-01T00:00:00Z"
message: Successfully generated parameters for all Applications
reason: ParametersGenerated
status: "True"
type: ParametersGenerated
- lastTransitionTime: "2024-01-01T00:00:00Z"
message: ApplicationSet up to date
reason: ApplicationSetUpToDate
status: "True"
type: ResourcesUpToDate
---
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
name: test2
namespace: argocd
labels:
not-included.label/test: test
spec:
generators:
- git:
directories:
- path: test/*
repoURL: https://github.com/test/test.git
revision: HEAD
template:
metadata:
name: '{{.path.basename}}'
spec:
destination:
namespace: '{{.path.basename}}'
server: https://kubernetes.default.svc
project: default
source:
path: '{{.path.path}}'
repoURL: https://github.com/test/test.git
targetRevision: HEAD
---
apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
name: should-be-filtered-out
namespace: not-allowed
spec:
generators:
- git:
directories:
- path: test/*
repoURL: https://github.com/test/test.git
revision: HEAD
template:
metadata:
name: '{{.path.basename}}'
spec:
destination:
namespace: '{{.path.basename}}'
server: https://kubernetes.default.svc
project: default
source:
path: '{{.path.path}}'
repoURL: https://github.com/test/test.git
targetRevision: HEAD
`
func newFakeAppsets(fakeAppsetYAML string) []argoappv1.ApplicationSet {
var results []argoappv1.ApplicationSet
appsetRawYamls := strings.Split(fakeAppsetYAML, "---")
for _, appsetRawYaml := range appsetRawYamls {
var appset argoappv1.ApplicationSet
err := yaml.Unmarshal([]byte(appsetRawYaml), &appset)
if err != nil {
panic(err)
}
results = append(results, appset)
}
return results
}
func TestApplicationsetCollector(t *testing.T) {
appsetList := newFakeAppsets(fakeAppsetList)
client := initializeClient(appsetList)
metrics.Registry = prometheus.NewRegistry()
appsetCollector := newAppsetCollector(utils.NewAppsetLister(client), collectedLabels, filter)
metrics.Registry.MustRegister(appsetCollector)
req, err := http.NewRequest(http.MethodGet, "/metrics", http.NoBody)
require.NoError(t, err)
rr := httptest.NewRecorder()
handler := promhttp.HandlerFor(metrics.Registry, promhttp.HandlerOpts{})
handler.ServeHTTP(rr, req)
assert.Equal(t, http.StatusOK, rr.Code)
// Test correct appset_info and owned applications
assert.Contains(t, rr.Body.String(), `
argocd_appset_info{name="test1",namespace="argocd",resource_update_status="ApplicationSetUpToDate"} 1
`)
assert.Contains(t, rr.Body.String(), `
argocd_appset_owned_applications{name="test1",namespace="argocd"} 2
`)
// Test labels collection - should not include labels not included in the list of collected labels and include the ones that do.
assert.Contains(t, rr.Body.String(), `
argocd_appset_labels{label_included_test="test",name="test1",namespace="argocd"} 1
`)
assert.NotContains(t, rr.Body.String(), normalizeLabel("not-included.label/test"))
// If collected label is not present on the applicationset the value should be empty
assert.Contains(t, rr.Body.String(), `
argocd_appset_labels{label_included_test="",name="test2",namespace="argocd"} 1
`)
// If ResourcesUpToDate condition is not present on the applicationset the status should be reported as 'Unknown'
assert.Contains(t, rr.Body.String(), `
argocd_appset_info{name="test2",namespace="argocd",resource_update_status="Unknown"} 1
`)
// If there are no resources on the applicationset the owned application gague should return 0
assert.Contains(t, rr.Body.String(), `
argocd_appset_owned_applications{name="test2",namespace="argocd"} 0
`)
// Test that filter is working
assert.NotContains(t, rr.Body.String(), `name="should-be-filtered-out"`)
}
func TestObserveReconcile(t *testing.T) {
appsetList := newFakeAppsets(fakeAppsetList)
client := initializeClient(appsetList)
metrics.Registry = prometheus.NewRegistry()
appsetMetrics := NewApplicationsetMetrics(utils.NewAppsetLister(client), collectedLabels, filter)
req, err := http.NewRequest(http.MethodGet, "/metrics", http.NoBody)
require.NoError(t, err)
rr := httptest.NewRecorder()
handler := promhttp.HandlerFor(metrics.Registry, promhttp.HandlerOpts{})
appsetMetrics.ObserveReconcile(&appsetList[0], 5*time.Second)
handler.ServeHTTP(rr, req)
assert.Contains(t, rr.Body.String(), `
argocd_appset_reconcile_sum{name="test1",namespace="argocd"} 5
`)
// If there are no resources on the applicationset the owned application gague should return 0
assert.Contains(t, rr.Body.String(), `
argocd_appset_reconcile_count{name="test1",namespace="argocd"} 1
`)
}
func initializeClient(appsets []argoappv1.ApplicationSet) ctrlclient.WithWatch {
scheme := runtime.NewScheme()
err := argoappv1.AddToScheme(scheme)
if err != nil {
panic(err)
}
var clientObjects []ctrlclient.Object
for _, appset := range appsets {
clientObjects = append(clientObjects, appset.DeepCopy())
}
return fake.NewClientBuilder().WithScheme(scheme).WithObjects(clientObjects...).Build()
}
func normalizeLabel(label string) string {
return metricsutil.NormalizeLabels("label", []string{label})[0]
}

View File

@@ -0,0 +1,241 @@
package services
import (
"net/http"
"strconv"
"time"
"github.com/prometheus/client_golang/prometheus"
log "github.com/sirupsen/logrus"
"sigs.k8s.io/controller-runtime/pkg/metrics"
)
// Doc for the GitHub API rate limit headers:
// https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api?apiVersion=2022-11-28#checking-the-status-of-your-rate-limit
// Metric names as constants
const (
githubAPIRequestTotalMetricName = "argocd_github_api_requests_total"
githubAPIRequestDurationMetricName = "argocd_github_api_request_duration_seconds"
githubAPIRateLimitRemainingMetricName = "argocd_github_api_rate_limit_remaining"
githubAPIRateLimitLimitMetricName = "argocd_github_api_rate_limit_limit"
githubAPIRateLimitResetMetricName = "argocd_github_api_rate_limit_reset_seconds"
githubAPIRateLimitUsedMetricName = "argocd_github_api_rate_limit_used"
)
// GitHubMetrics groups all metric vectors for easier injection and registration
type GitHubMetrics struct {
RequestTotal *prometheus.CounterVec
RequestDuration *prometheus.HistogramVec
RateLimitRemaining *prometheus.GaugeVec
RateLimitLimit *prometheus.GaugeVec
RateLimitReset *prometheus.GaugeVec
RateLimitUsed *prometheus.GaugeVec
}
// Factory for a new set of GitHub metrics (for tests or custom registries)
func NewGitHubMetrics() *GitHubMetrics {
return &GitHubMetrics{
RequestTotal: NewGitHubAPIRequestTotal(),
RequestDuration: NewGitHubAPIRequestDuration(),
RateLimitRemaining: NewGitHubAPIRateLimitRemaining(),
RateLimitLimit: NewGitHubAPIRateLimitLimit(),
RateLimitReset: NewGitHubAPIRateLimitReset(),
RateLimitUsed: NewGitHubAPIRateLimitUsed(),
}
}
// Factory functions for each metric vector
func NewGitHubAPIRequestTotal() *prometheus.CounterVec {
return prometheus.NewCounterVec(
prometheus.CounterOpts{
Name: githubAPIRequestTotalMetricName,
Help: "Total number of GitHub API requests",
},
[]string{"method", "endpoint", "status", "appset_namespace", "appset_name"},
)
}
func NewGitHubAPIRequestDuration() *prometheus.HistogramVec {
return prometheus.NewHistogramVec(
prometheus.HistogramOpts{
Name: githubAPIRequestDurationMetricName,
Help: "GitHub API request duration in seconds",
Buckets: prometheus.DefBuckets,
},
[]string{"method", "endpoint", "appset_namespace", "appset_name"},
)
}
func NewGitHubAPIRateLimitRemaining() *prometheus.GaugeVec {
return prometheus.NewGaugeVec(
prometheus.GaugeOpts{
Name: githubAPIRateLimitRemainingMetricName,
Help: "The number of requests remaining in the current rate limit window",
},
[]string{"endpoint", "appset_namespace", "appset_name", "resource"},
)
}
func NewGitHubAPIRateLimitLimit() *prometheus.GaugeVec {
return prometheus.NewGaugeVec(
prometheus.GaugeOpts{
Name: githubAPIRateLimitLimitMetricName,
Help: "The maximum number of requests that you can make per hour",
},
[]string{"endpoint", "appset_namespace", "appset_name", "resource"},
)
}
func NewGitHubAPIRateLimitReset() *prometheus.GaugeVec {
return prometheus.NewGaugeVec(
prometheus.GaugeOpts{
Name: githubAPIRateLimitResetMetricName,
Help: "The time left till the current rate limit window resets, in seconds",
},
[]string{"endpoint", "appset_namespace", "appset_name", "resource"},
)
}
func NewGitHubAPIRateLimitUsed() *prometheus.GaugeVec {
return prometheus.NewGaugeVec(
prometheus.GaugeOpts{
Name: githubAPIRateLimitUsedMetricName,
Help: "The number of requests used in the current rate limit window",
},
[]string{"endpoint", "appset_namespace", "appset_name", "resource"},
)
}
// Global metrics (registered with the default registry)
var globalGitHubMetrics = NewGitHubMetrics()
func init() {
log.Debug("Registering GitHub API AppSet metrics")
metrics.Registry.MustRegister(globalGitHubMetrics.RequestTotal)
metrics.Registry.MustRegister(globalGitHubMetrics.RequestDuration)
metrics.Registry.MustRegister(globalGitHubMetrics.RateLimitRemaining)
metrics.Registry.MustRegister(globalGitHubMetrics.RateLimitLimit)
metrics.Registry.MustRegister(globalGitHubMetrics.RateLimitReset)
metrics.Registry.MustRegister(globalGitHubMetrics.RateLimitUsed)
}
type MetricsContext struct {
AppSetNamespace string
AppSetName string
}
// GitHubMetricsTransport is a custom http.RoundTripper that collects GitHub API metrics
type GitHubMetricsTransport struct {
transport http.RoundTripper
metricsContext *MetricsContext
metrics *GitHubMetrics
}
// RoundTrip implements http.RoundTripper interface and collects metrics along with debug logging
func (t *GitHubMetricsTransport) RoundTrip(req *http.Request) (*http.Response, error) {
endpoint := req.URL.Path
method := req.Method
appsetNamespace := "unknown"
appsetName := "unknown"
if t.metricsContext != nil {
appsetNamespace = t.metricsContext.AppSetNamespace
appsetName = t.metricsContext.AppSetName
}
log.WithFields(log.Fields{
"method": method,
"endpoint": endpoint,
"applicationset": map[string]string{"name": appsetName, "namespace": appsetNamespace},
}).Debugf("Invoking GitHub API")
startTime := time.Now()
resp, err := t.transport.RoundTrip(req)
duration := time.Since(startTime)
// Record metrics
t.metrics.RequestDuration.WithLabelValues(method, endpoint, appsetNamespace, appsetName).Observe(duration.Seconds())
status := "0"
if resp != nil {
status = strconv.Itoa(resp.StatusCode)
}
t.metrics.RequestTotal.WithLabelValues(method, endpoint, status, appsetNamespace, appsetName).Inc()
if resp != nil {
resetHumanReadableTime := ""
remainingInt := 0
limitInt := 0
usedInt := 0
resource := resp.Header.Get("X-RateLimit-Resource")
// Record rate limit metrics if available
if resetTime := resp.Header.Get("X-RateLimit-Reset"); resetTime != "" {
if resetUnix, err := strconv.ParseInt(resetTime, 10, 64); err == nil {
// Calculate seconds until reset (reset timestamp - current time)
secondsUntilReset := resetUnix - time.Now().Unix()
t.metrics.RateLimitReset.WithLabelValues(endpoint, appsetNamespace, appsetName, resource).Set(float64(secondsUntilReset))
resetHumanReadableTime = time.Unix(resetUnix, 0).Local().Format("2006-01-02 15:04:05 MST")
}
}
if remaining := resp.Header.Get("X-RateLimit-Remaining"); remaining != "" {
if remainingInt, err = strconv.Atoi(remaining); err == nil {
t.metrics.RateLimitRemaining.WithLabelValues(endpoint, appsetNamespace, appsetName, resource).Set(float64(remainingInt))
}
}
if limit := resp.Header.Get("X-RateLimit-Limit"); limit != "" {
if limitInt, err = strconv.Atoi(limit); err == nil {
t.metrics.RateLimitLimit.WithLabelValues(endpoint, appsetNamespace, appsetName, resource).Set(float64(limitInt))
}
}
if used := resp.Header.Get("X-RateLimit-Used"); used != "" {
if usedInt, err = strconv.Atoi(used); err == nil {
t.metrics.RateLimitUsed.WithLabelValues(endpoint, appsetNamespace, appsetName, resource).Set(float64(usedInt))
}
}
log.WithFields(log.Fields{
"endpoint": endpoint,
"reset": resetHumanReadableTime,
"remaining": remainingInt,
"limit": limitInt,
"used": usedInt,
"resource": resource,
"applicationset": map[string]string{"name": appsetName, "namespace": appsetNamespace},
}).Debugf("GitHub API rate limit info")
}
return resp, err
}
// Full constructor (for tests and advanced use)
func NewGitHubMetricsTransport(
transport http.RoundTripper,
metricsContext *MetricsContext,
metrics *GitHubMetrics,
) *GitHubMetricsTransport {
return &GitHubMetricsTransport{
transport: transport,
metricsContext: metricsContext,
metrics: metrics,
}
}
// Default constructor
func NewDefaultGitHubMetricsTransport(transport http.RoundTripper, metricsContext *MetricsContext) *GitHubMetricsTransport {
return NewGitHubMetricsTransport(
transport,
metricsContext,
globalGitHubMetrics,
)
}
// NewGitHubMetricsClient wraps an http.Client with metrics middleware
func NewGitHubMetricsClient(metricsContext *MetricsContext) *http.Client {
log.Debug("Creating new GitHub metrics client")
return &http.Client{
Transport: NewDefaultGitHubMetricsTransport(http.DefaultTransport, metricsContext),
}
}

View File

@@ -0,0 +1,221 @@
package services
import (
"io"
"net/http"
"net/http/httptest"
"sort"
"strconv"
"strings"
"testing"
"time"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promhttp"
"github.com/stretchr/testify/assert"
)
type Metric struct {
name string
labels []string
value string
}
var (
endpointLabel = "endpoint=\"/api/test\""
URL = "/api/test"
appsetNamespaceLabel = "appset_namespace=\"test-ns\""
appsetNamespace = "test-ns"
appsetName = "test-appset"
appsetNameLabel = "appset_name=\"test-appset\""
resourceLabel = "resource=\"core\""
rateLimitMetrics = []Metric{
{
name: githubAPIRateLimitRemainingMetricName,
labels: []string{endpointLabel, appsetNamespaceLabel, appsetNameLabel, resourceLabel},
value: "42",
},
{
name: githubAPIRateLimitLimitMetricName,
labels: []string{endpointLabel, appsetNamespaceLabel, appsetNameLabel, resourceLabel},
value: "100",
},
{
name: githubAPIRateLimitUsedMetricName,
labels: []string{endpointLabel, appsetNamespaceLabel, appsetNameLabel, resourceLabel},
value: "58",
},
{
name: githubAPIRateLimitResetMetricName,
labels: []string{endpointLabel, appsetNamespaceLabel, appsetNameLabel, resourceLabel},
value: "1",
},
}
successRequestMetrics = Metric{
name: githubAPIRequestTotalMetricName,
labels: []string{"method=\"GET\"", endpointLabel, "status=\"201\"", appsetNamespaceLabel, appsetNameLabel},
value: "1",
}
failureRequestMetrics = Metric{
name: githubAPIRequestTotalMetricName,
labels: []string{"method=\"GET\"", endpointLabel, "status=\"0\"", appsetNamespaceLabel, appsetNameLabel},
value: "1",
}
)
func TestGitHubMetrics_CollectorApproach_Success(t *testing.T) {
metrics := NewGitHubMetrics()
reg := prometheus.NewRegistry()
reg.MustRegister(
metrics.RequestTotal,
metrics.RequestDuration,
metrics.RateLimitRemaining,
metrics.RateLimitLimit,
metrics.RateLimitReset,
metrics.RateLimitUsed,
)
// Setup a fake HTTP server
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, _ *http.Request) {
w.Header().Set("X-RateLimit-Reset", strconv.FormatInt(time.Now().Unix()+1, 10))
w.Header().Set("X-RateLimit-Remaining", "42")
w.Header().Set("X-RateLimit-Limit", "100")
w.Header().Set("X-RateLimit-Used", "58")
w.Header().Set("X-RateLimit-Resource", "core")
w.WriteHeader(http.StatusCreated)
_, _ = w.Write([]byte("ok"))
}))
defer ts.Close()
metricsCtx := &MetricsContext{AppSetNamespace: appsetNamespace, AppSetName: appsetName}
client := &http.Client{
Transport: NewGitHubMetricsTransport(
http.DefaultTransport,
metricsCtx,
metrics,
),
}
req, _ := http.NewRequest(http.MethodGet, ts.URL+URL, http.NoBody)
resp, err := client.Do(req)
if err != nil {
t.Fatalf("unexpected error: %v", err)
}
resp.Body.Close()
// Expose and scrape metrics
handler := promhttp.HandlerFor(reg, promhttp.HandlerOpts{})
server := httptest.NewServer(handler)
defer server.Close()
resp, err = http.Get(server.URL)
if err != nil {
t.Fatalf("failed to scrape metrics: %v", err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
metricsOutput := string(body)
sort.Strings(successRequestMetrics.labels)
assert.Contains(t, metricsOutput, successRequestMetrics.name+"{"+strings.Join(successRequestMetrics.labels, ",")+"} "+successRequestMetrics.value)
for _, metric := range rateLimitMetrics {
sort.Strings(metric.labels)
assert.Contains(t, metricsOutput, metric.name+"{"+strings.Join(metric.labels, ",")+"} "+metric.value)
}
}
type RoundTripperFunc func(*http.Request) (*http.Response, error)
func (f RoundTripperFunc) RoundTrip(r *http.Request) (*http.Response, error) { return f(r) }
func TestGitHubMetrics_CollectorApproach_NoRateLimitMetricsOnNilResponse(t *testing.T) {
metrics := NewGitHubMetrics()
reg := prometheus.NewRegistry()
reg.MustRegister(
metrics.RequestTotal,
metrics.RequestDuration,
metrics.RateLimitRemaining,
metrics.RateLimitLimit,
metrics.RateLimitReset,
metrics.RateLimitUsed,
)
client := &http.Client{
Transport: &GitHubMetricsTransport{
transport: RoundTripperFunc(func(*http.Request) (*http.Response, error) {
return nil, http.ErrServerClosed
}),
metricsContext: &MetricsContext{AppSetNamespace: appsetNamespace, AppSetName: appsetName},
metrics: metrics,
},
}
req, _ := http.NewRequest(http.MethodGet, URL, http.NoBody)
_, _ = client.Do(req)
handler := promhttp.HandlerFor(reg, promhttp.HandlerOpts{})
server := httptest.NewServer(handler)
defer server.Close()
resp, err := http.Get(server.URL)
if err != nil {
t.Fatalf("failed to scrape metrics: %v", err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
metricsOutput := string(body)
// Verify request metric exists with status "0"
sort.Strings(failureRequestMetrics.labels)
assert.Contains(t, metricsOutput, failureRequestMetrics.name+"{"+strings.Join(failureRequestMetrics.labels, ",")+"} "+failureRequestMetrics.value)
// Verify rate limit metrics don't exist
for _, metric := range rateLimitMetrics {
sort.Strings(metric.labels)
assert.NotContains(t, metricsOutput, metric.name+"{"+strings.Join(metric.labels, ",")+"} "+metric.value)
}
}
func TestNewGitHubMetricsClient(t *testing.T) {
// Test cases
testCases := []struct {
name string
metricsCtx *MetricsContext
}{
{
name: "with metrics context",
metricsCtx: &MetricsContext{
AppSetNamespace: appsetNamespace,
AppSetName: appsetName,
},
},
{
name: "with nil metrics context",
metricsCtx: nil,
},
}
for _, tc := range testCases {
t.Run(tc.name, func(t *testing.T) {
// Create client
client := NewGitHubMetricsClient(tc.metricsCtx)
// Assert client is not nil
assert.NotNil(t, client)
// Assert transport is properly configured
transport, ok := client.Transport.(*GitHubMetricsTransport)
assert.True(t, ok, "Transport should be GitHubMetricsTransport")
// Verify transport configuration
assert.Equal(t, tc.metricsCtx, transport.metricsContext)
assert.NotNil(t, transport.metrics, "Metrics should not be nil")
assert.Equal(t, http.DefaultTransport, transport.transport, "Base transport should be http.DefaultTransport")
// Verify metrics are global metrics
assert.Equal(t, globalGitHubMetrics, transport.metrics, "Should use global metrics")
})
}
}

View File

@@ -5,14 +5,27 @@ import (
"net/http"
"github.com/bradleyfalzon/ghinstallation/v2"
"github.com/google/go-github/v63/github"
"github.com/google/go-github/v69/github"
"github.com/argoproj/argo-cd/v2/applicationset/services/github_app_auth"
"github.com/argoproj/argo-cd/v3/applicationset/services/github_app_auth"
appsetutils "github.com/argoproj/argo-cd/v3/applicationset/utils"
)
func getOptionalHTTPClientAndTransport(optionalHTTPClient ...*http.Client) (*http.Client, http.RoundTripper) {
httpClient := appsetutils.GetOptionalHTTPClient(optionalHTTPClient...)
if len(optionalHTTPClient) > 0 && optionalHTTPClient[0] != nil && optionalHTTPClient[0].Transport != nil {
// will either use the provided custom httpClient and it's transport
return httpClient, optionalHTTPClient[0].Transport
}
// or the default httpClient and transport
return httpClient, http.DefaultTransport
}
// Client builds a github client for the given app authentication.
func Client(g github_app_auth.Authentication, url string) (*github.Client, error) {
rt, err := ghinstallation.New(http.DefaultTransport, g.Id, g.InstallationId, []byte(g.PrivateKey))
func Client(g github_app_auth.Authentication, url string, optionalHTTPClient ...*http.Client) (*github.Client, error) {
httpClient, transport := getOptionalHTTPClientAndTransport(optionalHTTPClient...)
rt, err := ghinstallation.New(transport, g.Id, g.InstallationId, []byte(g.PrivateKey))
if err != nil {
return nil, fmt.Errorf("failed to create github app install: %w", err)
}
@@ -20,13 +33,12 @@ func Client(g github_app_auth.Authentication, url string) (*github.Client, error
url = g.EnterpriseBaseURL
}
var client *github.Client
httpClient.Transport = rt
if url == "" {
httpClient := http.Client{Transport: rt}
client = github.NewClient(&httpClient)
client = github.NewClient(httpClient)
} else {
rt.BaseURL = url
httpClient := http.Client{Transport: rt}
client, err = github.NewClient(&httpClient).WithEnterpriseURLs(url, url)
client, err = github.NewClient(httpClient).WithEnterpriseURLs(url, url)
if err != nil {
return nil, fmt.Errorf("failed to create github enterprise client: %w", err)
}

View File

@@ -65,7 +65,7 @@ func newClient(baseURL string, options ...ClientOptionFunc) (*Client, error) {
return c, nil
}
func (c *Client) NewRequest(method, path string, body interface{}, options []ClientOptionFunc) (*http.Request, error) {
func (c *Client) NewRequestWithContext(ctx context.Context, method, path string, body any) (*http.Request, error) {
// Make sure the given URL end with a slash
if !strings.HasSuffix(c.baseURL, "/") {
c.baseURL += "/"
@@ -82,7 +82,7 @@ func (c *Client) NewRequest(method, path string, body interface{}, options []Cli
}
}
req, err := http.NewRequest(method, c.baseURL+path, buf)
req, err := http.NewRequestWithContext(ctx, method, c.baseURL+path, buf)
if err != nil {
return nil, err
}
@@ -91,7 +91,7 @@ func (c *Client) NewRequest(method, path string, body interface{}, options []Cli
req.Header.Set("Content-Type", "application/json")
}
if len(c.token) != 0 {
if c.token != "" {
req.Header.Set("Authorization", "Bearer "+c.token)
}
@@ -102,7 +102,7 @@ func (c *Client) NewRequest(method, path string, body interface{}, options []Cli
return req, nil
}
func (c *Client) Do(ctx context.Context, req *http.Request, v interface{}) (*http.Response, error) {
func (c *Client) Do(req *http.Request, v any) (*http.Response, error) {
resp, err := c.client.Do(req)
if err != nil {
return nil, err
@@ -134,7 +134,7 @@ func (c *Client) Do(ctx context.Context, req *http.Request, v interface{}) (*htt
// CheckResponse checks the API response for errors, and returns them if present.
func CheckResponse(resp *http.Response) error {
if c := resp.StatusCode; 200 <= c && c <= 299 {
if c := resp.StatusCode; http.StatusOK <= c && c < http.StatusMultipleChoices {
return nil
}
@@ -143,7 +143,7 @@ func CheckResponse(resp *http.Response) error {
return fmt.Errorf("API error with status code %d: %w", resp.StatusCode, err)
}
var raw map[string]interface{}
var raw map[string]any
if err := json.Unmarshal(data, &raw); err != nil {
return fmt.Errorf("API error with status code %d: %s", resp.StatusCode, string(data))
}

View File

@@ -2,7 +2,7 @@ package http
import (
"bytes"
"context"
"errors"
"fmt"
"io"
"net/http"
@@ -10,10 +10,11 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestClient(t *testing.T) {
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, _ *http.Request) {
w.WriteHeader(http.StatusOK)
_, err := w.Write([]byte("Hello, World!"))
if err != nil {
@@ -24,21 +25,17 @@ func TestClient(t *testing.T) {
var clientOptionFns []ClientOptionFunc
_, err := NewClient(server.URL, clientOptionFns...)
if err != nil {
t.Fatalf("Failed to create client: %v", err)
}
require.NoError(t, err, "Failed to create client")
}
func TestClientDo(t *testing.T) {
ctx := context.Background()
for _, c := range []struct {
name string
params map[string]string
content []byte
fakeServer *httptest.Server
clientOptionFns []ClientOptionFunc
expected []map[string]interface{}
expected []map[string]any
expectedCode int
expectedError error
}{
@@ -48,7 +45,7 @@ func TestClientDo(t *testing.T) {
"pkey1": "val1",
"pkey2": "val2",
},
fakeServer: httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
fakeServer: httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, _ *http.Request) {
w.WriteHeader(http.StatusOK)
_, err := w.Write([]byte(`[{
"key1": "val1",
@@ -65,19 +62,19 @@ func TestClientDo(t *testing.T) {
}
})),
clientOptionFns: nil,
expected: []map[string]interface{}{
expected: []map[string]any{
{
"key1": "val1",
"key2": map[string]interface{}{
"key2": map[string]any{
"key2_1": "val2_1",
"key2_2": map[string]interface{}{
"key2_2": map[string]any{
"key2_2_1": "val2_2_1",
},
},
"key3": float64(123),
},
},
expectedCode: 200,
expectedCode: http.StatusOK,
expectedError: nil,
},
{
@@ -108,9 +105,9 @@ func TestClientDo(t *testing.T) {
}
})),
clientOptionFns: nil,
expected: []map[string]interface{}(nil),
expectedCode: 401,
expectedError: fmt.Errorf("API error with status code 401: "),
expected: []map[string]any(nil),
expectedCode: http.StatusUnauthorized,
expectedError: errors.New("API error with status code 401: "),
},
} {
cc := c
@@ -118,18 +115,14 @@ func TestClientDo(t *testing.T) {
defer cc.fakeServer.Close()
client, err := NewClient(cc.fakeServer.URL, cc.clientOptionFns...)
if err != nil {
t.Fatalf("NewClient returned unexpected error: %v", err)
}
require.NoError(t, err, "NewClient returned unexpected error")
req, err := client.NewRequest("POST", "", cc.params, nil)
if err != nil {
t.Fatalf("NewRequest returned unexpected error: %v", err)
}
req, err := client.NewRequestWithContext(t.Context(), http.MethodPost, "", cc.params)
require.NoError(t, err, "NewRequest returned unexpected error")
var data []map[string]interface{}
var data []map[string]any
resp, err := client.Do(ctx, req, &data)
resp, err := client.Do(req, &data)
if cc.expectedError != nil {
assert.EqualError(t, err, cc.expectedError.Error())
@@ -149,12 +142,5 @@ func TestCheckResponse(t *testing.T) {
}
err := CheckResponse(resp)
if err == nil {
t.Error("Expected an error, got nil")
}
expected := "API error with status code 400: invalid_request"
if err.Error() != expected {
t.Errorf("Expected error '%s', got '%s'", expected, err.Error())
}
require.EqualError(t, err, "API error with status code 400: invalid_request")
}

View File

@@ -1,78 +1,15 @@
// Code generated by mockery v2.43.2. DO NOT EDIT.
// Code generated by mockery; DO NOT EDIT.
// github.com/vektra/mockery
// template: testify
package mocks
import (
context "context"
"context"
mock "github.com/stretchr/testify/mock"
)
// Repos is an autogenerated mock type for the Repos type
type Repos struct {
mock.Mock
}
// GetDirectories provides a mock function with given fields: ctx, repoURL, revision, noRevisionCache, verifyCommit
func (_m *Repos) GetDirectories(ctx context.Context, repoURL string, revision string, noRevisionCache bool, verifyCommit bool) ([]string, error) {
ret := _m.Called(ctx, repoURL, revision, noRevisionCache, verifyCommit)
if len(ret) == 0 {
panic("no return value specified for GetDirectories")
}
var r0 []string
var r1 error
if rf, ok := ret.Get(0).(func(context.Context, string, string, bool, bool) ([]string, error)); ok {
return rf(ctx, repoURL, revision, noRevisionCache, verifyCommit)
}
if rf, ok := ret.Get(0).(func(context.Context, string, string, bool, bool) []string); ok {
r0 = rf(ctx, repoURL, revision, noRevisionCache, verifyCommit)
} else {
if ret.Get(0) != nil {
r0 = ret.Get(0).([]string)
}
}
if rf, ok := ret.Get(1).(func(context.Context, string, string, bool, bool) error); ok {
r1 = rf(ctx, repoURL, revision, noRevisionCache, verifyCommit)
} else {
r1 = ret.Error(1)
}
return r0, r1
}
// GetFiles provides a mock function with given fields: ctx, repoURL, revision, pattern, noRevisionCache, verifyCommit
func (_m *Repos) GetFiles(ctx context.Context, repoURL string, revision string, pattern string, noRevisionCache bool, verifyCommit bool) (map[string][]byte, error) {
ret := _m.Called(ctx, repoURL, revision, pattern, noRevisionCache, verifyCommit)
if len(ret) == 0 {
panic("no return value specified for GetFiles")
}
var r0 map[string][]byte
var r1 error
if rf, ok := ret.Get(0).(func(context.Context, string, string, string, bool, bool) (map[string][]byte, error)); ok {
return rf(ctx, repoURL, revision, pattern, noRevisionCache, verifyCommit)
}
if rf, ok := ret.Get(0).(func(context.Context, string, string, string, bool, bool) map[string][]byte); ok {
r0 = rf(ctx, repoURL, revision, pattern, noRevisionCache, verifyCommit)
} else {
if ret.Get(0) != nil {
r0 = ret.Get(0).(map[string][]byte)
}
}
if rf, ok := ret.Get(1).(func(context.Context, string, string, string, bool, bool) error); ok {
r1 = rf(ctx, repoURL, revision, pattern, noRevisionCache, verifyCommit)
} else {
r1 = ret.Error(1)
}
return r0, r1
}
// NewRepos creates a new instance of Repos. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
// The first argument is typically a *testing.T value.
func NewRepos(t interface {
@@ -86,3 +23,206 @@ func NewRepos(t interface {
return mock
}
// Repos is an autogenerated mock type for the Repos type
type Repos struct {
mock.Mock
}
type Repos_Expecter struct {
mock *mock.Mock
}
func (_m *Repos) EXPECT() *Repos_Expecter {
return &Repos_Expecter{mock: &_m.Mock}
}
// GetDirectories provides a mock function for the type Repos
func (_mock *Repos) GetDirectories(ctx context.Context, repoURL string, revision string, project string, noRevisionCache bool, verifyCommit bool) ([]string, error) {
ret := _mock.Called(ctx, repoURL, revision, project, noRevisionCache, verifyCommit)
if len(ret) == 0 {
panic("no return value specified for GetDirectories")
}
var r0 []string
var r1 error
if returnFunc, ok := ret.Get(0).(func(context.Context, string, string, string, bool, bool) ([]string, error)); ok {
return returnFunc(ctx, repoURL, revision, project, noRevisionCache, verifyCommit)
}
if returnFunc, ok := ret.Get(0).(func(context.Context, string, string, string, bool, bool) []string); ok {
r0 = returnFunc(ctx, repoURL, revision, project, noRevisionCache, verifyCommit)
} else {
if ret.Get(0) != nil {
r0 = ret.Get(0).([]string)
}
}
if returnFunc, ok := ret.Get(1).(func(context.Context, string, string, string, bool, bool) error); ok {
r1 = returnFunc(ctx, repoURL, revision, project, noRevisionCache, verifyCommit)
} else {
r1 = ret.Error(1)
}
return r0, r1
}
// Repos_GetDirectories_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetDirectories'
type Repos_GetDirectories_Call struct {
*mock.Call
}
// GetDirectories is a helper method to define mock.On call
// - ctx context.Context
// - repoURL string
// - revision string
// - project string
// - noRevisionCache bool
// - verifyCommit bool
func (_e *Repos_Expecter) GetDirectories(ctx interface{}, repoURL interface{}, revision interface{}, project interface{}, noRevisionCache interface{}, verifyCommit interface{}) *Repos_GetDirectories_Call {
return &Repos_GetDirectories_Call{Call: _e.mock.On("GetDirectories", ctx, repoURL, revision, project, noRevisionCache, verifyCommit)}
}
func (_c *Repos_GetDirectories_Call) Run(run func(ctx context.Context, repoURL string, revision string, project string, noRevisionCache bool, verifyCommit bool)) *Repos_GetDirectories_Call {
_c.Call.Run(func(args mock.Arguments) {
var arg0 context.Context
if args[0] != nil {
arg0 = args[0].(context.Context)
}
var arg1 string
if args[1] != nil {
arg1 = args[1].(string)
}
var arg2 string
if args[2] != nil {
arg2 = args[2].(string)
}
var arg3 string
if args[3] != nil {
arg3 = args[3].(string)
}
var arg4 bool
if args[4] != nil {
arg4 = args[4].(bool)
}
var arg5 bool
if args[5] != nil {
arg5 = args[5].(bool)
}
run(
arg0,
arg1,
arg2,
arg3,
arg4,
arg5,
)
})
return _c
}
func (_c *Repos_GetDirectories_Call) Return(strings []string, err error) *Repos_GetDirectories_Call {
_c.Call.Return(strings, err)
return _c
}
func (_c *Repos_GetDirectories_Call) RunAndReturn(run func(ctx context.Context, repoURL string, revision string, project string, noRevisionCache bool, verifyCommit bool) ([]string, error)) *Repos_GetDirectories_Call {
_c.Call.Return(run)
return _c
}
// GetFiles provides a mock function for the type Repos
func (_mock *Repos) GetFiles(ctx context.Context, repoURL string, revision string, project string, pattern string, noRevisionCache bool, verifyCommit bool) (map[string][]byte, error) {
ret := _mock.Called(ctx, repoURL, revision, project, pattern, noRevisionCache, verifyCommit)
if len(ret) == 0 {
panic("no return value specified for GetFiles")
}
var r0 map[string][]byte
var r1 error
if returnFunc, ok := ret.Get(0).(func(context.Context, string, string, string, string, bool, bool) (map[string][]byte, error)); ok {
return returnFunc(ctx, repoURL, revision, project, pattern, noRevisionCache, verifyCommit)
}
if returnFunc, ok := ret.Get(0).(func(context.Context, string, string, string, string, bool, bool) map[string][]byte); ok {
r0 = returnFunc(ctx, repoURL, revision, project, pattern, noRevisionCache, verifyCommit)
} else {
if ret.Get(0) != nil {
r0 = ret.Get(0).(map[string][]byte)
}
}
if returnFunc, ok := ret.Get(1).(func(context.Context, string, string, string, string, bool, bool) error); ok {
r1 = returnFunc(ctx, repoURL, revision, project, pattern, noRevisionCache, verifyCommit)
} else {
r1 = ret.Error(1)
}
return r0, r1
}
// Repos_GetFiles_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'GetFiles'
type Repos_GetFiles_Call struct {
*mock.Call
}
// GetFiles is a helper method to define mock.On call
// - ctx context.Context
// - repoURL string
// - revision string
// - project string
// - pattern string
// - noRevisionCache bool
// - verifyCommit bool
func (_e *Repos_Expecter) GetFiles(ctx interface{}, repoURL interface{}, revision interface{}, project interface{}, pattern interface{}, noRevisionCache interface{}, verifyCommit interface{}) *Repos_GetFiles_Call {
return &Repos_GetFiles_Call{Call: _e.mock.On("GetFiles", ctx, repoURL, revision, project, pattern, noRevisionCache, verifyCommit)}
}
func (_c *Repos_GetFiles_Call) Run(run func(ctx context.Context, repoURL string, revision string, project string, pattern string, noRevisionCache bool, verifyCommit bool)) *Repos_GetFiles_Call {
_c.Call.Run(func(args mock.Arguments) {
var arg0 context.Context
if args[0] != nil {
arg0 = args[0].(context.Context)
}
var arg1 string
if args[1] != nil {
arg1 = args[1].(string)
}
var arg2 string
if args[2] != nil {
arg2 = args[2].(string)
}
var arg3 string
if args[3] != nil {
arg3 = args[3].(string)
}
var arg4 string
if args[4] != nil {
arg4 = args[4].(string)
}
var arg5 bool
if args[5] != nil {
arg5 = args[5].(bool)
}
var arg6 bool
if args[6] != nil {
arg6 = args[6].(bool)
}
run(
arg0,
arg1,
arg2,
arg3,
arg4,
arg5,
arg6,
)
})
return _c
}
func (_c *Repos_GetFiles_Call) Return(stringToBytes map[string][]byte, err error) *Repos_GetFiles_Call {
_c.Call.Return(stringToBytes, err)
return _c
}
func (_c *Repos_GetFiles_Call) RunAndReturn(run func(ctx context.Context, repoURL string, revision string, project string, pattern string, noRevisionCache bool, verifyCommit bool) (map[string][]byte, error)) *Repos_GetFiles_Call {
_c.Call.Return(run)
return _c
}

View File

@@ -5,8 +5,8 @@ import (
"fmt"
"net/http"
internalhttp "github.com/argoproj/argo-cd/v2/applicationset/services/internal/http"
"github.com/argoproj/argo-cd/v2/pkg/apis/application/v1alpha1"
internalhttp "github.com/argoproj/argo-cd/v3/applicationset/services/internal/http"
"github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
)
// ServiceRequest is the request object sent to the plugin service.
@@ -20,7 +20,7 @@ type ServiceRequest struct {
type Output struct {
// Parameters is the list of parameter sets returned by the plugin.
Parameters []map[string]interface{} `json:"parameters"`
Parameters []map[string]any `json:"parameters"`
}
// ServiceResponse is the response object returned by the plugin service.
@@ -34,7 +34,7 @@ type Service struct {
appSetName string
}
func NewPluginService(ctx context.Context, appSetName string, baseURL string, token string, requestTimeout int) (*Service, error) {
func NewPluginService(appSetName string, baseURL string, token string, requestTimeout int) (*Service, error) {
var clientOptionFns []internalhttp.ClientOptionFunc
clientOptionFns = append(clientOptionFns, internalhttp.WithToken(token))
@@ -55,14 +55,14 @@ func NewPluginService(ctx context.Context, appSetName string, baseURL string, to
}
func (p *Service) List(ctx context.Context, parameters v1alpha1.PluginParameters) (*ServiceResponse, error) {
req, err := p.client.NewRequest(http.MethodPost, "api/v1/getparams.execute", ServiceRequest{ApplicationSetName: p.appSetName, Input: v1alpha1.PluginInput{Parameters: parameters}}, nil)
req, err := p.client.NewRequestWithContext(ctx, http.MethodPost, "api/v1/getparams.execute", ServiceRequest{ApplicationSetName: p.appSetName, Input: v1alpha1.PluginInput{Parameters: parameters}})
if err != nil {
return nil, fmt.Errorf("NewRequest returned unexpected error: %w", err)
}
var data ServiceResponse
_, err = p.client.Do(ctx, req, &data)
_, err = p.client.Do(req, &data)
if err != nil {
return nil, fmt.Errorf("error get api '%s': %w", p.appSetName, err)
}

View File

@@ -1,7 +1,6 @@
package plugin
import (
"context"
"encoding/json"
"fmt"
"net/http"
@@ -9,6 +8,7 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestPlugin(t *testing.T) {
@@ -30,20 +30,14 @@ func TestPlugin(t *testing.T) {
ts := httptest.NewServer(handler)
defer ts.Close()
client, err := NewPluginService(context.Background(), "plugin-test", ts.URL, token, 0)
if err != nil {
t.Errorf("unexpected error: %v", err)
}
client, err := NewPluginService("plugin-test", ts.URL, token, 0)
require.NoError(t, err)
data, err := client.List(context.Background(), nil)
if err != nil {
t.Errorf("unexpected error: %v", err)
}
data, err := client.List(t.Context(), nil)
require.NoError(t, err)
var expectedData ServiceResponse
err = json.Unmarshal([]byte(expectedJSON), &expectedData)
if err != nil {
t.Fatal(err)
}
require.NoError(t, err)
assert.Equal(t, &expectedData, data)
}

View File

@@ -1,10 +1,9 @@
package plugin
import (
"fmt"
"strings"
"github.com/argoproj/argo-cd/v2/common"
"github.com/argoproj/argo-cd/v3/common"
)
// ParseSecretKey retrieves secret appSetName if different from common ArgoCDSecretName.
@@ -12,7 +11,7 @@ func ParseSecretKey(key string) (secretName string, tokenKey string) {
if strings.Contains(key, ":") {
parts := strings.Split(key, ":")
secretName = parts[0][1:]
tokenKey = fmt.Sprintf("$%s", parts[1])
tokenKey = "$" + parts[1]
} else {
secretName = common.ArgoCDSecretName
tokenKey = key

View File

@@ -5,12 +5,15 @@ import (
"fmt"
"strings"
"github.com/microsoft/azure-devops-go-api/azuredevops"
core "github.com/microsoft/azure-devops-go-api/azuredevops/core"
git "github.com/microsoft/azure-devops-go-api/azuredevops/git"
"github.com/microsoft/azure-devops-go-api/azuredevops/v7"
"github.com/microsoft/azure-devops-go-api/azuredevops/v7/core"
"github.com/microsoft/azure-devops-go-api/azuredevops/v7/git"
)
const AZURE_DEVOPS_DEFAULT_URL = "https://dev.azure.com"
const (
AZURE_DEVOPS_DEFAULT_URL = "https://dev.azure.com"
AZURE_DEVOPS_PROJECT_NOT_FOUND_ERROR = "The following project does not exist"
)
type AzureDevOpsClientFactory interface {
// Returns an Azure Devops Client interface.
@@ -41,14 +44,14 @@ var (
_ AzureDevOpsClientFactory = &devopsFactoryImpl{}
)
func NewAzureDevOpsService(ctx context.Context, token, url, organization, project, repo string, labels []string) (PullRequestService, error) {
organizationUrl := buildURL(url, organization)
func NewAzureDevOpsService(token, url, organization, project, repo string, labels []string) (PullRequestService, error) {
organizationURL := buildURL(url, organization)
var connection *azuredevops.Connection
if token == "" {
connection = azuredevops.NewAnonymousConnection(organizationUrl)
connection = azuredevops.NewAnonymousConnection(organizationURL)
} else {
connection = azuredevops.NewPatConnection(organizationUrl, token)
connection = azuredevops.NewPatConnection(organizationURL, token)
}
return &AzureDevOpsService{
@@ -70,18 +73,28 @@ func (a *AzureDevOpsService) List(ctx context.Context) ([]*PullRequest, error) {
SearchCriteria: &git.GitPullRequestSearchCriteria{},
}
pullRequests := []*PullRequest{}
azurePullRequests, err := client.GetPullRequestsByProject(ctx, args)
if err != nil {
// A standard Http 404 error is not returned for Azure DevOps,
// so checking the error message for a specific pattern.
// NOTE: Since the repos are filtered later, only existence of the project
// is relevant for AzureDevOps
if strings.Contains(err.Error(), AZURE_DEVOPS_PROJECT_NOT_FOUND_ERROR) {
// return a custom error indicating that the repository is not found,
// but also return the empty result since the decision to continue or not in this case is made by the caller
return pullRequests, NewRepositoryNotFoundError(err)
}
return nil, fmt.Errorf("failed to get pull requests by project: %w", err)
}
pullRequests := []*PullRequest{}
for _, pr := range *azurePullRequests {
if pr.Repository == nil ||
pr.Repository.Name == nil ||
pr.PullRequestId == nil ||
pr.SourceRefName == nil ||
pr.TargetRefName == nil ||
pr.LastMergeSourceCommit == nil ||
pr.LastMergeSourceCommit.CommitId == nil {
continue
@@ -94,12 +107,13 @@ func (a *AzureDevOpsService) List(ctx context.Context) ([]*PullRequest, error) {
if *pr.Repository.Name == a.repo {
pullRequests = append(pullRequests, &PullRequest{
Number: *pr.PullRequestId,
Title: *pr.Title,
Branch: strings.Replace(*pr.SourceRefName, "refs/heads/", "", 1),
HeadSHA: *pr.LastMergeSourceCommit.CommitId,
Labels: azureDevOpsLabels,
Author: strings.Split(*pr.CreatedBy.UniqueName, "@")[0], // Get the part before the @ in the email-address
Number: *pr.PullRequestId,
Title: *pr.Title,
Branch: strings.Replace(*pr.SourceRefName, "refs/heads/", "", 1),
TargetBranch: strings.Replace(*pr.TargetRefName, "refs/heads/", "", 1),
HeadSHA: *pr.LastMergeSourceCommit.CommitId,
Labels: azureDevOpsLabels,
Author: strings.Split(*pr.CreatedBy.UniqueName, "@")[0], // Get the part before the @ in the email-address
})
}
}

View File

@@ -2,17 +2,17 @@ package pull_request
import (
"context"
"errors"
"testing"
"github.com/microsoft/azure-devops-go-api/azuredevops/webapi"
"github.com/microsoft/azure-devops-go-api/azuredevops/core"
git "github.com/microsoft/azure-devops-go-api/azuredevops/git"
"github.com/microsoft/azure-devops-go-api/azuredevops/v7/core"
"github.com/microsoft/azure-devops-go-api/azuredevops/v7/git"
"github.com/microsoft/azure-devops-go-api/azuredevops/v7/webapi"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/mock"
"github.com/stretchr/testify/require"
azureMock "github.com/argoproj/argo-cd/v2/applicationset/services/scm_provider/azure_devops/git/mocks"
azureMock "github.com/argoproj/argo-cd/v3/applicationset/services/scm_provider/azure_devops/git/mocks"
)
func createBoolPtr(x bool) *bool {
@@ -61,19 +61,20 @@ func (m *AzureClientFactoryMock) GetClient(ctx context.Context) (git.Client, err
func TestListPullRequest(t *testing.T) {
teamProject := "myorg_project"
repoName := "myorg_project_repo"
pr_id := 123
pr_title := "feat(123)"
pr_head_sha := "cd4973d9d14a08ffe6b641a89a68891d6aac8056"
ctx := context.Background()
prID := 123
prTitle := "feat(123)"
prHeadSha := "cd4973d9d14a08ffe6b641a89a68891d6aac8056"
ctx := t.Context()
uniqueName := "testName"
pullRequestMock := []git.GitPullRequest{
{
PullRequestId: createIntPtr(pr_id),
Title: createStringPtr(pr_title),
PullRequestId: createIntPtr(prID),
Title: createStringPtr(prTitle),
SourceRefName: createStringPtr("refs/heads/feature-branch"),
TargetRefName: createStringPtr("refs/heads/main"),
LastMergeSourceCommit: &git.GitCommitRef{
CommitId: createStringPtr(pr_head_sha),
CommitId: createStringPtr(prHeadSha),
},
Labels: &[]core.WebApiTagDefinition{},
Repository: &git.GitRepository{
@@ -106,9 +107,10 @@ func TestListPullRequest(t *testing.T) {
require.NoError(t, err)
assert.Len(t, list, 1)
assert.Equal(t, "feature-branch", list[0].Branch)
assert.Equal(t, pr_head_sha, list[0].HeadSHA)
assert.Equal(t, "main", list[0].TargetBranch)
assert.Equal(t, prHeadSha, list[0].HeadSHA)
assert.Equal(t, "feat(123)", list[0].Title)
assert.Equal(t, pr_id, list[0].Number)
assert.Equal(t, prID, list[0].Number)
assert.Equal(t, uniqueName, list[0].Author)
}
@@ -234,3 +236,36 @@ func TestBuildURL(t *testing.T) {
})
}
}
func TestAzureDevOpsListReturnsRepositoryNotFoundError(t *testing.T) {
args := git.GetPullRequestsByProjectArgs{
Project: createStringPtr("nonexistent"),
SearchCriteria: &git.GitPullRequestSearchCriteria{},
}
pullRequestMock := []git.GitPullRequest{}
gitClientMock := azureMock.Client{}
clientFactoryMock := &AzureClientFactoryMock{mock: &mock.Mock{}}
clientFactoryMock.mock.On("GetClient", mock.Anything).Return(&gitClientMock, nil)
// Mock the GetPullRequestsByProject to return an error containing "404"
gitClientMock.On("GetPullRequestsByProject", t.Context(), args).Return(&pullRequestMock,
errors.New("The following project does not exist:"))
provider := AzureDevOpsService{
clientFactory: clientFactoryMock,
project: "nonexistent",
repo: "nonexistent",
labels: nil,
}
prs, err := provider.List(t.Context())
// Should return empty pull requests list
assert.Empty(t, prs)
// Should return RepositoryNotFoundError
require.Error(t, err)
assert.True(t, IsRepositoryNotFoundError(err), "Expected RepositoryNotFoundError but got: %v", err)
}

Some files were not shown because too many files have changed in this diff Show More