Compare commits

..

1657 Commits

Author SHA1 Message Date
github-actions[bot]
fd2d0adae9 Bump version to 3.3.0-rc2 on release-3.3 branch (#25712)
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-12-17 12:55:58 -05:00
argo-cd-cherry-pick-bot[bot]
708c63683c fix(hydrator): race when pushing notes (cherry-pick #25700 for 3.3) (#25709)
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-17 11:30:44 -05:00
argo-cd-cherry-pick-bot[bot]
393cb97042 fix(hydrator): hydrated sha missing on no-ops (#25694) (cherry-pick #25695 for 3.3) (#25697)
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-17 10:31:28 -05:00
argo-cd-cherry-pick-bot[bot]
99434863c9 chore(deps): update module k8s.io/kubernetes to v1.34.2 [security] (cherry-pick #25682 for 3.3) (#25683)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: reggie-k <regina.voloshin@codefresh.io>
2025-12-16 10:47:00 +02:00
github-actions[bot]
814db444c3 Bump version to 3.3.0-rc1 on release-3.3 branch (#25667)
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-15 18:47:04 +02:00
Omar Nasser
c8a5159e10 chore: add search option to docs while previewing locally (#25660)
Signed-off-by: Omar Nasser <omarnasserjr@gmail.com>
2025-12-15 22:09:04 +05:30
Mathieu Parent
ac1a2f8536 feat(health): add grafana-org-operator Health (#25662)
Signed-off-by: Mathieu Parent <math.parent@etik.com>
2025-12-15 16:38:24 +00:00
Regina Voloshin
0456a707f3 docs: listed added healthchecks in 3.3 (#25665)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
2025-12-15 17:54:29 +02:00
Papapetrou Patroklos
d7954f0698 docs: adds a section for OCI private repos in OCI dcos (#25572)
Signed-off-by: Patroklos Papapetrou <ppapapetrou76@gmail.com>
2025-12-15 16:27:43 +01:00
Regina Voloshin
e58d75f1da docs: upgrade instructions for 3.3 with SSA (#25649)
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>
2025-12-15 09:28:34 -05:00
dependabot[bot]
d9fe8a4175 chore(deps): bump google.golang.org/protobuf from 1.36.10 to 1.36.11 (#25656)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-15 09:03:55 -05:00
dependabot[bot]
125606ef89 chore(deps): bump actions/cache from 4.3.0 to 5.0.0 (#25626)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Regina Voloshin <regina.voloshin@codefresh.io>
2025-12-15 11:34:05 +02:00
dependabot[bot]
182a084407 chore(deps): bump tj-actions/changed-files from 47.0.0 to 47.0.1 (#25627)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-15 08:38:18 +00:00
Michael Crenshaw
b628c6dd9e test(controller): avoid race in test (#25655)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-12-15 10:02:29 +02:00
Jonathan Ogilvie
ddce93cfdd feat: cross namespace hierarchy traversal from cluster-scoped parents to namespaced children (fixes #24379) (#24847)
Signed-off-by: Jonathan Ogilvie <jonathan.ogilvie@sumologic.com>
2025-12-15 02:30:41 +00:00
Alexandre Gaudreault
a2659e9560 fix(hydrator): appset should preserve annotation when hydration is requested (#25644)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-12-14 22:36:35 +00:00
pbhatnagar-oss
6cd30d3b99 feat(hydrator): don't push commits if manifests don't change (#25056)
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-12-14 16:45:27 -05:00
pbhatnagar-oss
bbc3e99aa4 feat(repo): add support for github app authentication without installationid (#25339) (#25374)
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-12-14 16:11:49 -05:00
github-actions[bot]
63927d1e1e [Bot] docs: Update Snyk report (#25645)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2025-12-14 21:09:47 +00:00
Alexandre Gaudreault
40e9a060d7 fix(appset): handle pre/post delete hook finalizers conflicts (#25539)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-12-14 16:04:34 -05:00
Peter Jiang
df2a759c65 chore: add --force-conflicts and notes (#25639)
Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
Co-authored-by: Regina Voloshin <regina.voloshin@codefresh.io>
2025-12-14 17:54:43 +00:00
Michael Crenshaw
abb354b5e3 test: fix flaky impersonation test (#25641)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-12-14 14:29:58 +02:00
jwinters01
b74c7aa31f feat(ui): improve sync warnings (#25524)
Signed-off-by: Jonathan Winters <wintersjonathan0@gmail.com>
2025-12-12 15:55:32 +00:00
jwinters01
53b0beae4a fix: default to tree view if extension shouldn't be shown (#25578)
Signed-off-by: Jonathan Winters <wintersjonathan0@gmail.com>
2025-12-12 10:45:37 -05:00
Omar Nasser
ae03d8f2d1 docs: fix jsonnet example indentation (#25620)
Signed-off-by: Omar Nasser <omarnasserjr@gmail.com>
2025-12-11 14:53:21 +02:00
Allan Yung
610ea27c8e fix: correct mismatch in typescript repository model (#25273) (#25274)
Signed-off-by: Allan Yung <allan.yung@bbdsoftware.com>
2025-12-11 13:04:40 +01:00
renovate[bot]
17b98d9b66 chore(deps): update github.com/argoproj/notifications-engine digest to e2e7fe1 (#25604)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: reggie-k <regina.voloshin@codefresh.io>
2025-12-11 10:33:10 +02:00
dependabot[bot]
8fec5c5306 chore(deps): bump gitlab.com/gitlab-org/api/client-go from 1.8.0 to 1.8.1 (#25616)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-11 08:12:38 +02:00
Omar Nasser
53c35423ab feat(cli): add powershell completion (#25595)
Signed-off-by: Omar Nasser <omarnasserjr@gmail.com>
2025-12-11 08:08:55 +02:00
Michael Crenshaw
0447ab62c4 docs: add screenshot of 'Confirm Pruning' experience (#25612)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-12-11 08:05:03 +02:00
renovate[bot]
414a17882d chore(deps): update codecov/codecov-action action to v5.5.2 (#25608)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-10 19:13:55 +00:00
Alexander Matyushentsev
8b2e0e1aec fix: remove unnecessary --self-heal-backoff-cooldown-seconds flag from app controller (#25579)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2025-12-10 18:39:00 +00:00
renovate[bot]
e79a2bd6ea chore(deps): update docker.io/library/ubuntu:25.10 docker digest to 5922638 (#25603)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-10 13:31:36 -05:00
renovate[bot]
53fa4f45b9 chore(deps): update docker.io/library/node:23.0.0 docker digest to 9d09fa5 (#24620)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-10 13:26:07 -05:00
Nolan Emirot
90e48bca14 fix: crashing page on application create for write secret (#25582)
Signed-off-by: emirot <emirot.nolan@gmail.com>
2025-12-10 12:14:44 -05:00
dependabot[bot]
03e6342a4a chore(deps): bump library/golang from 0ece421 to a22b2e6 in /test/remote (#25586)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-10 15:46:22 +00:00
renovate[bot]
035726e711 chore(deps): update docker.io/library/node:22.9.0 docker digest to 8398ea1 (#24619)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-10 10:16:47 -05:00
renovate[bot]
45a89ef4c0 chore(deps): update docker.io/bitnamilegacy/kubectl:1.32 docker digest to 9524faf (#24840)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-10 10:15:51 -05:00
Blake Pettersson
e932dc2575 fix: use custom cluster secret informer (#25534)
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
Co-authored-by: rumstead <37445536+rumstead@users.noreply.github.com>
2025-12-10 10:08:03 -05:00
Revital Barletz
8bebf65bbe docs: update Azure workload identity setup instructions (#25598)
Signed-off-by: Revital Barletz <Revital.barletz@octopus.com>
Co-authored-by: Regina Voloshin <regina.voloshin@codefresh.io>
2025-12-10 13:20:34 +00:00
sahanajc4
91c479b228 docs: fix exponential backoff timeout parameter documentation (#21021) (#25601)
Signed-off-by: Sahana <sahanajavgal7@gmail.com>
2025-12-10 14:08:30 +02:00
Rouke Broersma
e50dd008fd feat(actions): Add cloudnativepg reload, restart, promote, suspend and resume actions (#24192)
Signed-off-by: Rouke Broersma <mobrockers@gmail.com>
Signed-off-by: Rouke Broersma <rouke.broersma@infosupport.com>
2025-12-10 01:15:08 -10:00
dependabot[bot]
2c6edd819f chore(deps): bump SonarSource/sonarqube-scan-action from 5.3.1 to 7.0.0 (#25585)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-10 13:02:01 +02:00
renovate[bot]
f437a75e39 chore(deps): update docker.io/library/redis:8.2.3 docker digest to 7cb87cb (#25571)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-10 09:52:34 +00:00
Kaj Fehlhaber
f67da0b43d docs: align operator-manual with actual values (#25594)
Signed-off-by: Kaj Fehlhaber <kaj.fehlhaber@wirelesscar.com>
2025-12-10 11:19:40 +02:00
Papapetrou Patroklos
1e9f4aa793 fix: honor debuglog cmd option in application controller (#25591)
Signed-off-by: Patroklos Papapetrou <ppapapetrou76@gmail.com>
2025-12-10 11:03:26 +02:00
dependabot[bot]
7ebdf10cbf chore(deps): bump github.com/casbin/casbin/v2 from 2.134.0 to 2.135.0 (#25583)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-10 06:32:30 +00:00
Nolan Emirot
9129e8668f fix: create read and write secret for same url (#25581)
Signed-off-by: emirot <emirot.nolan@gmail.com>
2025-12-10 08:04:48 +02:00
dependabot[bot]
4a1bf9efff chore(deps): bump peter-evans/create-pull-request from 7.0.11 to 8.0.0 (#25584)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-10 06:35:07 +02:00
Nolan Emirot
4a4db1d9ca docs: update mkdocs local install steps (#25503)
Signed-off-by: emirot <emirot.nolan@gmail.com>
Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
2025-12-10 06:13:53 +02:00
rumstead
482440b131 feat(appset): use clone instead of replace on sprig templates to reduce function copies (#25576)
Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
2025-12-09 17:17:10 -05:00
argoproj-renovate[bot]
50d7b206f5 chore(deps): update module github.com/vektra/mockery/v3 to v3.6.1 (#25569)
Signed-off-by: renovate[bot] <renovate[bot]@users.noreply.github.com>
Co-authored-by: argoproj-renovate[bot] <161757507+argoproj-renovate[bot]@users.noreply.github.com>
Co-authored-by: Regina Voloshin <regina.voloshin@codefresh.io>
2025-12-09 12:26:56 -05:00
renovate[bot]
61322b66e4 chore(deps): update docker.io/library/golang:1.25.5 docker digest to 0ece421 (#25568)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-09 15:42:29 +00:00
Regina Voloshin
4ea93dbdc0 feat: enable forks to release and publish to custom quay registries (#25365)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
Signed-off-by: Regina Voloshin <regina.voloshin@codefresh.io>
2025-12-09 17:38:01 +02:00
argoproj-renovate[bot]
fa609efbc1 chore(deps): update module github.com/vektra/mockery/v3 to v3.6.0 (#25280)
Signed-off-by: renovate[bot] <renovate[bot]@users.noreply.github.com>
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
Co-authored-by: argoproj-renovate[bot] <161757507+argoproj-renovate[bot]@users.noreply.github.com>
Co-authored-by: reggie-k <regina.voloshin@codefresh.io>
2025-12-09 14:44:44 +00:00
dependabot[bot]
fa873d4085 chore(deps): bump golang.org/x/net from 0.47.0 to 0.48.0 (#25556)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-09 09:32:03 +00:00
dependabot[bot]
de79e6aafc chore(deps): bump library/busybox from e3652a0 to d80cd69 in /test/e2e/multiarch-container (#25560)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-09 10:07:05 +02:00
dependabot[bot]
b6da0545f3 chore(deps): bump golang.org/x/oauth2 from 0.33.0 to 0.34.0 (#25559)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-09 07:24:09 +00:00
Peter Jiang
9acb8f815c chore(docs): update all installs to use --server-side (#25538)
Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-12-09 08:56:47 +02:00
dependabot[bot]
45a54ae041 chore(deps): bump gitlab.com/gitlab-org/api/client-go from 1.7.0 to 1.8.0 (#25554)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-09 08:52:11 +02:00
dependabot[bot]
805c3891cb chore(deps): bump golang.org/x/crypto from 0.45.0 to 0.46.0 (#25555)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-09 08:48:14 +02:00
Andrew Block
f866959fe1 feat(cli): added support for filtering by group in app get-resource CLI command (#25495)
Signed-off-by: Andrew Block <andy.block@gmail.com>
2025-12-08 19:56:39 +02:00
Revital Barletz
c0c9768424 docs: update RBAC documentation for user/group assignment (#25546)
Signed-off-by: Revital Barletz <Revital.Barletz@octopus.com>
2025-12-08 19:28:32 +02:00
Shaw Ho
df8727cca5 fix: git tag override (#25530)
Signed-off-by: Xiaoxi He <xxhe@alauda.io>
2025-12-08 15:51:18 +02:00
Papapetrou Patroklos
0000f05c38 feat: adds various OCI metrics (#25493)
Signed-off-by: Patroklos Papapetrou <ppapapetrou76@gmail.com>
2025-12-08 13:53:28 +02:00
dependabot[bot]
cc57831808 chore(deps): bump github.com/ktrysmt/go-bitbucket from 0.9.87 to 0.9.88 (#25544)
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: reggie-k <regina.voloshin@codefresh.io>
2025-12-08 13:40:57 +02:00
github-actions[bot]
acde9ff4fc [Bot] docs: Update Snyk report (#25541)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2025-12-08 08:18:52 +00:00
dependabot[bot]
4ddd0a2fc7 chore(deps): bump gitlab.com/gitlab-org/api/client-go from 1.5.0 to 1.7.0 (#25543)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-08 10:09:13 +02:00
dependabot[bot]
08b93e83d2 chore(deps): bump peter-evans/create-pull-request from 7.0.9 to 7.0.11 (#25545)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-08 10:05:06 +02:00
Papapetrou Patroklos
a48b381d3b chore: allow devs to run locally a subset of e2e tests (#25514)
Signed-off-by: Patroklos Papapetrou <ppapapetrou76@gmail.com>
2025-12-08 10:00:38 +02:00
pedro-cs-ribeiro
3bf3d8a212 feat: PreDelete hooks support (Issue #13975) (#22288)
Signed-off-by: Dan Garfield <dan@codefresh.io>
Signed-off-by: Pedro Ribeiro <pedro.ribeiro@cross-join.com>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
Co-authored-by: Dan Garfield <dan@codefresh.io>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrii Korotkov <137232734+andrii-korotkov-verkada@users.noreply.github.com>
Co-authored-by: Ishita Sequeira <46771830+ishitasequeira@users.noreply.github.com>
Co-authored-by: pedro-ribeiro-rci <pedro.ribeiro@rci.rogers.ca>
Co-authored-by: Pedro Ribeiro <pedro.ribeiro@cross-join.com>
Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-12-05 20:27:03 +00:00
Sangyeong Park
0c6fa288c2 feat(hydrator): add inline parameter support to Source Hydrator (#24228) (#24277)
Signed-off-by: sangyeong01 <tkddud386@gmail.com>
Signed-off-by: sangyeong01 <sy.park@alpacax.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-12-05 12:32:48 -05:00
Peter Jiang
528482c87a feat(ui): implement abstraction layer for appset ui support (#24916)
Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
Signed-off-by: Peter Jiang <35584807+pjiang-dev@users.noreply.github.com>
2025-12-05 19:24:54 +02:00
Wojciech Cichy
318e3319c5 docs: update declarative setup for EKS clusters using Pod Identity (#25198)
Signed-off-by: Wojciech Cichy <wojciech@cichy.org>
2025-12-05 10:31:02 -05:00
Michael Crenshaw
7cdc0f952f chore: use WatchFuncWithContext (#25520)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-12-04 20:46:18 -05:00
Jorge Turrado Ferrero
b7c7d02b0e fix: Opentelemetry Collector in sidecar mode doesn't count instances (#25407)
Signed-off-by: Jorge Turrado <jorge.turrado@mail.schwarz>
2025-12-04 20:15:34 -05:00
Blake Pettersson
cfb6f5e7d7 fix: use registry for helm registry .. commands (#23142)
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-12-04 17:40:52 -05:00
Jonasz Łasut-Balcerzak
7c0f032def fix(health): update crossplane healthchecks (#25386)
Signed-off-by: Jonasz Lasut-Balcerzak <jonasz.lasut@gmail.com>
Signed-off-by: Jonasz Łasut-Balcerzak <jonasz.lasut@gmail.com>
2025-12-04 12:07:14 -05:00
marcingy
2c24def159 chore(deps): Bump kustomize to v5.8.0 (#25437)
Signed-off-by: Marc Ingram <marc.ingram@acquia.com>
Signed-off-by: marcingy <marcingy@gmail.com>
Co-authored-by: Regina Voloshin <regina.voloshin@codefresh.io>
Co-authored-by: Niklas Wagner <Skaro@Skaronator.com>
2025-12-04 18:10:31 +02:00
dependabot[bot]
644d1e6ec2 chore(deps): bump actions/setup-node from 6.0.0 to 6.1.0 (#25507)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-04 15:22:56 +00:00
dependabot[bot]
a62e3687f2 chore(deps): bump gitlab.com/gitlab-org/api/client-go from 0.160.0 to 1.5.0 (#25481)
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: reggie-k <regina.voloshin@codefresh.io>
Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
2025-12-04 14:02:38 +02:00
dependabot[bot]
f53e1d5629 chore(deps): bump github.com/spf13/cobra from 1.10.1 to 1.10.2 (#25505)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-04 12:36:49 +02:00
Nitish Kumar
be0d2952ac docs: explain rollingSync example (#25509)
Signed-off-by: nitishfy <justnitish06@gmail.com>
Signed-off-by: Nitish Kumar <justnitish06@gmail.com>
Co-authored-by: Regina Voloshin <regina.voloshin@codefresh.io>
2025-12-04 11:29:16 +02:00
dependabot[bot]
e81872fb1d chore(deps): bump softprops/action-gh-release from 2.4.2 to 2.5.0 (#25506)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-04 08:19:44 +02:00
pbhatnagar-oss
dea7ead9a3 feat(hydrator): avoid unnecessary repo-server calls (#25150)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Signed-off-by: pbhatnagar-oss <pbhatifiwork@gmail.com>
2025-12-03 20:29:44 -05:00
Nolan Emirot
8e91653f73 docs: improve secret url for source hydrator (#25502)
Signed-off-by: emirot <emirot.nolan@gmail.com>
2025-12-03 18:22:42 -05:00
Michael Crenshaw
e77acec858 feat: allow limiting clusterResourceWhitelist by resource name (#12208) (#24674)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-12-03 20:55:28 +00:00
Revital Barletz
c43088265e docs: update Getting Started guide with local setup guidance (#25486)
Signed-off-by: Revital Barletz <Revital.barletz@octopus.com>
2025-12-03 10:28:04 -08:00
dependabot[bot]
eaf83019a1 chore(deps): bump library/golang from 1.25.3 to 1.25.5 in /test/remote (#25484)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-03 17:58:45 +00:00
Blake Pettersson
7ba0898a5d docs: add added healthchecks to upgrade docs (#25487)
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-12-03 14:25:49 +02:00
Nolan Emirot
9393e587d5 fix: makefile mkdocs directive (#25480)
Signed-off-by: emirot <emirot.nolan@gmail.com>
2025-12-03 11:34:34 +01:00
dependabot[bot]
290db5de86 chore(deps): bump actions/checkout from 5.0.1 to 6.0.1 (#25482)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-03 12:23:14 +02:00
Kanika Rana
e5829757e7 fix(appset): ensure finalizer is added when deletionOrder is set as reverse (#25125)
Signed-off-by: Kanika Rana <krana@redhat.com>
Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
2025-12-03 05:39:17 +00:00
dependabot[bot]
b5f75f15cc chore(deps): bump golangci/golangci-lint-action from 9.0.0 to 9.2.0 (#25483)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-03 06:36:31 +02:00
Dobes Vandermeer
3c12c0108a docs: Add docs for CronJob health checks (#25477)
Signed-off-by: Dobes Vandermeer <dobesv@gmail.com>
2025-12-02 17:04:54 -05:00
Nitish Kumar
42929ffe5c docs: add explanation of drySource in hydrator (#25470)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2025-12-02 17:24:44 +02:00
dependabot[bot]
f64507521d chore(deps): bump express from 4.20.0 to 4.22.1 in /ui (#25469)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-02 09:50:46 -05:00
Kevin R
1a6973af2d feat: Add the ability to not autogenerate external URLs from ingress object (#13705) (#25383)
Signed-off-by: rkevin <rk@rkevin.dev>
2025-12-02 12:04:58 +02:00
dependabot[bot]
860eed5127 chore(deps): bump github.com/itchyny/gojq from 0.12.17 to 0.12.18 (#25465)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-02 11:41:02 +02:00
dependabot[bot]
da4e74837c chore(deps): bump renovatebot/github-action from 44.0.3 to 44.0.5 (#25468)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-02 11:40:08 +02:00
Papapetrou Patroklos
1301eaa9e7 feat: use different env variable to control server side K8s API call timeout (#25271)
Signed-off-by: Patroklos Papapetrou <ppapapetrou76@gmail.com>
Signed-off-by: Papapetrou Patroklos <1743100+ppapapetrou76@users.noreply.github.com>
Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
Co-authored-by: Dan Garfield <dan.garfield@octopus.com>
2025-12-02 11:34:50 +02:00
Regina Voloshin
706e469809 docs: custom actions contributor guide (#25461)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
2025-12-01 21:38:07 +02:00
dependabot[bot]
3ad7da50f7 chore(deps): bump node-forge from 1.3.0 to 1.3.2 in /ui (#25434)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-01 10:27:03 -05:00
dependabot[bot]
48c969b324 chore(deps): bump peter-evans/create-pull-request from 7.0.8 to 7.0.9 (#25432)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-01 14:57:52 +02:00
Papapetrou Patroklos
5db7846c78 chore: bumps helm to 3.19.2 and kustomize to 5.7.1 (#25362)
Signed-off-by: Patroklos Papapetrou <ppapapetrou76@gmail.com>
2025-12-01 14:50:28 +02:00
Nitish Kumar
27f30b4a7d chore(refactor): use rbac package for valid actions (#25456)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2025-12-01 01:05:43 -10:00
dependabot[bot]
56dcea0cfe chore(deps): bump github.com/olekukonko/tablewriter from 1.1.1 to 1.1.2 (#25453)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-01 09:05:02 +02:00
Anbraten
81dcc2f2ee fix: check for no local config when running argocd context dev-system (#25245)
Signed-off-by: Anbraten <6918444+anbraten@users.noreply.github.com>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2025-12-01 12:33:42 +05:30
github-actions[bot]
94e474a867 [Bot] docs: Update Snyk report (#25446)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2025-11-30 17:35:31 +00:00
Rick Brouwer
a64933f11d feat(actions): add pause action for KEDA ScaledObject and ScaledJob (#25301) (#25302)
Signed-off-by: Rick Brouwer <rickbrouwer@gmail.com>
2025-11-30 11:21:35 +02:00
Jaewoo Choi
7669da6c3e feat: split refresh button with dropdown for hard refresh (#25445)
Signed-off-by: choejwoo <jaewoo45@gmail.com>
2025-11-30 11:16:24 +02:00
dudinea
f68f0ec16b fix: the concurrency issue with git detached processing in Repo Server (#25101) (#25127)
Signed-off-by: Eugene Doudine <eugene.doudine@octopus.com>
2025-11-28 09:34:29 -05:00
Rick Brouwer
f3ae26bb83 fix(actions): enable pause action so deployment can be paused (#25394) (#25395)
Signed-off-by: Rick Brouwer <rickbrouwer@gmail.com>
2025-11-28 08:17:11 +02:00
Omar Nasser
46783614d5 feat(cli): Add additional examples to proj list command (#25169)
Signed-off-by: Omar Nasser <omarnasserjr@gmail.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-11-27 22:10:36 +01:00
github-actions[bot]
3d73f69522 [Bot] docs: Update Snyk report (#25428)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2025-11-27 13:44:03 +00:00
Regina Voloshin
d23501875c Revert "chore(deps): bump golangci/golangci-lint-action from 9.0.0 to 9.1.0" (#25427) 2025-11-26 15:01:38 +00:00
Regina Voloshin
320754a470 Revert "chore(deps): bump peter-evans/create-pull-request from 7.0.8 to 7.0.9" (#25426) 2025-11-26 14:28:39 +00:00
dependabot[bot]
83548e39de chore(deps): bump peter-evans/create-pull-request from 7.0.8 to 7.0.9 (#25420)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-26 09:01:12 +02:00
dudinea
06bffebc04 docs: Document usage of ?. in notifications triggers and fix examples (#25352) (#25418)
Signed-off-by: Eugene Doudine <eugene.doudine@octopus.com>
2025-11-26 08:59:11 +02:00
Rick Brouwer
0c77f3ca1f feat(actions): add icons to apps actions (#25343) (#25344)
Signed-off-by: Rick Brouwer <rickbrouwer@gmail.com>
2025-11-25 20:39:37 +02:00
dependabot[bot]
df1035d236 chore(deps): bump golangci/golangci-lint-action from 9.0.0 to 9.1.0 (#25400)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-25 18:29:12 +02:00
Kevin R
1f147912e4 fix: Make CephCluster CRD health script deterministic (#25391) (#25392)
Signed-off-by: rkevin <rk@rkevin.dev>
2025-11-25 18:28:49 +02:00
Mangaal Meetei
de781f4a76 docs: ApplicationSet any-namespace supports glob/regex (#25403)
Signed-off-by: Mangaal <angommeeteimangaal@gmail.com>
2025-11-25 11:25:02 -05:00
Michael Cornel
bcff1f6e3a docs: Application source is not an array (#25411)
Signed-off-by: Michael Cornel <michael@stieler.it>
2025-11-25 18:18:24 +02:00
dependabot[bot]
3fa7348ec5 chore(deps): bump github.com/Azure/kubelogin from 0.2.12 to 0.2.13 (#25376)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-24 16:30:01 +00:00
Mathew Peterson
ba50c4a604 docs: Fixes kubectl exec command in troubleshooting.md (#25387)
Signed-off-by: Mathew Peterson <me@mathewpeterson.com>
2025-11-24 05:57:59 -10:00
kalle (jag)
7c3b710fbd docs: Add documentation for GitHub Actions integration (#22953)
Signed-off-by: Kalle Fagerberg <kalle.fagerberg@riskident.com>
Signed-off-by: kalle (jag) <2477952+applejag@users.noreply.github.com>
Signed-off-by: Kalle Fagerberg <kalle.f8+github@proton.me>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-11-24 03:48:26 -10:00
Anurag Ojha
72e88be125 docs: add Cilium Gateway API example for Argo CD with HTTP and gRPC routes (#25405)
Signed-off-by: Anurag Ojha <aojharaj2004@gmail.com>
Co-authored-by: Dan Garfield <dan.garfield@octopus.com>
2025-11-24 13:41:06 +00:00
Mangaal Meetei
fe02a8f410 feat(redis): Secrets credentials via volume mount (#24597)
Signed-off-by: Mangaal <angommeeteimangaal@gmail.com>
Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
2025-11-24 07:48:15 -05:00
github-actions[bot]
14d05d2cea [Bot] docs: Update Snyk report (#25393)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2025-11-24 00:39:44 +00:00
Kevin R
69d5d94c4e fix: Revert test tools image redis to non-alpine based image (#25381) (#25382)
Signed-off-by: rkevin <rk@rkevin.dev>
2025-11-22 10:13:04 -05:00
Dov Murik
d5fee5a18a docs: sync-waves guide: Use markdown formatting (#25372)
Signed-off-by: Dov Murik <dov.murik@gmail.com>
2025-11-20 20:49:16 +02:00
Dan Garfield
96804e89a2 docs: Update webhook documentation to clarify application sets (#25368)
Signed-off-by: Dan Garfield <dan.garfield@octopus.com>
2025-11-20 15:14:39 +00:00
dependabot[bot]
791e92490f chore(deps): bump golang.org/x/crypto from 0.44.0 to 0.45.0 (#25355)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-20 16:19:17 +02:00
Papapetrou Patroklos
b7dbff80b2 fix: reduces information returned by settings api when accessed anonymously (#25346)
Signed-off-by: Patroklos Papapetrou <ppapapetrou76@gmail.com>
2025-11-20 12:07:34 +00:00
JC
8373059176 docs: fix doubled data field in notification examples (#25354)
Signed-off-by: aibazhang <zhang@sansan.com>
Co-authored-by: aibazhang <zhang@sansan.com>
2025-11-20 13:39:47 +02:00
dependabot[bot]
c549aea1fd chore(deps): bump github.com/cyphar/filepath-securejoin from 0.6.0 to 0.6.1 (#25356)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-20 13:35:37 +02:00
Dan Garfield
d92ad4d5c8 docs: Set Regina as release approver for 3.0 (#25349)
Signed-off-by: Dan Garfield <dan.garfield@octopus.com>
2025-11-19 22:04:24 -08:00
dependabot[bot]
99b5a62650 chore(deps): bump actions/setup-go from 6.0.0 to 6.1.0 (#25360)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-19 22:01:03 -08:00
Robin Lieb
c917599b0b docs: update RepoCreds Type description to include oci option (#25353)
Signed-off-by: Robin Lieb <34332703+robinlieb@users.noreply.github.com>
2025-11-19 12:01:30 -10:00
Regina Voloshin
1f8e9d9a90 docs: Update release.md to add step for retrying failed docs build in readthedocs (#25341)
Signed-off-by: Regina Voloshin <regina.voloshin@codefresh.io>
Co-authored-by: Dan Garfield <dan.garfield@octopus.com>
2025-11-19 16:11:17 -05:00
Regina Voloshin
9c64f4d7f8 docs: Document setting TARGET_ARCH for running make image locally on Mac with Apple chip (#25334)
Signed-off-by: Regina Voloshin <regina.voloshin@codefresh.io>
Co-authored-by: Dan Garfield <dan.garfield@octopus.com>
2025-11-19 17:07:58 +00:00
Marcus Alder
84d94c0e7b docs: Update plugin generator docs to include overview (#25292)
Signed-off-by: LogicalShark <maralder@google.com>
2025-11-19 16:52:54 +02:00
argoproj-renovate[bot]
c1a28aa51e chore(deps): update dependency pymdown-extensions to v10.17.1 (#25333)
Signed-off-by: renovate[bot] <renovate[bot]@users.noreply.github.com>
Co-authored-by: argoproj-renovate[bot] <161757507+argoproj-renovate[bot]@users.noreply.github.com>
2025-11-19 16:42:40 +02:00
Revital Barletz
fe3632fe0c docs: Update Argo CD installation and API server access instructions (#25120)
Signed-off-by: Revital Barletz <Revital.Barletz@octopus.com>
Signed-off-by: Revital Barletz <Revital.barletz@octopus.com>
2025-11-19 13:19:08 +02:00
afarbos
9ee5cca38b feat: Add health check for Ceph CRD (#24111)
Signed-off-by: Arnaud Farbos <afarbos@nvidia.com>
2025-11-18 14:16:40 -08:00
Regina Voloshin
27715cd556 docs: Update index.md to remove gitops-engine dependency reference (#25335)
Signed-off-by: Regina Voloshin <regina.voloshin@codefresh.io>
2025-11-18 20:55:31 +02:00
renovate[bot]
7e1946c3d8 chore(deps): update docker.io/library/golang:1.25.3 docker digest to 6d4e5e7 (#25326)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-18 11:10:42 -05:00
argoproj-renovate[bot]
9fbdc10cb0 chore(deps): update dependency pymdown-extensions to v10.17 (#25262)
Signed-off-by: renovate[bot] <renovate[bot]@users.noreply.github.com>
Co-authored-by: argoproj-renovate[bot] <161757507+argoproj-renovate[bot]@users.noreply.github.com>
2025-11-18 08:05:38 -08:00
Allan Yung
4a75a756a7 fix: restore ability to connect a repo in the GUI (#25259)
Signed-off-by: Allan Yung <allan.yung@bbdsoftware.com>
2025-11-18 14:58:57 +01:00
Papapetrou Patroklos
10f60b96ac chore: bumps redis to the latest stable to eliminate vulns (#25272)
Signed-off-by: Patroklos Papapetrou <ppapapetrou76@gmail.com>
2025-11-18 14:45:30 +02:00
dependabot[bot]
0a585e24ed chore(deps): bump actions/checkout from 5.0.0 to 5.0.1 (#25322)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-18 11:08:02 +00:00
Regina Voloshin
910661fab5 docs: Document how to change --disable-auth in dev guide (#25308)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
2025-11-18 00:50:40 -10:00
dependabot[bot]
19ee75b9fc chore(deps): bump renovatebot/github-action from 44.0.2 to 44.0.3 (#25321)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-18 09:53:37 +00:00
Regina Voloshin
7065fbb6ca docs: Improve switch to annotation tracking docs, clarifying that a new Git commit may be needed to avoid orphan resources (#25309)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
2025-11-17 23:52:07 -10:00
dependabot[bot]
ec7134406a chore(deps): bump js-yaml from 4.1.0 to 4.1.1 in /ui (#25315)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-17 23:24:14 -10:00
dependabot[bot]
dcfd191d8e chore(deps): bump github.com/casbin/casbin/v2 from 2.132.0 to 2.134.0 (#25319)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-17 23:23:45 -10:00
dependabot[bot]
7b73766251 chore(deps): bump google.golang.org/grpc from 1.76.0 to 1.77.0 (#25320)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-17 23:23:14 -10:00
Peter Jiang
b7f60b7f76 chore: release champ 3.3 (#25202)
Signed-off-by: Peter Jiang <35584807+pjiang-dev@users.noreply.github.com>
2025-11-17 16:19:53 -08:00
Hannah DeFazio
ed6fe769e6 fix: Allow the ISVC to be healthy when the Stopped Condition is False (#25312)
Signed-off-by: Hannah DeFazio <h2defazio@gmail.com>
2025-11-17 13:13:27 -08:00
Blake Pettersson
5444415c86 fix: revert #24197 (#25294)
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-11-17 11:21:44 -08:00
github-actions[bot]
c79f17167c [Bot] docs: Update Snyk report (#25299)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2025-11-17 00:23:38 +00:00
Bryan Horstmann
ef6a27fdfc docs: Document the correct sync option to disable client side migration (#25288)
Signed-off-by: Bryan Horstmann <bhorstmann@gmail.com>
2025-11-14 00:46:25 -10:00
dependabot[bot]
61a89dc23e chore(deps): bump gitlab.com/gitlab-org/api/client-go from 0.159.0 to 0.160.0 (#25281)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-14 10:12:06 +00:00
Mike Cutsail
5c6aa59ed3 feat: oidc background token refresh (#23727)
Signed-off-by: Mike Cutsail <mcutsail15@apple.com>
2025-11-13 11:37:53 -05:00
Ivan Pedersen
60f2ff5f77 fix: return empty list instead of nil to prevent panic. Fixes #25189 (#25192)
Signed-off-by: Ivan Pedersen <ivan.pedersen@volvocars.com>
2025-11-13 10:49:18 -05:00
Atif Ali
98d0e8451a docs: add user content for managed-by-url annotation (#25055)
Signed-off-by: Atif Ali <atali@redhat.com>
Co-authored-by: Ishita Sequeira <46771830+ishitasequeira@users.noreply.github.com>
2025-11-12 11:38:41 -05:00
dependabot[bot]
d8a86f4ccb chore(deps): bump golang.org/x/oauth2 from 0.32.0 to 0.33.0 (#25234)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-12 14:51:58 +00:00
dependabot[bot]
f618adb93e chore(deps): bump golang.org/x/net from 0.46.0 to 0.47.0 (#25264)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-12 09:15:36 -05:00
dependabot[bot]
b829cd29c8 chore(deps): bump github.com/go-openapi/runtime from 0.29.0 to 0.29.2 (#25255)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-12 14:04:00 +01:00
dependabot[bot]
b6bf931fe4 chore(deps): bump github.com/olekukonko/tablewriter from 1.1.0 to 1.1.1 (#25232)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-12 14:03:02 +01:00
dependabot[bot]
6d303b9b3f chore(deps): bump golang.org/x/sync from 0.17.0 to 0.18.0 (#25231)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-11 15:33:25 +00:00
dependabot[bot]
fd2fc0abf9 chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.13.0 to 1.13.1 (#25254)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-11 09:44:08 -05:00
dependabot[bot]
2a4734c54c chore(deps): bump renovatebot/github-action from 43.0.20 to 44.0.2 (#25256)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-11 09:43:17 -05:00
Jonathan Dale
43828a7770 docs: Add IQVIA to the USERS.md list (#25253)
Signed-off-by: Jonathan Dale <47530196+jonathan-dale@users.noreply.github.com>
2025-11-10 22:11:01 -05:00
Manali
be31558b41 docs: Add Expedia to USERS.md (#25251)
Signed-off-by: msathe_expedia <msathe@expediagroup.com>
Co-authored-by: msathe_expedia <msathe@expediagroup.com>
2025-11-10 21:38:15 +01:00
Jeremy Johnson
b3dfab5f6d docs: Add Collins Aerospace to USERS.md (#25247) 2025-11-10 11:27:05 -05:00
Sakib Jalal
54f9b8c9b5 docs: add MongoDB to users.md (#25248)
Signed-off-by: Sakib Jalal <sakib.jalal@gmail.com>
2025-11-10 11:26:23 -05:00
J. Gavin Ray
2ab3b0ddaf docs: Adding Arcadia to USERS.md (#25242)
Signed-off-by: J. Gavin Ray <git@jgavinray.com>
2025-11-10 11:26:01 -05:00
Jeff Tougas
be2b7da724 docs(users): Add Dematic to USERS.md (#25246)
Signed-off-by: Jeff Tougas <jeff.tougas@kiongroup.com>
Co-authored-by: Jeff Tougas <jeff.tougas@kiongroup.com>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2025-11-10 15:02:34 +00:00
dependabot[bot]
13895feb99 chore(deps): bump golangci/golangci-lint-action from 8.0.0 to 9.0.0 (#25236)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-10 10:00:03 -05:00
Matt McLane
991ede4764 Update USERS.md (#25243)
Signed-off-by: Matt McLane <mmclane@docnetwork.org>
2025-11-10 09:52:04 -05:00
dependabot[bot]
6bf276f675 chore(deps): bump softprops/action-gh-release from 2.4.1 to 2.4.2 (#25235)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-09 21:23:39 -10:00
github-actions[bot]
dbe0a0c1d3 [Bot] docs: Update Snyk report (#25227)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2025-11-09 19:24:57 +00:00
Yuval_
19ca5dfad7 chore(deps): bump github.com/cyphar/filepath-securejoin from 0.4.1 to 0.6.0 (#25228)
Signed-off-by: yuvalshi0 <yuvalshi0@gmail.com>
2025-11-09 14:10:06 -05:00
Peter Jiang
728f2e7436 fix: regression on creationTimestamp with server-side diff (#25210)
Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-11-08 17:44:53 -05:00
dependabot[bot]
6638dd67a6 chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azcore from 1.19.1 to 1.20.0 (#25212)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-08 20:31:31 +01:00
dependabot[bot]
10f991d674 chore(deps): bump min-document from 2.19.0 to 2.19.1 in /ui (#25223)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-08 20:30:31 +01:00
Afzal Ansari
45462175c9 chore: upgrade the notification engine deps (#25219)
Signed-off-by: Afzal Ansari <afzal442@gmail.com>
2025-11-07 22:23:54 +01:00
Sverre Boschman
ce627702dc docs(users): add Topicus.Education to adopters list (#25215)
Signed-off-by: Sverre Boschman <1142569+sboschman@users.noreply.github.com>
2025-11-07 12:09:32 -05:00
Michael Crenshaw
d6f25a169e chore: remove unused struct (#25186)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-11-07 04:56:06 +00:00
jwinters01
81073bdb1f fix:(ui) don't render ApplicationSelector unless the panel is showing (#25201)
Signed-off-by: Jonathan Winters <wintersjonathan0@gmail.com>
2025-11-06 17:45:12 -05:00
Kanika Rana
6cfef6bf02 docs: promote ApplicationSet's Progressive Sync to beta (#25122)
Signed-off-by: Kanika Rana <krana@redhat.com>
2025-11-06 09:42:02 -07:00
dependabot[bot]
6df6b7a355 chore(deps): bump code.gitea.io/sdk/gitea from 0.22.0 to 0.22.1 (#25057)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-06 10:59:28 -05:00
dependabot[bot]
c7b47c3cd2 chore(deps): bump gitlab.com/gitlab-org/api/client-go from 0.157.1 to 0.159.0 (#25175)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-06 09:34:37 -05:00
argoproj-renovate[bot]
b4c7467cf3 chore(deps): update docker.io/library/golang:1.25.3 docker digest to 6d4e5e7 (#25187)
Signed-off-by: renovate[bot] <renovate[bot]@users.noreply.github.com>
Co-authored-by: argoproj-renovate[bot] <161757507+argoproj-renovate[bot]@users.noreply.github.com>
2025-11-05 11:21:05 -05:00
Michael Crenshaw
e6152b827b docs: more thorough release instructions (#25173)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-11-05 11:20:38 -05:00
jwinters01
1ae13b2896 feat(ui): conditionally render app view extensions (#25132)
Signed-off-by: Jonathan Winters <wintersjonathan0@gmail.com>
2025-11-05 09:34:29 -05:00
argoproj-renovate[bot]
8d0e5b9408 chore(deps): update docker.io/library/golang:1.25.3 docker digest to b2663ef (#25172)
Signed-off-by: renovate[bot] <renovate[bot]@users.noreply.github.com>
Co-authored-by: argoproj-renovate[bot] <161757507+argoproj-renovate[bot]@users.noreply.github.com>
2025-11-05 09:21:11 -05:00
Jaewoo Choi
0b40e3bc78 fix(ui): refactor tooltip, align action btns in app tile view (#25098)
Signed-off-by: choejwoo <jaewoo45@gmail.com>
2025-11-05 09:08:35 -05:00
dependabot[bot]
1389f0c032 chore(deps): bump github.com/casbin/casbin/v2 from 2.131.0 to 2.132.0 (#25177)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-05 11:46:29 +00:00
dependabot[bot]
59b6b0e2b8 chore(deps): bump github.com/grpc-ecosystem/go-grpc-middleware/v2 from 2.3.2 to 2.3.3 (#25176)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-05 11:43:48 +00:00
Jaewoo Choi
27a503aa59 fix(ui): add null-safe handling for assignedWindows in status panel (#25128)
Signed-off-by: choejwoo <jaewoo45@gmail.com>
2025-11-05 00:51:07 -10:00
Julian
943936a909 docs: clarify default hook deletion policy (#25170)
Signed-off-by: Globulard <julian.amoedo13@gmail.com>
2025-11-05 11:33:28 +02:00
Atif Ali
8d40fa3b5c docs: update user content for deleting applications (#25124)
Signed-off-by: Atif Ali <atali@redhat.com>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2025-11-04 15:19:13 -07:00
argoproj-renovate[bot]
2d71941dd0 chore(deps): update docker.io/library/golang:1.25.3 docker digest to 0afe9b5 (#25168)
Signed-off-by: renovate[bot] <renovate[bot]@users.noreply.github.com>
Co-authored-by: argoproj-renovate[bot] <161757507+argoproj-renovate[bot]@users.noreply.github.com>
2025-11-04 13:52:07 -05:00
Codey Jenkins
49f5c03622 chore(tilt): add deps for build and ui packages (#25165)
Signed-off-by: Codey Jenkins <FourFifthsCode@users.noreply.github.com>
2025-11-04 13:07:42 -05:00
Nitish Kumar
ebca0521ad docs: add git concurrency issue in upgrade instruction (#25167)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2025-11-04 22:37:58 +05:30
argoproj-renovate[bot]
4c57962cf4 chore(deps): update docker.io/library/golang:1.25.3 docker digest to 7e3cbcd (#25158)
Signed-off-by: renovate[bot] <renovate[bot]@users.noreply.github.com>
Co-authored-by: argoproj-renovate[bot] <161757507+argoproj-renovate[bot]@users.noreply.github.com>
2025-11-04 11:20:46 -05:00
dependabot[bot]
b7691b2167 chore(deps): bump renovatebot/github-action from 43.0.19 to 43.0.20 (#25156)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-04 02:54:20 -10:00
Peter Jiang
21ae489589 fix: return empty instead of error if cache unavailable (#25072)
Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
Signed-off-by: Peter Jiang <35584807+pjiang-dev@users.noreply.github.com>
Co-authored-by: Ishita Sequeira <46771830+ishitasequeira@users.noreply.github.com>
2025-11-04 17:56:19 +05:30
Rick Brouwer
e58bdf2f87 feat: implement KEDA scaledJob health-checks (#25106)
Signed-off-by: Rick Brouwer <rickbrouwer@gmail.com>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2025-11-03 19:13:30 -05:00
Alexander Matyushentsev
7a09f69ad6 fix: avoid calling UpdateRevisionForPaths unnecessary (#25151)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2025-11-03 21:48:14 +00:00
Alexander Matyushentsev
1b08fd1004 feat: add ability to use shallow clone for repositories (#24931)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2025-11-03 13:00:59 -08:00
Revital Barletz
0a93e5701f docs: Update Kustomize documentation for forceCommonLabels and forceCommonAnnotations (#25138)
Signed-off-by: Revital Barletz <Revital.barletz@octopus.com>
2025-11-03 15:14:01 -05:00
argoproj-renovate[bot]
5072fb7136 chore(deps): update dependency markdown to v3.10 (#25152)
Signed-off-by: renovate[bot] <renovate[bot]@users.noreply.github.com>
Co-authored-by: argoproj-renovate[bot] <161757507+argoproj-renovate[bot]@users.noreply.github.com>
2025-11-03 15:13:04 -05:00
dependabot[bot]
b91c191a34 chore(deps): bump github.com/casbin/casbin/v2 from 2.128.0 to 2.131.0 (#25142)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-03 10:05:05 -05:00
github-actions[bot]
fe727c8fc9 [Bot] docs: Update Snyk report (#25135)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2025-11-03 14:29:08 +00:00
dudinea
fe4ab01cba fix: capture stderr in executil RunWithExecRunOpts (#25139)
Signed-off-by: Eugene Doudine <eugene.doudine@octopus.com>
2025-11-02 17:01:38 +02:00
Matthieu MOREL
4ea276860c chore: refactor test functions to pass context from testing.T to fixtures (#25134)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-11-02 13:39:24 +01:00
Matthieu MOREL
f26533ab37 chore: use Expecter Structs from mockery (#25133)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-11-01 13:07:08 +00:00
Atif Ali
c2f611f8cd fix(ui): Improve Delete Dialog Behaviour when deleting child apps in the app-of-app pattern (#24802)
Signed-off-by: Atif Ali <atali@redhat.com>
2025-10-30 14:42:16 -04:00
dependabot[bot]
ef48aa9c37 chore(deps): bump library/busybox from 2f590fc to e3652a0 in /test/e2e/multiarch-container (#25116)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-30 10:50:23 -04:00
dependabot[bot]
1b4fde1986 chore(deps): bump gitlab.com/gitlab-org/api/client-go from 0.157.0 to 0.157.1 (#25108)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-30 02:52:52 +00:00
Simon Dahlbacka
ca84c31a46 docs: clarify resource.exclusions 25009 (#25107)
Signed-off-by: Simon Dahlbacka <simon.dahlbacka@fellowmind.fi>
2025-10-29 20:56:33 -04:00
Afzal Ansari
f5eaae73a2 docs: add app password step to retrieve using gmail support (#22706)
Signed-off-by: Afzal Ansari <afzal442@gmail.com>
2025-10-29 16:03:34 +00:00
jwinters01
a2f57be3d5 docs: application view ui extension docs (#25050)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
Signed-off-by: Jonathan Winters <wintersjonathan0@gmail.com>
Co-authored-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2025-10-28 14:05:58 -04:00
Josh Soref
0d0cec6b66 fix: Only show apiVersion/kind when targetState is defined (#25068)
Signed-off-by: Josh Soref <jsoref@gmail.com>
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
Co-authored-by: Yusuke Abe <chansuke0@gmail.com>
2025-10-28 09:42:40 +01:00
Afzal Ansari
7ba62f9838 docs: add overrides in multi-source applications (#25089)
Signed-off-by: Afzal Ansari <afzal442@gmail.com>
2025-10-28 13:33:52 +05:30
dependabot[bot]
e80395bacf chore(deps): bump renovatebot/github-action from 43.0.18 to 43.0.19 (#25099)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-28 08:30:38 +01:00
argoproj-renovate[bot]
d8c72c2c8e chore(deps): update docker.io/library/golang:1.25.3 docker digest to 6bac879 (#25091)
Signed-off-by: renovate[bot] <renovate[bot]@users.noreply.github.com>
Co-authored-by: argoproj-renovate[bot] <161757507+argoproj-renovate[bot]@users.noreply.github.com>
2025-10-27 12:15:52 -04:00
dependabot[bot]
8e9d24a60f chore(deps): bump actions/upload-artifact from 4.6.2 to 5.0.0 (#25085)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-27 10:40:30 -04:00
dependabot[bot]
3d2d32bc2c chore(deps): bump actions/download-artifact from 5.0.0 to 6.0.0 (#25086)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-27 10:40:00 -04:00
argoproj-renovate[bot]
5f66fe5751 chore(deps): update docker.io/library/golang:1.25.3 docker digest to dd08f76 (#25073)
Signed-off-by: renovate[bot] <renovate[bot]@users.noreply.github.com>
Co-authored-by: argoproj-renovate[bot] <161757507+argoproj-renovate[bot]@users.noreply.github.com>
2025-10-27 10:38:40 -04:00
Jaewoo Choi
ad96cb8f0e fix(ui): overlapping UI elements and add resource units to tooltips (#24717)
Signed-off-by: choejwoo <jaewoo45@gmail.com>
2025-10-24 08:29:41 -04:00
Shota Sugiura
541a1546cd chore: remove unnecessary lock value copy in test (#24939)
Signed-off-by: shota3506 <s.shota.710.3506@gmail.com>
2025-10-23 13:00:50 -04:00
rumstead
97d50a14a6 feat(appset): add pprof endpoints (#25044)
Signed-off-by: rumstead <37445536+rumstead@users.noreply.github.com>
2025-10-23 14:42:01 +00:00
Nitish Kumar
9c4579b229 docs: clarify explanation of reconciliation interval and auto-sync behavior (#25024)
Signed-off-by: Nitish Kumar <justnitish06@gmail.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Regina Voloshin <regina.voloshin@codefresh.io>
2025-10-23 14:52:54 +03:00
Frederic M
2f175fcd64 docs: fix duration known type (#25035)
Signed-off-by: Frederic Mereu <frederic.mereu@gaming1.com>
2025-10-23 07:10:46 +03:00
Alan Clucas
05ccc01e17 fix: fix cherry-pick bot again because I broke sign off (#25040)
Signed-off-by: Alan Clucas <alan@clucas.org>
Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-10-22 10:26:13 -10:00
renovate[bot]
0fa1f675c5 chore(deps): update docker.io/library/ubuntu:25.10 docker digest to 9b61739 (#25043)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-22 15:24:04 -04:00
renovate[bot]
c207a4f76c chore(deps): update docker.io/library/golang:1.25.3 docker digest to 8c945d3 (#25038)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-22 15:56:14 +00:00
argoproj-renovate[bot]
6d5678a351 chore(deps): update docker.io/library/golang:1.25.3 docker digest to 8c945d3 (#25041)
Signed-off-by: renovate[bot] <renovate[bot]@users.noreply.github.com>
Co-authored-by: argoproj-renovate[bot] <161757507+argoproj-renovate[bot]@users.noreply.github.com>
2025-10-22 14:41:16 +00:00
Jaewoo Choi
6d40847e17 fix(ui): fix minor UI issue in app operation state (#24845)
Signed-off-by: choejwoo <jaewoo45@gmail.com>
2025-10-22 17:11:31 +03:00
argoproj-renovate[bot]
54311b9613 chore(deps): update docker.io/library/golang:1.25.1 docker digest to ab1f5c4 (#24820)
Signed-off-by: renovate[bot] <renovate[bot]@users.noreply.github.com>
Co-authored-by: argoproj-renovate[bot] <161757507+argoproj-renovate[bot]@users.noreply.github.com>
2025-10-22 13:55:33 +00:00
renovate[bot]
8fc795f1ad chore(deps): update docker.io/library/ubuntu:25.04 docker digest to 27771fb (#25031)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-22 09:23:10 -04:00
Rob E
82a2b76da2 docs: Add documentation for name property on Application sources resource (#24937)
Signed-off-by: Rob E <robert.erez@gmail.com>
2025-10-22 09:05:27 +03:00
Jaewoo Choi
ed1fb04bcc fix(ui): inaccurate timestamp in tooltip for root node (#25014)
Signed-off-by: choejwoo <jaewoo45@gmail.com>
2025-10-22 09:01:02 +03:00
renovate[bot]
9db75f63b3 chore(deps): update docker.io/library/golang:1.25.3 docker digest to 0d8c14c (#25016)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-22 03:38:37 +00:00
Alexander Lindeskär
2daaf1e317 fix: Health status for HTTPRoute with multiple generations (#24958) (#24959)
Signed-off-by: Alexander Lindeskär <lindeskar@users.noreply.github.com>
2025-10-21 16:12:50 -04:00
dependabot[bot]
7aa522b816 chore(deps): bump sigstore/cosign-installer from 3.10.0 to 4.0.0 (#24984)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-21 16:10:01 -04:00
Dobromir Zahariev
51c9add05d feat: Add health checks for ServiceBinding and ServiceInstance (#25007)
Signed-off-by: Dobromir Zahariev <dzahariev@yahoo.com>
2025-10-21 16:09:28 -04:00
Alan Clucas
3f3e54f7c3 fix: cherry-picking with quotes in the title (#25017)
Signed-off-by: Alan Clucas <alan@clucas.org>
2025-10-21 15:52:29 +00:00
renovate[bot]
aadd977816 chore(deps): update docker.io/library/golang:1.25.1 docker digest to d709837 (#24948)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-21 14:25:35 +00:00
dependabot[bot]
0e10276154 chore(deps): bump github.com/Azure/kubelogin from 0.2.11 to 0.2.12 (#24983)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-21 14:07:53 +00:00
dependabot[bot]
cb6608346f chore(deps): bump renovatebot/github-action from 43.0.17 to 43.0.18 (#25011)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
2025-10-21 09:56:27 -04:00
dependabot[bot]
f0bb1192a8 chore(deps): bump golang.org/x/net from 0.44.0 to 0.46.0 (#24904)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-21 06:59:08 -04:00
Quentin Ågren
76c4996e2e docs: Mention default secret used to find Dex client secrets (#24105)
Signed-off-by: Quentin Ågren <quentin.agren@gmail.com>
2025-10-20 22:52:32 -04:00
dependabot[bot]
b8f5299f21 chore(deps): bump gitlab.com/gitlab-org/api/client-go from 0.148.1 to 0.157.0 (#24950)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-20 21:15:02 +03:00
github-actions[bot]
daa9a18953 [Bot] docs: Update Snyk report (#25004)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2025-10-20 11:06:12 -04:00
Alexander Matyushentsev
ca7dcbc594 fix: don't show error about missing appset (#24995)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2025-10-17 11:54:57 -07:00
dependabot[bot]
e161522dc0 chore(deps): bump library/golang from 2e3aca2 to 6ea52a0 in /test/remote (#24975)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-16 07:21:55 -04:00
Julian-Chu
576c0c2887 docs: Update telepresence command in the debugging-remote-environment.md (#24949)
Signed-off-by: Yu-Lang Chu <yulang.chu@gmail.com>
2025-10-16 07:21:03 -04:00
dependabot[bot]
b7b4ab938a chore(deps): bump library/golang from 7d73c4c to 2e3aca2 in /test/remote (#24963)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-15 16:58:08 -04:00
dependabot[bot]
b7e09e0dba chore(deps): bump library/busybox from d82f458 to 2f590fc in /test/e2e/multiarch-container (#24962)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
2025-10-15 16:57:54 -04:00
Michael Crenshaw
28ec26a6ca fix(health): use promotion resource Ready condition regardless of reason (#24971)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-10-15 15:29:14 -04:00
jwinters01
9198b79e31 fix: update searchbar props on url parameter change (#24930)
Signed-off-by: Jonathan Winters <wintersjonathan0@gmail.com>
2025-10-15 12:29:59 -04:00
Nitish Kumar
440f1d25a7 test: add unit tests to filter apps and appsets (#24965)
Signed-off-by: nitishfy <justnitish06@gmail.com>
2025-10-15 07:18:58 +00:00
Atif Ali
4a71661dbe chore(ui): fix Incorrect links to applications managed by other argo instances (#23266)
Signed-off-by: Atif Ali <atali@redhat.com>
2025-10-14 21:38:14 -04:00
dependabot[bot]
b74cf4563b chore(deps): bump github.com/Azure/kubelogin from 0.2.10 to 0.2.11 (#24943)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-14 18:33:54 +00:00
dependabot[bot]
d1ece2d57b chore(deps): bump actions/setup-node from 5.0.0 to 6.0.0 (#24952)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-14 09:56:08 -04:00
dependabot[bot]
d4476dcce4 chore(deps): bump actions/checkout from 4.0.0 to 5.0.0 (#24953)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-14 09:55:48 -04:00
dependabot[bot]
99691565df chore(deps): bump renovatebot/github-action from 43.0.16 to 43.0.17 (#24951)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-14 13:43:13 +00:00
dependabot[bot]
5611814243 chore(deps): bump library/registry from 1e96c37 to cd92709 in /test/container (#24955)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-14 13:42:48 +00:00
dependabot[bot]
33e817549e chore(deps): bump library/golang from 1.25.1 to 1.25.3 in /test/remote (#24954)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-14 09:12:07 -04:00
renovate[bot]
7ba800af75 chore(deps): update actions/checkout digest to 1e31de5 (#24612)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-13 14:01:03 +00:00
github-actions[bot]
a1a1dc13fe [Bot] docs: Update Snyk report (#24936)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2025-10-13 13:35:55 +00:00
downfa11
fdd27369f9 chore: fix Dockerfile COPY to correctly handle gitops-engine (#24863)
Signed-off-by: downfa11 <downfa11@naver.com>
2025-10-13 09:35:30 -04:00
dependabot[bot]
8e778f12ac chore(deps): bump github.com/casbin/casbin/v2 from 2.127.0 to 2.128.0 (#24918)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-13 09:32:39 -04:00
dependabot[bot]
48c6671593 chore(deps): bump google.golang.org/protobuf from 1.36.9 to 1.36.10 (#24829)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-13 09:32:11 -04:00
dependabot[bot]
c3302545cc chore(deps): bump library/registry from 3725021 to 1e96c37 in /test/container (#24909)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-13 09:31:03 -04:00
Jaewoo Choi
8dcaa2fa47 fix(ui): show delete/details action dropdown for orphaned resource (#24766)
Signed-off-by: choejwoo <jaewoo45@gmail.com>
2025-10-13 09:00:13 -04:00
dependabot[bot]
492f712e70 chore(deps): bump softprops/action-gh-release from 2.4.0 to 2.4.1 (#24944)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-13 09:01:53 +00:00
dependabot[bot]
95b191d349 chore(deps): bump golang.org/x/time from 0.13.0 to 0.14.0 (#24906)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-09 18:03:30 -04:00
dependabot[bot]
ce183f02fe chore(deps): bump golang.org/x/oauth2 from 0.31.0 to 0.32.0 (#24903)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-09 18:03:12 -04:00
Jakub Ciolek
bf0661ea81 fix: make webhook payload handlers recover from panics (#24862)
Signed-off-by: Jakub Ciolek <jakub@ciolek.dev>
2025-10-09 17:26:22 -04:00
dependabot[bot]
25ee9cc36d chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.12.0 to 1.13.0 (#24894)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-09 17:25:01 -04:00
dependabot[bot]
4d33ca981b chore(deps): bump golang.org/x/crypto from 0.42.0 to 0.43.0 (#24908)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-09 17:06:10 -04:00
Robin Lieb
0aaffce556 docs: remove gitops-engine in dependencies developer guide (#24888)
Signed-off-by: Robin Lieb <34332703+robinlieb@users.noreply.github.com>
2025-10-08 10:17:31 -04:00
Robin Lieb
290aab9fff docs: update link to health checks in gitops-engine (#24887)
Signed-off-by: Robin Lieb <34332703+robinlieb@users.noreply.github.com>
2025-10-08 09:59:20 -04:00
dependabot[bot]
b260143db1 chore(deps): bump renovatebot/github-action from 43.0.14 to 43.0.16 (#24896)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-08 09:55:50 -04:00
dependabot[bot]
8273c3a8ba chore(deps): bump google.golang.org/grpc from 1.75.1 to 1.76.0 (#24870)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-07 05:36:42 -10:00
Yusuke Abe
de901da62a fix(ui): convert ProjectDetails components to functional components (#23797)
Signed-off-by: chansuke <moonset20@gmail.com>
2025-10-07 11:17:53 -04:00
jiwlee
b4e022c7d9 fix(ui): convert class component to functional component in project-sync-windows-edit (#23837)
Signed-off-by: jiwlee <ddazi9576@gmail.com>
2025-10-07 11:17:14 -04:00
Linghao Su
d1523a07b6 chore(ui): convert user-info-overview to function component (#23786)
Signed-off-by: linghaoSu <linghao.su@daocloud.io>
2025-10-07 11:16:52 -04:00
Linghao Su
65cbbca068 fix(ui): convert EditablePanel, EditbleSection and Query to function component (#22776)
Signed-off-by: linghaoSu <linghao.su@daocloud.io>
2025-10-07 11:14:32 -04:00
Andreas Schramm
026d10e3f2 feat: syncing to a different revision requires override privilege (#22858)
Signed-off-by: Andreas Schramm <andreas.jabs@gmail.com>
2025-10-07 11:01:25 -04:00
dependabot[bot]
00eb906211 chore(deps): bump softprops/action-gh-release from 2.3.4 to 2.4.0 (#24873)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-07 09:31:45 -04:00
Rianov Viacheslav
7430650ff5 fix(server): ensure resource health status is inferred on application retrieval (#24832) (#24851)
Signed-off-by: Viacheslav Rianov <rianovviacheslav@gmail.com>
2025-10-06 15:11:51 -04:00
Alexander Matyushentsev
079240b9ba chore: use go mod override instead of go.work (#24841)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2025-10-06 16:40:30 +00:00
dependabot[bot]
33f6889efd chore(deps): bump library/golang from ab1f5c4 to d709837 in /test/remote (#24857)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-06 11:37:19 -04:00
Charles Coupal-Jetté
8c890d4285 feat: Add impersonation support for App finalizer deletion (#24524)
Signed-off-by: Charles Coupal-Jetté <charles.coupaljette@goto.com>
Signed-off-by: Charles Coupal-Jetté <83649150+ccjette-logmein@users.noreply.github.com>
Co-authored-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-10-06 10:30:44 -04:00
J3m3
1db5ee809c docs: update link to point to resource health documentation (#24652)
Signed-off-by: Jesung Yang <y.j3ms.n@gmail.com>
2025-10-06 10:07:48 -04:00
github-actions[bot]
d9699bdcef [Bot] docs: Update Snyk report (#24848)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2025-10-06 10:06:51 -04:00
dependabot[bot]
ab11e959b4 chore(deps): bump github.com/go-jose/go-jose/v4 from 4.1.2 to 4.1.3 (#24855)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-06 04:04:46 -10:00
dependabot[bot]
ea3925e34f chore(deps): bump softprops/action-gh-release from 2.3.3 to 2.3.4 (#24856)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-06 10:00:51 -04:00
Omar Nasser
ed537d5f3f feat: Add path flag to ArgoCD CLI app list (#24834)
Signed-off-by: Omar Nasser <omarnasserjr@gmail.com>
2025-10-06 09:57:30 -04:00
jan-mrm
afaf16b808 feat(ui): hide sync option 'replace' if sync with replace is disabled in the server (issue no. #22625) (#22647)
Signed-off-by: jan-mrm <67435696+jan-mrm@users.noreply.github.com>
2025-10-06 09:48:06 -04:00
Adam Danko
30abebda3d fix: GCP config connector healthchecks do not make use of existing observedGeneration #24458 (#24459)
Signed-off-by: danko <adamd@elementor.com>
Signed-off-by: Hapshanko <adamgaming391100@gmail.com>
Signed-off-by: Grégoire Salamin <gregoire.salamin@gmail.com>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Navaneethan <59121948+FalseDev@users.noreply.github.com>
Signed-off-by: Fox Danger Piacenti <fox@opencraft.com>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Signed-off-by: CI <ci@argoproj.com>
Signed-off-by: Pavel Aborilov <aborilov@gmail.com>
Signed-off-by: Adam Danko <112761282+Hapshanko@users.noreply.github.com>
Co-authored-by: danko <adamd@elementor.com>
Co-authored-by: gsalamin <31199936+gsalamin@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Navaneethan <59121948+FalseDev@users.noreply.github.com>
Co-authored-by: Fox Piacenti <fox@vulpinity.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@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: Pavel <aborilov@gmail.com>
2025-10-06 09:37:17 -04:00
Nathanael Liechti
5efb184c79 fix(oidc): check userinfo endpoint in AuthMiddleware (#23586)
Signed-off-by: Nathanael Liechti <technat@technat.ch>
2025-10-06 09:22:47 -04:00
Peter Jiang
96038ba2a1 fix: structured merge diff fix for null metadata field (#24844)
Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-10-06 09:20:33 -04:00
renovate[bot]
b553cc5ea4 chore(deps): update docker.io/library/ubuntu:25.04 docker digest to 103c747 (#24625)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-03 12:44:06 -04:00
Michael Crenshaw
64421a7acc feat(ci): add run failure link to cherry pick comment (#24838)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-10-03 18:37:41 +02:00
Michael Crenshaw
ef5b77811d fix(health): incorrect reason in PullRequest script (#24826)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-10-02 21:29:38 +00:00
gyu-young-park
ba41758147 docs: fix typo in hydrator commit message template documentation (#24822)
Signed-off-by: gyu-young-park <gyoue200125@gmail.com>
2025-10-02 16:59:39 -04:00
Michael Crenshaw
3ee16c0860 feat(actions): PullRequest merge action (#24823)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-10-02 13:31:13 -04:00
Peter Jiang
fb9d9747bd fix: server-side diff shows duplicate containerPorts (#24785)
Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-10-02 13:29:12 -04:00
Michael Crenshaw
90b3e856a6 feat(ui): support custom icons (#20864)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-10-02 11:42:35 -04:00
dependabot[bot]
1b973b81ef chore(deps): bump library/golang from 8305f5f to ab1f5c4 in /test/remote (#24817)
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-10-02 07:58:54 -04:00
dependabot[bot]
7faf8c9818 chore(deps): bump axios from 1.8.2 to 1.12.2 in /ui-test (#24793)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-02 05:19:40 -04:00
argoproj-renovate[bot]
b1e05e3e07 chore(deps): update docker.io/library/golang:1.25.1 docker digest to 3c96199 (#24812)
Signed-off-by: renovate[bot] <renovate[bot]@users.noreply.github.com>
Co-authored-by: argoproj-renovate[bot] <161757507+argoproj-renovate[bot]@users.noreply.github.com>
Co-authored-by: Yuan Tang <terrytangyuan@gmail.com>
2025-10-02 05:18:16 -04:00
Michael Crenshaw
f308ebf197 docs(hydrator): document commit-server ServiceMonitor (#24800)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-10-01 18:34:25 -04:00
Michael Crenshaw
46deaabea9 chore: allow docs approvers to merge for docs/operator-manual (#24813)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-10-01 18:34:11 -04:00
argoproj-renovate[bot]
b8e8c1fccb chore(deps): update docker.io/library/golang:1.25.1 docker digest to 9b057a4 (#24810)
Signed-off-by: renovate[bot] <renovate[bot]@users.noreply.github.com>
Co-authored-by: argoproj-renovate[bot] <161757507+argoproj-renovate[bot]@users.noreply.github.com>
2025-10-01 12:12:35 -04:00
Selim Can Özdemir
2d2249d3d8 docs: Update USERS.md (#24806)
Signed-off-by: Selim Can Özdemir <116464051+zxselimcan@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-10-01 07:38:09 -06:00
dependabot[bot]
68ff7df659 chore(deps): bump ossf/scorecard-action from 2.4.2 to 2.4.3 (#24803)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-01 09:32:11 -04:00
Alexandre Gaudreault
7396c1a9d2 fix: hydration errors not set on applications (#24755)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-09-30 21:44:43 +00:00
Aditya Raj
24fbf285d2 fix: shell compatibility issues in Procfile (#24792)
Signed-off-by: Aditya Raj <adityaraj10600@gmail.com>
2025-09-30 23:44:19 +02:00
dependabot[bot]
9419eb95a8 chore(deps): bump github.com/bradleyfalzon/ghinstallation/v2 from 2.16.0 to 2.17.0 (#24787)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-30 11:35:17 -04:00
Ville Vesilehto
701bc50d01 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:58 -04:00
Michael Crenshaw
fa0d6a8eb6 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
1988c704d5 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
174fcfe01e Merge commit from fork
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-09-30 09:45:21 -04:00
dependabot[bot]
c9fb04a606 chore(deps): bump docker/login-action from 3.5.0 to 3.6.0 (#24789)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-30 09:42:53 -04:00
dependabot[bot]
5a60cc4ee6 chore(deps): bump github.com/go-openapi/runtime from 0.28.0 to 0.29.0 (#24775)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-30 09:41:54 -04:00
Jonasz Łasut-Balcerzak
0679215992 fix: #24781 update crossplane healthchecks to V2 version (#24782)
Signed-off-by: Jonasz Łasut-Balcerzak <jonasz.lasut@gmail.com>
2025-09-29 18:40:54 -04:00
downfa11
d5d7e8fad2 fix: allow flags to be set when auto-sync is disabled (#24328) (#24380)
Signed-off-by: downfa11 <downfa11@naver.com>
2025-09-29 20:33:23 +02:00
Matthieu MOREL
7357465ea6 chore: enable noctx linter (#24765)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-09-29 20:20:53 +02:00
Blake Pettersson
116707bed1 chore(cli): plugins always have an argocd prefix (#24768)
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-09-29 20:56:26 +05:30
github-actions[bot]
cbea4e7ef3 [Bot] docs: Update Snyk report (#24763)
Signed-off-by: CI <ci@argoproj.com>
Co-authored-by: CI <ci@argoproj.com>
2025-09-29 13:15:17 +00:00
Leonardo Luz Almeida
a2b3f0a78e chore: gitops-engine post migration fixes (#24727)
Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
2025-09-29 09:05:41 -04:00
dependabot[bot]
8dd534ec38 chore(deps): bump renovatebot/github-action from 43.0.13 to 43.0.14 (#24777)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-29 15:24:01 +05:30
dependabot[bot]
eff6a63e10 chore(deps): bump gitlab.com/gitlab-org/api/client-go from 0.148.0 to 0.148.1 (#24774)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-29 15:23:35 +05:30
Artem Vdovin
d00c99d52e chore: copy gitops-engine deps to test container (#24764)
Signed-off-by: Artem Vdovin <arte.vdovin@gmail.com>
2025-09-28 23:48:44 +02:00
lplazas
bc811c5774 fix: allow for backwards compatibility of durations defined in days (#24769)
Signed-off-by: lplazas <felipe.plazas10@gmail.com>
2025-09-28 23:39:42 +02:00
Christian Hernandez
ac12ab91f3 feat(cli): Updated CLI to show Plugins during tab completion (#24758)
Signed-off-by: Christian Hernandez <christian@chernand.io>
Signed-off-by: Christian Hernandez <christianh814@users.noreply.github.com>
Co-authored-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-09-28 19:52:54 +00:00
dependabot[bot]
31088be65b chore(deps): bump actions/cache from 4.2.4 to 4.3.0 (#24736)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-28 12:25:00 +00:00
Andrii Korotkov
af7ae18189 chore: Add appkey and error fields in appcontroller (#24668) (#24669)
Signed-off-by: Andrii Korotkov <myolymp@gmail.com>
2025-09-27 23:47:21 +02:00
Leonardo Luz Almeida
ac46a18b55 Merge pull request #24726 from crenshaw-dev/fix-health-typo
fix(health): typo in PromotionStrategy health.lua
2025-09-27 09:57:27 -04:00
dependabot[bot]
e75e37c06c chore(deps): bump gitlab.com/gitlab-org/api/client-go from 0.147.1 to 0.148.0 (#24718)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-27 15:28:34 +02:00
Guillaume Assier 🌤️
6b1654bea9 docs(OCI): Add private repository examples for private OCI repo (#24737)
Signed-off-by: GuillaumeAssier <sykursen@protonmail.com>
Co-authored-by: Nitish Kumar <justnitish06@gmail.com>
2025-09-27 12:54:02 +02:00
Artem Vdovin
d0cb9c4ea8 docs: high availability notes for CMP (#24743)
Signed-off-by: Artem Vdovin <arte.vdovin@gmail.com>
Signed-off-by: Artem Vdovin <34456690+fm1ck3y@users.noreply.github.com>
Co-authored-by: Afzal Ansari <afzal442@gmail.com>
2025-09-26 20:13:10 +05:30
Masato Gosui
42477a5fcd docs: remove duplicated period in plugins.md (#24746)
Signed-off-by: Masato Gosui <82705154+nekomachi-touge@users.noreply.github.com>
2025-09-26 09:32:32 -04:00
Leonardo Luz Almeida
74a3275df2 Merge pull request #24733 from ranakan19/logVerbosity
fix(gitops-engine): set default verbosity as 0 when dry run strategy is none
2025-09-24 16:04:53 -04:00
Kanika Rana
631d429e2c set default verbosity as 0 when dry run strategy is none
Signed-off-by: Kanika Rana <krana@redhat.com>
2025-09-24 15:20:53 -04:00
Michael Crenshaw
2849f53930 fix(health): typo in PromotionStrategy health.lua
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-09-24 10:34:45 -04:00
Leonardo Luz Almeida
6dee3d61d4 Merge pull request #24710 from leoluz/gitops-migration
chore: gitops-engine migration
2025-09-24 10:02:15 -04:00
Yoonji Heo
b4e626c9eb chore: add unit tests for printKeyTable (header, rows, uppercase subtype) (#24274) (#24706)
Signed-off-by: Yoonji Heo <myeunee@gmail.com>
2025-09-24 17:36:59 +05:30
Leonardo Luz Almeida
f20995b271 chore: fix codegen check
Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
2025-09-23 16:26:37 -04:00
Leonardo Luz Almeida
3fcb1a2dca chore: fix go.work.sum
Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
2025-09-23 15:29:33 -04:00
Atif Ali
d59276a397 fix: Clear ApplicationSet applicationStatus when ProgressiveSync is disabled (#24587)
Signed-off-by: Atif Ali <atali@redhat.com>
2025-09-23 15:19:56 -04:00
Leonardo Luz Almeida
a36bd76d49 shore: update go.work.sum
Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
2025-09-23 15:05:48 -04:00
warjiang
983f47e3bb fix: typo error in comments (#24650)
Signed-off-by: warjiang <1096409085@qq.com>
2025-09-23 13:42:00 -04:00
JPBotelho
7dacb11b02 docs: fix typos (#24666)
Signed-off-by: jpbotelho <jpbotelho.costa@gmail.com>
2025-09-23 13:41:36 -04:00
AvivGuiser
c3079fc31a fix: update ExternalSecret discovery.lua to also include the refreshPolicy (#24707)
Signed-off-by: AvivGuiser <avivguiser@gmail.com>
2025-09-23 17:27:07 +00:00
dependabot[bot]
f43147f813 chore(deps): bump gitlab.com/gitlab-org/api/client-go from 0.142.6 to 0.147.1 (#24705)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-23 12:12:03 -04:00
Alexander Matyushentsev
f6f1a42492 feat: add status.resourcesCount field to appset and change limit default (#24698)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2025-09-23 12:11:36 -04:00
Leonardo Luz Almeida
ba9125230f chore: merge gitops-engine test
Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
2025-09-23 10:15:34 -04:00
Leonardo Luz Almeida
f5382d9ef1 Merge remote-tracking branch 'ge-migrated/prepare-migration' into gitops-migration 2025-09-23 10:11:54 -04:00
Marco Franssen
598dbcb61d fix: Update copyutil command 'cp -n' to resolve warning (#24708)
Signed-off-by: Marco Franssen <marco.franssen@gmail.com>
2025-09-23 10:08:39 -04:00
Leonardo Luz Almeida
f13be2a393 chore: gitops migration test PR
Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
2025-09-23 10:08:25 -04:00
Leonardo Luz Almeida
bcc0243f1e prepare repo for migration to ArgoCD repo
Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
2025-09-23 10:05:42 -04:00
Michael Crenshaw
b8ca641e1d docs(webhook): document Azure DevOps username/password (#24693)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-09-22 15:20:33 -07:00
Alexander Matyushentsev
452f6c68b8 fix: limit number of resources in appset status (#24690)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2025-09-22 12:45:29 -07:00
Dillen Padhiar
552ad1c75b feat: update unpause fast/gradual actions for Numaplane rollouts (#24545)
Signed-off-by: Dillen Padhiar <dillen_padhiar@intuit.com>
2025-09-22 14:07:54 -04:00
Eunji
68d10fe7cb fix(ui): migrate gpgkeys-list.tsx from class to functional (#23646) (#23821)
Signed-off-by: EunJiJung <bianbbc87@gmail.com>
2025-09-22 11:59:33 -04:00
Eunji
e7b51daf58 fix(ui): migrate certs-list.tsx from class to functional (#23646) (#23820)
Signed-off-by: EunJiJung <bianbbc87@gmail.com>
2025-09-22 11:59:17 -04:00
Eunji
44324c0791 fix(ui): migrate repos-list.tsx from class to functional (#23646) (#23818)
Signed-off-by: EunJiJung <bianbbc87@gmail.com>
2025-09-22 11:58:50 -04:00
jiwlee
59c9c60153 fix(ui): convert TagsInput component to functional component (#23795)
Signed-off-by: jiwlee <ddazi9576@gmail.com>
2025-09-22 11:58:20 -04:00
Yusuke Abe
7e1db4a2a8 fix(ui): convert PodView components to functional components (#23781)
Signed-off-by: chansuke <moonset20@gmail.com>
2025-09-22 11:56:36 -04:00
Yusuke Abe
712109be5e chore(ui): convert ApplicationDetails components to functional components (#23767)
Signed-off-by: chansuke <moonset20@gmail.com>
2025-09-22 11:56:15 -04:00
Zach Aller
e181fbb81d fix(cmp): fix plugins not having access to argocd cli for git ASKPASS (#24665)
Signed-off-by: Zach Aller <zach_aller@intuit.com>
2025-09-22 09:52:47 -04:00
DOHYEONG LEE
d1f8cddad0 fix: resolve argocdService initialization issue in notifications CLI (#24664)
Signed-off-by: puretension <rlrlfhtm5@gmail.com>
2025-09-22 14:26:52 +02:00
dependabot[bot]
52c70b84c8 chore(deps): bump github.com/casbin/casbin/v2 from 2.126.0 to 2.127.0 (#24675)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-22 09:14:02 +00:00
dependabot[bot]
2adf4568a1 chore(deps): bump github.com/olekukonko/tablewriter from 1.0.9 to 1.1.0 (#24676)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-22 09:13:48 +00:00
argoproj-renovate[bot]
12f332ee2e chore(deps): update module github.com/golangci/golangci-lint to v2.5.0 (#24673)
Signed-off-by: renovate[bot] <renovate[bot]@users.noreply.github.com>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: argoproj-renovate[bot] <161757507+argoproj-renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-09-22 04:05:06 +00:00
dependabot[bot]
b7d975e0b3 chore(deps): bump renovatebot/github-action from 43.0.12 to 43.0.13 (#24677)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-21 23:50:36 -04:00
argoproj-renovate[bot]
5aa6bcb387 chore(deps): update dependency golang to v1.25.1 (#24618)
Signed-off-by: renovate[bot] <renovate[bot]@users.noreply.github.com>
Co-authored-by: argoproj-renovate[bot] <161757507+argoproj-renovate[bot]@users.noreply.github.com>
2025-09-22 03:24:06 +00:00
Aditya Raj
ed3acd0f79 fix: correct typo (#24671)
Signed-off-by: Aditya Raj <adityaraj10600@gmail.com>
2025-09-21 20:21:25 -04:00
Michael Crenshaw
a864d7052f docs: use GitHub alerts instead of mkdocs admonitions (#24631)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-09-21 19:46:10 -04:00
Alexandre Gaudreault
f960274139 ci(release): only set latest release in github when latest (#24525)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-09-19 13:11:07 -04:00
David Sutor
1bce29fd79 docs: add missing closing bracket (#24659)
Signed-off-by: David Sutor <david@sutor.sk>
2025-09-19 17:14:06 +02:00
Koray Oksay
4e42f00b57 chore(ci): update github runners to oci gh arc runners (#24632)
Signed-off-by: Koray Oksay <koray.oksay@gmail.com>
2025-09-18 14:49:05 -04:00
Omar Nasser
51b93e7b3f docs: Remove old link in USERS.md (#24646)
Signed-off-by: Omar Nasser <omarnasserjr@gmail.com>
2025-09-18 11:43:43 -04:00
Blake Pettersson
ed983d8a69 fix(oci): loosen up layer restrictions (#24640)
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-09-18 08:19:34 -07:00
dependabot[bot]
b76078863d chore(deps): bump library/golang from 1.25.0 to 1.25.1 in /test/container (#24447)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-18 15:04:30 +00:00
dependabot[bot]
b9916c3313 chore(deps): bump library/golang from 1.25.0 to 1.25.1 in /test/remote (#24446)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-18 15:02:27 +00:00
github-actions[bot]
273ece0c67 chore: Bump version in master (#24583)
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-18 14:44:43 +00:00
renovate[bot]
77f313c2ec chore(deps): update docker.io/library/busybox docker digest to d82f458 (#24616)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-18 10:15:45 -04:00
renovate[bot]
f209e7aa7b chore(deps): update docker.io/library/golang:1.25.0 docker digest to 5502b0e (#24617)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-18 10:15:22 -04:00
Atif Ali
fbcaf35ab2 fix: Progress Sync Unknown in UI (#24202)
Signed-off-by: Atif Ali <atali@redhat.com>
2025-09-18 09:25:17 -04:00
dependabot[bot]
1d4d5dbbdc chore(deps): bump github.com/casbin/casbin/v2 from 2.123.0 to 2.126.0 (#24630)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-18 03:39:33 +00:00
Alexander Matyushentsev
a880feeefa fix: use informer in webhook handler to reduce memory usage (#24622)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2025-09-17 13:58:42 -07:00
argoproj-renovate[bot]
6ca71fec00 chore(deps): update module github.com/vektra/mockery/v3 to v3.5.5 (#24606)
Signed-off-by: renovate[bot] <renovate[bot]@users.noreply.github.com>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: argoproj-renovate[bot] <161757507+argoproj-renovate[bot]@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-09-17 14:11:18 -04:00
dependabot[bot]
9ef837c326 chore(deps): bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.11.0 to 1.12.0 (#24593)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-17 13:44:21 -04:00
argoproj-renovate[bot]
c11d35a20f chore(deps): update dependency gotestyourself/gotestsum to v1.13.0 (#24610)
Signed-off-by: renovate[bot] <renovate[bot]@users.noreply.github.com>
Co-authored-by: argoproj-renovate[bot] <161757507+argoproj-renovate[bot]@users.noreply.github.com>
2025-09-17 13:43:28 -04:00
renovate[bot]
a7a07e2cd8 chore(deps): update dependency normalize-url to v4.5.1 [security] (#24607)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-17 13:40:30 -04:00
argoproj-renovate[bot]
9faa6098ed chore(deps): update dependency markdown to v3.9 (#24611)
Signed-off-by: renovate[bot] <renovate[bot]@users.noreply.github.com>
Co-authored-by: argoproj-renovate[bot] <161757507+argoproj-renovate[bot]@users.noreply.github.com>
2025-09-17 13:21:32 -04:00
argoproj-renovate[bot]
0fb6c51f9d chore(deps): update group golang to v1.25.1 (#24605)
Signed-off-by: renovate[bot] <renovate[bot]@users.noreply.github.com>
Co-authored-by: argoproj-renovate[bot] <161757507+argoproj-renovate[bot]@users.noreply.github.com>
2025-09-17 13:13:51 -04:00
Siva Sathwik Kommi
dbef22c843 fix: Fixed inconsistent alignment of titles and headings in status panel (#23160)
Signed-off-by: sivasath16 <sivasathwik.kommi@gmail.com>
Signed-off-by: Siva Sathwik Kommi <sivasathwik.kommi@gmail.com>
2025-09-17 21:33:02 +05:30
Michael Crenshaw
47142b89f4 chore(ci): enable Renovate (#24602)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-09-17 16:02:30 +00:00
José Maia
98a22612dd docs: Delete dangling word in Source Hydrator docs (#24601)
Signed-off-by: José Maia <josecbmaia@hotmail.com>
2025-09-17 11:34:22 -04:00
Blake Pettersson
6cce4b29b9 chore(ci): don't run renovate on forks (#24600)
Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2025-09-17 09:43:13 -04:00
Revital Barletz
9087ad7282 docs: fix inconsistency in application health example (#24585)
Signed-off-by: Revital Barletz <Revital.barletz@octopus.com>
Signed-off-by: Dan Garfield <dan@codefresh.io>
Co-authored-by: Dan Garfield <dan@codefresh.io>
2025-09-17 09:08:13 +00:00
Alexandre Gaudreault
c377101491 fix(appset): progressive sync loop when application has sync errors (#24507)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-09-16 17:56:55 +00:00
Papapetrou Patroklos
1d13ebc372 chore: bumps redis version to 8.2.1 (#24523)
Signed-off-by: Patroklos Papapetrou <ppapapetrou76@gmail.com>
2025-09-16 09:46:25 -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
Papapetrou Patroklos
9068f90261 add readme notice about ongoing migration (#781)
Signed-off-by: Patroklos Papapetrou <ppapapetrou76@gmail.com>
2025-09-10 21:57:48 -10:00
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
Peter Jiang
97ad5b59a6 chore: bump k8s v1.34 (#773)
* bump k8s v1.34

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

* fix broken dependencies

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

---------

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-09-08 14:24:07 -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
Anand Francis Joseph
b3a2ec15e6 fix(sync): ApplyOutOfSyncOnly=true sync option is not honoured for cluster scoped resources (#765)
* Using live obj to get the resource key if not nil

Signed-off-by: Anand Francis Joseph <anjoseph@redhat.com>

* Fixed failing unit tests

Signed-off-by: Anand Francis Joseph <anjoseph@redhat.com>

* Added test case for validating cluster scoped resources with ApplyOutOfSyncOnly=true

Signed-off-by: Anand Francis Joseph <anjoseph@redhat.com>

* Fixed gofumpt formatting errors

Signed-off-by: Anand Francis Joseph <anjoseph@redhat.com>

* Corrected unit tests for cluster scoped resources

Signed-off-by: Anand Francis Joseph <anjoseph@redhat.com>

* Removed unwanted code comments

Signed-off-by: Anand Francis Joseph <anjoseph@redhat.com>

* Added comments for explaining the reason why ns is set from live object

Signed-off-by: Anand Francis Joseph <anjoseph@redhat.com>

* Added comments in the unit test

Signed-off-by: Anand Francis Joseph <anjoseph@redhat.com>

---------

Signed-off-by: Anand Francis Joseph <anjoseph@redhat.com>
2025-09-05 08:06:30 -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
Papapetrou Patroklos
e0a0d5ba17 chore: Adds a script to prepare repo for migration to main ArgoCD Repo (#766)
* Adds a script to prepare repo for migration to main ArgoCD Repo

Signed-off-by: Patroklos Papapetrou <ppapapetrou76@gmail.com>

* remove also .gitignore

Signed-off-by: Patroklos Papapetrou <ppapapetrou76@gmail.com>

* fix script

Signed-off-by: Patroklos Papapetrou <ppapapetrou76@gmail.com>

* address pr comments

Signed-off-by: Patroklos Papapetrou <ppapapetrou76@gmail.com>

---------

Signed-off-by: Patroklos Papapetrou <ppapapetrou76@gmail.com>
2025-09-04 09:47:31 -04:00
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
dab4cc0b8a fix(hooks): always remove finalizers on create if hook exists (#770)
* fix(hooks): always remove finalizers

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

* unit test

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

---------

Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-09-02 15:51:53 -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
Alexandre Gaudreault
dc952c1a60 validate resource opts (#759)
Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-08-27 11:42:04 -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
rafal-jan
15973bc6b4 Do not use --force with --dry-run (#633)
Signed-off-by: rafal-jan <rafal7jan@gmail.com>
2025-08-18 12:59:21 -04:00
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
Regina Voloshin
90e5e3a40e added common disable sync otpion (#749)
Signed-off-by: reggie-k <regina.voloshin@codefresh.io>
2025-07-28 00:31:59 +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
Peter Jiang
38f73a75c3 fix: update normalization for ignoreDifferences on server-side diff (#747)
* WIP fix: update normalization for ignoreDifferences on server-side diff

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

* fix linter

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

* refactor

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

* skip pre-normalization for ssd

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

* skip pre-normalization for ssd

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

* docs

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

* modify Normalize to skip ignoreDifferences conditionally

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

* ignoreDifferences for SSD and test backwards compatible

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

* rename flags for clarity

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

* doc change

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

---------

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-07-24 09:53:28 -04: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
Andrii Korotkov
d590fe55be chore: Cleanup IterateHierarchy v1 (#748)
* chore: Cleanup IterateHierarchy v1

Part of https://github.com/argoproj/argo-cd/issues/23854

Remove the unused code in gitops-engine.

Signed-off-by: Andrii Korotkov <myolymp@gmail.com>

* Revert some deleted tests

Signed-off-by: Andrii Korotkov <myolymp@gmail.com>

---------

Signed-off-by: Andrii Korotkov <myolymp@gmail.com>
2025-07-22 13:50:43 -07: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
Peter Jiang
093aef0dad fix: server-side diff shows refresh/hydrate annotations (#737)
Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-06-17 13:49:52 -04: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
Alexandre Gaudreault
8007df5f6c fix(sync): create namespace before dry-run (#731) 2025-06-16 17:23:58 -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
Peter Jiang
f8f1b61ba3 chore: upgrade k8s to 1.33.1 (#735)
* upgrade k8s to 1.33.1

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

* fix linter issues

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

---------

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-06-13 11:47:45 -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
Michael Crenshaw
8697b44eea Revert "Add option to skip the dryrun from the sync context (#708)" (#730)
* Revert "Add option to skip the dryrun from the sync context (#708)"

This reverts commit 717b8bfd69.

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

* format

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: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2025-06-12 14:52:06 -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
Peter Jiang
69dfa708a6 feat: auto migrate kubectl-client-side-apply fields for SSA (#727)
* feat: auto migrate kubectl-client-side-apply fields for SSA

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

* fix master version

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

* run gofumpt

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

* Propagate sync error instead of logging

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

* allow enable/disable of CSA migration using annotation

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

* fix linting

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

* Refactor to allow for multiple managers and disable option

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

* remove commentj

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

* refactor

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

* fix test

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

* Add docs for client side apply migration

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

* Edit comment

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

---------

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-06-12 10:03:52 -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
Michael Crenshaw
cebed7e704 chore: wrap errors (#732)
* chore: wrap errors

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

* report list result along with error

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>

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-06-06 10:49:09 -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
Peter Jiang
89c110b595 fix: Server-Side diff removed fields missing in diff (#722)
* fix: Server-Side diff removed fields missing in diff

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

* add unit test to cover deleted field

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

---------

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-05-20 14:24:09 -04: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
Michael Crenshaw
90b69e9ae5 chore(deps): bump golangci-lint (#719)
* chore(deps): bump golangci-lint

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

* fix lint

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>
2025-05-14 17:14:57 -04:00
dependabot[bot]
60c6378a12 chore(deps): bump codecov/codecov-action from a2f73fb6db51fcd2e0aa085dfb36dea90c5e3689 to 5c47607acb93fed5485fdbf7232e8a31425f672a (#649)
* chore(deps): bump codecov/codecov-action

Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from a2f73fb6db51fcd2e0aa085dfb36dea90c5e3689 to 5c47607acb93fed5485fdbf7232e8a31425f672a.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](a2f73fb6db...5c47607acb)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
...

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

* Update ci.yaml

---------

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-14 17:14:49 -04: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
dependabot[bot]
c7f25189f0 chore(deps): bump actions/setup-go (#720)
Bumps the dependencies group with 1 update in the / directory: [actions/setup-go](https://github.com/actions/setup-go).


Updates `actions/setup-go` from 5.1.0 to 5.5.0
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](41dfa10bad...d35c59abb0)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-14 16:13:50 -04:00
dependabot[bot]
9169c08c91 chore(deps): bump golang.org/x/net from 0.36.0 to 0.38.0 (#713)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.36.0 to 0.38.0.
- [Commits](https://github.com/golang/net/compare/v0.36.0...v0.38.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-version: 0.38.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-14 16:04:28 -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
Pasha Kostohrys
d65e9d9227 feat: Enable SkipDryRunOnMissingResource sync option on Application level (#712)
* fix: go mod tidy is not working due to k8s.io/externaljwt dependency

Signed-off-by: pasha <pasha.k@fyxt.com>

* feat: Enable SkipDryRunOnMissingResource sync option on Application level

Signed-off-by: pasha <pasha.k@fyxt.com>

* feat: Enable SkipDryRunOnMissingResource sync option on Application level

* feat: add support for skipping dry run on missing resources in sync context

- Introduced a new option to skip dry run verification for missing resources at the application level.
- Updated the sync context to include a flag for this feature.
- Enhanced tests to cover scenarios where the skip dry run annotation is applied to all resources.

---------

Signed-off-by: pasha <pasha.k@fyxt.com>
Co-authored-by: pasha <pasha.k@fyxt.com>
2025-04-20 09:41:38 +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
Pasha Kostohrys
5f90e7b481 fix: go mod tidy is not working due to k8s.io/externaljwt dependency (#710)
Signed-off-by: pasha <pasha.k@fyxt.com>
Co-authored-by: pasha <pasha.k@fyxt.com>
2025-04-12 22:28:44 +03: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
Nick Heijmink
717b8bfd69 Add option to skip the dryrun from the sync context (#708)
* Add option to skip the dryrun from the sync context

Signed-off-by: Nick Heijmink <nick.heijmink@alliander.com>

* Fix test by mocking the discovery

Signed-off-by: Nick Heijmink <nick.heijmink@alliander.com>

* Fix linting errors

Signed-off-by: Nick Heijmink <nick.heijmink@alliander.com>

* Fix skip dryrun const

---------

Signed-off-by: Nick Heijmink <nick.heijmink@alliander.com>
2025-04-10 14:12:36 -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
Aaron Hoffman
c61756277b feat: return images from resources when sync occurs (#642)
* Add GetResourceImages

Signed-off-by: Aaron Hoffman <31711338+Aaron-9900@users.noreply.github.com>

* Use require instead of assert

Signed-off-by: Aaron Hoffman <31711338+Aaron-9900@users.noreply.github.com>

* Add test for empty images case

Signed-off-by: Aaron Hoffman <31711338+Aaron-9900@users.noreply.github.com>

* Rename test function to match regex

Signed-off-by: Aaron Hoffman <31711338+Aaron-9900@users.noreply.github.com>

* Add support for conjobs, refactor images implementation and add test for cronjobs

Signed-off-by: Aaron Hoffman <31711338+Aaron-9900@users.noreply.github.com>

* Move missing images tests to single function

Signed-off-by: Aaron Hoffman <31711338+Aaron-9900@users.noreply.github.com>

* Refactor test

Signed-off-by: Aaron Hoffman <31711338+Aaron-9900@users.noreply.github.com>

* Add benchmark for sync

Signed-off-by: Aaron Hoffman <31711338+Aaron-9900@users.noreply.github.com>

* Update comment on images

Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Signed-off-by: Aaron Hoffman <31711338+Aaron-9900@users.noreply.github.com>

---------

Signed-off-by: Aaron Hoffman <31711338+Aaron-9900@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-03-27 09:45:14 -04: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
Andrii Korotkov
370078d070 chore: Switch dry run applies to log with debug level (#705)
Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2025-03-18 09:33:28 -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
Peter Jiang
7258614f50 chore: add unit test for ssa with dryRun (#703)
Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-03-14 12:43:14 -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
dependabot[bot]
e5ef2e16d8 chore(deps): bump golang.org/x/net from 0.33.0 to 0.36.0 (#700)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.33.0 to 0.36.0.
- [Commits](https://github.com/golang/net/compare/v0.33.0...v0.36.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-13 11:41:39 -04:00
Peter Jiang
762f9b70f3 fix: Fix checking dryRun when using Server Side Apply (#699)
* fix: properly check dryRun flag for server side apply

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

* Remove debug logging

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

---------

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-03-13 09:11:58 -04:00
Andrii Korotkov
1265e8382e chore(deps): Update some dependencies - another run (#22228) (#696)
Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2025-03-10 06:26:31 -07:00
Andrii Korotkov
acb47d5407 chore(deps): Update some package versions (#690)
* chore(deps): Update some package versions

Helps with https://github.com/argoproj/argo-cd/issues/22104

Update some versions trying to avoid legacy dependencies. Bump go to 1.23.5.

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

* Fix versions

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

---------

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2025-03-05 10:26:49 -05:00
Michael Crenshaw
e4cacd37c4 chore(ci): run tests on cherry-pick PRs (#694)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2025-03-04 14:06:13 -05:00
sivchari
a16fb84a8c bump k8s v1.32 (#665)
Signed-off-by: sivchari <shibuuuu5@gmail.com>
2025-03-02 12:29:52 -05:00
Peter Jiang
4fd18478f5 fix: Server-side diff shows incorrect diffs for list related changes (#688)
* fix: Server-side diff shows incorrect diffs for list related changes

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

* Update docs for removeWebHookMutation

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

* Update docs

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

* Update docs

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>

---------

Signed-off-by: Peter Jiang <peterjiang823@gmail.com>
2025-02-27 16:20:03 -05:00
Dejan Zele Pejchev
65db274b8d fix: stuck hook issue when a Job resource has a ttlSecondsAfterFinished field set (#646)
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-07 17:04:47 -05:00
Matthieu MOREL
11a5e25708 chore(deps): bump github.com/evanphx/json-patch to v5.9.11 (#682)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-02-07 15:37:51 -05:00
Matthieu MOREL
04266647b1 chore: enable require-error from testifylint (#681)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-02-07 15:01:48 -05:00
Matthieu MOREL
cc13a7d417 chore: enable gocritic (#680)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-02-07 15:00:49 -05:00
Matthieu MOREL
ad846ac0fd chore: enable increment-decrement and redundant-import-alias from revive (#679)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-02-07 14:56:44 -05:00
Matthieu MOREL
c323d36706 chore: enable dot-imports, duplicated-imports from revive (#678)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-02-07 13:10:59 -05:00
Matthieu MOREL
782fb85b94 chore: enable unparam linter (#677)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-02-07 12:52:34 -05:00
Matthieu MOREL
f5aa9e4d10 chore: enable perfsprint linter (#676)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-02-07 12:44:40 -05:00
Matthieu MOREL
367311bd6f chore: enable thelper linter (#675)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-02-07 12:43:51 -05:00
Matthieu MOREL
70bee6a3a5 chore: enable early-return, indent-error-flow and unnecessary-stmt from revive (#674)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-02-07 12:43:30 -05:00
Matthieu MOREL
b111e50082 chore: enable errorlint (#673)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-02-07 11:25:43 -05:00
Andrii Korotkov
3ef5ab187e fix: New kube applier for server side diff dry run with refactoring (#662)
* fix: New kube applier for server side diff dry run with refactoring

Part of a fix for: https://github.com/argoproj/argo-cd/issues/21488

Separate logic to handle server side diff dry run applies.

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

* Break backwards compatibility for a better code

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

* Don't put applier constructor in the interface

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

* Address comments

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

* Address more comments

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

* chore: enable testifylint linter (#657)

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* chore: enable gofumpt, gosimple and whitespace linters (#666)

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* chore: enable use-any from revive (#667)

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* chore: bump golangci-lint to v1.63.4 and list argo-cd linters (#670)

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* chore: enable unused-parameter and var-declaration from revive (#668)

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* chore: remove actions/cache duplicated behavior with actions/setup-go (#658)

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>

* Add Leo's code

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

* Make linter happy

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

---------

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
Co-authored-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-02-07 11:13:38 -05:00
dependabot[bot]
30f4accb42 chore(deps): bump golang.org/x/net from 0.26.0 to 0.33.0 (#671)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.26.0 to 0.33.0.
- [Commits](https://github.com/golang/net/compare/v0.26.0...v0.33.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-07 11:06:57 -05:00
Matthieu MOREL
00472077d3 chore: enable goimports linter (#669)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-02-07 11:06:31 -05:00
Matthieu MOREL
bfdad63e27 chore: enable misspell linter (#672)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-02-07 11:05:44 -05:00
Matthieu MOREL
a093a7627f chore: remove actions/cache duplicated behavior with actions/setup-go (#658)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-02-07 09:56:59 -05:00
Matthieu MOREL
ccee58366a chore: enable unused-parameter and var-declaration from revive (#668)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-02-07 09:55:39 -05:00
Matthieu MOREL
edb9faabbf chore: bump golangci-lint to v1.63.4 and list argo-cd linters (#670)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-02-07 09:52:05 -05:00
Matthieu MOREL
7ac688a30f chore: enable use-any from revive (#667)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-02-06 18:20:29 -05:00
Matthieu MOREL
f948991e78 chore: enable gofumpt, gosimple and whitespace linters (#666)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-02-06 17:07:19 -05:00
Matthieu MOREL
382663864e chore: enable testifylint linter (#657)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-02-06 10:27:22 -05:00
Siddhesh Ghadi
7e21b91e9d Merge commit from fork
map[] in error output exposes secret data in last-applied-annotation
& patch error

Invalid secrets with stringData exposes the secret values in diff. Attempt a
normalization to prevent it.

Refactor stringData to data conversion to eliminate code duplication

Signed-off-by: Siddhesh Ghadi <sghadi1203@gmail.com>
2025-01-29 10:51:13 -05:00
Michael Crenshaw
d78929e7f6 fix(cluster): reduce lock contention on cluster initialization (#660)
* fix: move expensive function outside lock

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

* add benchmark

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-24 16:18:12 -05:00
Mykola Pelekh
54992bf424 fix: avoid resources lock contention utilizing channel (#629)
* fix: avoid resources lock contention utilizing channel

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

* feat: process events in batch when the mode is enabled (default is `false`)

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

* test: update unit tests to verify batch events processing flag

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>

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

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

---------

Signed-off-by: Mykola Pelekh <mpelekh@demonware.net>
2024-12-16 10:52:26 -05:00
JM (Jason Meridth)
8d65e80ecb chore: update README get involved links (#647)
Change links:

- [x] from kubernetes slack to cncf slack
- [x] from k8s gitop channel to cncf argo-cd-contributors channel

Signed-off-by: jmeridth <jmeridth@gmail.com>
2024-12-12 16:23:57 -05:00
JM (Jason Meridth)
363a7155a5 chore: add CODEOWNERS (#641)
* chore: add CODEOWNERS and EMERITUS.md

Setting up CODEOWNERS file so people are automatically notified about new PRs. Can
eventually setup ruleset that requires at least one review before merging.

I based currently list in CODEOWNERS on people who have recently merged PRs. I'm wondering
if reviewers and approvers are a team/group instead of list of folks.

Setup EMERITUS.md that contains list from OWNERS.  Feedback on this PR will update
this PR.

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

* chore: match this repo's CODEOWNERS to argoproj/argo-cd CODEOWNERS

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

---------

Signed-off-by: jmeridth <jmeridth@gmail.com>
2024-12-12 16:22:31 -05:00
JM (Jason Meridth)
73452f8a58 fix: run go mod tidy in ci workflow (#652)
Fixes issue that showed up in https://github.com/argoproj/gitops-engine/pull/650

[Error](https://github.com/argoproj/gitops-engine/actions/runs/12300709584/job/34329534904?pr=650#step:5:96)

Signed-off-by: jmeridth <jmeridth@gmail.com>
2024-12-12 11:56:51 -05:00
JM (Jason Meridth)
d948e6b41c fix: github actions versions and warnings (#639)
* fix: github actions versions and warnings

- [x] upgrade github/actions/cache GitHub Action to latest
 - this fixings the following warnings (example list [here](https://github.com/argoproj/gitops-engine/actions/runs/11885468091)):
   - Your workflow is using a version of actions/cache that is scheduled for deprecation, actions/cache@v2.1.6. Please update your workflow to use the latest version of actions/cache to avoid interruptions. Learn more: https://github.blog/changelog/2024-09-16-notice-of-upcoming-deprecations-and-changes-in-github-actions-services/
   - The `save-state` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
   - The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
- [x] update dependabot config
  - prefix PRs with `chore(deps)`
  - group non major version updates into 1 PR

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

* fix: switch to SHA from tags

more secure, as tags are mutable

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

---------

Signed-off-by: jmeridth <jmeridth@gmail.com>
2024-12-12 11:31:38 -05:00
Andrii Korotkov
8849c3f30c fix: Server side diff now works correctly with fields removal (#640)
* fix: Server side diff now works correctly with some fields removal

Helps with https://github.com/argoproj/argo-cd/issues/20792

Removed and modified sets may only contain the fields that changed, not including key fields like "name". This can cause merge to fail, since it expects those fields to be present if they are present in the predicted live.
Fortunately, we can inspect the set and derive the key fields necessary. Then they can be added to the set and used during a merge.
Also, have a new test which fails before the fix, but passes now.

Failure of the new test before the fix
```
            	Error:      	Received unexpected error:
            	            	error removing non config mutations for resource Deployment/nginx-deployment: error reverting webhook removed fields in predicted live resource: .spec.template.spec.containers: element 0: associative list with keys has an element that omits key field "name" (and doesn't have default value)
            	Test:       	TestServerSideDiff/will_test_removing_some_field_with_undoing_changes_done_by_webhook
```

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

* Use new version of structured merge diff with a new option

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

* Add DCO

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

* Try to fix sonar exclusions config

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

---------

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2024-12-11 15:28:47 -05:00
JM (Jason Meridth)
0371401803 chore(deps): upgrade go version in dockerfile (#638)
- [x] fix warnings about case of `as` to `AS` in Dockerfile
  - `FromAsCasing: 'as' and 'FROM' keywords' casing do not match (line 1)`
- [x] shorten go version in go.mod
- [x] update Dockerfile Go version from 1.17 to 1.22 to match go.mod
- [x] upgrade alipine/git image version to latest, current was 4 years old
  - -from alpine/git:v2.24.3 (4 years old) to alpine/git:v2.45.2
- [x] fix warning with linting
  - `WARN [config_reader] The configuration option 'run.skip-files' is deprecated, please use 'issues.exclude-files'`
- [x] add .tool-versions (asdf) to .gitignore

Signed-off-by: jmeridth <jmeridth@gmail.com>
2024-11-26 14:45:57 -05:00
Andrii Korotkov
88c35a9acf chore(deps): Upgrade structured-merge-diff from v4.4.1 to v4.4.3 (#637)
Adding updates from the last year, let's see if that fixed some bugs

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.com>
2024-11-17 21:19:19 -05:00
Pasha Kostohrys
847cfc9f8b fix: Ability to disable Server Side Apply on individual resource level (#634)
* 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>

---------

Signed-off-by: pashakostohrys <pavel@codefresh.io>
2024-11-07 16:58:28 +02:00
Siddhesh Ghadi
9ab0b2ecae feat: Add ability to hide certain annotations on secret resources (#577)
* Add option to hide annotations on secrets

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

* Handle err

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

* Move hide logic to a generic func

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

* Remove test code

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

* Address review comments

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

* Handle lastAppliedConfig special case

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

* Fix if logic and remove comments

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

---------

Signed-off-by: Siddhesh Ghadi <sghadi1203@gmail.com>
2024-10-29 12:29:52 +02:00
Alexander Matyushentsev
09e5225f84 feat: application resource deletion protection (#630)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2024-10-23 06:44:23 -07:00
Michael Crenshaw
72bcdda3f0 chore: avoid unnecessary json marshal (#626)
* chore: avoid unnecessary json marshal

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

* more tests

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

* refactor test to satisfy sonarcloud

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-17 13:19:20 -04:00
Michael Crenshaw
df9b446fd7 chore: avoid unnecessary json unmarshal (#627)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-09-16 16:42:18 -04:00
Michael Crenshaw
3d9aab3cdc chore: speed up resolveResourceReferences (#625)
* chore: speed up resolveResourceReferences

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

* revert unnecessary changes

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 16:41:37 -04:00
Anand Francis Joseph
bd7681ae3f Added support for impersonation in the kubectl (#534)
Signed-off-by: anandf <anjoseph@redhat.com>
2024-09-04 21:08:10 -04:00
Michael Crenshaw
95e00254f8 chore: bump k8s libraries to 1.31 (#619)
* bump latest kubernetes version

Signed-off-by: sivchari <shibuuuu5@gmail.com>

* upgrade Go version to resolve dependencies

Signed-off-by: sivchari <shibuuuu5@gmail.com>

* fix: ci

Signed-off-by: sivchari <shibuuuu5@gmail.com>

* use Go1.22.3

Signed-off-by: sivchari <shibuuuu5@gmail.com>

* update from 1.29.2 to 1.30.1

Signed-off-by: sivchari <shibuuuu5@gmail.com>

* update go.sum

Signed-off-by: sivchari <shibuuuu5@gmail.com>

* upgrade golangci-lint

Signed-off-by: sivchari <shibuuuu5@gmail.com>

* bump to 0.30.2

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

* remove unnecessary replace

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

* latest patch

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

* chore: bump k8s libraries from 1.30 to 1.31

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

---------

Signed-off-by: sivchari <shibuuuu5@gmail.com>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: sivchari <shibuuuu5@gmail.com>
2024-08-23 17:30:48 -04:00
sivchari
099cba69bd chore: bump kubernetes version to 0.30.x (#579)
* bump latest kubernetes version

Signed-off-by: sivchari <shibuuuu5@gmail.com>

* upgrade Go version to resolve dependencies

Signed-off-by: sivchari <shibuuuu5@gmail.com>

* fix: ci

Signed-off-by: sivchari <shibuuuu5@gmail.com>

* use Go1.22.3

Signed-off-by: sivchari <shibuuuu5@gmail.com>

* update from 1.29.2 to 1.30.1

Signed-off-by: sivchari <shibuuuu5@gmail.com>

* update go.sum

Signed-off-by: sivchari <shibuuuu5@gmail.com>

* upgrade golangci-lint

Signed-off-by: sivchari <shibuuuu5@gmail.com>

* bump to 0.30.2

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

* remove unnecessary replace

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

* latest patch

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

* remove unnecessary toolchain line

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

---------

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>
2024-08-23 11:57:20 -04:00
Andrii Korotkov
6b2984ebc4 feat: More optimal IterateHierarchyV2 and iterateChildrenV2 [#600] (#601)
* chore: More optimal IterateHierarchyV2 and iterateChildrenV2 [#600]

Closes #600

The existing (effectively v1) implementations are suboptimal since they don't construct a graph before the iteration. They search for children by looking at all namespace resources and checking `isParentOf`, which can give `O(tree_size * namespace_resources_count)` time complexity. The v2 algorithms construct the graph and have `O(namespace_resources_count)` time complexity. See more details in the linked issues.

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

* improvements to graph building

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

* use old name

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

* chore: More optimal IterateHierarchyV2 and iterateChildrenV2 [#600]

Closes #600

The existing (effectively v1) implementations are suboptimal since they don't construct a graph before the iteration. They search for children by looking at all namespace resources and checking `isParentOf`, which can give `O(tree_size * namespace_resources_count)` time complexity. The v2 algorithms construct the graph and have `O(namespace_resources_count)` time complexity. See more details in the linked issues.

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

* finish merge

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

* chore: More optimal IterateHierarchyV2 and iterateChildrenV2 [#600]

Closes #600

The existing (effectively v1) implementations are suboptimal since they don't construct a graph before the iteration. They search for children by looking at all namespace resources and checking `isParentOf`, which can give `O(tree_size * namespace_resources_count)` time complexity. The v2 algorithms construct the graph and have `O(namespace_resources_count)` time complexity. See more details in the linked issues.

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

* discard unneeded copies of child resources as we go

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>

* make childrenByUID sparse

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

* eliminate duplicate map

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>

* add useful comment back

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

* use nsNodes instead of dupe map

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

* remove unused struct

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

* skip invalid APIVersion

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

---------

Signed-off-by: Andrii Korotkov <andrii.korotkov@verkada.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-07-18 13:53:51 -04:00
Michael Crenshaw
7d150d0b6b chore: more docstrings (#606)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-07-17 23:20:55 -04:00
Andy Goldstein
adb68bcaab fix(clusterCache): don't miss finding live obj if obj is cluster-scoped and namespacedResources is in transition (#597)
* sync.Reconcile: guard against incomplete discovery

When Reconcile performs its logic to compare the desired state (target
objects) against the actual state (live objects), it looks up each live
object based on a key comprised of data from the target object: API
group, API kind, namespace, and name. While group, kind, and name will
always be accurate, there is a chance that the value for namespace is
not. If a cluster-scoped target object has a namespace (because it
incorrectly has a namespace from its source) or the namespace parameter
passed into the Reconcile method has a non-empty value (indicating a
default value to use on namespace-scoped objects that don't have it set
in the source), AND the resInfo ResourceInfoProvider has incomplete or
missing API discovery data, the call to IsNamespacedOrUnknown will
return true when the information is unknown. This leads to the key being
incorrect - it will have a value for namespace when it shouldn't. As a
result, indexing into liveObjByKey will fail. This failure results in
the reconciliation containing incorrect data: there will be a nil entry
appended to targetObjs when there shouldn't be.

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>

* Address code review comments

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>

---------

Signed-off-by: Andy Goldstein <andy.goldstein@gmail.com>
2024-07-14 11:31:47 -04:00
Alexandre Gaudreault
a0c23b4210 fix: deadlock on start missing watches (#604)
* fix: deadlock on start missing watches

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

* revert error

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

* add unit test to validate some deadlock scenarios

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

* test name

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

* clarify comment

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

---------

Signed-off-by: Alexandre Gaudreault <alexandre_gaudreault@intuit.com>
2024-07-12 13:36:05 -04:00
Michael Crenshaw
a22b34675f fix: deduplicate OpenAPI definitions for GVKParser (#587) (#590)
* fix: deduplicate OpenAPI definitions for GVKParser



* do the thing that was the whole point



* more logs



* don't uniquify models



* schema for both



* more logs



* fix logic



* better tainted gvk handling, better docs, update mocks



* add a test



* improvements from comments



---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-07-01 08:36:22 -04:00
Michael Crenshaw
fa0e8d60a3 chore: update static scheme (#588)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-06-28 11:55:02 -04:00
Michael Crenshaw
f38075deb3 fix: deduplicate OpenAPI definitions for GVKParser (#587)
* fix: deduplicate OpenAPI definitions for GVKParser

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

* do the thing that was the whole point

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

* more logs

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

* don't uniquify models

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

* schema for both

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

* more logs

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

* fix logic

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

* better tainted gvk handling, better docs, update mocks

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

* add a test

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

* improvements from comments

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-06-28 10:55:06 -04:00
Paul Gier
4386ff4b8d chore: remove duplicate scheme import (#580)
Signed-off-by: Paul Gier <paul.gier@datastax.com>
2024-06-25 14:54:38 -04:00
Paul Gier
0be58f261a fix: printing gvkparser error message (#585)
The log.Info function doesn't understand format directives, so use key/value to print error message.

Signed-off-by: Paul Gier <paul.gier@datastax.com>
2024-06-25 14:53:55 -04:00
Michael Crenshaw
83ce6ca8ce chore(deps): bump k8s libs from 0.29.2 to 0.29.6 (#586)
* chore(deps): bump k8s libs from 0.29.2 to 0.29.6

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>
2024-06-15 14:59:36 -04:00
Alexander Matyushentsev
1f371a01cf fix: replace k8s.io/endpointslice to v0.29.2 (#583)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2024-06-10 02:05:20 -07:00
Alexander Matyushentsev
a9fd001c11 fix: replace k8s.io/endpointslice version (#582)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2024-06-09 23:18:18 -07:00
hanzala1234
8a3ce6d85c Update condition to select right pvc as child for statefulset (#550)
* Update if condition to select right pvc as child for statefulset

Signed-off-by: hanzala <muhammad.hanzala@waltlabs.io>

* fix indentation

Signed-off-by: hanzala <muhammad.hanzala@waltlabs.io>

* test(cache): Add tests for isStatefulSetChild function

* test(pkg/cache): Replace JSON unmarshalling with structured approach in tests

---------

Signed-off-by: hanzala <muhammad.hanzala@waltlabs.io>
Co-authored-by: hanzala <muhammad.hanzala@waltlabs.io>
Co-authored-by: Obinna Odirionye <odirionye@gmail.com>
2024-05-14 22:01:00 +03:00
Leonardo Luz Almeida
0aecd43903 fix: handle nil ParseableType from GVKParser (#574)
* fix: handle nil ParseableType from GVKParser

Signed-off-by: Leonardo Luz Almeida <leoluz@users.noreply.github.com>

* address review comments

Signed-off-by: Leonardo Luz Almeida <leoluz@users.noreply.github.com>

---------

Signed-off-by: Leonardo Luz Almeida <leoluz@users.noreply.github.com>
2024-05-09 13:07:15 -04:00
sivchari
86a368824c chore: Bump Kubernetes clients to 1.29.2 (#566)
* update k8s libs

Signed-off-by: sivchari <shibuuuu5@gmail.com>

* fix: golangci-lint

Signed-off-by: sivchari <shibuuuu5@gmail.com>

* fix nil map

Signed-off-by: sivchari <shibuuuu5@gmail.com>

* add deletion field

Signed-off-by: sivchari <shibuuuu5@gmail.com>

---------

Signed-off-by: sivchari <shibuuuu5@gmail.com>
2024-05-07 16:25:58 -04:00
Kota Kimura
fbecbb86e4 feat: sync-options annotation with Force=true (#414) (#560)
Signed-off-by: kkk777-7 <kota.kimura0725@gmail.com>
2024-04-16 17:26:47 +03:00
Jonathan West
1ade3a1998 fix: fix temporary files written to '/dev/shm' not cleaned up (#568) (#569)
Signed-off-by: Jonathan West <jonwest@redhat.com>
2024-04-11 08:23:34 -04:00
Michael Crenshaw
3de313666b chore: more logging for CRD updates (#554)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-04-07 21:10:09 -04:00
Siddhesh Ghadi
5fd9f449e7 feat: Prune resources in reverse of sync wave order (#538)
* Prune resources in reverse of sync wave order

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

* Use waveOverride var instead of directly patching live obj

Directly patching live objs results into incorrect wave ordering
as the new wave value from live obj is used to perform reordering during next sync

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

---------

Signed-off-by: Siddhesh Ghadi <sghadi1203@gmail.com>
2024-01-24 00:27:10 -05:00
Anand Francis Joseph
792124280f fix(server): Dry run always in client mode just for yaml manifest validation even with server side apply (#564)
* Revert "feat: retry with client side dry run if server one was failed (#548)"

This reverts commit c0c2dd1f6f.

Signed-off-by: Anand Francis Joseph <anjoseph@redhat.com>

* Revert "fix(server): use server side dry run in case if it is server side apply (#546)"

This reverts commit 4a5648ee41.

Signed-off-by: Anand Francis Joseph <anjoseph@redhat.com>

* Fixed the logic to disable server side apply if it is a dry run

Signed-off-by: Anand Francis Joseph <anjoseph@redhat.com>

* Added more values in the log message for better debugging

Signed-off-by: Anand Francis Joseph <anjoseph@redhat.com>

* Fixed compilation error

Signed-off-by: Anand Francis Joseph <anjoseph@redhat.com>

* Written an inline fn to get string value of dry-run strategy

Signed-off-by: Anand Francis Joseph <anjoseph@redhat.com>

* Added comment as requested with reference to the issue number

Signed-off-by: Anand Francis Joseph <anjoseph@redhat.com>

---------

Signed-off-by: Anand Francis Joseph <anjoseph@redhat.com>
Co-authored-by: Leonardo Luz Almeida <leoluz@users.noreply.github.com>
2024-01-22 16:30:38 -05:00
Leonardo Luz Almeida
c1e23597e7 fix: address kubectl auth reconcile during server-side diff (#562)
* fix: address kubectl auth reconcile during server-side diff

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* server-side diff force conflict

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* do not ssa when ssd rbac

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* debug

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* better logs

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* remove debug

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* add comments

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* better comments

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* refactoring on rbacReconcile

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

---------

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
2024-01-22 09:58:03 -05:00
Leonardo Luz Almeida
aba38192fb feat: Implement Server-Side Diffs (#522)
* feat: Implement Server-Side Diffs

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* trigger build

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* chore: remove unused function

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* make HasAnnotationOption more generic

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* add server-side-diff printer option

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* remove managedFields during server-side-diff

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* add ignore mutation webhook logic

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* fix configSet

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* Fix comparison

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* merge typedconfig in typedpredictedlive

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* handle webhook diff conflicts

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* Fix webhook normalization logic

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* address review comments 1/2

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* address review comments 2/2

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* fix lint

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* remove kubectl getter from cluster-cache

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* fix query param verifier instantiation

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

* Add server-side-diff unit tests

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

---------

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.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>
2023-12-18 14:45:13 -05:00
pasha-codefresh
c0c2dd1f6f feat: retry with client side dry run if server one was failed (#548)
* feat: retry with client side dry run if server one was failed

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

* feat: retry with client side dry run if server one was failed

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

* feat: retry with client side dry run if server one was failed

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

---------

Signed-off-by: pashakostohrys <pavel@codefresh.io>
2023-11-02 11:40:24 -04:00
pasha-codefresh
4a5648ee41 fix(server): use server side dry run in case if it is server side apply (#546)
* fix: use server side dry run in case if it is server side apply

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

* fix: use server side dry run in case if it is server side apply

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

---------

Signed-off-by: pashakostohrys <pavel@codefresh.io>
2023-10-31 10:22:05 -04:00
fsl
f15cf615b8 chore(deps): upgrade k8s version and client-go (#530)
Signed-off-by: fengshunli <1171313930@qq.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>
2023-10-13 14:38:58 -04:00
Jesse Suen
9a03edb8e7 fix: remove lock acquisition in ClusterCache.GetAPIResources() (#543)
Signed-off-by: Jesse Suen <jesse@akuity.io>
2023-10-12 09:58:44 -07:00
Michael Crenshaw
a00ce82f1c chore: log cluster sync error (#541)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2023-09-29 16:35:05 -04:00
gdsoumya
b0fffe419a fix: resolve deadlock (#539)
Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2023-09-06 08:24:14 -07:00
gdsoumya
187312fe86 feat: auto respect rbac for discovery/sync (#532)
* feat: respect rbac for resource exclusions

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* feat: use list call to check for permissions

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* feat: updated implementation to handle different levels of rbac check

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* feat: fixed linter error

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

* feat: resolve review comments

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>

---------

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2023-08-11 13:20:59 -07:00
pasha-codefresh
ed7c77a929 feat: Apply out of sync option only (#533)
Signed-off-by: pashakostohrys <pavel@codefresh.io>
2023-08-09 09:45:34 -04:00
fsl
425d65e076 fix: update golangci-lint ci (#529)
Signed-off-by: fengshunli <1171313930@qq.com>
2023-06-07 12:30:28 -04:00
fsl
b58645a27c fix: remove deprecated ioutil (#528)
Signed-off-by: fengshunli <1171313930@qq.com>
2023-06-07 12:20:24 -04:00
ls0f
c0ffe8428a manage clusters via proxy (#466)
Signed-off-by: ls0f <lovedboy.tk@qq.com>
2023-05-31 13:15:21 -07:00
reggie-k
e56739ceba feat: add CreateResource to kubectl (#12174 and #4116) (#516)
* separating kubectl and resource ops mocks

Signed-off-by: reggie <reginakagan@gmail.com>

* separating kubectl and resource ops mocks

Signed-off-by: reggie <reginakagan@gmail.com>

* separating kubectl and resource ops mocks

Signed-off-by: reggie <reginakagan@gmail.com>

* server dry-run for MockKubectlCmd

Signed-off-by: reggie <reginakagan@gmail.com>

* server dry-run for MockKubectlCmd

Signed-off-by: reggie <reginakagan@gmail.com>

* server dry-run for MockKubectlCmd

Signed-off-by: reggie <reginakagan@gmail.com>

* mock create noop

Signed-off-by: reggie <reginakagan@gmail.com>

* ctl create resource with createOptions

Signed-off-by: reggie <reginakagan@gmail.com>

---------

Signed-off-by: reggie <reginakagan@gmail.com>
2023-05-27 13:48:09 -04:00
Blake Pettersson
ad9a694fe4 fix: do not replace namespaces (#524)
When doing `kubectl replace`, namespaces should not be affected. Fixes
argoproj/argo-cd#12810 and argoproj/argo-cd#12539.

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2023-05-26 16:32:14 -07:00
Alexander Matyushentsev
b4dd8b8c39 fix: avoid acquiring lock on mutex and semaphore at the same time to prevent deadlock (#521)
* fix: avoid acquiring lock on mutex and semaphore at the same time to prevent deadlock

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

* apply reviewer notes

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

---------

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2023-05-11 19:08:22 -07:00
Soumya Ghosh Dastidar
ed70eac8b7 feat: add sync delete option (#507)
Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2023-02-14 08:53:51 -08:00
asingh
917f5a0f16 fix: add suspended condition (#484)
Signed-off-by: ashutosh16 <11219262+ashutosh16@users.noreply.github.com>

fix: add suspended condition

Signed-off-by: ashutosh16 <11219262+ashutosh16@users.noreply.github.com>

Signed-off-by: ashutosh16 <11219262+ashutosh16@users.noreply.github.com>
2022-12-08 15:06:15 -08:00
Leonardo Luz Almeida
e284fd71cb fix: managed namespaces should not mutate the live state (#479)
Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
2022-11-08 16:05:51 -05:00
Blake Pettersson
b371e3bfc5 Update namespace v2 (#465)
* Revert "Revert "feat: Ability to create custom labels for namespaces created … (#455)"

This reverts commit ce2fb703a6.

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* feat: enable namespace to be updated

Rename `WithNamespaceCreation` to `WithNamespaceModifier`, since this
method is also used for modifying existing namespaces. This method
takes a single argument for the actual updating, and unless this method
gets invoked by its caller no updating will take place (fulfilling what
the `createNamespace` argument used to do).

Within `autoCreateNamespace`, everywhere where we previously added tasks
we'll now need to check whether the namespace should be created (or
modified), which is now delegated to the `appendNsTask` and
`appendFailedNsTask` methods.

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2022-11-03 15:29:13 -04:00
Jingchao Di
9664cf8123 feat: add profile feature for agent, and fix logr's panic (#444)
Signed-off-by: jingchao.djc <jingchao.djc@antfin.com>

Signed-off-by: jingchao.djc <jingchao.djc@antfin.com>
2022-10-06 08:31:10 -07:00
Leonardo Luz Almeida
98ccd3d43f fix: calculate SSA diffs with smd.merge.Updater (#467)
* fix: refactor ssa diff logic

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* fix: calculate ssa diff with smd.merge.Updater

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* chore: Add golangci config file

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* fix: remove wrong param passed to golanci-ghaction

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* doc: Add doc to the wrapper file

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* doc: Add instructions about how to extract the openapiv2 document from
k8s

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* better wording

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* better code comments

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
2022-10-04 09:23:20 -04:00
Leonardo Luz Almeida
3951079de1 fix: remove last-applied-configuration before diff in ssa (#460)
* fix: remove last-apply-configurations before diff in ssa

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* fix: add tests to validate expected behaviour

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
2022-09-16 10:22:00 -04:00
Yujun Zhang
517c1fff4e chore: fix typo in log message (#445)
Signed-off-by: Yujun Zhang <yujunz@nvidia.com>

Signed-off-by: Yujun Zhang <yujunz@nvidia.com>
2022-09-01 20:40:44 +02:00
Leonardo Luz Almeida
c036d3f6b0 fix: sort fields to correctly calculate diff in server-side apply (#456)
Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
2022-08-29 14:50:54 +02:00
pasha-codefresh
ce2fb703a6 Revert "feat: Ability to create custom labels for namespaces created … (#455)
* Revert "feat: Ability to create custom labels for namespaces created with syncOptions CreateNamespace (#443)"

This reverts commit a56a803031.

* remove import

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

* fix test

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

Signed-off-by: pashavictorovich <pavel@codefresh.io>
2022-08-23 14:00:03 -04:00
Leonardo Luz Almeida
9970faba81 Cherry-Pick Retry commit in master (#452)
* fix: retry on unauthorized error when retrieving resources by gvk (#449)

* fix: retry on unauthorized when retrieving resources by gvk

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* add test case to validate retry is just invoked if error is Unauthorized

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* Fix merge conflict

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* Fix lint

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* Fix lint

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
2022-08-19 15:58:16 -04:00
pasha-codefresh
a56a803031 feat: Ability to create custom labels for namespaces created with syncOptions CreateNamespace (#443)
* namespace labels hook

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

* add tests

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

* fix test

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

* rename import

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

* remove deep copy

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

Signed-off-by: pashavictorovich <pavel@codefresh.io>
2022-08-18 18:48:07 +02:00
jannfis
2bc3fef13e fix: Fix argument order in resource filter (#436)
Signed-off-by: jannfis <jann@mistrust.net>
2022-08-04 21:09:09 +02:00
dependabot[bot]
e03364f7dd chore(deps): bump actions/setup-go from 3.2.0 to 3.2.1 (#428)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 3.2.0 to 3.2.1.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v3.2.0...v3.2.1)

---
updated-dependencies:
- dependency-name: actions/setup-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>
2022-08-04 14:52:40 +02:00
dependabot[bot]
51a33e63f1 chore(deps): bump k8s.io/klog/v2 from 2.30.0 to 2.70.1 (#426)
Bumps [k8s.io/klog/v2](https://github.com/kubernetes/klog) from 2.30.0 to 2.70.1.
- [Release notes](https://github.com/kubernetes/klog/releases)
- [Changelog](https://github.com/kubernetes/klog/blob/main/RELEASE.md)
- [Commits](https://github.com/kubernetes/klog/compare/v2.30.0...v2.70.1)

---
updated-dependencies:
- dependency-name: k8s.io/klog/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>
2022-08-04 14:52:11 +02:00
dependabot[bot]
e5e3a1cf5c chore(deps): bump github.com/spf13/cobra from 1.2.1 to 1.5.0 (#420)
Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.2.1 to 1.5.0.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](https://github.com/spf13/cobra/compare/v1.2.1...v1.5.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  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>
2022-08-04 14:51:35 +02:00
dependabot[bot]
da6623b2e7 chore(deps): bump golangci/golangci-lint-action from 2 to 3.2.0 (#409)
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 2 to 3.2.0.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/v2...v3.2.0)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-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>
2022-08-04 14:50:28 +02:00
Rick
112657a1f9 chore(docs): typo fixing in agent README file (#351)
Signed-off-by: rick <1450685+LinuxSuRen@users.noreply.github.com>
2022-08-04 14:29:48 +02:00
dependabot[bot]
ab8fdc7dbd chore(deps): bump sigs.k8s.io/yaml from 1.2.0 to 1.3.0 (#339)
Bumps [sigs.k8s.io/yaml](https://github.com/kubernetes-sigs/yaml) from 1.2.0 to 1.3.0.
- [Release notes](https://github.com/kubernetes-sigs/yaml/releases)
- [Changelog](https://github.com/kubernetes-sigs/yaml/blob/master/RELEASE.md)
- [Commits](https://github.com/kubernetes-sigs/yaml/compare/v1.2.0...v1.3.0)

---
updated-dependencies:
- dependency-name: sigs.k8s.io/yaml
  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>
2022-08-04 14:23:51 +02:00
dependabot[bot]
2d495813b7 chore(deps): bump codecov/codecov-action from 1.5.0 to 3.1.0 (#405)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 1.5.0 to 3.1.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.5.0...v3.1.0)

---
updated-dependencies:
- dependency-name: codecov/codecov-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>
2022-08-04 14:22:38 +02:00
Josh Soref
d8c17c206f spelling: less than (#434)
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-08-04 14:21:42 +02:00
Leonardo Luz Almeida
6cde7989d5 fix: structured-merge diff apply default values in live resource (#435)
* fix: structured-merge diff apply default values in live resource

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* address review comments

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
2022-08-03 10:57:58 -04:00
Leonardo Luz Almeida
1c4ef33687 feat: Add server-side apply manager config (#418)
* feat: Add server-side apply manager config

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* Force conflicts when SSA

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* Implement strategic-merge patch in diff

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* Implement structured merge diff

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* Implement structured merge in diff

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* Fix parseable type conversion

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* Handle structured merge diff for create/delete operations

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* User NormalizeUnionsApply instead of Merge for structured-merge diff

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* NormalizeUnions

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* merge first than normalize union

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* calculate diff with fieldsets

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* extract managed fields

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* remove managed fields then merge

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* Just remove fields if manager is found

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* remove config fieldset instead of using managed fields

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* Structure merge diff with defaults

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* tests

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* Normalize union at the end

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* test

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* test

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* Remove fields after merging

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* test

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* test

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* apply defaults when building diff result

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* fix default func call

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* Fix diff default

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* fix merged object

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* keep diff order

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* apply default with patch

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* handle ssa diffs with resource annotations

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* use managed fields to calculate diff

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* Implement unit tests

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* fix bad merge

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* add test to validate service with multiple ports

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* resolveFromStaticParser optimization

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* try without reordering while patching default values

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
2022-08-02 14:48:09 -04:00
Daniel Urgell
da6681916f fix: Change wrong log level in cluster.go openAPISchema, gvkParser (#430)
* Update cluster.go

Fixes argoproj/gitops-engine#423

Signed-off-by: Daniel Urgell <urgell.d@gmail.com>

* Use c.log.Info instead of c.log.Warning

Signed-off-by: Daniel Urgell <urgell.d@gmail.com>

* Changed c.log.Info format to fix type string in argument

Signed-off-by: Daniel Urgell <urgell.d@gmail.com>

Co-authored-by: Daniel Urgell <daniel@bluelabs.eu>
2022-08-02 13:10:19 -04:00
Alexander Matyushentsev
67ddccd3cc chore: upgrade k8s cliet to v0.24.2 (#427)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2022-07-12 16:42:57 -07:00
jannfis
ed31317b27 fix: Only consider resources which supports appropriate verb for any given operation (#423)
* fix: Only consider resources which supports appropriate verb for any given operation

Signed-off-by: jannfis <jann@mistrust.net>

* Fix unit tests

Signed-off-by: jannfis <jann@mistrust.net>

* Return MethodNotSupported and add some tests

Signed-off-by: jannfis <jann@mistrust.net>
2022-07-06 20:25:44 +02:00
Leonardo Luz Almeida
f9456de217 feat: add GvkParser in cluster cache (#404)
* feat: add GvkParser in cluster cache

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
2022-05-30 14:59:22 -07:00
Florent Monbillard
7493226dda feat: Add support for HPA v2 (autoscaling/v2) (#411)
Signed-off-by: Florent Monbillard <f.monbillard@gmail.com>
2022-05-30 14:58:55 -07:00
dependabot[bot]
4f069a220a chore(deps): bump actions/setup-go from 2.1.4 to 3.2.0 (#412)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 2.1.4 to 3.2.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v2.1.4...v3.2.0)

---
updated-dependencies:
- dependency-name: actions/setup-go
  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>
2022-05-30 14:57:54 -07:00
Michael Crenshaw
b855894da0 chore: test resource conversion (#403)
* chore: test resource conversion

Signed-off-by: Michael Crenshaw <michael_crenshaw@intuit.com>

* chore: add const to avoid code smell

Signed-off-by: Michael Crenshaw <michael_crenshaw@intuit.com>

Co-authored-by: Michael Crenshaw <michael_crenshaw@intuit.com>
2022-04-14 12:59:55 -04:00
Josh Soref
55bb49480a chore: Spelling (#215)
* spelling: account

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: aggregation

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: annotations

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: argocd

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: does-not

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: donot

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: do-not

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: implementers

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: individual

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: openshift

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: relate

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: requeuing

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: settings

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: worse

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: youtube

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

Co-authored-by: Josh Soref <jsoref@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <michael@crenshaw.dev>
2022-04-12 13:35:40 -04:00
Mathieu Parent
d8b1a12ce6 feat: add basic support for server-side apply (#363)
See https://github.com/argoproj/argo-cd/issues/2267

Signed-off-by: Mathieu Parent <math.parent@gmail.com>
2022-04-11 11:09:16 -04:00
Leonardo Luz Almeida
a586397dc3 chore: Fix go version during ci lint (#401)
* chore: Fix go version during ci lint

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>

* Fix go version minor version only

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
2022-04-11 10:23:49 -04:00
jannfis
73bcea9c8c fix: Set QPS and burst rate for resource ops client (#395)
Signed-off-by: jannfis <jann@mistrust.net>
2022-03-28 21:05:56 +02:00
Alexander Matyushentsev
723667dff7 feat: support exiting early from IterateHierarchy method (#388)
* feat: support existing early from IterateHierarchy method

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

* reviewer notes: comment action callback return value; add missing return value check

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2022-03-15 17:06:47 -07:00
Yuan Tang
531c0dbb68 chore: Remove support for deprecated extensions APIs (#381)
* chore: Remove support for deprecated extensions APIs

Signed-off-by: Yuan Tang <terrytangyuan@gmail.com>

* Add back extensions Ingress

Signed-off-by: Yuan Tang <terrytangyuan@gmail.com>
2022-03-10 16:59:35 -08:00
Yuan Tang
61c0cc745e fix: Add missing IngressClass in kind order when syncing tasks (#380)
Signed-off-by: Yuan Tang <terrytangyuan@gmail.com>
2022-02-15 16:51:16 -08:00
Yuan Tang
553ae80972 chore: Bump Go to 1.17 (#379)
Signed-off-by: Yuan Tang <terrytangyuan@gmail.com>
2022-02-15 16:18:05 -08:00
Yuan Tang
c517b47f2f fix: ensureCRDReady check did not work for v1 CRDs (#378)
Signed-off-by: Yuan Tang <terrytangyuan@gmail.com>
2022-02-15 12:20:24 -08:00
jannfis
e360551b19 feat: Support for retries when building up cluster cache (#374)
* feat: Support for retries when building up cluster cache

Signed-off-by: jannfis <jann@mistrust.net>

* Oops.

Signed-off-by: jannfis <jann@mistrust.net>

* RetryLimit must be at least 1

Signed-off-by: jannfis <jann@mistrust.net>

* RetryLimit must be at least 1

Signed-off-by: jannfis <jann@mistrust.net>
2022-02-08 22:03:06 +01:00
Ben Ye
8aefb18433 feat: expose cluster sync retry timeout (#373)
Signed-off-by: Ben Ye <ben.ye@bytedance.com>
2022-02-08 13:01:49 -08:00
Rо́man
b0c5e00ccf fix: add default protocol to subset of ports if it is empty (#347)
Signed-off-by: Roman Rudenko <3kmnazapad@gmail.com>
2022-01-26 10:45:17 -08:00
Alexander Matyushentsev
36e77462ae fix: health check for HPA doesn't catch all good states (#369)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2022-01-24 10:01:50 -08:00
dependabot[bot]
5bbbdfbc69 chore(deps): bump github.com/go-logr/logr from 1.2.0 to 1.2.2 (#368)
Bumps [github.com/go-logr/logr](https://github.com/go-logr/logr) from 1.2.0 to 1.2.2.
- [Release notes](https://github.com/go-logr/logr/releases)
- [Changelog](https://github.com/go-logr/logr/blob/master/CHANGELOG.md)
- [Commits](https://github.com/go-logr/logr/compare/v1.2.0...v1.2.2)

---
updated-dependencies:
- dependency-name: github.com/go-logr/logr
  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>
2022-01-24 09:54:04 -08:00
Ramon Rüttimann
b560016286 chore(deps): bump k8s.io/kubernetes from 1.22.2 to 1.23.1 (#365)
This commit bumps the k8s.io/kubernetes dependencies and all other
kubernetes deps to 1.23.1. There have been two breakages with the
upgrade:
- The `apply.NewApplyOptions` in the kubectl libraries [has been
  removed / refactored](8165f83007 (diff-2672399cb3d708d5fed859b0a74387522408ab868b1c2457587b39cabe2b75ce))
  and split up into `ApplyOptions` and `ApplyFlags`. This commit
  populates the `ApplyOptions` directly, as going through
  the `ApplyFlags` and then calling `ToOptions()` is almost impossible
  due to its arguments.
- The `github.com/go-logr/logr` package has had some breaking changes
  between the previous alpha release `v.0.4.0` and its stable release
  `v1.0.0`. The generated mock has been updated to use `logr.LogSink`
  instead (`logr.Logger` is not an interface anymore), and the test code
  has been updated accordingly.
- Go has been updated to 1.17.6, as `sigs.k8s.io/json` depends on it.

Signed-off-by: Ramon Rüttimann <ramon@nine.ch>

apply reviewer notes: bump golang version; add missing ApplyOptions parameters

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2022-01-19 13:11:47 -08:00
Leonardo Luz Almeida
f6495020a3 fix: removeNamespaceAnnotation should not panic if annotation has unexpected value (#361)
Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
2021-12-22 11:16:05 -08:00
Jesse Suen
ae94ad9510 feat: configurable watch resync timeout. ability to disable cluster resync (#353)
Signed-off-by: Jesse Suen <jesse@akuity.io>
2021-11-22 20:49:13 -08:00
pasha-codefresh
c7bab2eeca feat: add support split yaml that return actual yamls (#346)
* add support split yaml that return actual yamls

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

* change description

Signed-off-by: pashavictorovich <pavel@codefresh.io>
2021-11-03 15:01:10 -07:00
Leonardo Luz Almeida
c0b63afb74 fix: Address issue during diff when secret data is nil (#345)
Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
2021-11-02 12:00:06 -07:00
harikrongali
2565df31d1 fix: Add ScaleDownLimit as health state for HPA (#343)
Signed-off-by: hari rongali <hari_rongali@intuit.com>
2021-11-02 08:31:54 -07:00
dependabot[bot]
c8139b3f94 chore(deps): bump actions/setup-go from 2.1.3 to 2.1.4 (#319)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 2.1.3 to 2.1.4.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v2.1.3...v2.1.4)

---
updated-dependencies:
- dependency-name: actions/setup-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>
2021-11-02 08:31:26 -07:00
Alexander Matyushentsev
27374da031 refactor: ugprade k8s client to v0.22.2 (#338)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-10-22 15:32:49 -07:00
Alexander Matyushentsev
762cb1bc26 feat: expose all kubernetes resources in cluster info (#337)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-10-22 10:32:54 -07:00
pasha-codefresh
bc9ce5764f feat: better error message for sync operations (#336)
feat: better error message for sync operations (#336)

Signed-off-by: pashavictorovich <pavel@codefresh.io>
2021-10-21 12:20:28 -07:00
Jesse Suen
e8d9803a2b fix: stop relying on imported types for ingress health check (#335) 2021-10-20 00:21:24 -07:00
Matteo Ruina
23f41cb849 fix: Add ScalingDisabled healthy state to HPA (#323)
Signed-off-by: Matteo Ruina <matteo.ruina@gmail.com>
2021-09-27 17:05:18 -07:00
Alexander Matyushentsev
33f542da00 fix: SyncOption Replace=True is broken (#321)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-09-01 16:54:33 -07:00
Alexander Matyushentsev
57ea690344 refactor: update resources install order according to helm implementation (#309)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-08-03 16:23:43 -07:00
Alexander Matyushentsev
a4c77d5c70 feat: support managing cluster resources in a namespaced mode (#297)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-07-08 17:49:06 -07:00
Alexander Matyushentsev
2c97a96cab fix: 'ResourceOperations.CreateResource' should use 'kubectl' package to properly execute create operation (#298)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-06-30 12:22:00 -07:00
Jesse Suen
7495c633c3 fix: workflows without status.phase should be considered Progressing (#296)
Signed-off-by: Jesse Suen <jessesuen@gmail.com>
2021-06-23 14:32:58 -07:00
Alexander Matyushentsev
b067bd7463 refactor: regenerate cluster cache mock (#291)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-06-17 10:59:36 -07:00
Alexander Matyushentsev
579ea1d764 refactor: using open api schema in cluster live state cache (#289)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-06-17 08:57:33 -07:00
Alexander Matyushentsev
5da9c7eea0 refactor: stop caching OpenAPISchema since it is cached by cmdutil.Factory (#287)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-06-15 11:55:29 -07:00
Alexander Matyushentsev
6884d330a0 refactor: add an API that returns built-in health assessement function (#285)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-06-09 17:02:33 -07:00
Alexander Matyushentsev
ddc92c9bdb feat: expose APIGroups in GetClusterInfo (#283)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-06-08 13:05:35 -07:00
dependabot[bot]
6911e599ae chore(deps): bump actions/cache from 2.1.5 to 2.1.6 (#282)
Bumps [actions/cache](https://github.com/actions/cache) from 2.1.5 to 2.1.6.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2.1.5...v2.1.6)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-28 07:28:56 -07:00
Alexander Matyushentsev
411c8d0f1c refactor: cache cmdutil.Factory to improve syncronization performance (#281)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-05-27 09:42:22 -07:00
dependabot[bot]
f0c9d7e75e chore(deps): bump codecov/codecov-action from 1.4.1 to 1.5.0 (#274)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 1.4.1 to 1.5.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.4.1...v1.5.0)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-26 20:32:37 -07:00
dependabot[bot]
515974410e chore(deps): bump actions/cache from 2.1.4 to 2.1.5 (#275)
Bumps [actions/cache](https://github.com/actions/cache) from 2.1.4 to 2.1.5.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2.1.4...v2.1.5)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-25 17:49:23 -07:00
Mikhail Mazurskiy
3f38eee773 fix: deadlock in listener (#271)
fix: deadlock in listener (#271)

Signed-off-by: Mikhail Mazurskiy <mmazurskiy@gitlab.com>
2021-05-02 20:16:07 -07:00
Mikhail Mazurskiy
46d1496140 refactor: Kubernetes 1.21 libraries (#266)
Signed-off-by: Mikhail Mazurskiy <mmazurskiy@gitlab.com>
2021-04-21 14:34:57 -07:00
dependabot[bot]
73f3e7f01a chore(deps): bump k8s.io/klog/v2 from 2.4.0 to 2.8.0 (#239)
Bumps [k8s.io/klog/v2](https://github.com/kubernetes/klog) from 2.4.0 to 2.8.0.
- [Release notes](https://github.com/kubernetes/klog/releases)
- [Changelog](https://github.com/kubernetes/klog/blob/master/RELEASE.md)
- [Commits](https://github.com/kubernetes/klog/compare/v2.4.0...v2.8.0)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-20 14:29:57 -07:00
dependabot[bot]
0f8652d4e7 chore(deps): bump github.com/golang/mock from 1.4.4 to 1.5.0 (#241)
Bumps [github.com/golang/mock](https://github.com/golang/mock) from 1.4.4 to 1.5.0.
- [Release notes](https://github.com/golang/mock/releases)
- [Changelog](https://github.com/golang/mock/blob/master/.goreleaser.yml)
- [Commits](https://github.com/golang/mock/compare/v1.4.4...v1.5.0)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-20 11:28:52 -07:00
dependabot[bot]
ba03b48543 chore(deps): bump actions/cache from v2 to v2.1.4 (#216)
Bumps [actions/cache](https://github.com/actions/cache) from v2 to v2.1.4.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2...26968a09c0ea4f3e233fdddbafd1166051a095f6)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-20 11:03:38 -07:00
dependabot[bot]
09186f3d4f chore(deps): bump github.com/stretchr/testify from 1.6.1 to 1.7.0 (#208)
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.6.1 to 1.7.0.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.6.1...v1.7.0)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-20 11:03:19 -07:00
Mikhail Mazurskiy
b3254f88f4 fix: missing resource version in tests (#256)
FakeDynamicClient returns typed lists (not unstructured lists) since Kubernetes 1.20. The type cast now handles that.

Signed-off-by: Mikhail Mazurskiy <mmazurskiy@gitlab.com>
2021-04-20 10:55:25 -07:00
dependabot[bot]
9e414998c8 chore(deps): bump codecov/codecov-action from v1.2.1 to v1.4.1 (#260)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.2.1 to v1.4.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.2.1...967e2b38a85a62bd61be5529ada27ebc109948c2)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-04-20 10:54:49 -07:00
Mikhail Mazurskiy
11e322186b refactor: reduce usage of k8s.io/kubernetes packages (#258)
Signed-off-by: Mikhail Mazurskiy <mmazurskiy@gitlab.com>
2021-04-20 10:54:02 -07:00
Alexander Matyushentsev
8e19104276 chore: switch CI to golangci/golangci-lint-action@v2 (#259)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-04-20 10:45:22 -07:00
Kshama Jain
2a9c1448b2 fix: applyoutofsync with dry-run (#253)
Signed-off-by: kshamajain99 <kshamajain99@gmail.com>
2021-04-05 15:15:16 -07:00
Alexander Matyushentsev
1ce2acc845 feat: support replace strategy for CRD (#252)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-03-25 14:51:06 -07:00
Kshama Jain
3c778a5431 fix: register new CRD to apigroups (#247)
Signed-off-by: kshamajain99 <kshamajain99@gmail.com>
2021-03-25 14:41:24 -07:00
Kshama Jain
46073c1cd6 fix: applyOutOfSyncOnly should work with sync waves as well (#251)
Signed-off-by: kshamajain99 <kshamajain99@gmail.com>
2021-03-25 14:03:18 -07:00
Shoubhik Bose
c1332abf89 docs: remove out-of-date sections (#248)
Signed-off-by: Shoubhik Bose <shbose@redhat.com>
2021-03-23 12:05:54 -07:00
Alexander Matyushentsev
89ddd0dffb feat: support 'Replace=true' sync option (#246)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-03-17 21:35:18 -07:00
kshamajain99
a9f11fade3 fix: sync option applyOutOfSync (#245)
Signed-off-by: kshamajain99 <kshamajain99@gmail.com>
2021-03-17 14:49:00 -07:00
May Zhang
478f8cb207 fix: file extension comparisons are case sensitive (#243)
Signed-off-by: May Zhang <may_zhang@intuit.com>
2021-03-16 17:02:46 -07:00
Ed Lee
38db8bb691 Update OWNERS (#237) 2021-03-15 15:39:03 -07:00
Mike Bryant
5d680d6b80 fix: Add additional healthy states for HPA (#234)
In the case that you have a HPA with a minimum or maximum replica count set, and the metrics would indicate a need to scale beyond those, this is still an expected and healthy state.

Signed-off-by: Mike Bryant <mikebryant@bulb.co.uk>
2021-03-15 14:52:47 -07:00
Shoubhik Bose
928245881d chore: Use v0.20.4 kube dependencies (#238)
Signed-off-by: Shoubhik Bose <shbose@redhat.com>
2021-03-15 14:50:58 -07:00
May Zhang
380f7be5bf fix: Dry run stuck on pre sync hook (#236)
* fix: Dry run stuck on pre sync hook

Signed-off-by: May Zhang <may_zhang@intuit.com>

* fix: Dry run stuck on pre sync hook

Signed-off-by: May Zhang <may_zhang@intuit.com>
2021-03-12 11:14:01 -08:00
Alexander Matyushentsev
89cb483bbb feat: support resource prune propagation policy (#235)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-03-12 08:36:15 +01:00
Ishita Sequeira
aae8ded161 feat: added cascade option to DeleteResource - argo-cd #5368 (#220)
* feat: added cascade option to DeleteResource - argo-cd #5368

Signed-off-by: ishitasequeira <isequeir@redhat.com>

* added a comment re-trigger the unit test

Signed-off-by: ishitasequeira <isequeir@redhat.com>

* feat: updated delete option logic in DeleteResource

Signed-off-by: ishitasequeira <isequeir@redhat.com>
2021-02-22 08:29:27 +01:00
Alexander Matyushentsev
354817a103 fix: sync should apply Namespaces and CRDs before resources that depend on them (#225)
* fix: sync should apply Namespaces and CRDs before resources that depend on them

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-02-18 15:30:04 -08:00
kshamajain99
c5b7114c50 selective sync (#213)
Signed-off-by: kshamajain99 <kshamajain99@gmail.com>
2021-01-29 10:37:11 -08:00
Jonathan West
814d79df49 fix: Data race between gitops-engine's pkg/cache/cluster.go and itself, on Argo CD startup (#4627) (#168)
Signed-off-by: Jonathan West <jonwest@redhat.com>
2021-01-12 12:43:06 -08:00
Alexander Matyushentsev
0b4199b001 feat: add FindResources method that allows to find any resource in cache (#204)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-01-07 16:00:20 -08:00
dependabot[bot]
bb076f0a89 chore(deps): bump codecov/codecov-action from v1.2.0 to v1.2.1 (#202)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.2.0 to v1.2.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.2.0...e156083f13aff6830c92fc5faa23505779fbf649)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-06 09:52:46 -08:00
May Zhang
82f0935363 feat: prune last (#203)
* fix: issue 5080 to allow resouce prunning at the final wave of sync phase

Signed-off-by: May Zhang <may_zhang@intuit.com>

* fix: Setting prunLast tasks to lastWave + 1

Signed-off-by: May Zhang <may_zhang@intuit.com>
2021-01-06 09:45:10 -08:00
dependabot[bot]
ee1772e1dc chore(deps): bump codecov/codecov-action from v1.1.1 to v1.2.0 (#200)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.1.1 to v1.2.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.1.1...a92c414703a4bba586f6df7fcc885c9d0bdff772)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-01-05 20:18:01 -08:00
Mikhail Mazurskiy
32c6afc4a7 refactor: Kubernetes v1.20.1 (#195)
Signed-off-by: Mikhail Mazurskiy <mmazurskiy@gitlab.com>
2021-01-05 19:35:02 -08:00
dependabot[bot]
dac837751e chore(deps): bump codecov/codecov-action from v1.1.0 to v1.1.1 (#199)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.1.0 to v1.1.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.1.0...1fc7722ded4708880a5aea49f2bfafb9336f0c8d)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-22 11:29:15 -08:00
dependabot[bot]
209882714e chore(deps): bump codecov/codecov-action from v1.0.13 to v1.1.0 (#194)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.0.13 to v1.1.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.0.13...7de43a7373de21874ae196a78f8eb633fcf7f0c4)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-12-18 09:16:01 -08:00
May Zhang
53cbe5f6be fix: HPA health check is making incorrect assumption on annotations (#190)
* fix: HPA health check is making incorrect assumption on annotations

Signed-off-by: May Zhang <may_zhang@intuit.com>

* fix: added handle of v1, v2beta1 and v2beta2

Signed-off-by: May Zhang <may_zhang@intuit.com>

* fix: clean up test data file

Signed-off-by: May Zhang <may_zhang@intuit.com>
2020-12-14 14:05:17 -08:00
May Zhang
0bc2f8c395 fix: panic: interface conversion: interface {} is string (#189)
* panic: interface conversion: interface {} is string

Signed-off-by: May Zhang <may_zhang@intuit.com>
2020-11-23 11:38:46 -08:00
Jesse Suen
069a5e64fb fix: WithInitialState should require start time to support generateName hooks properly (#183)
Signed-off-by: Jesse Suen <jessesuen@gmail.com>
2020-11-13 00:46:16 -08:00
yutachaos
760fcb68be fix: Current time is not set in startedAt in NewSyncContext (#180)
Signed-off-by: yutachaos <18604471+yutachaos@users.noreply.github.com>
2020-11-06 14:44:53 -08:00
Mikhail Mazurskiy
9a6cf9d611 docs: add myself as reviewer (#179)
Signed-off-by: Mikhail Mazurskiy <mmazurskiy@gitlab.com>
2020-11-04 20:41:19 -08:00
Jesse Suen
cfdefa46b2 feat: introduce SyncWaveHook callbacks invoked after applying each sync wave (#177)
Signed-off-by: Jesse Suen <jesse_suen@intuit.com>
2020-10-30 12:46:27 -07:00
dependabot[bot]
eb76c93f0a chore(deps): bump github.com/go-logr/logr from 0.2.0 to 0.2.1 (#173)
Bumps [github.com/go-logr/logr](https://github.com/go-logr/logr) from 0.2.0 to 0.2.1.
- [Release notes](https://github.com/go-logr/logr/releases)
- [Commits](https://github.com/go-logr/logr/compare/v0.2.0...v0.2.1)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-10-27 15:41:48 -07:00
Jesse Suen
e344629d42 refactor: allow PatchResource to accept subresource (#175) 2020-10-27 15:41:26 -07:00
Mikhail Mazurskiy
31311943a5 refactor: use github.com/go-logr/logr for logging (#162) 2020-10-26 17:14:56 -07:00
Alexander Matyushentsev
4eb3ca3fee feat: Namespace/CRD creation should happen before PreSync phase (#159) 2020-10-14 11:37:19 -07:00
Jonathan West
872c470033 fix: Detect unknown fields in invalid specs as OutOfSync (#154) 2020-10-14 11:34:19 -07:00
William Tam
a1dc4c598b fix: sort endpoint IP addresses before diffing (#160) 2020-10-13 16:53:40 -07:00
Gordon Honda
8d99997db0 fix: Set TLSServerName in NewKubeConfig (#156) 2020-10-13 13:04:59 -07:00
dependabot[bot]
646ff039d2 chore(deps): bump actions/setup-go from v2.1.2 to v2.1.3 (#152)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from v2.1.2 to v2.1.3.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v2.1.2...37335c7bb261b353407cff977110895fa0b4f7d8)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-10-13 12:51:50 -07:00
Mikhail Mazurskiy
cc707ccc94 chore: Update to Kubernetes v1.19.2 (#139) 2020-10-13 12:17:22 -07:00
Mikhail Mazurskiy
ef7702fe86 refactor: cleanups (#142) 2020-10-13 12:14:22 -07:00
May Zhang
54bbebf593 fix: Hook Deletion Policies HookSucceeded should be run after whole H… (#144)
* fix: Hook Deletion Policies HookSucceeded should be run after whole Hook succeed and not only Resource succeed

* fix: handle HookFailed.

* fix: fixing lint error.
2020-10-09 13:41:49 -07:00
Keith Chong
3a3f6a33d7 fix: Child apps should not affect parent app's health by default (#153)
Signed-off-by: Keith Chong <kykchong@redhat.com>
2020-10-02 20:19:53 -07:00
Alexander Matyushentsev
d25b8fd69f fix: avoid memory and events spike after forcesfully refreshing api cache (#145) 2020-09-25 14:59:03 -07:00
John Pitman
828dc7574b fix: check resource namespaces are managed (#143) 2020-09-25 08:57:27 -07:00
May Zhang
7171d62f8c fix: Support transition from a git managed namespace to auto-create n… (#141)
* fix: Support transition from a git managed namespace to auto-create namespace

* fix: Support transition from a git managed namespace to auto-create namespace

* fix: use sync task to remove label

* fix: withNamespaceCreation

* fix: fix failed test

* fix: remove obsolete comment.
2020-09-22 15:59:33 -07:00
Mikhail Mazurskiy
8d05efd2df refactor: Return error from context (#140) 2020-09-18 10:50:06 -07:00
Alexander Matyushentsev
c04f859da9 fix: correctly infer ownership references from PVC to StatefulSet (#138) 2020-09-04 09:44:17 -07:00
May Zhang
21b78bd366 fix: health status for daemonset with onDelete updateStrategy (#137)
* fix: health status is set to healthy for statefulset with updateStrategy: OnDelete

* fix: updated message

* fix: added test

* fix: health status for daemon set with Ondelete updateStrategy
2020-09-03 10:13:21 -07:00
May Zhang
c9bb0095d3 fix: health status is set to healthy for statefulset with updateStrat… (#136)
* fix: health status is set to healthy for statefulset with updateStrategy: OnDelete

* fix: updated message

* fix: added test
2020-09-01 14:49:03 -07:00
dependabot[bot]
4d6f2988b2 chore(deps): bump codecov/codecov-action from v1.0.12 to v1.0.13 (#120)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.0.12 to v1.0.13.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.0.12...6004246f47ab62d32be025ce173b241cd84ac58e)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-08-28 23:17:29 -07:00
Alexander Matyushentsev
8472746916 refactor: ensure list semaphore is released after response is fully processed (#135) 2020-08-28 20:48:24 -07:00
Mikhail Mazurskiy
e024377862 refactor: cleanup printing and logging (#124)
- print using test logger
- print using fmt - println use is discouraged
2020-08-28 13:30:33 -07:00
dependabot[bot]
7026950e0d chore(deps): bump actions/setup-go from v2.1.1 to v2.1.2 (#114)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from v2.1.1 to v2.1.2.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v2.1.1...8a3a76c2171de8c3be20bec507b6d829ccae48ba)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-08-28 13:28:21 -07:00
Alexander Matyushentsev
8617aa1a7e fix: leverage RetryWatcher to watch cluster events and introduce periodical K8S API state resynchronization (#133)
* fix: leverage RetryWatcher to watch cluster events and introduce periodical K8S API state resynchronization

* Apply reviewer notes

* enable race detection in tests
2020-08-27 17:33:06 -07:00
dependabot[bot]
51a45c0835 chore(deps): bump github.com/evanphx/json-patch (#125)
Bumps [github.com/evanphx/json-patch](https://github.com/evanphx/json-patch) from 4.2.0+incompatible to 4.9.0+incompatible.
- [Release notes](https://github.com/evanphx/json-patch/releases)
- [Commits](https://github.com/evanphx/json-patch/compare/v4.2.0...v4.9.0)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-08-27 17:32:37 -07:00
Mikhail Mazurskiy
2545f6c175 fix: data race fixes and cleanups (#122)
* Fix data race on err variable

==================
WARNING: DATA RACE
Write at 0x00c000621c30 by goroutine 29:
  github.com/argoproj/gitops-engine/pkg/cache.(*clusterCache).sync.func1.1()
      /gitops-engine/pkg/cache/cluster.go:548 +0x3a8
  github.com/argoproj/gitops-engine/pkg/cache.(*clusterCache).processApi()
      /gitops-engine/pkg/cache/cluster.go:479 +0x2cc
  github.com/argoproj/gitops-engine/pkg/cache.(*clusterCache).sync.func1()
      /gitops-engine/pkg/cache/cluster.go:536 +0x430
  github.com/argoproj/gitops-engine/pkg/utils/kube.RunAllAsync.func1()
      /gitops-engine/pkg/utils/kube/ctl.go:510 +0x45
  golang.org/x/sync/errgroup.(*Group).Go.func1()
      /Users/mikhail/go/pkg/mod/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e/errgroup/errgroup.go:57 +0x85

Previous write at 0x00c000621c30 by goroutine 28:
  github.com/argoproj/gitops-engine/pkg/cache.(*clusterCache).sync.func1.1()
      /gitops-engine/pkg/cache/cluster.go:548 +0x3a8
  github.com/argoproj/gitops-engine/pkg/cache.(*clusterCache).processApi()
      /gitops-engine/pkg/cache/cluster.go:479 +0x2cc
  github.com/argoproj/gitops-engine/pkg/cache.(*clusterCache).sync.func1()
      /gitops-engine/pkg/cache/cluster.go:536 +0x430
  github.com/argoproj/gitops-engine/pkg/utils/kube.RunAllAsync.func1()
      /gitops-engine/pkg/utils/kube/ctl.go:510 +0x45
  golang.org/x/sync/errgroup.(*Group).Go.func1()
      /Users/mikhail/go/pkg/mod/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e/errgroup/errgroup.go:57 +0x85

Goroutine 29 (running) created at:
  golang.org/x/sync/errgroup.(*Group).Go()
      /Users/mikhail/go/pkg/mod/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e/errgroup/errgroup.go:54 +0x73
  github.com/argoproj/gitops-engine/pkg/utils/kube.RunAllAsync()
      /gitops-engine/pkg/utils/kube/ctl.go:509 +0x1a1
  github.com/argoproj/gitops-engine/pkg/cache.(*clusterCache).sync()
      /gitops-engine/pkg/cache/cluster.go:526 +0x98b
  github.com/argoproj/gitops-engine/pkg/cache.(*clusterCache).EnsureSynced()
      /gitops-engine/pkg/cache/cluster.go:592 +0xe9
  github.com/argoproj/gitops-engine/pkg/cache.TestEnsureSynced()
      /gitops-engine/pkg/cache/cluster_test.go:140 +0xe2
  testing.tRunner()
      /usr/local/Cellar/go/1.14.3/libexec/src/testing/testing.go:991 +0x1eb

Goroutine 28 (finished) created at:
  golang.org/x/sync/errgroup.(*Group).Go()
      /Users/mikhail/go/pkg/mod/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e/errgroup/errgroup.go:54 +0x73
  github.com/argoproj/gitops-engine/pkg/utils/kube.RunAllAsync()
      /gitops-engine/pkg/utils/kube/ctl.go:509 +0x1a1
  github.com/argoproj/gitops-engine/pkg/cache.(*clusterCache).sync()
      /gitops-engine/pkg/cache/cluster.go:526 +0x98b
  github.com/argoproj/gitops-engine/pkg/cache.(*clusterCache).EnsureSynced()
      /gitops-engine/pkg/cache/cluster.go:592 +0xe9
  github.com/argoproj/gitops-engine/pkg/cache.TestEnsureSynced()
      /gitops-engine/pkg/cache/cluster_test.go:140 +0xe2
  testing.tRunner()
      /usr/local/Cellar/go/1.14.3/libexec/src/testing/testing.go:991 +0x1eb
==================

* More type safety

Make runState a new type rather
than a type alias

* Fix data race on runState variable

==================
WARNING: DATA RACE

Write at 0x00c0000d0b40 by goroutine 83:
  github.com/argoproj/gitops-engine/pkg/sync.(*syncContext).runTasks.func5.1()
      /gitops-engine/pkg/sync/sync_context.go:786 +0x68c

Previous write at 0x00c0000d0b40 by goroutine 84:
  github.com/argoproj/gitops-engine/pkg/sync.(*syncContext).runTasks.func5.1()
      /gitops-engine/pkg/sync/sync_context.go:786 +0x68c

Goroutine 83 (running) created at:
  github.com/argoproj/gitops-engine/pkg/sync.(*syncContext).runTasks.func5()
      /gitops-engine/pkg/sync/sync_context.go:778 +0x165
  github.com/argoproj/gitops-engine/pkg/sync.(*syncContext).runTasks()
      /gitops-engine/pkg/sync/sync_context.go:807 +0xb32
  github.com/argoproj/gitops-engine/pkg/sync.(*syncContext).Sync()
      /gitops-engine/pkg/sync/sync_context.go:265 +0x1b3d
  github.com/argoproj/gitops-engine/pkg/sync.TestSyncFailureHookWithFailedSync()
      /gitops-engine/pkg/sync/sync_context_test.go:532 +0x4e5
  testing.tRunner()
      /usr/local/Cellar/go/1.14.3/libexec/src/testing/testing.go:991 +0x1eb

Goroutine 84 (running) created at:
  github.com/argoproj/gitops-engine/pkg/sync.(*syncContext).runTasks.func5()
      /gitops-engine/pkg/sync/sync_context.go:778 +0x165
  github.com/argoproj/gitops-engine/pkg/sync.(*syncContext).runTasks()
      /gitops-engine/pkg/sync/sync_context.go:807 +0xb32
  github.com/argoproj/gitops-engine/pkg/sync.(*syncContext).Sync()
      /gitops-engine/pkg/sync/sync_context.go:265 +0x1b3d
  github.com/argoproj/gitops-engine/pkg/sync.TestSyncFailureHookWithFailedSync()
      /gitops-engine/pkg/sync/sync_context_test.go:532 +0x4e5
  testing.tRunner()
      /usr/local/Cellar/go/1.14.3/libexec/src/testing/testing.go:991 +0x1eb
==================

* Simplify
2020-08-27 12:33:25 -07:00
Alexander Matyushentsev
2cf3a72c65 fix: exclude creationTimestamp from diffing (#128) 2020-08-25 23:29:57 -07:00
Daniel Holbach
26efb17b22 docs: Update notes on Argo+Flux collaboration (#126)
* remove Flux mention on main README

* FAQ: explain backstory of Argo+Flux collaboration

* remove sentence about 'natural evolution'
2020-08-25 09:10:24 -07:00
Alexander Matyushentsev
0eede8069a fix: volumeClaimTemplates are out of sync incorrectly (#127) 2020-08-24 16:26:41 -07:00
Mikhail Mazurskiy
bf8e17f73f Update and trim dependencies (#123)
* chore: bump kubernetes deps

* refactor: remove dependency on pkg/errors

* refactor: remove indirect dependency version

* refactor: remove dependency on github.com/google/shlex
as it was only used in tests
2020-08-21 18:49:00 -07:00
Mikhail Mazurskiy
90979fe432 feat: use Kubernetes v1.18.6 libraries (#102)
* feat: use Kubernetes v1.18.6 libraries

* support switching between server and client side dry run mode

Co-authored-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2020-08-04 19:13:02 -07:00
Alexander Matyushentsev
92a3433562 feat: detect PVC StatefulSet ownership (#112)
* feat: detect PVC StatefulSet ownership
2020-08-04 10:25:02 -07:00
Alexander Matyushentsev
afc2e64c70 refactor: remove dependency on github.com/argoproj/pkg package (#111) 2020-08-03 14:39:53 -07:00
May Zhang
f420bb91a1 fix: panic for data type conversion to *unstructured.Unstructured. (#109)
* fix: panic for data type conversion to *unstructured.Unstructured.

* fix: panic for data type conversion to *unstructured.Unstructured.
2020-08-03 11:17:06 -07:00
Mikhail Mazurskiy
605958d429 feat: improve memory consumption limiting (#100)
1. Instead of global semaphore use a
per-cache semaphore. Removes thread-safety
issues, allows fine control over limiting
if multiple caches are used in a program

2. Use the semaphore to guard whole
sections that use expensive list
operations, not just the list API call.
This ensures that memory usage is capped,
not the list operations.

3. Allow to control list pager.
Reduce default prefetch limit to 1 page
from 10.

Co-authored-by: Alexander Matyushentsev <Alexander_Matyushentsev@intuit.com>
2020-07-30 11:08:15 -07:00
Alexander Matyushentsev
11d47a6215 feat: support configuring cluster cache re-sync timeout (#107) 2020-07-27 14:47:32 -07:00
dependabot[bot]
607629ec6a chore(deps): bump actions/setup-go from v2.1.0 to v2.1.1 (#104)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from v2.1.0 to v2.1.1.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v2.1.0...d0c5defdf364f1d1fb07530c000084836192af9c)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-27 14:22:06 -07:00
dependabot[bot]
618250fc48 chore(deps): bump codecov/codecov-action from v1.0.10 to v1.0.12 (#106)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.0.10 to v1.0.12.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.0.10...07127fde53bc3ccd346d47ab2f14c390161ad108)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-27 14:21:20 -07:00
May Zhang
dcb86f7d6b fix: Namespace auto-creation (#105)
* feat: added prehook for creating ns

* feat: added prehook for creating ns
Initial Draft

* feat: added prehook for creating ns

* feat: added prehook for creating ns

* feat: added prehook for creating ns checking the health of namespace created.

* feat: added prehook for creating ns. checking if ns existed already.

* feat: getSyncTasks returns the same list each time. added checking if resources contains ns already.

* feat: move const variable to right location; added additional checking if namespace is included in resources.

* feat: fixing compile issue.

* feat: moved code closer together.

* feat: adding test cases.

* feat: auto create only for sc.namespace

* feat: fix failed test

* feat: update livObj

* feat: added error handling

* feat: added error handling

* feat: move into its own fuction

* feat: fixing compile error

* fix: auto namespace creation

* fix: simplify sort method

* fix: remove sorting of namespace
2020-07-27 10:36:50 -07:00
Mikhail Mazurskiy
3e620057f4 Handlers cleanups (#101)
* refactor: remove global variable

handlerKey does not need to be global,
field is just fine.
Atomic access is no longer needed because field
is protected by mutex.

* fix: use the correct mutex

* refactor: pre-allocate slice
2020-07-27 09:32:02 -07:00
Mikhail Mazurskiy
cc0fb5531c refactor: improve func signature (#103) 2020-07-21 20:12:20 -07:00
Mikhail Mazurskiy
b576959416 fix: data race on ctxCompleted (#86)
ctxCompleted is read and written from different
goroutines, which is a data race.

This change also makes the sleep interruptible.
2020-07-21 08:50:03 -07:00
May Zhang
3c545080c9 feat: create namespace (#94)
* feat: added prehook for creating ns

* feat: added prehook for creating ns
Initial Draft

* feat: added prehook for creating ns

* feat: added prehook for creating ns

* feat: added prehook for creating ns checking the health of namespace created.

* feat: added prehook for creating ns. checking if ns existed already.

* feat: getSyncTasks returns the same list each time. added checking if resources contains ns already.

* feat: move const variable to right location; added additional checking if namespace is included in resources.

* feat: fixing compile issue.

* feat: moved code closer together.

* feat: adding test cases.

* feat: auto create only for sc.namespace

* feat: fix failed test

* feat: update livObj

* feat: added error handling

* feat: added error handling

* feat: move into its own fuction

* feat: fixing compile error
2020-07-20 09:45:07 -07:00
Mikhail Mazurskiy
59a09cd918 fix: improve manifest parsing (#97) 2020-07-20 09:32:44 -07:00
dependabot[bot]
ee5c440fc4 chore(deps): bump github.com/stretchr/testify from 1.4.0 to 1.6.1 (#77)
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.4.0 to 1.6.1.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.4.0...v1.6.1)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-15 22:05:00 -07:00
Mikhail Mazurskiy
42e1b44849 fix: use streaming YAML decoder from Kubernetes (#85)
apimachinery provides library code to parse
multi document YAML, there is no need to resort
to regexes.
2020-07-15 15:56:56 -07:00
dependabot[bot]
933f7cb71e chore(deps): bump actions/cache from v1 to v2 (#71)
Bumps [actions/cache](https://github.com/actions/cache) from v1 to v2.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v1...b8204782bbb5f872091ecc5eb9cb7d004e35b1fa)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-15 15:32:19 -07:00
dependabot[bot]
d12976c298 chore(deps): bump codecov/codecov-action from v1 to v1.0.10 (#72)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1 to v1.0.10.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Commits](https://github.com/codecov/codecov-action/compare/v1...f3570723ef743f6942b6a480461ed0cd6c0f9baa)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-15 15:31:48 -07:00
dependabot[bot]
817d0e48c3 chore(deps): bump actions/setup-go from v1 to v2.1.0 (#73)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from v1 to v2.1.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v1...1616116e1b39417f86ba049745f1a8946d4d00e7)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-15 14:50:36 -07:00
dependabot[bot]
db76222068 chore(deps): bump github.com/spf13/cobra from 0.0.5 to 0.0.7 (#78)
Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 0.0.5 to 0.0.7.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Changelog](https://github.com/spf13/cobra/blob/master/CHANGELOG.md)
- [Commits](https://github.com/spf13/cobra/compare/0.0.5...0.0.7)

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

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-15 14:50:01 -07:00
Alexander Matyushentsev
c5bf3a2484 fix: sync hooks should be deleted after sync phase/wave completion (#92) 2020-07-15 13:13:24 -07:00
Alexander Matyushentsev
ee1db0902c fix: add missing scheme install imports (#89) 2020-07-14 09:32:49 -07:00
Alexander Matyushentsev
eb210cf6d1 fix: diffing should not fail if known kubernetes resource has invalid fields (#88) 2020-07-13 10:21:25 -07:00
Hiroki Sakamoto
bfac3f53c9 feat: add creation timestamp (#87) 2020-07-12 18:49:22 +02:00
Alexander Matyushentsev
344b1bcfc2 feat: improve sync operation messages (#84) 2020-07-09 15:01:52 -07:00
Alexander Matyushentsev
6fe0c0050b fix: diff should perform server side like apply during resource diffing (#82) 2020-07-09 13:44:23 -07:00
May Zhang
b18f378548 fix for nil while sync (#83) 2020-07-09 09:19:12 -07:00
sullis
97d4a75189 chore: enable Dependabot v2 (#67)
https://github.blog/2020-06-01-keep-all-your-packages-up-to-date-with-dependabot/
2020-07-06 16:43:13 -07:00
Darshan Chaudhary
a45189fc91 chore: bump k8s.io dependencies to 1.17 (#70)
Signed-off-by: darshanime <deathbullet@gmail.com>
2020-07-06 16:18:52 -07:00
Alexander Matyushentsev
56e31f3668 fix: change failed conversion log level to debug (#69) 2020-07-02 10:26:12 -07:00
Alexander Matyushentsev
c23d4d77d8 fix: don't remove defaulted fields and rely only on three way diff merge during diffing (#68)
* fix: don't remove defaulted fields and rely only on three way diff merge during diffing
2020-06-30 14:33:07 -07:00
Alexander Matyushentsev
ce9616ad10 refactor: IterateHierarchy method should use read lock (#65) 2020-06-24 11:48:52 -07:00
Mikhail Mazurskiy
7d3da9f16e Replace ghodss/yaml with sigs.k8s.io/yaml (#62)
Kubernetes community uses a permanent fork
https://github.com/kubernetes-sigs/yaml
2020-06-23 10:27:53 -07:00
Mikhail Mazurskiy
c820482a8b Drop github.com/grpc-ecosystem/grpc-gateway dep (#63)
gitops-engine does not use the JSONMarshaler
type and pulling in a dependency for it
is not great. Let's remove it.
2020-06-23 09:26:38 -07:00
Darshan Chaudhary
6657adfcfd fix: Check for err == nil before Fatal (#61) 2020-06-20 13:25:36 +02:00
Hidehito Yabuuchi
fb2ec13845 Fix markdown links in README.md (#59) 2020-06-15 14:49:04 -07:00
Mikhail Mazurskiy
16598d5148 Use UpdateSettingsFunc type (#58) 2020-06-10 21:32:03 -07:00
Mikhail Mazurskiy
5622a64808 Reduce k8s.io/kubernetes usage (#57) 2020-06-10 09:09:27 -07:00
Darshan Chaudhary
16575f1834 refactor: add methods in errors package to quit with exit codes (#49)
* add methods in errors package to quit with exit codes

Signed-off-by: darshanime <deathbullet@gmail.com>

* use CheckErrorWithCode to exit with appropriate error code

Signed-off-by: darshanime <deathbullet@gmail.com>
2020-06-09 17:34:14 +02:00
Alexander Matyushentsev
e8cfb83132 feat: support limiting number of concurrent k8s list queries (#55)
* feat: support limiting number of concurrent k8s list queries
2020-06-08 12:58:05 -07:00
Alexander Matyushentsev
1723191dde refactor: deprecates obsolete Diff field (#54) 2020-06-07 20:22:37 -07:00
Shunsuke Suzuki
93cf3c532b fix: Lock to write MockKubectlCmd.LastValidate to fix the race condition (#52)
* fix: lock to write MockKubectlCmd.LastValidate to fix the race condition
2020-06-05 08:58:42 -07:00
Alexander Matyushentsev
c3b39b3a7e docs: clarify project description (#53)
* docs: clarify project description
2020-06-03 09:15:31 -07:00
Mikhail Mazurskiy
4bd4f29670 Fix data race on err variable (#46)
Named return variable was potentially
mutated from multiple goroutines. Use
the library to do this safely.
2020-06-01 10:11:18 -07:00
Alexander Matyushentsev
58cd2c3897 fix: stop using deleted method 'SetPopulateResourceInfoHandler'; regenerate cluster cache mock; (#47) 2020-06-01 18:48:52 +02:00
Alexander Matyushentsev
ff6e9f8532 feat: support resource pruning in gitops-agent (#45) 2020-06-01 18:10:59 +02:00
Alexander Matyushentsev
df17961bbd docs: document 'top level' packages (#44)
* docs: document cache package

* docs: document diff package

* docs: document health package

* docs: document sync package

* docs: document engine package

* docs: document sync options
2020-06-01 17:54:33 +02:00
Alexander Matyushentsev
99bd42d9a3 fix: update packages structure (#42) 2020-05-28 17:18:31 -07:00
Alexander Matyushentsev
cd2e16da1a feat: implement gitops-agent (#37)
* feat: implement gitops-agent
2020-05-27 09:53:21 -07:00
Alexander Matyushentsev
7500c4faa4 chore: add OWNERS file (#41) 2020-05-24 17:06:28 -07:00
Alexander Matyushentsev
a702089057 chore: regenerate cluster cache mocks (#40) 2020-05-20 10:27:19 -07:00
Alexander Matyushentsev
625651c65d docs: add releasing.md file (#35) 2020-05-20 10:15:44 -07:00
jannfis
6f7cd4fca5 chore: Speficy correct module dependency for kube-aggregator (#39) 2020-05-19 11:56:22 -07:00
Alexander Matyushentsev
f11f15b3d5 fix: remove optional parameter from NewClusterCache function (#36) 2020-05-18 17:24:02 -07:00
Alexander Matyushentsev
70ab73ca32 fix: fix nil pointer dereference in cluster caching (#34) 2020-05-18 16:21:48 -07:00
Alexander Matyushentsev
916375861e feat: cluster cache should expose synchronization error (#32) 2020-05-18 10:27:19 -07:00
Alexander Matyushentsev
8430dc06d7 Move argocd core to gitops engine repo 2020-05-15 13:01:24 -07:00
Alexander Matyushentsev
2257d233ab Apply reviewer notes 2020-01-16 13:27:01 -08:00
Alexander Matyushentsev
aedd5f533e Add docs that describes requirements for a repo auto-update and docker registry scanning components 2020-01-16 13:27:01 -08:00
Daniel Holbach
21a4cdc1c5 no current events planned 2019-12-09 08:58:48 -08:00
Jay Pipes
be3abd2a12 Merge pull request #23 from argoproj/add-faq
seed FAQ document with content from the Slack AMA session
2019-11-29 14:03:32 -05:00
Daniel Holbach
d3f2ce3ad7 addressed review feedback from Jay 2019-11-28 16:32:01 +01:00
Daniel Holbach
5946820661 seed FAQ document with content from the Slack AMA session
closes: #21
2019-11-28 14:16:20 +01:00
Jay Pipes
051b7c6d9d Merge pull request #22 from argoproj/update-events
Update events section
2019-11-25 13:12:02 -05:00
Daniel Holbach
4815faf272 Update events section
- Slack AMA is over
	- Two WOUG sessions coming up
	- Small link fix
2019-11-25 19:04:21 +01:00
Daniel Holbach
7220635f97 Merge pull request #20 from dholbach/add-logo
Add "argo + flux" logo
2019-11-20 12:58:06 +01:00
Daniel Holbach
f39140cf0a Add "argo + flux" logo
For the announcement we used the "argo + flux" logo and while
	the project does not have its own logo yet, I think it's only
	fitting to add it, to add some colour to our Github and make it
	instantly clear which two communities came together here.

	relates to: #17
2019-11-20 10:05:02 +01:00
Daniel Holbach
a8b4283616 Merge pull request #19 from argoproj/fix-slack-invite
Fix Slack invite: https://slack.k8s.io/
2019-11-20 09:24:09 +01:00
Daniel Holbach
c08fd189d2 fix second slack-invite link 2019-11-18 12:06:29 +01:00
Daniel Holbach
278472de09 Fix Slack invite: https://slack.k8s.io/
closes: #18
2019-11-16 15:08:09 +01:00
Alexander Matyushentsev
777c0ff629 Initial commit 2019-11-14 11:50:35 -08:00
Jay Pipes
7d29c700ca Merge pull request #15 from argoproj/add-meeting-times
document meeting times
2019-11-14 08:44:43 -05:00
Daniel Holbach
b8a7d7bfad document youtube playlist too 2019-11-14 10:54:55 +01:00
Daniel Holbach
9d32a603b8 document meeting times
closes: #5
2019-11-14 10:50:29 +01:00
Daniel Holbach
3c2b7ebbde Merge pull request #14 from argoproj/add-poc-links
Clarify where we want contributions
2019-11-13 12:18:49 +01:00
Daniel Holbach
06a52d3d71 Clarify where we want contributions
link to PoC builds of Argo and Flux so people can
	take a look and try them out
2019-11-12 14:16:34 +01:00
Alexander Matyushentsev
53ff80ff60 Move bottom-up design from google doc to markdown 2019-11-11 08:15:37 -08:00
Alexander Matyushentsev
921c307c0c Rename black-box, white-box designs to bottom-up/top-down 2019-11-11 08:15:37 -08:00
Alexander Matyushentsev
142bfe40f5 Merge pull request #12 from alexmt/blackbox-api
Add engine API to the black-box design
2019-11-07 12:05:20 -08:00
Alexander Matyushentsev
6f8e242890 Replace SyncUnit with Sync<Term> 2019-11-07 12:03:26 -08:00
Alexander Matyushentsev
9de8221284 Limit width to 100 characters per line 2019-11-07 11:12:38 -08:00
Alexander Matyushentsev
fd50001c44 Use scheme.GroupKind as key for resource customization settings 2019-11-06 12:01:42 -08:00
Alexander Matyushentsev
148710afc0 Replace app with SyncUnit 2019-11-06 11:59:04 -08:00
Alexander Matyushentsev
40c5701ac3 Update specs/design-black-box.md 2019-11-04 13:48:10 -08:00
Alexander Matyushentsev
3a53391324 Update specs/design-black-box.md
Co-Authored-By: Alfonso Acosta <fons@weave.works>
2019-11-04 11:48:56 -08:00
Alexander Matyushentsev
37e7d2b470 Update specs/design-black-box.md
Co-Authored-By: Alfonso Acosta <fons@weave.works>
2019-11-04 11:48:10 -08:00
Alexander Matyushentsev
2bb958819a Update specs/design-black-box.md
Co-Authored-By: Alfonso Acosta <fons@weave.works>
2019-11-04 11:47:52 -08:00
Alexander Matyushentsev
ab1888eef0 Update specs/design-black-box.md
Co-Authored-By: Alfonso Acosta <fons@weave.works>
2019-11-04 11:45:32 -08:00
Alexander Matyushentsev
8635459748 Update specs/design-black-box.md
Co-Authored-By: Alfonso Acosta <fons@weave.works>
2019-11-04 11:45:22 -08:00
Alexander Matyushentsev
374c236196 Update specs/design-black-box.md
Co-Authored-By: Alfonso Acosta <fons@weave.works>
2019-11-04 11:45:13 -08:00
Alexander Matyushentsev
6a28738865 Update specs/design-black-box.md
Co-Authored-By: Alfonso Acosta <fons@weave.works>
2019-11-04 11:37:37 -08:00
Alexander Matyushentsev
ffe694f117 Add engine API to the black-box design 2019-11-01 14:54:23 -07:00
Jay Pipes
3d22b0b8be Merge pull request #11 from dholbach/add-slack-ama
Add Ask-Us-Anything
2019-11-01 11:09:08 -04:00
Daniel Holbach
d79c06d1f0 Add Ask-Us-Anything
closes: #8
2019-11-01 12:07:50 +01:00
Jay Pipes
ae40d12575 Merge pull request #10 from dholbach/add-preliminary-slack
Point to #gitops on Kubernetes Slack for now
2019-10-30 09:34:53 -04:00
Daniel Holbach
fb4d62b938 Point to #gitops on Kubernetes Slack for now
closes: #7
2019-10-30 11:14:43 +01:00
Jay Pipes
1bd4f7af94 Merge pull request #9 from dholbach/add-coc
describe license and code-of-conduct
2019-10-23 12:56:22 -04:00
Daniel Holbach
58443c658c describe license and code-of-conduct 2019-10-23 17:20:12 +02:00
Daniel Holbach
78edcf4310 Merge pull request #4 from dholbach/more-info
add some explanation about what this project tries to do
2019-10-23 15:17:51 +02:00
Daniel Holbach
ef4dcd6c12 add some explanation about what this project tries to do 2019-10-23 15:11:14 +02:00
Alexander Matyushentsev
57db7848cf Merge pull request #2 from 2opremio/master
Add black box hypothesis and acceptance criteria
2019-10-18 07:56:35 -07:00
Alfonso Acosta
6f11a04a64 Update specs/design-black-box.md
Co-Authored-By: Michael Bridgen <mikeb@squaremobius.net>
2019-10-18 11:26:28 +02:00
Alfonso Acosta
fec5ec399b Add black box hypothesis and acceptance criteria 2019-10-18 11:25:36 +02:00
Alfonso Acosta
dd78b0b09e Update specs/design-black-box.md
Co-Authored-By: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2019-10-17 17:46:59 +02:00
Alfonso Acosta
c90d36e813 Add black box hypothesis and acceptance criteria 2019-10-17 17:32:53 +02:00
Alexander Matyushentsev
8b533e5763 Merge pull request #1 from alexmt/design
Add black box design proposal
2019-10-16 10:00:26 -07:00
Alexander Matyushentsev
d5b318d430 Rephrase a sentence that describes a requirement to contribute Flux specific features into GitOps engine 2019-10-16 09:57:31 -07:00
Alexander Matyushentsev
a1b21057fd Update specs/design-black-box.md
Co-Authored-By: Hidde Beydals <hiddeco@users.noreply.github.com>
2019-10-16 09:51:54 -07:00
Alexander Matyushentsev
a9c4d400c5 Add description of a risk into 'Risks and Mitigations' section 2019-10-16 07:28:52 -07:00
Alexander Matyushentsev
8049fbc818 Update specs/design-black-box.md
Co-Authored-By: Alfonso Acosta <fons@weave.works>
2019-10-16 07:03:21 -07:00
Alexander Matyushentsev
47e2511dc1 Update specs/design-black-box.md
Co-Authored-By: Alfonso Acosta <fons@weave.works>
2019-10-16 07:03:06 -07:00
Alexander Matyushentsev
3fdca00e92 Update specs/design-black-box.md
Co-Authored-By: Alfonso Acosta <fons@weave.works>
2019-10-16 07:02:55 -07:00
Alexander Matyushentsev
0cb4f8a5fb Add black box design proposal 2019-10-15 13:16:14 -07:00
Jay Pipes
c00a93dd2a Initial commit 2019-10-03 09:33:38 -04:00
2151 changed files with 285176 additions and 68400 deletions

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

@@ -9,18 +9,78 @@ assignees: ''
Target RC1 date: ___. __, ____
Target GA date: ___. __, ____
- [ ] 1wk before feature freeze post in #argo-contributors that PRs must be merged by DD-MM-YYYY to be included in the release - ask approvers to drop items from milestone they cant merge
## RC1 Release Checklist
- [ ] 1wk before feature freeze post in #argo-contributors that PRs must be merged by DD-MM-YYYY to be included in the release - ask approvers to drop items from milestone they can't merge
- [ ] At least two days before RC1 date, draft RC blog post and submit it for review (or delegate this task)
- [ ] Cut RC1 (or delegate this task to an Approver and coordinate timing)
- [ ] Create new release branch
- [ ] Create new release branch (or delegate this task to an Approver)
- [ ] Add the release branch to ReadTheDocs
- [ ] Confirm that tweet and blog post are ready
- [ ] Trigger the release
- [ ] After the release is finished, publish tweet and blog post
- [ ] Post in #argo-cd and #argo-announcements with lots of emojis announcing the release and requesting help testing
- [ ] Monitor support channels for issues, cherry-picking bugfixes and docs fixes as appropriate (or delegate this task to an Approver and coordinate timing)
- [ ] At release date, evaluate if any bugs justify delaying the release. If not, cut the release (or delegate this task to an Approver and coordinate timing)
- [ ] If unreleased changes are on the release branch for {current minor version minus 3}, cut a final patch release for that series (or delegate this task to an Approver and coordinate timing)
- [ ] After the release, post in #argo-cd that the {current minor version minus 3} has reached EOL (example: https://cloud-native.slack.com/archives/C01TSERG0KZ/p1667336234059729)
- [ ] Cut RC1 (or delegate this task to an Approver and coordinate timing)
- [ ] Run the [Init ArgoCD Release workflow](https://github.com/argoproj/argo-cd/actions/workflows/init-release.yaml) from the release branch
- [ ] Review and merge the generated version bump PR
- [ ] Run `./hack/trigger-release.sh` to push the release tag
- [ ] Monitor the [Publish ArgoCD Release workflow](https://github.com/argoproj/argo-cd/actions/workflows/release.yaml)
- [ ] Verify the release on [GitHub releases](https://github.com/argoproj/argo-cd/releases)
- [ ] Verify the container image on [Quay.io](https://quay.io/repository/argoproj/argocd?tab=tags)
- [ ] Confirm the new version appears in [Read the Docs](https://argo-cd.readthedocs.io/)
- [ ] Verify the docs release build in https://app.readthedocs.org/projects/argo-cd/ succeeded and retry if failed (requires an Approver with admin creds to readthedocs)
- [ ] Announce RC1 release
- [ ] Confirm that tweet and blog post are ready
- [ ] Publish tweet and blog post
- [ ] Post in #argo-cd and #argo-announcements requesting help testing:
```
:mega: Argo CD v{MAJOR}.{MINOR}.{PATCH}-rc{RC_NUMBER} is OUT NOW! :argocd::tada:
Please go through the following resources to know more about the release:
Release notes: https://github.com/argoproj/argo-cd/releases/tag/v{VERSION}
Blog: {BLOG_POST_URL}
We'd love your help testing this release candidate! Please try it out in your environments and report any issues you find. This helps us ensure a stable GA release.
Thanks to all the folks who spent their time contributing to this release in any way possible!
```
- [ ] Monitor support channels for issues, cherry-picking bugfixes and docs fixes as appropriate during the RC period (or delegate this task to an Approver and coordinate timing)
## GA Release Checklist
- [ ] At GA release date, evaluate if any bugs justify delaying the release
- [ ] Prepare for EOL version (version that is 3 releases old)
- [ ] If unreleased changes are on the release branch for {current minor version minus 3}, cut a final patch release for that series (or delegate this task to an Approver and coordinate timing)
- [ ] Edit the final patch release on GitHub and add the following notice at the top:
```markdown
> [!IMPORTANT]
> **END OF LIFE NOTICE**
>
> This is the final release of the {EOL_SERIES} release series. As of {GA_DATE}, this version has reached end of life and will no longer receive bug fixes or security updates.
>
> **Action Required**: Please upgrade to a [supported version](https://argo-cd.readthedocs.io/en/stable/operator-manual/upgrading/overview/) (v{SUPPORTED_VERSION_1}, v{SUPPORTED_VERSION_2}, or v{NEW_VERSION}).
```
- [ ] Cut GA release (or delegate this task to an Approver and coordinate timing)
- [ ] Run the [Init ArgoCD Release workflow](https://github.com/argoproj/argo-cd/actions/workflows/init-release.yaml) from the release branch
- [ ] Review and merge the generated version bump PR
- [ ] Run `./hack/trigger-release.sh` to push the release tag
- [ ] Monitor the [Publish ArgoCD Release workflow](https://github.com/argoproj/argo-cd/actions/workflows/release.yaml)
- [ ] Verify the release on [GitHub releases](https://github.com/argoproj/argo-cd/releases)
- [ ] Verify the container image on [Quay.io](https://quay.io/repository/argoproj/argocd?tab=tags)
- [ ] Verify the `stable` tag has been updated
- [ ] Confirm the new version appears in [Read the Docs](https://argo-cd.readthedocs.io/)
- [ ] Verify the docs release build in https://app.readthedocs.org/projects/argo-cd/ succeeded and retry if failed (requires an Approver with admin creds to readthedocs)
- [ ] Announce GA release with EOL notice
- [ ] Confirm that tweet and blog post are ready
- [ ] Publish tweet and blog post
- [ ] Post in #argo-cd and #argo-announcements announcing the release and EOL:
```
:mega: Argo CD v{MAJOR}.{MINOR} is OUT NOW! :argocd::tada:
Please go through the following resources to know more about the release:
Upgrade instructions: https://argo-cd.readthedocs.io/en/latest/operator-manual/upgrading/{PREV_MINOR}-{MAJOR}.{MINOR}/
Blog: {BLOG_POST_URL}
:warning: IMPORTANT: With the release of Argo CD v{MAJOR}.{MINOR}, support for Argo CD v{EOL_VERSION} has officially reached End of Life (EOL).
Thanks to all the folks who spent their time contributing to this release in any way possible!
```
- [ ] (For the next release champion) Review the [items scheduled for the next release](https://github.com/orgs/argoproj/projects/25). If any item does not have an assignee who can commit to finish the feature, move it to the next release.
- [ ] (For the next release champion) Schedule a time mid-way through the release cycle to review items again.
- [ ] (For the next release champion) Schedule a time mid-way through the release cycle to review items again.

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,10 +22,11 @@ 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: "/"
@@ -52,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

@@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}
@@ -37,7 +37,7 @@ jobs:
working-directory: /home/runner/go/src/github.com/argoproj/argo-cd
- name: Setup Golang
uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
with:
go-version: ${{ env.GOLANG_VERSION }}
- name: Add ~/go/bin to PATH
@@ -74,7 +74,7 @@ jobs:
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@5e914681df9dc83aa4e4905692ca88beb2f9e91f # v7.0.5
uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725 # v8.0.0
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 }}"

121
.github/workflows/cherry-pick-single.yml vendored Normal file
View File

@@ -0,0 +1,121 @@
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@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
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
TITLE="${PR_TITLE} (cherry-pick #${{ inputs.pr_number }} for ${{ inputs.version_number }})"
BODY=$(cat <<EOF
Cherry-picked ${PR_TITLE} (#${{ inputs.pr_number }})
${{ steps.cherry-pick.outputs.signoff }}
EOF
)
gh pr create \
--title "$TITLE" \
--body "$BODY" \
--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:
PR_TITLE: ${{ inputs.pr_title }}
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](https://github.com/argoproj/argo-cd/actions/runs/${{ github.run_id }}) 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

@@ -14,11 +14,11 @@ on:
env:
# Golang version to use across CI steps
# renovate: datasource=golang-version packageName=golang
GOLANG_VERSION: '1.24.1'
GOLANG_VERSION: '1.25.3'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
cancel-in-progress: ${{ github.ref != 'refs/heads/master' }}
permissions:
contents: read
@@ -31,8 +31,8 @@ jobs:
frontend: ${{ steps.filter.outputs.frontend_any_changed }}
docs: ${{ steps.filter.outputs.docs_any_changed }}
steps:
- uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
- uses: tj-actions/changed-files@bab30c2299617f6615ec02a68b9a40d10bd21366 # v45.0.5
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- uses: tj-actions/changed-files@e0021407031f5be11a464abee9a0776171c79891 # v47.0.1
id: filter
with:
# Any file which is not under docs/, ui/ or is not a markdown file is counted as a backend file
@@ -55,9 +55,9 @@ jobs:
- changes
steps:
- name: Checkout code
uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- name: Setup Golang
uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
with:
go-version: ${{ env.GOLANG_VERSION }}
- name: Download all Go modules
@@ -67,7 +67,6 @@ jobs:
run: |
go mod tidy
git diff --exit-code -- .
build-go:
name: Build & cache Go code
if: ${{ needs.changes.outputs.backend == 'true' }}
@@ -76,13 +75,13 @@ jobs:
- changes
steps:
- name: Checkout code
uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- name: Setup Golang
uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
with:
go-version: ${{ env.GOLANG_VERSION }}
- name: Restore go build cache
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
uses: actions/cache@a7833574556fa59680c1b7cb190c1735db73ebf0 # v5.0.0
with:
path: ~/.cache/go-build
key: ${{ runner.os }}-go-build-v1-${{ github.run_id }}
@@ -103,16 +102,16 @@ jobs:
- changes
steps:
- name: Checkout code
uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- name: Setup Golang
uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
with:
go-version: ${{ env.GOLANG_VERSION }}
- name: Run golangci-lint
uses: golangci/golangci-lint-action@971e284b6050e8a5849b72094c50ab08da042db8 # v6.1.1
uses: golangci/golangci-lint-action@1e7e51e771db61008b38414a730f564565cf7c20 # v9.2.0
with:
# renovate: datasource=go packageName=github.com/golangci/golangci-lint versioning=regex:^v(?<major>\d+)\.(?<minor>\d+)\.(?<patch>\d+)?$
version: v1.64.7
version: v2.5.0
args: --verbose
test-go:
@@ -129,11 +128,11 @@ jobs:
- name: Create checkout directory
run: mkdir -p ~/go/src/github.com/argoproj
- name: Checkout code
uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- name: Create symlink in GOPATH
run: ln -s $(pwd) ~/go/src/github.com/argoproj/argo-cd
- name: Setup Golang
uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
with:
go-version: ${{ env.GOLANG_VERSION }}
- name: Install required packages
@@ -153,7 +152,7 @@ jobs:
run: |
echo "/usr/local/bin" >> $GITHUB_PATH
- name: Restore go build cache
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
uses: actions/cache@a7833574556fa59680c1b7cb190c1735db73ebf0 # v5.0.0
with:
path: ~/.cache/go-build
key: ${{ runner.os }}-go-build-v1-${{ github.run_id }}
@@ -174,7 +173,7 @@ jobs:
- name: Run all unit tests
run: make test-local
- name: Generate test results artifacts
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: test-results
path: test-results
@@ -193,11 +192,11 @@ jobs:
- name: Create checkout directory
run: mkdir -p ~/go/src/github.com/argoproj
- name: Checkout code
uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- name: Create symlink in GOPATH
run: ln -s $(pwd) ~/go/src/github.com/argoproj/argo-cd
run: ln -s $(pwd) ~/go/src/github.com/argoproj/argo-cd
- name: Setup Golang
uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
with:
go-version: ${{ env.GOLANG_VERSION }}
- name: Install required packages
@@ -217,7 +216,7 @@ jobs:
run: |
echo "/usr/local/bin" >> $GITHUB_PATH
- name: Restore go build cache
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
uses: actions/cache@a7833574556fa59680c1b7cb190c1735db73ebf0 # v5.0.0
with:
path: ~/.cache/go-build
key: ${{ runner.os }}-go-build-v1-${{ github.run_id }}
@@ -238,7 +237,7 @@ jobs:
- name: Run all unit tests
run: make test-race-local
- name: Generate test results artifacts
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: race-results
path: test-results/
@@ -251,15 +250,16 @@ jobs:
- changes
steps:
- name: Checkout code
uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- name: Setup Golang
uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
with:
go-version: ${{ env.GOLANG_VERSION }}
- name: Create symlink in GOPATH
# generalizing repo name for forks: ${{ github.event.repository.name }}
run: |
mkdir -p ~/go/src/github.com/argoproj
cp -a ../argo-cd ~/go/src/github.com/argoproj
cp -a ../${{ github.event.repository.name }} ~/go/src/github.com/argoproj
- name: Add ~/go/bin to PATH
run: |
echo "/home/runner/go/bin" >> $GITHUB_PATH
@@ -271,12 +271,14 @@ jobs:
# 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
# generalizing repo name for forks: ${{ github.event.repository.name }}
working-directory: /home/runner/go/src/github.com/argoproj/${{ github.event.repository.name }}
- 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
# generalizing repo name for forks: ${{ github.event.repository.name }}
working-directory: /home/runner/go/src/github.com/argoproj/${{ github.event.repository.name }}
# We install kustomize in the dist directory
- name: Add dist to PATH
run: |
@@ -287,12 +289,14 @@ jobs:
export GOPATH=$(go env GOPATH)
git checkout -- go.mod go.sum
make codegen-local
working-directory: /home/runner/go/src/github.com/argoproj/argo-cd
# generalizing repo name for forks: ${{ github.event.repository.name }}
working-directory: /home/runner/go/src/github.com/argoproj/${{ github.event.repository.name }}
- name: Check nothing has changed
run: |
set -xo pipefail
git diff --exit-code -- . ':!go.sum' ':!go.mod' ':!assets/swagger.json' | tee codegen.patch
working-directory: /home/runner/go/src/github.com/argoproj/argo-cd
# generalizing repo name for forks: ${{ github.event.repository.name }}
working-directory: /home/runner/go/src/github.com/argoproj/${{ github.event.repository.name }}
build-ui:
name: Build, test & lint UI code
@@ -303,15 +307,15 @@ jobs:
- changes
steps:
- name: Checkout code
uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- name: Setup NodeJS
uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
with:
# renovate: datasource=node-version packageName=node versioning=node
node-version: '22.9.0'
- name: Restore node dependency cache
id: cache-dependencies
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
uses: actions/cache@a7833574556fa59680c1b7cb190c1735db73ebf0 # v5.0.0
with:
path: ui/node_modules
key: ${{ runner.os }}-node-dep-v2-${{ hashFiles('**/yarn.lock') }}
@@ -333,6 +337,15 @@ jobs:
run: yarn lint
working-directory: ui/
shellcheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- 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' }}
@@ -346,12 +359,12 @@ jobs:
sonar_secret: ${{ secrets.SONAR_TOKEN }}
steps:
- name: Checkout code
uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
fetch-depth: 0
- name: Restore node dependency cache
id: cache-dependencies
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
uses: actions/cache@a7833574556fa59680c1b7cb190c1735db73ebf0 # v5.0.0
with:
path: ui/node_modules
key: ${{ runner.os }}-node-dep-v2-${{ hashFiles('**/yarn.lock') }}
@@ -359,12 +372,12 @@ 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@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.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@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: test-results
path: test-results
@@ -376,15 +389,15 @@ jobs:
run: |
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@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0
uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
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@9739113ad922ea0a9abb4b2c0f8bf6a4aa8ef820 # v1.0.1
uses: codecov/test-results-action@47f89e9acb64b76debcd5ea40642d25a4adced9f # v1.1.1
with:
file: test-results/junit.xml
fail_ci_if_error: true
@@ -393,31 +406,30 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
uses: SonarSource/sonarqube-scan-action@bfd4e558cda28cda6b5defafb9232d191be8c203 # v4.2.1
uses: SonarSource/sonarqube-scan-action@a31c9398be7ace6bbfaf30c0bd5d415f843d45e9 # v7.0.0
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: ${{ github.repository == 'argoproj/argo-cd' && 'oracle-vm-16cpu-64gb-x86-64' || 'ubuntu-22.04' }}
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.32.1
- version: v1.33.1
latest: true
- version: v1.32.1
latest: false
- version: v1.31.0
latest: false
- version: v1.30.4
latest: false
- version: v1.29.8
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'
@@ -438,11 +450,14 @@ jobs:
swap-storage: false
tool-cache: false
- name: Checkout code
uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- name: Setup Golang
uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
with:
go-version: ${{ env.GOLANG_VERSION }}
- name: Set GOPATH
run: |
echo "GOPATH=$HOME/go" >> $GITHUB_ENV
- name: GH actions workaround - Kill XSP4 process
run: |
sudo pkill mono || true
@@ -453,19 +468,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 $(whoami) $HOME/.kube
sudo k3s kubectl config view --raw > $HOME/.kube/config
sudo chown runner $HOME/.kube/config
sudo chown $(whoami) $HOME/.kube/config
sudo chmod go-r $HOME/.kube/config
kubectl version
- name: Restore go build cache
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
uses: actions/cache@a7833574556fa59680c1b7cb190c1735db73ebf0 # v5.0.0
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/go/bin" >> $GITHUB_PATH
- name: Add /usr/local/bin to PATH
run: |
echo "/usr/local/bin" >> $GITHUB_PATH
@@ -485,13 +500,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.2.7-alpine
docker pull redis:8.2.3-alpine
- name: Create target directory for binaries in the build-process
run: |
mkdir -p dist
chown runner dist
chown $(whoami) dist
- name: Run E2E server and wait for it being available
timeout-minutes: 30
run: |
@@ -517,13 +532,13 @@ jobs:
goreman run stop-all || echo "goreman trouble"
sleep 30
- name: Upload e2e coverage report
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: e2e-code-coverage
path: /tmp/coverage
if: ${{ matrix.k3s.latest }}
- name: Upload e2e-server logs
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: e2e-server-k8s${{ matrix.k3s.version }}.log
path: /tmp/e2e-server.log

View File

@@ -29,11 +29,11 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
# Use correct go version. https://github.com/github/codeql-action/issues/1842#issuecomment-1704398087
- name: Setup Golang
uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
with:
go-version-file: go.mod

View File

@@ -56,26 +56,27 @@ jobs:
image-digest: ${{ steps.image.outputs.digest }}
steps:
- name: Checkout code
uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}
if: ${{ github.ref_type == 'tag'}}
- name: Checkout code
uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
if: ${{ github.ref_type != 'tag'}}
- name: Setup Golang
uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
with:
go-version: ${{ inputs.go-version }}
cache: false
- name: Install cosign
uses: sigstore/cosign-installer@dc72c7d5c4d10cd6bcb8cf6e3fd625a9e5e537da # v3.7.0
uses: sigstore/cosign-installer@faadad0cce49287aee09b3a48701e75088a2c6ad # v4.0.0
- uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3.2.0
- uses: docker/setup-buildx-action@6524bf65af31da8d45b59e8c27de4bd072b392f5 # v3.8.0
- 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: |
@@ -102,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@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
with:
registry: quay.io
username: ${{ secrets.quay_username }}
@@ -110,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@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
with:
registry: ghcr.io
username: ${{ secrets.ghcr_username }}
@@ -118,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@5e57cd118135c172c3672efd75eb46360885c0ef # v3.6.0
with:
username: ${{ secrets.docker_username }}
password: ${{ secrets.docker_password }}
@@ -141,7 +142,7 @@ jobs:
- name: Build and push container image
id: image
uses: docker/build-push-action@48aba3b46d1b1fec4febb7c5d0c644b249a11355 #v6.10.0
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 #v6.18.0
with:
context: .
platforms: ${{ inputs.platforms }}

View File

@@ -19,16 +19,49 @@ jobs:
set-vars:
permissions:
contents: read
if: github.repository == 'argoproj/argo-cd'
# Always run to calculate variables - other jobs check outputs
runs-on: ubuntu-22.04
outputs:
image-tag: ${{ steps.image.outputs.tag}}
platforms: ${{ steps.platforms.outputs.platforms }}
image_namespace: ${{ steps.image.outputs.image_namespace }}
image_repository: ${{ steps.image.outputs.image_repository }}
quay_image_name: ${{ steps.image.outputs.quay_image_name }}
ghcr_image_name: ${{ steps.image.outputs.ghcr_image_name }}
ghcr_provenance_image: ${{ steps.image.outputs.ghcr_provenance_image }}
allow_ghcr_publish: ${{ steps.image.outputs.allow_ghcr_publish }}
steps:
- uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- name: Set image tag for ghcr
run: echo "tag=$(cat ./VERSION)-${GITHUB_SHA::8}" >> $GITHUB_OUTPUT
- name: Set image tag and names
run: |
# Calculate image tag
TAG="$(cat ./VERSION)-${GITHUB_SHA::8}"
echo "tag=$TAG" >> $GITHUB_OUTPUT
# Calculate image names with defaults
IMAGE_NAMESPACE="${{ vars.IMAGE_NAMESPACE || 'argoproj' }}"
IMAGE_REPOSITORY="${{ vars.IMAGE_REPOSITORY || 'argocd' }}"
GHCR_NAMESPACE="${{ vars.GHCR_NAMESPACE || github.repository }}"
GHCR_REPOSITORY="${{ vars.GHCR_REPOSITORY || 'argocd' }}"
echo "image_namespace=$IMAGE_NAMESPACE" >> $GITHUB_OUTPUT
echo "image_repository=$IMAGE_REPOSITORY" >> $GITHUB_OUTPUT
# Construct image name
echo "quay_image_name=quay.io/$IMAGE_NAMESPACE/$IMAGE_REPOSITORY:latest" >> $GITHUB_OUTPUT
ALLOW_GHCR_PUBLISH=false
if [[ "${{ github.repository }}" == "argoproj/argo-cd" || "$GHCR_NAMESPACE" != argoproj/* ]]; then
ALLOW_GHCR_PUBLISH=true
echo "ghcr_image_name=ghcr.io/$GHCR_NAMESPACE/$GHCR_REPOSITORY:$TAG" >> $GITHUB_OUTPUT
echo "ghcr_provenance_image=ghcr.io/$GHCR_NAMESPACE/$GHCR_REPOSITORY" >> $GITHUB_OUTPUT
else
echo "GhCR publish skipped: refusing to push to namespace '$GHCR_NAMESPACE'. Please override GHCR_* for forks." >&2
echo "ghcr_image_name=" >> $GITHUB_OUTPUT
echo "ghcr_provenance_image=" >> $GITHUB_OUTPUT
fi
echo "allow_ghcr_publish=$ALLOW_GHCR_PUBLISH" >> $GITHUB_OUTPUT
id: image
- name: Determine image platforms to use
@@ -48,12 +81,12 @@ jobs:
contents: read
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' }}
if: ${{ (github.repository == 'argoproj/argo-cd' || needs.set-vars.outputs.image_namespace != 'argoproj') && 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)
# renovate: datasource=golang-version packageName=golang
go-version: 1.24.1
go-version: 1.25.3
platforms: ${{ needs.set-vars.outputs.platforms }}
push: false
@@ -63,14 +96,14 @@ jobs:
contents: read
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' }}
if: ${{ (github.repository == 'argoproj/argo-cd' || needs.set-vars.outputs.image_namespace != 'argoproj') && github.event_name == 'push' }}
uses: ./.github/workflows/image-reuse.yaml
with:
quay_image_name: quay.io/argoproj/argocd:latest
ghcr_image_name: ghcr.io/argoproj/argo-cd/argocd:${{ needs.set-vars.outputs.image-tag }}
quay_image_name: ${{ needs.set-vars.outputs.quay_image_name }}
ghcr_image_name: ${{ needs.set-vars.outputs.ghcr_image_name }}
# Note: cannot use env variables to set go-version (https://docs.github.com/en/actions/using-workflows/reusing-workflows#limitations)
# renovate: datasource=golang-version packageName=golang
go-version: 1.24.1
go-version: 1.25.3
platforms: ${{ needs.set-vars.outputs.platforms }}
push: true
secrets:
@@ -81,16 +114,17 @@ jobs:
build-and-publish-provenance: # Push attestations to GHCR, latest image is polluting quay.io
needs:
- set-vars
- build-and-publish
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)
if: ${{ github.repository == 'argoproj/argo-cd' && github.event_name == 'push' }}
if: ${{ (github.repository == 'argoproj/argo-cd' || needs.set-vars.outputs.image_namespace != 'argoproj') && github.event_name == 'push' && needs.set-vars.outputs.allow_ghcr_publish == 'true'}}
# 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
image: ${{ needs.set-vars.outputs.ghcr_provenance_image }}
digest: ${{ needs.build-and-publish.outputs.image-digest }}
registry-username: ${{ github.actor }}
secrets:
@@ -106,7 +140,7 @@ jobs:
if: ${{ github.repository == 'argoproj/argo-cd' && github.event_name == 'push' }}
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
- run: git clone "https://$TOKEN@github.com/argoproj/argoproj-deployments"
env:
TOKEN: ${{ secrets.TOKEN }}

View File

@@ -21,9 +21,15 @@ jobs:
pull-requests: write # for peter-evans/create-pull-request to create a PR
name: Automatically generate version and manifests on ${{ inputs.TARGET_BRANCH }}
runs-on: ubuntu-22.04
env:
# Calculate image names with defaults, this will be used in the make manifests-local command
# to generate the correct image name in the manifests
IMAGE_REGISTRY: ${{ vars.IMAGE_REGISTRY || 'quay.io' }}
IMAGE_NAMESPACE: ${{ vars.IMAGE_NAMESPACE || 'argoproj' }}
IMAGE_REPOSITORY: ${{ vars.IMAGE_REPOSITORY || 'argocd' }}
steps:
- name: Checkout code
uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}
@@ -64,7 +70,7 @@ jobs:
git stash pop
- name: Create pull request
uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f # v7.0.5
uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725 # v8.0.0
with:
commit-message: "Bump version to ${{ inputs.TARGET_VERSION }}"
title: "Bump version to ${{ inputs.TARGET_VERSION }} on ${{ inputs.TARGET_BRANCH }} branch"

View File

@@ -11,38 +11,99 @@ permissions: {}
env:
# renovate: datasource=golang-version packageName=golang
GOLANG_VERSION: '1.24.1' # Note: go-version must also be set in job argocd-image.with.go-version
GOLANG_VERSION: '1.25.3' # Note: go-version must also be set in job argocd-image.with.go-version
jobs:
argocd-image:
needs: [setup-variables]
permissions:
contents: read
id-token: write # for creating OIDC tokens for signing.
packages: write # used to push images to `ghcr.io` if used.
if: github.repository == 'argoproj/argo-cd'
if: github.repository == 'argoproj/argo-cd' || needs.setup-variables.outputs.allow_fork_release == 'true'
uses: ./.github/workflows/image-reuse.yaml
with:
quay_image_name: quay.io/argoproj/argocd:${{ github.ref_name }}
quay_image_name: ${{ needs.setup-variables.outputs.quay_image_name }}
# Note: cannot use env variables to set go-version (https://docs.github.com/en/actions/using-workflows/reusing-workflows#limitations)
# renovate: datasource=golang-version packageName=golang
go-version: 1.24.1
go-version: 1.25.3
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' || (github.repository_owner != 'argoproj' && vars.ENABLE_FORK_RELEASES == 'true' && vars.IMAGE_NAMESPACE && vars.IMAGE_NAMESPACE != 'argoproj')
runs-on: ubuntu-22.04
outputs:
is_pre_release: ${{ steps.var.outputs.is_pre_release }}
is_latest_release: ${{ steps.var.outputs.is_latest_release }}
enable_fork_releases: ${{ steps.var.outputs.enable_fork_releases }}
image_namespace: ${{ steps.var.outputs.image_namespace }}
image_repository: ${{ steps.var.outputs.image_repository }}
quay_image_name: ${{ steps.var.outputs.quay_image_name }}
provenance_image: ${{ steps.var.outputs.provenance_image }}
allow_fork_release: ${{ steps.var.outputs.allow_fork_release }}
steps:
- name: Checkout code
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
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
# Calculate configuration with defaults
ENABLE_FORK_RELEASES="${{ vars.ENABLE_FORK_RELEASES || 'false' }}"
IMAGE_NAMESPACE="${{ vars.IMAGE_NAMESPACE || 'argoproj' }}"
IMAGE_REPOSITORY="${{ vars.IMAGE_REPOSITORY || 'argocd' }}"
echo "enable_fork_releases=$ENABLE_FORK_RELEASES" >> $GITHUB_OUTPUT
echo "image_namespace=$IMAGE_NAMESPACE" >> $GITHUB_OUTPUT
echo "image_repository=$IMAGE_REPOSITORY" >> $GITHUB_OUTPUT
echo "quay_image_name=quay.io/$IMAGE_NAMESPACE/$IMAGE_REPOSITORY:${{ github.ref_name }}" >> $GITHUB_OUTPUT
echo "provenance_image=quay.io/$IMAGE_NAMESPACE/$IMAGE_REPOSITORY" >> $GITHUB_OUTPUT
ALLOW_FORK_RELEASE=false
if [[ "${{ github.repository_owner }}" != "argoproj" && "$ENABLE_FORK_RELEASES" == "true" && "$IMAGE_NAMESPACE" != "argoproj" && "${{ github.ref }}" == refs/tags/* ]]; then
ALLOW_FORK_RELEASE=true
fi
echo "allow_fork_release=$ALLOW_FORK_RELEASE" >> $GITHUB_OUTPUT
argocd-image-provenance:
needs: [argocd-image]
needs: [setup-variables, 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
if: github.repository == 'argoproj/argo-cd' || needs.setup-variables.outputs.allow_fork_release == 'true'
uses: slsa-framework/slsa-github-generator/.github/workflows/generator_container_slsa3.yml@v2.1.0
with:
image: quay.io/argoproj/argocd
image: ${{ needs.setup-variables.outputs.provenance_image }}
digest: ${{ needs.argocd-image.outputs.image-digest }}
secrets:
registry-username: ${{ secrets.RELEASE_QUAY_USERNAME }}
@@ -50,18 +111,20 @@ jobs:
goreleaser:
needs:
- setup-variables
- argocd-image
- argocd-image-provenance
permissions:
contents: write # used for uploading assets
if: github.repository == 'argoproj/argo-cd'
if: github.repository == 'argoproj/argo-cd' || needs.setup-variables.outputs.allow_fork_release == 'true'
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
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}
@@ -70,14 +133,16 @@ jobs:
run: git fetch --force --tags
- name: Setup Golang
uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.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
echo "GORELEASER_PREVIOUS_TAG=$(go run hack/get-previous-release/get-previous-version-for-release-notes.go ${{ github.ref_name }})" >> $GITHUB_ENV
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
@@ -94,7 +159,7 @@ jobs:
tool-cache: false
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@9ed2f89a662bf1735a48bc8557fd212fa902bebf # v6.1.0
uses: goreleaser/goreleaser-action@e435ccd777264be153ace6237001ef4d979d3a7a # v6.4.0
id: run-goreleaser
with:
version: latest
@@ -103,6 +168,8 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
KUBECTL_VERSION: ${{ env.KUBECTL_VERSION }}
GIT_TREE_STATE: ${{ env.GIT_TREE_STATE }}
# Used to determine the current repository in the goreleaser config to display correct manifest links
GORELEASER_CURRENT_REPOSITORY: ${{ github.repository }}
- name: Generate subject for provenance
id: hash
@@ -119,14 +186,14 @@ jobs:
echo "hashes=$hashes" >> $GITHUB_OUTPUT
goreleaser-provenance:
needs: [goreleaser]
needs: [goreleaser, setup-variables]
permissions:
actions: read # for detecting the Github Actions environment
id-token: write # Needed for provenance signing and ID
contents: write # Needed for release uploads
if: github.repository == 'argoproj/argo-cd'
if: github.repository == 'argoproj/argo-cd' || needs.setup-variables.outputs.allow_fork_release == 'true'
# 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'
@@ -137,23 +204,25 @@ jobs:
needs:
- argocd-image
- goreleaser
- setup-variables
permissions:
contents: write # Needed for release uploads
outputs:
hashes: ${{ steps.sbom-hash.outputs.hashes}}
if: github.repository == 'argoproj/argo-cd'
hashes: ${{ steps.sbom-hash.outputs.hashes }}
if: github.repository == 'argoproj/argo-cd' || needs.setup-variables.outputs.allow_fork_release == 'true'
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Golang
uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
with:
go-version: ${{ env.GOLANG_VERSION }}
cache: false
- name: Generate SBOM (spdx)
id: spdx-builder
@@ -166,7 +235,7 @@ jobs:
# managers (gomod, yarn, npm).
PROJECT_FOLDERS: '.,./ui'
# full qualified name of the docker image to be inspected
DOCKER_IMAGE: quay.io/argoproj/argocd:${{ github.ref_name }}
DOCKER_IMAGE: ${{ needs.setup-variables.outputs.quay_image_name }}
run: |
yarn install --cwd ./ui
go install github.com/spdx/spdx-sbom-generator/cmd/generator@$SPDX_GEN_VERSION
@@ -195,7 +264,7 @@ jobs:
echo "hashes=$(sha256sum /tmp/sbom.tar.gz | base64 -w0)" >> "$GITHUB_OUTPUT"
- name: Upload SBOM
uses: softprops/action-gh-release@c95fe1489396fe8a9eb87c0abf8aa5b2ef267fda # v2.2.1
uses: softprops/action-gh-release@a06a81a03ee405af7f2048a818ed3f03bbf83c7b # v2.5.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
@@ -203,14 +272,14 @@ jobs:
/tmp/sbom.tar.gz
sbom-provenance:
needs: [generate-sbom]
needs: [generate-sbom, setup-variables]
permissions:
actions: read # for detecting the Github Actions environment
id-token: write # Needed for provenance signing and ID
contents: write # Needed for release uploads
if: github.repository == 'argoproj/argo-cd'
if: github.repository == 'argoproj/argo-cd' || needs.setup-variables.outputs.allow_fork_release == 'true'
# 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.0.0
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'
@@ -218,17 +287,20 @@ jobs:
post-release:
needs:
- setup-variables
- argocd-image
- goreleaser
- generate-sbom
permissions:
contents: write # Needed to push commit to update stable tag
pull-requests: write # Needed to create PR for VERSION update.
if: github.repository == 'argoproj/argo-cd'
if: github.repository == 'argoproj/argo-cd' || needs.setup-variables.outputs.allow_fork_release == 'true'
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
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}
@@ -239,27 +311,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 }}
@@ -293,7 +344,7 @@ jobs:
if: ${{ env.UPDATE_VERSION == 'true' }}
- name: Create PR to update VERSION on master branch
uses: peter-evans/create-pull-request@5e914681df9dc83aa4e4905692ca88beb2f9e91f # v7.0.5
uses: peter-evans/create-pull-request@98357b18bf14b5342f975ff684046ec3b2a07725 # v8.0.0
with:
commit-message: Bump version in master
title: 'chore: Bump version in master'

39
.github/workflows/renovate.yaml vendored Normal file
View File

@@ -0,0 +1,39 @@
name: Renovate
on:
schedule:
- cron: '0 * * * *'
workflow_dispatch: {}
permissions:
contents: read
jobs:
renovate:
runs-on: ubuntu-latest
if: github.repository == 'argoproj/argo-cd'
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@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
with:
# renovate: datasource=golang-version packageName=golang
go-version: 1.25.3
- name: Self-hosted Renovate
uses: renovatebot/github-action@5712c6a41dea6cdf32c72d92a763bd417e6606aa #44.0.5
with:
configurationFile: .github/configs/renovate-config.js
token: '${{ steps.get_token.outputs.token }}'
env:
LOG_LEVEL: 'debug'
RENOVATE_REPOSITORIES: '${{ github.repository }}'

View File

@@ -30,12 +30,12 @@ jobs:
steps:
- name: "Checkout code"
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
persist-credentials: false
- name: "Run analysis"
uses: ossf/scorecard-action@62b2cac7ed8198b15735ed49ab1e5cf35480ba46 # v2.4.0
uses: ossf/scorecard-action@4eaacf0543bb3f2c246792bd56e8cdeffafb205a # v2.4.3
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@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: SARIF file
path: results.sarif

View File

@@ -17,7 +17,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@8410ad0602e1e429cee44a835ae9f77f654a6694 # v4.0.0
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Build reports

5
.gitignore vendored
View File

@@ -8,6 +8,7 @@ ui/dist/app/*
!ui/dist/app/gitkeep
site/
*.iml
.tilt-bin/
# delve debug binaries
cmd/**/debug
debug.test
@@ -19,6 +20,7 @@ node_modules/
.kube/
./test/cmp/*.sock
.envrc.remote
.mirrord/
.*.swp
rerunreport.txt
@@ -27,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:a47a68ee7f9da10cd889ccce4661bc73f2c0d5a98d3d087e8bdfc0230b27964c
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,156 +1,253 @@
issues:
exclude:
- 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
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
- gosimple
- govet
- importas
- ineffassign
- misspell
# Disabled because of https://github.com/argoproj/argo-cd/issues/21705
# - nolintlint
- noctx
- perfsprint
- revive
- staticcheck
- testifylint
- thelper
- tparallel
- unparam
- unused
- usestdlibvars
- usetesting
- whitespace
linters-settings:
gocritic:
disabled-checks:
- appendAssign
- assignOp # Keep it disabled for readability
- exitAfterDefer
- mapKey
- typeSwitchVar
goimports:
local-prefixes: github.com/argoproj/argo-cd/v3
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
importas:
alias:
- alias: jwtgo
pkg: github.com/golang-jwt/jwt/v5
- alias: appsv1
pkg: k8s.io/api/apps/v1
- alias: corev1
pkg: k8s.io/api/core/v1
- alias: rbacv1
pkg: k8s.io/api/rbac/v1
- alias: apierrors
pkg: k8s.io/apimachinery/pkg/api/errors
- alias: apiextensionsv1
pkg: k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1
- alias: metav1
pkg: k8s.io/apimachinery/pkg/apis/meta/v1
- alias: informersv1
pkg: k8s.io/client-go/informers/core/v1
- alias: stderrors
pkg: errors
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
exclusions:
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
testifylint:
enable-all: true
disable:
- go-require
usetesting:
os-mkdir-temp: false
run:
timeout: 50m
- 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

@@ -24,8 +24,8 @@ builds:
- -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: |
@@ -65,14 +66,14 @@ release:
```shell
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/{{.Tag}}/manifests/install.yaml
kubectl apply -n argocd --server-side --force-conflicts -f https://raw.githubusercontent.com/{{ .Env.GORELEASER_CURRENT_REPOSITORY }}/{{.Tag}}/manifests/install.yaml
```
### HA:
```shell
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/{{.Tag}}/manifests/ha/install.yaml
kubectl apply -n argocd --server-side --force-conflicts -f https://raw.githubusercontent.com/{{ .Env.GORELEASER_CURRENT_REPOSITORY }}/{{.Tag}}/manifests/ha/install.yaml
```
## Release Signatures and Provenance
@@ -80,26 +81,27 @@ 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-v2-14-release-candidate-57a664791e2a)
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 }}
**Full Changelog**: https://github.com/{{ .Env.GORELEASER_CURRENT_REPOSITORY }}/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
@@ -119,7 +121,4 @@ changelog:
- '^test:'
- '^.*?Bump(\([[:word:]]+\))?.+$'
- '^.*?\[Bot\](\([[:word:]]+\))?.+$'
# yaml-language-server: $schema=https://goreleaser.com/static/schema.json

View File

@@ -1,82 +1,96 @@
# global config
filename: "{{.InterfaceName}}.go"
dir: "{{.InterfaceDir}}/mocks"
outpkg: "mocks"
mockname: "{{.InterfaceName}}"
with-expecter: false
# individual interface config
dir: '{{.InterfaceDir}}/mocks'
filename: '{{.InterfaceName}}.go'
include-auto-generated: true # Needed since mockery 3.6.1
packages:
github.com/argoproj/argo-cd/v3/applicationset/generators:
interfaces:
Generator:
Generator: {}
github.com/argoproj/argo-cd/v3/applicationset/services:
interfaces:
Repos:
Repos: {}
github.com/argoproj/argo-cd/v3/applicationset/services/scm_provider:
config:
dir: "applicationset/services/scm_provider/aws_codecommit/mocks"
interfaces:
AWSCodeCommitClient:
AWSTaggingClient:
github.com/microsoft/azure-devops-go-api/azuredevops/git:
config:
dir: "applicationset/services/scm_provider/azure_devops/git/mocks"
interfaces:
Client:
AWSCodeCommitClient: {}
AWSTaggingClient: {}
AzureDevOpsClientFactory: {}
github.com/argoproj/argo-cd/v3/applicationset/utils:
interfaces:
Renderer:
github.com/argoproj/argo-cd/v3/commitserver/commit:
interfaces:
RepoClientFactory:
Renderer: {}
github.com/argoproj/argo-cd/v3/commitserver/apiclient:
interfaces:
CommitServiceClient:
Clientset:
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/reposerver/apiclient:
LiveStateCache: {}
github.com/argoproj/argo-cd/v3/controller/hydrator:
interfaces:
RepoServerServiceClient:
RepoServerService_GenerateManifestWithFilesClient:
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/io:
interfaces:
TempPaths:
github.com/argoproj/argo-cd/v3/util/notification/argocd:
interfaces:
Service:
github.com/argoproj/argo-cd/v3/util/workloadidentity:
interfaces:
TokenProvider:
# These mocks are not currently used, but they are part of the public API of this package.
github.com/argoproj/argo-cd/v3/pkg/apiclient/session:
interfaces:
SessionServiceServer:
SessionServiceClient:
Dependencies: {}
RepoGetter: {}
github.com/argoproj/argo-cd/v3/pkg/apiclient/cluster:
interfaces:
ClusterServiceServer:
ClusterServiceServer: {}
github.com/argoproj/argo-cd/v3/pkg/apiclient/project:
interfaces:
ProjectServiceClient: {}
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:
AppProjectInterface: {}
github.com/argoproj/argo-cd/v3/reposerver/apiclient:
interfaces:
RepoServerServiceClient: {}
RepoServerService_GenerateManifestWithFilesClient: {}
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: {}
RepoCredsDB: {}
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/io:
interfaces:
TempPaths: {}
github.com/argoproj/argo-cd/v3/util/notification/argocd:
interfaces:
Service: {}
github.com/argoproj/argo-cd/v3/util/oci:
interfaces:
Client: {}
github.com/argoproj/argo-cd/v3/util/workloadidentity:
interfaces:
TokenProvider: {}
github.com/argoproj/gitops-engine/pkg/cache:
interfaces:
ClusterCache: {}
github.com/argoproj/gitops-engine/pkg/diff:
interfaces:
ServerSideDryRunner: {}
github.com/microsoft/azure-devops-go-api/azuredevops/v7/git:
config:
dir: applicationset/services/scm_provider/azure_devops/git/mocks
interfaces:
Client: {}
pkgname: mocks
structname: '{{.InterfaceName}}'
template-data:
unroll-variadic: true

View File

@@ -12,3 +12,9 @@
/.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
# Also include @argoproj/argocd-approvers-docs to avoid requiring CLI approvers for docs-only PRs.
/docs/operator-manual/ @argoproj/argocd-approvers @argoproj/argocd-approvers-docs @argoproj/argocd-approvers-cli

View File

@@ -1,10 +1,12 @@
ARG BASE_IMAGE=docker.io/library/ubuntu:24.04@sha256:80dd3c3b9c6cecb9f1667e9290b3bc61b78c2678c02cbdae5f0fea92cc6734ab
ARG BASE_IMAGE=docker.io/library/ubuntu:25.04@sha256:27771fb7b40a58237c98e8d3e6b9ecdd9289cec69a857fccfb85ff36294dac20
####################################################################################################
# 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.24.1@sha256:c5adecdb7b3f8c5ca3c88648a861882849cc8b02fed68ece31e25de88ad13418 AS builder
FROM docker.io/library/golang:1.25.3@sha256:6d4e5e74f47db00f7f24da5f53c1b4198ae46862a47395e30477365458347bf2 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:23.0.0@sha256:e643c0b70dca9704dff42e12b17f5b719dbe4f95e6392fc2dfa0c5f02ea8044d AS argocd-ui
FROM --platform=$BUILDPLATFORM docker.io/library/node:23.0.0@sha256:9d09fa506f5b8465c5221cbd6f980e29ae0ce9a3119e2b9bc0842e6a3f37bb59 AS argocd-ui
WORKDIR /src
COPY ["ui/package.json", "ui/yarn.lock", "./"]
@@ -101,23 +103,25 @@ 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.24.1@sha256:c5adecdb7b3f8c5ca3c88648a861882849cc8b02fed68ece31e25de88ad13418 AS argocd-build
FROM --platform=$BUILDPLATFORM docker.io/library/golang:1.25.3@sha256:6d4e5e74f47db00f7f24da5f53c1b4198ae46862a47395e30477365458347bf2 AS argocd-build
WORKDIR /go/src/github.com/argoproj/argo-cd
COPY go.* ./
RUN mkdir -p gitops-engine
COPY gitops-engine/go.* ./gitops-engine
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 +134,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
@@ -144,4 +149,3 @@ RUN ln -s /usr/local/bin/argocd /usr/local/bin/argocd-server && \
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.3@sha256:6d4e5e74f47db00f7f24da5f53c1b4198ae46862a47395e30477365458347bf2
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

@@ -3,7 +3,16 @@ 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,10 +43,21 @@ 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
MKDOCS_DOCKER_IMAGE?=python:3.7-alpine
# pointing to python 3.12 to match https://github.com/argoproj/argo-cd/blob/master/.readthedocs.yaml
MKDOCS_DOCKER_IMAGE?=python:3.12-alpine
MKDOCS_RUN_ARGS?=
# Configuration for building argocd-test-tools image
@@ -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
@@ -174,7 +198,7 @@ endif
ifneq (${GIT_TAG},)
IMAGE_TAG=${GIT_TAG}
LDFLAGS += -X ${PACKAGE}.gitTag=${GIT_TAG}
override LDFLAGS += -X ${PACKAGE}.gitTag=${GIT_TAG}
else
IMAGE_TAG?=latest
endif
@@ -189,6 +213,10 @@ ifdef IMAGE_NAMESPACE
IMAGE_PREFIX=${IMAGE_NAMESPACE}/
endif
ifndef IMAGE_REGISTRY
IMAGE_REGISTRY="quay.io"
endif
.PHONY: all
all: cli image
@@ -237,8 +265,12 @@ clidocsgen:
actionsdocsgen:
hack/generate-actions-list.sh
.PHONY: resourceiconsgen
resourceiconsgen:
hack/generate-icons-typescript.sh
.PHONY: codegen-local
codegen-local: mod-vendor-local mockgen gogen protogen clientgen openapigen clidocsgen actionsdocsgen manifests-local notification-docs notification-catalog
codegen-local: mod-vendor-local mockgen gogen protogen clientgen openapigen clidocsgen actionsdocsgen resourceiconsgen manifests-local notification-docs notification-catalog
rm -rf vendor/
.PHONY: codegen-local-fast
@@ -280,12 +312,11 @@ endif
.PHONY: manifests-local
manifests-local:
./hack/update-manifests.sh
.PHONY: manifests
manifests: test-tools-image
$(call run-in-test-client,make manifests-local IMAGE_NAMESPACE='${IMAGE_NAMESPACE}' IMAGE_TAG='${IMAGE_TAG}')
$(call run-in-test-client,make manifests-local IMAGE_REGISTRY='${IMAGE_REGISTRY}' IMAGE_NAMESPACE='${IMAGE_NAMESPACE}' IMAGE_REPOSITORY='${IMAGE_REPOSITORY}' IMAGE_TAG='${IMAGE_TAG}')
# consolidated binary for cli, util, server, repo-server, controller
.PHONY: argocd-all
argocd-all: clean-debug
CGO_ENABLED=${CGO_FLAG} GOOS=${GOOS} GOARCH=${GOARCH} GODEBUG="tarinsecurepath=0,zipinsecurepath=0" go build -v -ldflags '${LDFLAGS}' -o ${DIST_DIR}/${BIN_NAME} ./cmd
@@ -454,7 +485,7 @@ start-e2e-local: mod-vendor-local dep-ui-local cli-local
kubectl create ns argocd-e2e-external || true
kubectl create ns argocd-e2e-external-2 || true
kubectl config set-context --current --namespace=argocd-e2e
kustomize build test/manifests/base | kubectl apply -f -
kustomize build test/manifests/base | kubectl apply --server-side -f -
kubectl apply -f https://raw.githubusercontent.com/open-cluster-management/api/a6845f2ebcb186ec26b832f60c988537a58f3859/cluster/v1alpha1/0000_04_clusters.open-cluster-management.io_placementdecisions.crd.yaml
# Create GPG keys and source directories
if test -d /tmp/argo-e2e/app/config/gpg; then rm -rf /tmp/argo-e2e/app/config/gpg/*; fi
@@ -486,6 +517,7 @@ start-e2e-local: mod-vendor-local dep-ui-local cli-local
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
@@ -551,7 +583,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 mkdocs; pip install $$(mkdocs get-deps); mkdocs build'
$(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'
.PHONY: serve-docs-local
serve-docs-local:
@@ -559,7 +591,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 mkdocs; pip install $$(mkdocs get-deps); 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 -r docs/requirements.txt; 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
@@ -584,11 +616,13 @@ 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

View File

@@ -8,6 +8,7 @@ commit-server: [ "$BIN_MODE" = 'true' ] && COMMAND=./dist/argocd || COMMAND='go
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
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}
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

@@ -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: 74a367d10e7110209610ba3ec225539ebe5f7522
commit-hash: 06ef059f9fc7cf9da2dfaef2a505ee1e3c693485
project-url: https://github.com/argoproj/argo-cd
project-release: v2.14.0
project-release: v3.3.0
changelog: https://github.com/argoproj/argo-cd/releases
license: https://github.com/argoproj/argo-cd/blob/master/LICENSE
project-lifecycle:

314
Tiltfile Normal file
View File

@@ -0,0 +1,314 @@
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'
],
resource_deps=['build']
)
# 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'
],
resource_deps=['build']
)
# 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',
],
resource_deps=['build']
)
# 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'
],
resource_deps=['build']
)
# 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',
],
resource_deps=['build']
)
# 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',
],
resource_deps=['build']
)
# 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',
],
resource_deps=['build']
)
# 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',
],
resource_deps=['build']
)
# ui dependencies
local_resource(
'node-modules',
'yarn',
dir='ui',
deps = [
'ui/package.json',
'ui/yarn.lock',
],
allow_parallel=True,
)
# 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',
],
resource_deps=['node-modules'],
)
# 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,
resource_deps=['node-modules'],
)
local_resource(
'vendor',
'go mod vendor',
deps = [
'go.mod',
'go.sum',
],
allow_parallel=True,
)

View File

@@ -5,8 +5,10 @@ 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/)
@@ -29,7 +31,9 @@ Currently, the following organizations are **officially** using Argo CD:
1. [ANSTO - Australian Synchrotron](https://www.synchrotron.org.au/)
1. [Ant Group](https://www.antgroup.com/)
1. [AppDirect](https://www.appdirect.com)
1. [Arcadia](https://www.arcadia.io)
1. [Arctiq Inc.](https://www.arctiq.ca)
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/)
@@ -39,12 +43,14 @@ Currently, the following organizations are **officially** using Argo CD:
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/)
@@ -58,6 +64,7 @@ Currently, the following organizations are **officially** using Argo CD:
1. [Camptocamp](https://camptocamp.com)
1. [Candis](https://www.candis.io)
1. [Capital One](https://www.capitalone.com)
1. [Capptain LTD](https://capptain.co/)
1. [CARFAX Europe](https://www.carfax.eu)
1. [CARFAX](https://www.carfax.com)
1. [Carrefour Group](https://www.carrefour.com)
@@ -67,7 +74,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/)
@@ -78,6 +87,7 @@ Currently, the following organizations are **officially** using Argo CD:
1. [Codefresh](https://www.codefresh.io/)
1. [Codility](https://www.codility.com/)
1. [Cognizant](https://www.cognizant.com/)
1. [Collins Aerospace](https://www.collinsaerospace.com/)
1. [Commonbond](https://commonbond.co/)
1. [Compatio.AI](https://compatio.ai/)
1. [Contlo](https://contlo.com/)
@@ -91,13 +101,18 @@ Currently, the following organizations are **officially** using Argo CD:
1. [Datarisk](https://www.datarisk.io/)
1. [Daydream](https://daydream.ing)
1. [Deloitte](https://www.deloitte.com/)
1. [Dematic](https://www.dematic.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)
2. [DocNetwork](https://docnetwork.org/)
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)
@@ -109,6 +124,8 @@ 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. [Expedia](https://www.expedia.com)
1. [Factorial](https://factorialhr.com/)
1. [Farfetch](https://www.farfetch.com)
1. [Faro](https://www.faro.com/)
@@ -153,9 +170,11 @@ Currently, the following organizations are **officially** using Argo CD:
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)
@@ -165,7 +184,9 @@ 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. [IQVIA](https://www.iqvia.com/)
1. [Jellysmack](https://www.jellysmack.com)
1. [Joblift](https://joblift.com/)
1. [JovianX](https://www.jovianx.com/)
@@ -217,6 +238,7 @@ Currently, the following organizations are **officially** using Argo CD:
1. [mixi Group](https://mixi.co.jp/)
1. [Moengage](https://www.moengage.com/)
1. [Money Forward](https://corp.moneyforward.com/en/)
1. [MongoDB](https://www.mongodb.com/)
1. [MOO Print](https://www.moo.com/)
1. [Mozilla](https://www.mozilla.org)
1. [MTN Group](https://www.mtn.com/)
@@ -259,6 +281,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)
@@ -294,7 +317,8 @@ Currently, the following organizations are **officially** using Argo CD:
1. [Relex Solutions](https://www.relexsolutions.com/)
1. [RightRev](https://rightrev.com/)
1. [Rijkswaterstaat](https://www.rijkswaterstaat.nl/en)
1. [Rise](https://www.risecard.eu/)
1. Rise
1. [RISK IDENT](https://riskident.com/)
1. [Riskified](https://www.riskified.com/)
1. [Robotinfra](https://www.robotinfra.com)
1. [Rocket.Chat](https://rocket.chat)
@@ -305,16 +329,20 @@ 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)
@@ -323,6 +351,7 @@ Currently, the following organizations are **officially** using Argo CD:
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/)
@@ -335,11 +364,13 @@ 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/)
@@ -354,6 +385,7 @@ Currently, the following organizations are **officially** using Argo CD:
1. [Ticketmaster](https://ticketmaster.com)
1. [Tiger Analytics](https://www.tigeranalytics.com/)
1. [Tigera](https://www.tigera.io/)
1. [Topicus.Education](https://topicus.nl/en/sectors/education)
1. [Toss](https://toss.im/en)
1. [Trendyol](https://www.trendyol.com/)
1. [tru.ID](https://tru.id)
@@ -381,6 +413,7 @@ Currently, the following organizations are **officially** using Argo CD:
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/)
@@ -396,8 +429,8 @@ Currently, the following organizations are **officially** using Argo CD:
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. [ZipRecuiter](https://www.ziprecruiter.com/)
1. [ZipRecruiter](https://www.ziprecruiter.com/)
1. [ZOZO](https://corp.zozo.com/)

View File

@@ -1 +1 @@
3.0.0
3.3.0-rc2

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -20,6 +20,15 @@ import (
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)
@@ -556,15 +565,6 @@ func TestClusterEventHandler(t *testing.T) {
}
}
// 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)
}
type mockAddRateLimitingInterface struct {
addedItems []reconcile.Request
}
func TestNestedGeneratorHasClusterGenerator_NestedClusterGenerator(t *testing.T) {
nested := argov1alpha1.ApplicationSetNestedGenerator{
Clusters: &argov1alpha1.ClusterGenerator{},

View File

@@ -56,7 +56,7 @@ func TestRequeueAfter(t *testing.T) {
},
}
fakeDynClient := dynfake.NewSimpleDynamicClientWithCustomListKinds(runtime.NewScheme(), gvrToListKind, duckType)
scmConfig := generators.NewSCMConfig("", []string{""}, true, nil, true)
scmConfig := generators.NewSCMConfig("", []string{""}, true, true, nil, true)
terminalGenerators := map[string]generators.Generator{
"List": generators.NewListGenerator(),
"Clusters": generators.NewClusterGenerator(ctx, k8sClient, appClientset, "argocd"),
@@ -129,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{
@@ -144,7 +144,7 @@ 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{}}},
@@ -154,7 +154,7 @@ func TestRequeueAfter(t *testing.T) {
Spec: argov1alpha1.ApplicationSetSpec{
Generators: []argov1alpha1.ApplicationSetGenerator{{ClusterDecisionResource: &argov1alpha1.DuckTypeGenerator{}}},
},
}}, want: generators.DefaultRequeueAfterSeconds, wantErr: assert.NoError},
}}, want: generators.DefaultRequeueAfter, wantErr: assert.NoError},
{name: "OverrideRequeueDuck", args: args{
appset: &argov1alpha1.ApplicationSet{
Spec: argov1alpha1.ApplicationSetSpec{

View File

@@ -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

@@ -86,28 +86,28 @@ func TestGenerateApplications(t *testing.T) {
}
t.Run(cc.name, func(t *testing.T) {
generatorMock := genmock.Generator{}
generatorMock := &genmock.Generator{}
generator := v1alpha1.ApplicationSetGenerator{
List: &v1alpha1.ListGenerator{},
}
generatorMock.On("GenerateParams", &generator, mock.AnythingOfType("*v1alpha1.ApplicationSet"), mock.Anything).
generatorMock.EXPECT().GenerateParams(&generator, mock.AnythingOfType("*v1alpha1.ApplicationSet"), mock.Anything).
Return(cc.params, cc.generateParamsError)
generatorMock.On("GetTemplate", &generator).
generatorMock.EXPECT().GetTemplate(&generator).
Return(&v1alpha1.ApplicationSetTemplate{})
rendererMock := rendmock.Renderer{}
rendererMock := &rendmock.Renderer{}
var expectedApps []v1alpha1.Application
if cc.generateParamsError == nil {
for _, p := range cc.params {
if cc.rendererError != nil {
rendererMock.On("RenderTemplateParams", GetTempApplication(cc.template), mock.AnythingOfType("*v1alpha1.ApplicationSetSyncPolicy"), p, false, []string(nil)).
rendererMock.EXPECT().RenderTemplateParams(GetTempApplication(cc.template), mock.AnythingOfType("*v1alpha1.ApplicationSetSyncPolicy"), p, false, []string(nil)).
Return(nil, cc.rendererError)
} else {
rendererMock.On("RenderTemplateParams", GetTempApplication(cc.template), mock.AnythingOfType("*v1alpha1.ApplicationSetSyncPolicy"), p, false, []string(nil)).
rendererMock.EXPECT().RenderTemplateParams(GetTempApplication(cc.template), mock.AnythingOfType("*v1alpha1.ApplicationSetSyncPolicy"), p, false, []string(nil)).
Return(&app, nil)
expectedApps = append(expectedApps, app)
}
@@ -115,9 +115,9 @@ func TestGenerateApplications(t *testing.T) {
}
generators := map[string]generators.Generator{
"List": &generatorMock,
"List": generatorMock,
}
renderer := &rendererMock
renderer := rendererMock
got, reason, err := GenerateApplications(log.NewEntry(log.StandardLogger()), v1alpha1.ApplicationSet{
ObjectMeta: metav1.ObjectMeta{
@@ -200,26 +200,26 @@ func TestMergeTemplateApplications(t *testing.T) {
cc := c
t.Run(cc.name, func(t *testing.T) {
generatorMock := genmock.Generator{}
generatorMock := &genmock.Generator{}
generator := v1alpha1.ApplicationSetGenerator{
List: &v1alpha1.ListGenerator{},
}
generatorMock.On("GenerateParams", &generator, mock.AnythingOfType("*v1alpha1.ApplicationSet"), mock.Anything).
generatorMock.EXPECT().GenerateParams(&generator, mock.AnythingOfType("*v1alpha1.ApplicationSet"), mock.Anything).
Return(cc.params, nil)
generatorMock.On("GetTemplate", &generator).
generatorMock.EXPECT().GetTemplate(&generator).
Return(&cc.overrideTemplate)
rendererMock := rendmock.Renderer{}
rendererMock := &rendmock.Renderer{}
rendererMock.On("RenderTemplateParams", GetTempApplication(cc.expectedMerged), mock.AnythingOfType("*v1alpha1.ApplicationSetSyncPolicy"), cc.params[0], false, []string(nil)).
rendererMock.EXPECT().RenderTemplateParams(GetTempApplication(cc.expectedMerged), mock.AnythingOfType("*v1alpha1.ApplicationSetSyncPolicy"), cc.params[0], false, []string(nil)).
Return(&cc.expectedApps[0], nil)
generators := map[string]generators.Generator{
"List": &generatorMock,
"List": generatorMock,
}
renderer := &rendererMock
renderer := rendererMock
got, _, _ := GenerateApplications(log.NewEntry(log.StandardLogger()), v1alpha1.ApplicationSet{
ObjectMeta: metav1.ObjectMeta{
@@ -312,19 +312,19 @@ func TestGenerateAppsUsingPullRequestGenerator(t *testing.T) {
},
} {
t.Run(cases.name, func(t *testing.T) {
generatorMock := genmock.Generator{}
generatorMock := &genmock.Generator{}
generator := v1alpha1.ApplicationSetGenerator{
PullRequest: &v1alpha1.PullRequestGenerator{},
}
generatorMock.On("GenerateParams", &generator, mock.AnythingOfType("*v1alpha1.ApplicationSet"), mock.Anything).
generatorMock.EXPECT().GenerateParams(&generator, mock.AnythingOfType("*v1alpha1.ApplicationSet"), mock.Anything).
Return(cases.params, nil)
generatorMock.On("GetTemplate", &generator).
Return(&cases.template, nil)
generatorMock.EXPECT().GetTemplate(&generator).
Return(&cases.template)
generators := map[string]generators.Generator{
"PullRequest": &generatorMock,
"PullRequest": generatorMock,
}
renderer := &utils.Render{}
@@ -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, maps.Equal(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,8 +7,6 @@ import (
log "github.com/sirupsen/logrus"
"github.com/argoproj/argo-cd/v3/util/settings"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/kubernetes"
@@ -27,21 +25,17 @@ 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(ctx context.Context, c client.Client, clientset kubernetes.Interface, namespace string) Generator {
settingsManager := settings.NewSettingsManager(ctx, clientset, namespace)
g := &ClusterGenerator{
Client: c,
ctx: ctx,
clientset: clientset,
namespace: namespace,
settingsManager: settingsManager,
Client: c,
ctx: ctx,
clientset: clientset,
namespace: namespace,
}
return g
}
@@ -59,11 +53,11 @@ func (g *ClusterGenerator) GetTemplate(appSetGenerator *argoappsetv1alpha1.Appli
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
@@ -85,14 +79,10 @@ func (g *ClusterGenerator) GenerateParams(appSetGenerator *argoappsetv1alpha1.Ap
return nil, fmt.Errorf("error getting cluster secrets: %w", err)
}
res := []map[string]any{}
paramHolder := &paramHolder{isFlatMode: appSetGenerator.Clusters.FlatList}
logCtx.Debugf("Using flat mode = %t for cluster generator", paramHolder.isFlatMode)
secretsFound := []corev1.Secret{}
isFlatMode := appSetGenerator.Clusters.FlatList
logCtx.Debugf("Using flat mode = %t for cluster generator", isFlatMode)
clustersParams := make([]map[string]any, 0)
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.
@@ -111,72 +101,80 @@ func (g *ClusterGenerator) GenerateParams(appSetGenerator *argoappsetv1alpha1.Ap
return nil, fmt.Errorf("error appending templated values for local cluster: %w", err)
}
if isFlatMode {
clustersParams = append(clustersParams, params)
} else {
res = append(res, params)
}
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]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.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["metadata.annotations."+key] = value
}
for key, value := range cluster.ObjectMeta.Labels {
params["metadata.labels."+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)
}
if isFlatMode {
clustersParams = append(clustersParams, params)
} else {
res = append(res, params)
}
paramHolder.append(params)
logCtx.WithField("cluster", cluster.Name).Debug("matched cluster secret")
}
if isFlatMode {
res = append(res, map[string]any{
"clusters": clustersParams,
})
return paramHolder.consolidate(), nil
}
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 res, nil
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) {
@@ -188,7 +186,7 @@ func (g *ClusterGenerator) getSecretsByClusterName(log *log.Entry, appSetGenerat
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.Debugf("clusters matching labels: %d", len(clusterSecretList.Items))

View File

@@ -10,9 +10,8 @@ import (
log "github.com/sirupsen/logrus"
"sigs.k8s.io/controller-runtime/pkg/client"
"github.com/argoproj/argo-cd/v3/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"
@@ -26,22 +25,18 @@ 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
}
@@ -62,12 +57,12 @@ func (g *DuckTypeGenerator) GetTemplate(appSetGenerator *argoprojiov1alpha1.Appl
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
@@ -97,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, errors.New("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, errors.New("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
@@ -136,18 +131,51 @@ func (g *DuckTypeGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.A
// 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
}
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
@@ -164,60 +192,38 @@ func (g *DuckTypeGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.A
clusterDecisions = append(clusterDecisions, duckResource.Object["status"].(map[string]any)[statusListKey].([]any)...)
}
log.Infof("Number of decisions found: %v", len(clusterDecisions))
if len(clusterDecisions) == 0 {
log.Warningf("clusterDecisionResource status.%s missing", statusListKey)
return nil, nil
}
for _, cluster := range clusterDecisions {
// generated instance of cluster params
params := map[string]any{}
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))
continue
}
strMatchValue := matchValue.(string)
log.WithField(matchKey, strMatchValue).Debug("validate against ArgoCD")
found := false
for _, argoCluster := range clustersFromArgoCD {
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]any) {
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["values."+key] = value
}
}
res = append(res, params)
}
return res, nil
return clusterDecisions
}
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
}
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

@@ -159,7 +159,7 @@ func TestGenerateParamsForDuckType(t *testing.T) {
resource: duckType,
values: nil,
expected: []map[string]any{},
expectedError: errors.New("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"),
},
/*** This does not work with the FAKE runtime client, fieldSelectors are broken.
{
@@ -270,7 +270,7 @@ func TestGenerateParamsForDuckType(t *testing.T) {
resource: duckType,
values: nil,
expected: nil,
expectedError: errors.New("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"),
},
}
@@ -455,7 +455,7 @@ func TestGenerateParamsForDuckTypeGoTemplate(t *testing.T) {
resource: duckType,
values: nil,
expected: []map[string]any{},
expectedError: errors.New("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"),
},
/*** This does not work with the FAKE runtime client, fieldSelectors are broken.
{
@@ -566,7 +566,7 @@ func TestGenerateParamsForDuckTypeGoTemplate(t *testing.T) {
resource: duckType,
values: nil,
expected: nil,
expectedError: errors.New("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"),
},
}

View File

@@ -223,7 +223,7 @@ func TestTransForm(t *testing.T) {
for _, testCase := range testCases {
t.Run(testCase.name, func(t *testing.T) {
testGenerators := map[string]Generator{
"Clusters": getMockClusterGenerator(),
"Clusters": getMockClusterGenerator(t.Context()),
}
applicationSetInfo := argov1alpha1.ApplicationSet{
@@ -260,7 +260,7 @@ func emptyTemplate() argov1alpha1.ApplicationSetTemplate {
}
}
func getMockClusterGenerator() Generator {
func getMockClusterGenerator(ctx context.Context) Generator {
clusters := []crtclient.Object{
&corev1.Secret{
TypeMeta: metav1.TypeMeta{
@@ -342,19 +342,19 @@ func getMockClusterGenerator() Generator {
appClientset := kubefake.NewSimpleClientset(runtimeClusters...)
fakeClient := fake.NewClientBuilder().WithObjects(clusters...).Build()
return NewClusterGenerator(context.Background(), fakeClient, appClientset, "namespace")
return NewClusterGenerator(ctx, fakeClient, appClientset, "namespace")
}
func getMockGitGenerator() Generator {
argoCDServiceMock := mocks.Repos{}
argoCDServiceMock.On("GetDirectories", mock.Anything, mock.Anything, mock.Anything).Return([]string{"app1", "app2", "app_3", "p1/app4"}, nil)
gitGenerator := NewGitGenerator(&argoCDServiceMock, "namespace")
argoCDServiceMock := &mocks.Repos{}
argoCDServiceMock.EXPECT().GetDirectories(mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return([]string{"app1", "app2", "app_3", "p1/app4"}, nil)
gitGenerator := NewGitGenerator(argoCDServiceMock, "namespace")
return gitGenerator
}
func TestGetRelevantGenerators(t *testing.T) {
testGenerators := map[string]Generator{
"Clusters": getMockClusterGenerator(),
"Clusters": getMockClusterGenerator(t.Context()),
"Git": getMockGitGenerator(),
}
@@ -551,7 +551,7 @@ func TestInterpolateGeneratorError(t *testing.T) {
},
useGoTemplate: true,
goTemplateOptions: []string{},
}, want: argov1alpha1.ApplicationSetGenerator{}, expectedErrStr: "failed to replace parameters in generator: failed to execute go template {{ index .rmap (default .override .test) }}: template: :1:3: executing \"\" at <index .rmap (default .override .test)>: error calling index: index of untyped nil"},
}, want: argov1alpha1.ApplicationSetGenerator{}, expectedErrStr: "failed to replace parameters in generator: failed to execute go template {{ index .rmap (default .override .test) }}: template: base:1:3: executing \"base\" at <index .rmap (default .override .test)>: error calling index: index of untyped nil"},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {

View File

@@ -28,22 +28,27 @@ 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
}
@@ -51,13 +56,15 @@ func (g *GitGenerator) GetRequeueAfter(appSetGenerator *argoprojiov1alpha1.Appli
return getDefaultRequeueAfter()
}
// 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,14 +74,15 @@ 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
@@ -93,7 +101,7 @@ func (g *GitGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.Applic
case len(appSetGenerator.Git.Files) != 0:
res, err = g.generateParamsForGitFiles(appSetGenerator, noRevisionCache, verifyCommit, appSet.Spec.GoTemplate, project, appSet.Spec.GoTemplateOptions)
default:
return nil, EmptyAppSetGeneratorError
return nil, ErrEmptyAppSetGenerator
}
if err != nil {
return nil, fmt.Errorf("error generating params from git: %w", err)
@@ -102,8 +110,10 @@ func (g *GitGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.Applic
return res, nil
}
// 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) {
// Directories, not files
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)
@@ -127,57 +137,103 @@ func (g *GitGenerator) generateParamsForGitDirectories(appSetGenerator *argoproj
return res, nil
}
// 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) {
// 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, project, requestedPath.Path, noRevisionCache, verifyCommit)
// 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]any{}
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
}
// 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]any)
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]any{})
}
res := []map[string]any{}
@@ -221,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
}
}
@@ -238,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
@@ -266,6 +324,9 @@ func (g *GitGenerator) filterApps(directories []argoprojiov1alpha1.GitDirectoryG
return res
}
// 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 {
@@ -291,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
}
}
@@ -308,6 +369,7 @@ 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 ""

File diff suppressed because it is too large Load Diff

View File

@@ -27,15 +27,15 @@ type Generator interface {
}
var (
EmptyAppSetGeneratorError = errors.New("ApplicationSet is empty")
NoRequeueAfter time.Duration
ErrEmptyAppSetGenerator = errors.New("ApplicationSet is empty")
NoRequeueAfter time.Duration
)
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", DefaultRequeueAfterSeconds, 1*time.Second, 8760*time.Hour)
return env.ParseDurationFromEnv("ARGOCD_APPLICATIONSET_CONTROLLER_REQUEUE_AFTER", DefaultRequeueAfter, 1*time.Second, 8760*time.Hour)
}

View File

@@ -13,12 +13,12 @@ func Test_getDefaultRequeueAfter(t *testing.T) {
requeueAfterEnv string
want time.Duration
}{
{name: "Default", requeueAfterEnv: "", want: DefaultRequeueAfterSeconds},
{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: DefaultRequeueAfterSeconds},
{name: "MoreThanMax", requeueAfterEnv: "8761h", want: DefaultRequeueAfterSeconds},
{name: "LessThanMin", requeueAfterEnv: "1ms", want: DefaultRequeueAfter},
{name: "MoreThanMax", requeueAfterEnv: "8761h", want: DefaultRequeueAfter},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {

View File

@@ -31,11 +31,11 @@ func (g *ListGenerator) GetTemplate(appSetGenerator *argoprojiov1alpha1.Applicat
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]any, len(appSetGenerator.List.Elements))
@@ -77,7 +77,7 @@ func (g *ListGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha1.Appli
}
// Append elements from ElementsYaml to the response
if len(appSetGenerator.List.ElementsYaml) > 0 {
if appSetGenerator.List.ElementsYaml != "" {
var yamlElements []map[string]any
err := yaml.Unmarshal([]byte(appSetGenerator.List.ElementsYaml), &yamlElements)
if err != nil {

View File

@@ -34,7 +34,7 @@ func NewMatrixGenerator(supportedGenerators map[string]Generator) Generator {
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 {
@@ -71,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)
}
}
}

View File

@@ -12,12 +12,12 @@ import (
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/client/fake"
"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"
generatorsMock "github.com/argoproj/argo-cd/v3/applicationset/generators/mocks"
servicesMocks "github.com/argoproj/argo-cd/v3/applicationset/services/mocks"
"github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
)
@@ -136,7 +136,7 @@ func TestMatrixGenerate(t *testing.T) {
testCaseCopy := testCase // Since tests may run in parallel
t.Run(testCaseCopy.name, func(t *testing.T) {
genMock := &generatorMock{}
genMock := &generatorsMock.Generator{}
appSet := &v1alpha1.ApplicationSet{
ObjectMeta: metav1.ObjectMeta{
Name: "set",
@@ -149,7 +149,7 @@ func TestMatrixGenerate(t *testing.T) {
Git: g.Git,
List: g.List,
}
genMock.On("GenerateParams", mock.AnythingOfType("*v1alpha1.ApplicationSetGenerator"), appSet, mock.Anything).Return([]map[string]any{
genMock.EXPECT().GenerateParams(mock.AnythingOfType("*v1alpha1.ApplicationSetGenerator"), appSet, mock.Anything).Return([]map[string]any{
{
"path": "app1",
"path.basename": "app1",
@@ -162,7 +162,7 @@ func TestMatrixGenerate(t *testing.T) {
},
}, nil)
genMock.On("GetTemplate", &gitGeneratorSpec).
genMock.EXPECT().GetTemplate(&gitGeneratorSpec).
Return(&v1alpha1.ApplicationSetTemplate{})
}
@@ -343,7 +343,7 @@ func TestMatrixGenerateGoTemplate(t *testing.T) {
testCaseCopy := testCase // Since tests may run in parallel
t.Run(testCaseCopy.name, func(t *testing.T) {
genMock := &generatorMock{}
genMock := &generatorsMock.Generator{}
appSet := &v1alpha1.ApplicationSet{
ObjectMeta: metav1.ObjectMeta{
Name: "set",
@@ -358,7 +358,7 @@ func TestMatrixGenerateGoTemplate(t *testing.T) {
Git: g.Git,
List: g.List,
}
genMock.On("GenerateParams", mock.AnythingOfType("*v1alpha1.ApplicationSetGenerator"), appSet, mock.Anything).Return([]map[string]any{
genMock.EXPECT().GenerateParams(mock.AnythingOfType("*v1alpha1.ApplicationSetGenerator"), appSet, mock.Anything).Return([]map[string]any{
{
"path": map[string]string{
"path": "app1",
@@ -375,7 +375,7 @@ func TestMatrixGenerateGoTemplate(t *testing.T) {
},
}, nil)
genMock.On("GetTemplate", &gitGeneratorSpec).
genMock.EXPECT().GetTemplate(&gitGeneratorSpec).
Return(&v1alpha1.ApplicationSetTemplate{})
}
@@ -507,7 +507,7 @@ func TestMatrixGetRequeueAfter(t *testing.T) {
testCaseCopy := testCase // Since tests may run in parallel
t.Run(testCaseCopy.name, func(t *testing.T) {
mock := &generatorMock{}
mock := &generatorsMock.Generator{}
for _, g := range testCaseCopy.baseGenerators {
gitGeneratorSpec := v1alpha1.ApplicationSetGenerator{
@@ -517,7 +517,7 @@ func TestMatrixGetRequeueAfter(t *testing.T) {
SCMProvider: g.SCMProvider,
ClusterDecisionResource: g.ClusterDecisionResource,
}
mock.On("GetRequeueAfter", &gitGeneratorSpec).Return(testCaseCopy.gitGetRequeueAfter, nil)
mock.EXPECT().GetRequeueAfter(&gitGeneratorSpec).Return(testCaseCopy.gitGetRequeueAfter)
}
matrixGenerator := NewMatrixGenerator(
@@ -634,7 +634,7 @@ func TestInterpolatedMatrixGenerate(t *testing.T) {
testCaseCopy := testCase // Since tests may run in parallel
t.Run(testCaseCopy.name, func(t *testing.T) {
genMock := &generatorMock{}
genMock := &generatorsMock.Generator{}
appSet := &v1alpha1.ApplicationSet{}
appClientset := kubefake.NewSimpleClientset(runtimeClusters...)
@@ -650,7 +650,7 @@ func TestInterpolatedMatrixGenerate(t *testing.T) {
Git: g.Git,
Clusters: g.Clusters,
}
genMock.On("GenerateParams", mock.AnythingOfType("*v1alpha1.ApplicationSetGenerator"), appSet).Return([]map[string]any{
genMock.EXPECT().GenerateParams(mock.AnythingOfType("*v1alpha1.ApplicationSetGenerator"), appSet, mock.Anything).Return([]map[string]any{
{
"path": "examples/git-generator-files-discovery/cluster-config/dev/config.json",
"path.basename": "dev",
@@ -662,7 +662,7 @@ func TestInterpolatedMatrixGenerate(t *testing.T) {
"path.basenameNormalized": "prod",
},
}, nil)
genMock.On("GetTemplate", &gitGeneratorSpec).
genMock.EXPECT().GetTemplate(&gitGeneratorSpec).
Return(&v1alpha1.ApplicationSetTemplate{})
}
matrixGenerator := NewMatrixGenerator(
@@ -813,7 +813,7 @@ func TestInterpolatedMatrixGenerateGoTemplate(t *testing.T) {
testCaseCopy := testCase // Since tests may run in parallel
t.Run(testCaseCopy.name, func(t *testing.T) {
genMock := &generatorMock{}
genMock := &generatorsMock.Generator{}
appSet := &v1alpha1.ApplicationSet{
Spec: v1alpha1.ApplicationSetSpec{
GoTemplate: true,
@@ -833,7 +833,7 @@ func TestInterpolatedMatrixGenerateGoTemplate(t *testing.T) {
Git: g.Git,
Clusters: g.Clusters,
}
genMock.On("GenerateParams", mock.AnythingOfType("*v1alpha1.ApplicationSetGenerator"), appSet).Return([]map[string]any{
genMock.EXPECT().GenerateParams(mock.AnythingOfType("*v1alpha1.ApplicationSetGenerator"), appSet, mock.Anything).Return([]map[string]any{
{
"path": map[string]string{
"path": "examples/git-generator-files-discovery/cluster-config/dev/config.json",
@@ -849,7 +849,7 @@ func TestInterpolatedMatrixGenerateGoTemplate(t *testing.T) {
},
},
}, nil)
genMock.On("GetTemplate", &gitGeneratorSpec).
genMock.EXPECT().GetTemplate(&gitGeneratorSpec).
Return(&v1alpha1.ApplicationSetTemplate{})
}
matrixGenerator := NewMatrixGenerator(
@@ -969,7 +969,7 @@ func TestMatrixGenerateListElementsYaml(t *testing.T) {
testCaseCopy := testCase // Since tests may run in parallel
t.Run(testCaseCopy.name, func(t *testing.T) {
genMock := &generatorMock{}
genMock := &generatorsMock.Generator{}
appSet := &v1alpha1.ApplicationSet{
ObjectMeta: metav1.ObjectMeta{
Name: "set",
@@ -984,7 +984,7 @@ func TestMatrixGenerateListElementsYaml(t *testing.T) {
Git: g.Git,
List: g.List,
}
genMock.On("GenerateParams", mock.AnythingOfType("*v1alpha1.ApplicationSetGenerator"), appSet).Return([]map[string]any{{
genMock.EXPECT().GenerateParams(mock.AnythingOfType("*v1alpha1.ApplicationSetGenerator"), appSet, mock.Anything).Return([]map[string]any{{
"foo": map[string]any{
"bar": []any{
map[string]any{
@@ -1009,7 +1009,7 @@ func TestMatrixGenerateListElementsYaml(t *testing.T) {
},
},
}}, nil)
genMock.On("GetTemplate", &gitGeneratorSpec).
genMock.EXPECT().GetTemplate(&gitGeneratorSpec).
Return(&v1alpha1.ApplicationSetTemplate{})
}
@@ -1037,28 +1037,6 @@ func TestMatrixGenerateListElementsYaml(t *testing.T) {
}
}
type generatorMock struct {
mock.Mock
}
func (g *generatorMock) GetTemplate(appSetGenerator *v1alpha1.ApplicationSetGenerator) *v1alpha1.ApplicationSetTemplate {
args := g.Called(appSetGenerator)
return args.Get(0).(*v1alpha1.ApplicationSetTemplate)
}
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]any), args.Error(1)
}
func (g *generatorMock) GetRequeueAfter(appSetGenerator *v1alpha1.ApplicationSetGenerator) time.Duration {
args := g.Called(appSetGenerator)
return args.Get(0).(time.Duration)
}
func TestGitGenerator_GenerateParams_list_x_git_matrix_generator(t *testing.T) {
// Given a matrix generator over a list generator and a git files generator, the nested git files generator should
// be treated as a files generator, and it should produce parameters.
@@ -1072,11 +1050,11 @@ func TestGitGenerator_GenerateParams_list_x_git_matrix_generator(t *testing.T) {
// Now instead of checking for nil, we check whether the field is a non-empty slice. This test prevents a regression
// of that bug.
listGeneratorMock := &generatorMock{}
listGeneratorMock.On("GenerateParams", mock.AnythingOfType("*v1alpha1.ApplicationSetGenerator"), mock.AnythingOfType("*v1alpha1.ApplicationSet"), mock.Anything).Return([]map[string]any{
listGeneratorMock := &generatorsMock.Generator{}
listGeneratorMock.EXPECT().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(&v1alpha1.ApplicationSetTemplate{})
listGeneratorMock.EXPECT().GetTemplate(mock.AnythingOfType("*v1alpha1.ApplicationSetGenerator")).Return(&v1alpha1.ApplicationSetTemplate{})
gitGeneratorSpec := &v1alpha1.GitGenerator{
RepoURL: "https://git.example.com",
@@ -1085,10 +1063,10 @@ func TestGitGenerator_GenerateParams_list_x_git_matrix_generator(t *testing.T) {
},
}
repoServiceMock := &mocks.Repos{}
repoServiceMock.On("GetFiles", mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(map[string][]byte{
repoServiceMock := &servicesMocks.Repos{}
repoServiceMock.EXPECT().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)
}, nil).Maybe()
gitGenerator := NewGitGenerator(repoServiceMock, "")
matrixGenerator := NewMatrixGenerator(map[string]Generator{

View File

@@ -4,12 +4,12 @@ import (
"encoding/json"
"errors"
"fmt"
"maps"
"time"
"dario.cat/mergo"
"sigs.k8s.io/controller-runtime/pkg/client"
"github.com/argoproj/argo-cd/v3/applicationset/utils"
argoprojiov1alpha1 "github.com/argoproj/argo-cd/v3/pkg/apis/application/v1alpha1"
)
@@ -52,7 +52,7 @@ 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]any, error) {
if appSetGenerator.Merge == nil {
return nil, EmptyAppSetGeneratorError
return nil, ErrEmptyAppSetGenerator
}
if len(appSetGenerator.Merge.Generators) < 2 {
@@ -83,11 +83,8 @@ 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
}
}
}

View File

@@ -50,6 +50,8 @@ func listOfMapsToSet(maps []map[string]any) (map[string]bool, error) {
}
func TestMergeGenerate(t *testing.T) {
t.Parallel()
testCases := []struct {
name string
baseGenerators []argoprojiov1alpha1.ApplicationSetNestedGenerator
@@ -210,6 +212,8 @@ func toAPIExtensionsJSON(t *testing.T, g any) *apiextensionsv1.JSON {
}
func TestParamSetsAreUniqueByMergeKeys(t *testing.T) {
t.Parallel()
testCases := []struct {
name string
mergeKeys []string

View File

@@ -1,90 +1,17 @@
// Code generated by mockery v2.52.4. 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/v3/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

@@ -10,7 +10,6 @@ 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/v3/pkg/apis/application/v1alpha1"
@@ -20,23 +19,19 @@ import (
)
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(ctx context.Context, client client.Client, 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
@@ -49,7 +44,7 @@ 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 {
@@ -58,11 +53,11 @@ func (g *PluginGenerator) GetTemplate(appSetGenerator *argoprojiov1alpha1.Applic
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()

View File

@@ -14,8 +14,6 @@ import (
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"
@@ -628,8 +626,6 @@ func TestPluginGenerateParams(t *testing.T) {
},
}
ctx := t.Context()
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(ctx, fakeClientWithCache, fakeClient, "default")
pluginGenerator := NewPluginGenerator(fakeClientWithCache, "default")
applicationSetInfo := argoprojiov1alpha1.ApplicationSet{
ObjectMeta: metav1.ObjectMeta{

View File

@@ -4,22 +4,23 @@ import (
"context"
"errors"
"fmt"
"net/http"
"strconv"
"time"
"sigs.k8s.io/controller-runtime/pkg/client"
"github.com/gosimple/slug"
log "github.com/sirupsen/logrus"
"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 {
@@ -44,7 +45,11 @@ 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 {
@@ -53,11 +58,11 @@ func (g *PullRequestGenerator) GetTemplate(appSetGenerator *argoprojiov1alpha1.A
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()
@@ -67,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]any, 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
@@ -97,7 +107,7 @@ func (g *PullRequestGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha
}
paramMap := map[string]any{
"number": strconv.Itoa(pull.Number),
"number": strconv.FormatInt(pull.Number, 10),
"title": pull.Title,
"branch": pull.Branch,
"branch_slug": slug.Make(pull.Branch),
@@ -109,15 +119,15 @@ func (g *PullRequestGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha
"author": pull.Author,
}
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)
}
// PR lables will only be supported for Go Template appsets, since fasttemplate will be deprecated.
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
@@ -157,7 +167,8 @@ func (g *PullRequestGenerator) selectServiceProvider(ctx context.Context, genera
if err != nil {
return nil, fmt.Errorf("error fetching Secret token: %w", err)
}
return pullrequest.NewGiteaService(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
@@ -213,13 +224,28 @@ func (g *PullRequestGenerator) selectServiceProvider(ctx context.Context, genera
}
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)
}
return pullrequest.NewGithubAppService(*auth, cfg.API, cfg.Owner, cfg.Repo, cfg.Labels)
if g.enableGitHubAPIMetrics {
return pullrequest.NewGithubAppService(ctx, *auth, cfg.API, cfg.Owner, cfg.Repo, cfg.Labels, httpClient)
}
return pullrequest.NewGithubAppService(ctx, *auth, cfg.API, cfg.Owner, cfg.Repo, cfg.Labels)
}
// always default to token, even if not set (public access)
@@ -227,5 +253,9 @@ func (g *PullRequestGenerator) github(ctx context.Context, cfg *argoprojiov1alph
if err != nil {
return nil, fmt.Errorf("error fetching Secret token: %w", err)
}
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

@@ -16,11 +16,12 @@ import (
func TestPullRequestGithubGenerateParams(t *testing.T) {
ctx := t.Context()
cases := []struct {
selectFunc func(context.Context, *argoprojiov1alpha1.PullRequestGenerator, *argoprojiov1alpha1.ApplicationSet) (pullrequest.PullRequestService, error)
values map[string]string
expected []map[string]any
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) {
@@ -171,6 +172,30 @@ func TestPullRequestGithubGenerateParams(t *testing.T) {
expected: nil,
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) {
return pullrequest.NewFakeService(
@@ -252,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 {
@@ -260,7 +330,8 @@ func TestPullRequestGithubGenerateParams(t *testing.T) {
}
generatorConfig := argoprojiov1alpha1.ApplicationSetGenerator{
PullRequest: &argoprojiov1alpha1.PullRequestGenerator{
Values: c.values,
Values: c.values,
ContinueOnRepoNotFoundError: c.continueOnRepoNotFoundError,
},
}
@@ -275,6 +346,8 @@ func TestPullRequestGithubGenerateParams(t *testing.T) {
}
func TestAllowedSCMProviderPullRequest(t *testing.T) {
t.Parallel()
cases := []struct {
name string
providerConfig *argoprojiov1alpha1.PullRequestGenerator
@@ -325,7 +398,7 @@ func TestAllowedSCMProviderPullRequest(t *testing.T) {
"gitea.myorg.com",
"bitbucket.myorg.com",
"azuredevops.myorg.com",
}, true, nil, true))
}, true, true, nil, true))
applicationSetInfo := argoprojiov1alpha1.ApplicationSet{
ObjectMeta: metav1.ObjectMeta{
@@ -348,7 +421,7 @@ func TestAllowedSCMProviderPullRequest(t *testing.T) {
}
func TestSCMProviderDisabled_PRGenerator(t *testing.T) {
generator := NewPullRequestGenerator(nil, NewSCMConfig("", []string{}, false, nil, true))
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,6 +12,7 @@ import (
log "github.com/sirupsen/logrus"
"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"
@@ -21,7 +23,7 @@ import (
var _ Generator = (*SCMProviderGenerator)(nil)
const (
DefaultSCMProviderRequeueAfterSeconds = 30 * time.Minute
DefaultSCMProviderRequeueAfter = 30 * time.Minute
)
type SCMProviderGenerator struct {
@@ -31,20 +33,22 @@ type SCMProviderGenerator struct {
SCMConfig
}
type SCMConfig struct {
scmRootCAPath string
allowedSCMProviders []string
enableSCMProviders bool
GitHubApps github_app_auth.Credentials
tokenRefStrictMode bool
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, tokenRefStrictMode bool) 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,
tokenRefStrictMode: tokenRefStrictMode,
scmRootCAPath: scmRootCAPath,
allowedSCMProviders: allowedSCMProviders,
enableSCMProviders: enableSCMProviders,
enableGitHubAPIMetrics: enableGitHubAPIMetrics,
GitHubApps: gitHubApps,
tokenRefStrictMode: tokenRefStrictMode,
}
}
@@ -69,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 {
@@ -118,11 +122,11 @@ func ScmProviderAllowed(applicationSetInfo *argoprojiov1alpha1.ApplicationSet, g
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 {
@@ -253,6 +257,7 @@ func (g *SCMProviderGenerator) GenerateParams(appSetGenerator *argoprojiov1alpha
params := map[string]any{
"organization": repo.Organization,
"repository": repo.Repository,
"repository_id": repo.RepositoryId,
"url": repo.URL,
"branch": repo.Branch,
"sha": repo.SHA,
@@ -273,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(ctx, *auth, github.Organization, github.API, github.AllBranches, httpClient)
}
return scm_provider.NewGithubAppProviderFor(ctx, *auth, github.Organization, github.API, github.AllBranches)
}
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)
}
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

@@ -12,6 +12,8 @@ import (
)
func TestSCMProviderGenerateParams(t *testing.T) {
t.Parallel()
cases := []struct {
name string
repos []*scm_provider.Repository
@@ -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,6 +36,7 @@ func TestSCMProviderGenerateParams(t *testing.T) {
{
Organization: "myorg",
Repository: "repo2",
RepositoryId: 190320252,
URL: "git@github.com:myorg/repo2.git",
Branch: "main",
SHA: "59d0",
@@ -42,6 +46,7 @@ func TestSCMProviderGenerateParams(t *testing.T) {
{
"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",
@@ -83,6 +90,7 @@ func TestSCMProviderGenerateParams(t *testing.T) {
{
"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

@@ -10,15 +10,15 @@ import (
"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(ctx, c, 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(ctx, c, k8sClient, namespace),
"Plugin": NewPluginGenerator(c, controllerNamespace),
}
nestedGenerators := map[string]Generator{

View File

@@ -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)
})
}
}
@@ -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

@@ -58,8 +58,7 @@ func NewApplicationsetMetrics(appsetLister applisters.ApplicationSetLister, apps
metrics.Registry.MustRegister(reconcileHistogram)
metrics.Registry.MustRegister(appsetCollector)
kubectlMetricsServer := kubectl.NewKubectlMetrics()
kubectlMetricsServer.RegisterWithClientGo()
kubectl.RegisterWithClientGo()
kubectl.RegisterWithPrometheus(metrics.Registry)
return ApplicationsetMetrics{

View File

@@ -174,7 +174,7 @@ func TestApplicationsetCollector(t *testing.T) {
appsetCollector := newAppsetCollector(utils.NewAppsetLister(client), collectedLabels, filter)
metrics.Registry.MustRegister(appsetCollector)
req, err := http.NewRequest(http.MethodGet, "/metrics", nil)
req, err := http.NewRequestWithContext(t.Context(), http.MethodGet, "/metrics", http.NoBody)
require.NoError(t, err)
rr := httptest.NewRecorder()
handler := promhttp.HandlerFor(metrics.Registry, promhttp.HandlerOpts{})
@@ -216,7 +216,7 @@ func TestObserveReconcile(t *testing.T) {
appsetMetrics := NewApplicationsetMetrics(utils.NewAppsetLister(client), collectedLabels, filter)
req, err := http.NewRequest(http.MethodGet, "/metrics", nil)
req, err := http.NewRequestWithContext(t.Context(), http.MethodGet, "/metrics", http.NoBody)
require.NoError(t, err)
rr := httptest.NewRecorder()
handler := promhttp.HandlerFor(metrics.Registry, promhttp.HandlerOpts{})

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,235 @@
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,
),
}
ctx := t.Context()
req, _ := http.NewRequestWithContext(ctx, 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()
req, err = http.NewRequestWithContext(ctx, http.MethodGet, server.URL, http.NoBody)
if err != nil {
t.Fatalf("failed to create request: %v", err)
}
resp, err = http.DefaultClient.Do(req)
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,
},
}
ctx := t.Context()
req, err := http.NewRequestWithContext(ctx, http.MethodGet, URL, http.NoBody)
if err != nil {
t.Fatalf("failed to create request: %v", err)
}
_, _ = client.Do(req)
handler := promhttp.HandlerFor(reg, promhttp.HandlerOpts{})
server := httptest.NewServer(handler)
defer server.Close()
req, err = http.NewRequestWithContext(ctx, http.MethodGet, server.URL, http.NoBody)
if err != nil {
t.Fatalf("failed to create request: %v", err)
}
resp, err := http.DefaultClient.Do(req)
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

@@ -1,35 +1,74 @@
package github_app
import (
"context"
"errors"
"fmt"
"net/http"
"github.com/bradleyfalzon/ghinstallation/v2"
"github.com/google/go-github/v66/github"
"github.com/google/go-github/v69/github"
"github.com/argoproj/argo-cd/v3/applicationset/services/github_app_auth"
"github.com/argoproj/argo-cd/v3/util/git"
)
// 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))
if err != nil {
return nil, fmt.Errorf("failed to create github app install: %w", err)
// getInstallationClient creates a new GitHub client with the specified installation ID.
// It also returns a ghinstallation.Transport, which can be used for git requests.
func getInstallationClient(g github_app_auth.Authentication, url string, httpClient ...*http.Client) (*github.Client, error) {
if g.InstallationId <= 0 {
return nil, errors.New("installation ID is required for github")
}
// Use provided HTTP client's transport or default
var transport http.RoundTripper
if len(httpClient) > 0 && httpClient[0] != nil && httpClient[0].Transport != nil {
transport = httpClient[0].Transport
} else {
transport = http.DefaultTransport
}
itr, err := ghinstallation.New(transport, g.Id, g.InstallationId, []byte(g.PrivateKey))
if err != nil {
return nil, fmt.Errorf("failed to create GitHub installation transport: %w", err)
}
if url == "" {
url = g.EnterpriseBaseURL
}
var client *github.Client
if url == "" {
httpClient := http.Client{Transport: rt}
client = github.NewClient(&httpClient)
} else {
rt.BaseURL = url
httpClient := http.Client{Transport: rt}
client, err = github.NewClient(&httpClient).WithEnterpriseURLs(url, url)
if err != nil {
return nil, fmt.Errorf("failed to create github enterprise client: %w", err)
}
client = github.NewClient(&http.Client{Transport: itr})
return client, nil
}
itr.BaseURL = url
client, err = github.NewClient(&http.Client{Transport: itr}).WithEnterpriseURLs(url, url)
if err != nil {
return nil, fmt.Errorf("failed to create GitHub enterprise client: %w", err)
}
return client, nil
}
// Client builds a github client for the given app authentication.
func Client(ctx context.Context, g github_app_auth.Authentication, url, org string, optionalHTTPClient ...*http.Client) (*github.Client, error) {
if url == "" {
url = g.EnterpriseBaseURL
}
// If an installation ID is already provided, use it directly.
if g.InstallationId != 0 {
return getInstallationClient(g, url, optionalHTTPClient...)
}
// Auto-discover installation ID using shared utility
// Pass optional HTTP client for metrics tracking
installationId, err := git.DiscoverGitHubAppInstallationID(ctx, g.Id, g.PrivateKey, url, org, optionalHTTPClient...)
if err != nil {
return nil, err
}
g.InstallationId = installationId
return getInstallationClient(g, url, optionalHTTPClient...)
}

View File

@@ -91,7 +91,7 @@ func (c *Client) NewRequestWithContext(ctx context.Context, method, path string,
req.Header.Set("Content-Type", "application/json")
}
if len(c.token) != 0 {
if c.token != "" {
req.Header.Set("Authorization", "Bearer "+c.token)
}

View File

@@ -1,78 +1,15 @@
// Code generated by mockery v2.52.4. 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, project, noRevisionCache, verifyCommit
func (_m *Repos) GetDirectories(ctx context.Context, repoURL string, revision string, project string, noRevisionCache bool, verifyCommit bool) ([]string, error) {
ret := _m.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 rf, ok := ret.Get(0).(func(context.Context, string, string, string, bool, bool) ([]string, error)); ok {
return rf(ctx, repoURL, revision, project, noRevisionCache, verifyCommit)
}
if rf, ok := ret.Get(0).(func(context.Context, string, string, string, bool, bool) []string); ok {
r0 = rf(ctx, repoURL, revision, project, noRevisionCache, verifyCommit)
} else {
if ret.Get(0) != nil {
r0 = ret.Get(0).([]string)
}
}
if rf, ok := ret.Get(1).(func(context.Context, string, string, string, bool, bool) error); ok {
r1 = rf(ctx, repoURL, revision, project, noRevisionCache, verifyCommit)
} else {
r1 = ret.Error(1)
}
return r0, r1
}
// GetFiles provides a mock function with given fields: ctx, repoURL, revision, project, pattern, noRevisionCache, verifyCommit
func (_m *Repos) GetFiles(ctx context.Context, repoURL string, revision string, project string, pattern string, noRevisionCache bool, verifyCommit bool) (map[string][]byte, error) {
ret := _m.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 rf, ok := ret.Get(0).(func(context.Context, string, string, string, string, bool, bool) (map[string][]byte, error)); ok {
return rf(ctx, repoURL, revision, project, pattern, noRevisionCache, verifyCommit)
}
if rf, ok := ret.Get(0).(func(context.Context, string, string, string, string, bool, bool) map[string][]byte); ok {
r0 = rf(ctx, repoURL, revision, project, 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, string, bool, bool) error); ok {
r1 = rf(ctx, repoURL, revision, project, 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,12 +5,15 @@ import (
"fmt"
"strings"
"github.com/microsoft/azure-devops-go-api/azuredevops"
"github.com/microsoft/azure-devops-go-api/azuredevops/core"
"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.
@@ -70,13 +73,22 @@ 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 ||
@@ -95,7 +107,7 @@ func (a *AzureDevOpsService) List(ctx context.Context) ([]*PullRequest, error) {
if *pr.Repository.Name == a.repo {
pullRequests = append(pullRequests, &PullRequest{
Number: *pr.PullRequestId,
Number: int64(*pr.PullRequestId),
Title: *pr.Title,
Branch: strings.Replace(*pr.SourceRefName, "refs/heads/", "", 1),
TargetBranch: strings.Replace(*pr.TargetRefName, "refs/heads/", "", 1),

View File

@@ -1,18 +1,18 @@
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"
"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/v3/applicationset/services/scm_provider/azure_devops/git/mocks"
"github.com/argoproj/argo-cd/v3/applicationset/services/scm_provider/mocks"
)
func createBoolPtr(x bool) *bool {
@@ -35,29 +35,6 @@ func createUniqueNamePtr(x string) *string {
return &x
}
type AzureClientFactoryMock struct {
mock *mock.Mock
}
func (m *AzureClientFactoryMock) GetClient(ctx context.Context) (git.Client, error) {
args := m.mock.Called(ctx)
var client git.Client
c := args.Get(0)
if c != nil {
client = c.(git.Client)
}
var err error
if len(args) > 1 {
if e, ok := args.Get(1).(error); ok {
err = e
}
}
return client, err
}
func TestListPullRequest(t *testing.T) {
teamProject := "myorg_project"
repoName := "myorg_project_repo"
@@ -91,10 +68,10 @@ func TestListPullRequest(t *testing.T) {
SearchCriteria: &git.GitPullRequestSearchCriteria{},
}
gitClientMock := azureMock.Client{}
clientFactoryMock := &AzureClientFactoryMock{mock: &mock.Mock{}}
clientFactoryMock.mock.On("GetClient", mock.Anything).Return(&gitClientMock, nil)
gitClientMock.On("GetPullRequestsByProject", ctx, args).Return(&pullRequestMock, nil)
gitClientMock := &azureMock.Client{}
clientFactoryMock := &mocks.AzureDevOpsClientFactory{}
clientFactoryMock.EXPECT().GetClient(mock.Anything).Return(gitClientMock, nil)
gitClientMock.EXPECT().GetPullRequestsByProject(mock.Anything, args).Return(&pullRequestMock, nil)
provider := AzureDevOpsService{
clientFactory: clientFactoryMock,
@@ -110,7 +87,7 @@ func TestListPullRequest(t *testing.T) {
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, prID, list[0].Number)
assert.Equal(t, int64(prID), list[0].Number)
assert.Equal(t, uniqueName, list[0].Author)
}
@@ -236,3 +213,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 := &mocks.AzureDevOpsClientFactory{}
clientFactoryMock.EXPECT().GetClient(mock.Anything).Return(gitClientMock, nil)
// Mock the GetPullRequestsByProject to return an error containing "404"
gitClientMock.EXPECT().GetPullRequestsByProject(mock.Anything, 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)
}

View File

@@ -6,6 +6,7 @@ import (
"errors"
"fmt"
"net/url"
"strings"
"github.com/ktrysmt/go-bitbucket"
)
@@ -17,10 +18,19 @@ type BitbucketCloudService struct {
}
type BitbucketCloudPullRequest struct {
ID int `json:"id"`
Title string `json:"title"`
Source BitbucketCloudPullRequestSource `json:"source"`
Author BitbucketCloudPullRequestAuthor `json:"author"`
ID int `json:"id"`
Title string `json:"title"`
Source BitbucketCloudPullRequestSource `json:"source"`
Author BitbucketCloudPullRequestAuthor `json:"author"`
Destination BitbucketCloudPullRequestDestination `json:"destination"`
}
type BitbucketCloudPullRequestDestination struct {
Branch BitbucketCloudPullRequestDestinationBranch `json:"branch"`
}
type BitbucketCloudPullRequestDestinationBranch struct {
Name string `json:"name"`
}
type BitbucketCloudPullRequestSource struct {
@@ -71,7 +81,10 @@ func NewBitbucketCloudServiceBasicAuth(baseURL, username, password, owner, repos
return nil, fmt.Errorf("error parsing base url of %s for %s/%s: %w", baseURL, owner, repositorySlug, err)
}
bitbucketClient := bitbucket.NewBasicAuth(username, password)
bitbucketClient, err := bitbucket.NewBasicAuth(username, password)
if err != nil {
return nil, fmt.Errorf("error creating BitBucket Cloud client with basic auth: %w", err)
}
bitbucketClient.SetApiBaseURL(*url)
return &BitbucketCloudService{
@@ -87,14 +100,13 @@ func NewBitbucketCloudServiceBearerToken(baseURL, bearerToken, owner, repository
return nil, fmt.Errorf("error parsing base url of %s for %s/%s: %w", baseURL, owner, repositorySlug, err)
}
bitbucketClient := bitbucket.NewOAuthbearerToken(bearerToken)
bitbucketClient, err := bitbucket.NewOAuthbearerToken(bearerToken)
if err != nil {
return nil, fmt.Errorf("error creating BitBucket Cloud client with oauth bearer token: %w", err)
}
bitbucketClient.SetApiBaseURL(*url)
return &BitbucketCloudService{
client: bitbucketClient,
owner: owner,
repositorySlug: repositorySlug,
}, nil
return &BitbucketCloudService{client: bitbucketClient, owner: owner, repositorySlug: repositorySlug}, nil
}
func NewBitbucketCloudServiceNoAuth(baseURL, owner, repositorySlug string) (PullRequestService, error) {
@@ -108,8 +120,17 @@ func (b *BitbucketCloudService) List(_ context.Context) ([]*PullRequest, error)
RepoSlug: b.repositorySlug,
}
pullRequests := []*PullRequest{}
response, err := b.client.Repositories.PullRequests.Gets(opts)
if err != nil {
// A standard Http 404 error is not returned for Bitbucket Cloud,
// so checking the error message for a specific pattern
if strings.Contains(err.Error(), "404 Not Found") {
// 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("error listing pull requests for %s/%s: %w", b.owner, b.repositorySlug, err)
}
@@ -133,14 +154,14 @@ func (b *BitbucketCloudService) List(_ context.Context) ([]*PullRequest, error)
return nil, fmt.Errorf("error unmarshalling json to type '[]BitbucketCloudPullRequest': %w", err)
}
pullRequests := []*PullRequest{}
for _, pull := range pulls {
pullRequests = append(pullRequests, &PullRequest{
Number: pull.ID,
Title: pull.Title,
Branch: pull.Source.Branch.Name,
HeadSHA: pull.Source.Commit.Hash,
Author: pull.Author.Nickname,
Number: int64(pull.ID),
Title: pull.Title,
Branch: pull.Source.Branch.Name,
TargetBranch: pull.Destination.Branch.Name,
HeadSHA: pull.Source.Commit.Hash,
Author: pull.Author.Nickname,
})
}

View File

@@ -89,7 +89,7 @@ func TestListPullRequestBearerTokenCloud(t *testing.T) {
pullRequests, err := ListPullRequests(t.Context(), svc, []v1alpha1.PullRequestGeneratorFilter{})
require.NoError(t, err)
assert.Len(t, pullRequests, 1)
assert.Equal(t, 101, pullRequests[0].Number)
assert.Equal(t, int64(101), pullRequests[0].Number)
assert.Equal(t, "feat(foo-bar)", pullRequests[0].Title)
assert.Equal(t, "feature/foo-bar", pullRequests[0].Branch)
assert.Equal(t, "1a8dd249c04a", pullRequests[0].HeadSHA)
@@ -107,7 +107,7 @@ func TestListPullRequestNoAuthCloud(t *testing.T) {
pullRequests, err := ListPullRequests(t.Context(), svc, []v1alpha1.PullRequestGeneratorFilter{})
require.NoError(t, err)
assert.Len(t, pullRequests, 1)
assert.Equal(t, 101, pullRequests[0].Number)
assert.Equal(t, int64(101), pullRequests[0].Number)
assert.Equal(t, "feat(foo-bar)", pullRequests[0].Title)
assert.Equal(t, "feature/foo-bar", pullRequests[0].Branch)
assert.Equal(t, "1a8dd249c04a", pullRequests[0].HeadSHA)
@@ -125,7 +125,7 @@ func TestListPullRequestBasicAuthCloud(t *testing.T) {
pullRequests, err := ListPullRequests(t.Context(), svc, []v1alpha1.PullRequestGeneratorFilter{})
require.NoError(t, err)
assert.Len(t, pullRequests, 1)
assert.Equal(t, 101, pullRequests[0].Number)
assert.Equal(t, int64(101), pullRequests[0].Number)
assert.Equal(t, "feat(foo-bar)", pullRequests[0].Title)
assert.Equal(t, "feature/foo-bar", pullRequests[0].Branch)
assert.Equal(t, "1a8dd249c04a", pullRequests[0].HeadSHA)
@@ -138,7 +138,7 @@ func TestListPullRequestPaginationCloud(t *testing.T) {
var err error
switch r.RequestURI {
case "/repositories/OWNER/REPO/pullrequests/":
_, err = io.WriteString(w, fmt.Sprintf(`{
_, err = fmt.Fprintf(w, `{
"size": 2,
"pagelen": 1,
"page": 1,
@@ -177,9 +177,9 @@ func TestListPullRequestPaginationCloud(t *testing.T) {
}
}
]
}`, r.Host))
}`, r.Host)
case "/repositories/OWNER/REPO/pullrequests/?pagelen=1&page=2":
_, err = io.WriteString(w, fmt.Sprintf(`{
_, err = fmt.Fprintf(w, `{
"size": 2,
"pagelen": 1,
"page": 2,
@@ -202,7 +202,7 @@ func TestListPullRequestPaginationCloud(t *testing.T) {
}
}
]
}`, r.Host))
}`, r.Host)
default:
t.Fail()
}
@@ -329,7 +329,7 @@ func TestListPullRequestBranchMatchCloud(t *testing.T) {
var err error
switch r.RequestURI {
case "/repositories/OWNER/REPO/pullrequests/":
_, err = io.WriteString(w, fmt.Sprintf(`{
_, err = fmt.Fprintf(w, `{
"size": 2,
"pagelen": 1,
"page": 1,
@@ -349,6 +349,11 @@ func TestListPullRequestBranchMatchCloud(t *testing.T) {
},
"author": {
"nickname": "testName"
},
"destination": {
"branch": {
"name": "master"
}
}
},
{
@@ -365,12 +370,17 @@ func TestListPullRequestBranchMatchCloud(t *testing.T) {
},
"author": {
"nickname": "testName"
},
"destination": {
"branch": {
"name": "branch-200"
}
}
}
]
}`, r.Host))
}`, r.Host)
case "/repositories/OWNER/REPO/pullrequests/?pagelen=1&page=2":
_, err = io.WriteString(w, fmt.Sprintf(`{
_, err = fmt.Fprintf(w, `{
"size": 2,
"pagelen": 1,
"page": 2,
@@ -390,10 +400,15 @@ func TestListPullRequestBranchMatchCloud(t *testing.T) {
},
"author": {
"nickname": "testName"
},
"destination": {
"branch": {
"name": "master"
}
}
}
]
}`, r.Host))
}`, r.Host)
default:
t.Fail()
}
@@ -413,18 +428,20 @@ func TestListPullRequestBranchMatchCloud(t *testing.T) {
require.NoError(t, err)
assert.Len(t, pullRequests, 2)
assert.Equal(t, PullRequest{
Number: 101,
Title: "feat(101)",
Branch: "feature-101",
HeadSHA: "1a8dd249c04a",
Author: "testName",
Number: 101,
Title: "feat(101)",
Branch: "feature-101",
HeadSHA: "1a8dd249c04a",
Author: "testName",
TargetBranch: "master",
}, *pullRequests[0])
assert.Equal(t, PullRequest{
Number: 102,
Title: "feat(102)",
Branch: "feature-102",
HeadSHA: "6344d9623e3b",
Author: "testName",
Number: 102,
Title: "feat(102)",
Branch: "feature-102",
HeadSHA: "6344d9623e3b",
Author: "testName",
TargetBranch: "master",
}, *pullRequests[1])
regexp = `.*2$`
@@ -438,11 +455,12 @@ func TestListPullRequestBranchMatchCloud(t *testing.T) {
require.NoError(t, err)
assert.Len(t, pullRequests, 1)
assert.Equal(t, PullRequest{
Number: 102,
Title: "feat(102)",
Branch: "feature-102",
HeadSHA: "6344d9623e3b",
Author: "testName",
Number: 102,
Title: "feat(102)",
Branch: "feature-102",
HeadSHA: "6344d9623e3b",
Author: "testName",
TargetBranch: "master",
}, *pullRequests[0])
regexp = `[\d{2}`
@@ -454,4 +472,49 @@ func TestListPullRequestBranchMatchCloud(t *testing.T) {
},
})
require.Error(t, err)
regexp = `feature-2[\d]{2}`
targetRegexp := `branch.*`
pullRequests, err = ListPullRequests(t.Context(), svc, []v1alpha1.PullRequestGeneratorFilter{
{
BranchMatch: &regexp,
TargetBranchMatch: &targetRegexp,
},
})
require.NoError(t, err)
assert.Len(t, pullRequests, 1)
assert.Equal(t, PullRequest{
Number: 200,
Title: "feat(200)",
Branch: "feature-200",
HeadSHA: "4cf807e67a6d",
Author: "testName",
TargetBranch: "branch-200",
}, *pullRequests[0])
}
func TestBitbucketCloudListReturnsRepositoryNotFoundError(t *testing.T) {
mux := http.NewServeMux()
server := httptest.NewServer(mux)
defer server.Close()
path := "/repositories/nonexistent/nonexistent/pullrequests/"
mux.HandleFunc(path, func(w http.ResponseWriter, _ *http.Request) {
// Return 404 status to simulate repository not found
w.WriteHeader(http.StatusNotFound)
_, _ = w.Write([]byte(`{"message": "404 Project Not Found"}`))
})
svc, err := NewBitbucketCloudServiceNoAuth(server.URL, "nonexistent", "nonexistent")
require.NoError(t, err)
prs, err := svc.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)
}

View File

@@ -8,7 +8,7 @@ import (
bitbucketv1 "github.com/gfleury/go-bitbucket-v1"
log "github.com/sirupsen/logrus"
"github.com/argoproj/argo-cd/v3/applicationset/utils"
"github.com/argoproj/argo-cd/v3/applicationset/services"
)
type BitbucketService struct {
@@ -49,15 +49,10 @@ func NewBitbucketServiceNoAuth(ctx context.Context, url, projectKey, repositoryS
}
func newBitbucketService(ctx context.Context, bitbucketConfig *bitbucketv1.Configuration, projectKey, repositorySlug string, scmRootCAPath string, insecure bool, caCerts []byte) (PullRequestService, error) {
bitbucketConfig.BasePath = utils.NormalizeBitbucketBasePath(bitbucketConfig.BasePath)
tlsConfig := utils.GetTlsConfig(scmRootCAPath, insecure, caCerts)
bitbucketConfig.HTTPClient = &http.Client{Transport: &http.Transport{
TLSClientConfig: tlsConfig,
}}
bitbucketClient := bitbucketv1.NewAPIClient(ctx, bitbucketConfig)
bbClient := services.SetupBitbucketClient(ctx, bitbucketConfig, scmRootCAPath, insecure, caCerts)
return &BitbucketService{
client: bitbucketClient,
client: bbClient,
projectKey: projectKey,
repositorySlug: repositorySlug,
}, nil
@@ -72,6 +67,11 @@ func (b *BitbucketService) List(_ context.Context) ([]*PullRequest, error) {
for {
response, err := b.client.DefaultApi.GetPullRequestsPage(b.projectKey, b.repositorySlug, paged)
if err != nil {
if response != nil && response.Response != nil && response.StatusCode == http.StatusNotFound {
// 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("error listing pull requests for %s/%s: %w", b.projectKey, b.repositorySlug, err)
}
pulls, err := bitbucketv1.GetPullRequestsResponse(response)
@@ -82,7 +82,7 @@ func (b *BitbucketService) List(_ context.Context) ([]*PullRequest, error) {
for _, pull := range pulls {
pullRequests = append(pullRequests, &PullRequest{
Number: pull.ID,
Number: int64(pull.ID),
Title: pull.Title,
Branch: pull.FromRef.DisplayID, // ID: refs/heads/main DisplayID: main
TargetBranch: pull.ToRef.DisplayID,

View File

@@ -68,7 +68,7 @@ func TestListPullRequestNoAuth(t *testing.T) {
pullRequests, err := ListPullRequests(t.Context(), svc, []v1alpha1.PullRequestGeneratorFilter{})
require.NoError(t, err)
assert.Len(t, pullRequests, 1)
assert.Equal(t, 101, pullRequests[0].Number)
assert.Equal(t, int64(101), pullRequests[0].Number)
assert.Equal(t, "feat(ABC) : 123", pullRequests[0].Title)
assert.Equal(t, "feature-ABC-123", pullRequests[0].Branch)
assert.Equal(t, "master", pullRequests[0].TargetBranch)
@@ -211,7 +211,7 @@ func TestListPullRequestBasicAuth(t *testing.T) {
pullRequests, err := ListPullRequests(t.Context(), svc, []v1alpha1.PullRequestGeneratorFilter{})
require.NoError(t, err)
assert.Len(t, pullRequests, 1)
assert.Equal(t, 101, pullRequests[0].Number)
assert.Equal(t, int64(101), pullRequests[0].Number)
assert.Equal(t, "feature-ABC-123", pullRequests[0].Branch)
assert.Equal(t, "cb3cf2e4d1517c83e720d2585b9402dbef71f992", pullRequests[0].HeadSHA)
}
@@ -228,7 +228,7 @@ func TestListPullRequestBearerAuth(t *testing.T) {
pullRequests, err := ListPullRequests(t.Context(), svc, []v1alpha1.PullRequestGeneratorFilter{})
require.NoError(t, err)
assert.Len(t, pullRequests, 1)
assert.Equal(t, 101, pullRequests[0].Number)
assert.Equal(t, int64(101), pullRequests[0].Number)
assert.Equal(t, "feat(ABC) : 123", pullRequests[0].Title)
assert.Equal(t, "feature-ABC-123", pullRequests[0].Branch)
assert.Equal(t, "cb3cf2e4d1517c83e720d2585b9402dbef71f992", pullRequests[0].HeadSHA)
@@ -510,3 +510,29 @@ func TestListPullRequestBranchMatch(t *testing.T) {
})
require.Error(t, err)
}
func TestBitbucketServerListReturnsRepositoryNotFoundError(t *testing.T) {
mux := http.NewServeMux()
server := httptest.NewServer(mux)
defer server.Close()
path := "/rest/api/1.0/projects/nonexistent/repos/nonexistent/pull-requests?limit=100"
mux.HandleFunc(path, func(w http.ResponseWriter, _ *http.Request) {
// Return 404 status to simulate repository not found
w.WriteHeader(http.StatusNotFound)
_, _ = w.Write([]byte(`{"message": "404 Project Not Found"}`))
})
svc, err := NewBitbucketServiceNoAuth(t.Context(), server.URL, "nonexistent", "nonexistent", "", false, nil)
require.NoError(t, err)
prs, err := svc.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)
}

View File

@@ -0,0 +1,23 @@
package pull_request
import "errors"
// RepositoryNotFoundError represents an error when a repository is not found by a pull request provider
type RepositoryNotFoundError struct {
causingError error
}
func (e *RepositoryNotFoundError) Error() string {
return e.causingError.Error()
}
// NewRepositoryNotFoundError creates a new repository not found error
func NewRepositoryNotFoundError(err error) error {
return &RepositoryNotFoundError{causingError: err}
}
// IsRepositoryNotFoundError checks if the given error is a repository not found error
func IsRepositoryNotFoundError(err error) bool {
var repoErr *RepositoryNotFoundError
return errors.As(err, &repoErr)
}

View File

@@ -0,0 +1,48 @@
package pull_request
import (
"errors"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestRepositoryNotFoundError(t *testing.T) {
t.Run("NewRepositoryNotFoundError creates correct error type", func(t *testing.T) {
originalErr := errors.New("repository does not exist")
repoNotFoundErr := NewRepositoryNotFoundError(originalErr)
require.Error(t, repoNotFoundErr)
assert.Equal(t, "repository does not exist", repoNotFoundErr.Error())
})
t.Run("IsRepositoryNotFoundError identifies RepositoryNotFoundError", func(t *testing.T) {
originalErr := errors.New("repository does not exist")
repoNotFoundErr := NewRepositoryNotFoundError(originalErr)
assert.True(t, IsRepositoryNotFoundError(repoNotFoundErr))
})
t.Run("IsRepositoryNotFoundError returns false for regular errors", func(t *testing.T) {
regularErr := errors.New("some other error")
assert.False(t, IsRepositoryNotFoundError(regularErr))
})
t.Run("IsRepositoryNotFoundError returns false for nil error", func(t *testing.T) {
assert.False(t, IsRepositoryNotFoundError(nil))
})
t.Run("IsRepositoryNotFoundError works with wrapped errors", func(t *testing.T) {
originalErr := errors.New("repository does not exist")
repoNotFoundErr := NewRepositoryNotFoundError(originalErr)
wrappedErr := errors.New("wrapped: " + repoNotFoundErr.Error())
// Direct RepositoryNotFoundError should be identified
assert.True(t, IsRepositoryNotFoundError(repoNotFoundErr))
// Wrapped string error should not be identified (this is expected behavior)
assert.False(t, IsRepositoryNotFoundError(wrappedErr))
})
}

View File

@@ -14,11 +14,12 @@ type GiteaService struct {
client *gitea.Client
owner string
repo string
labels []string
}
var _ PullRequestService = (*GiteaService)(nil)
func NewGiteaService(token, url, owner, repo string, insecure bool) (PullRequestService, error) {
func NewGiteaService(token, url, owner, repo string, labels []string, insecure bool) (PullRequestService, error) {
if token == "" {
token = os.Getenv("GITEA_TOKEN")
}
@@ -42,6 +43,7 @@ func NewGiteaService(token, url, owner, repo string, insecure bool) (PullRequest
client: client,
owner: owner,
repo: repo,
labels: labels,
}, nil
}
@@ -50,14 +52,23 @@ func (g *GiteaService) List(ctx context.Context) ([]*PullRequest, error) {
State: gitea.StateOpen,
}
g.client.SetContext(ctx)
prs, _, err := g.client.ListRepoPullRequests(g.owner, g.repo, opts)
list := []*PullRequest{}
prs, resp, err := g.client.ListRepoPullRequests(g.owner, g.repo, opts)
if err != nil {
if resp != nil && resp.StatusCode == http.StatusNotFound {
// return a custom error indicating that the repository is not found,
// but also returning the empty result since the decision to continue or not in this case is made by the caller
return list, NewRepositoryNotFoundError(err)
}
return nil, err
}
list := []*PullRequest{}
for _, pr := range prs {
if !giteaContainLabels(g.labels, pr.Labels) {
continue
}
list = append(list, &PullRequest{
Number: int(pr.Index),
Number: int64(pr.Index),
Title: pr.Title,
Branch: pr.Head.Ref,
TargetBranch: pr.Base.Ref,
@@ -69,6 +80,21 @@ func (g *GiteaService) List(ctx context.Context) ([]*PullRequest, error) {
return list, nil
}
// containLabels returns true if gotLabels contains expectedLabels
func giteaContainLabels(expectedLabels []string, gotLabels []*gitea.Label) bool {
gotLabelNamesMap := make(map[string]bool)
for i := 0; i < len(gotLabels); i++ {
gotLabelNamesMap[gotLabels[i].Name] = true
}
for _, expected := range expectedLabels {
v, ok := gotLabelNamesMap[expected]
if !v || !ok {
return false
}
}
return true
}
// Get the Gitea pull request label names.
func getGiteaPRLabelNames(giteaLabels []*gitea.Label) []string {
var labelNames []string

View File

@@ -52,7 +52,7 @@ func giteaMockHandler(t *testing.T) func(http.ResponseWriter, *http.Request) {
},
"title": "add an empty file",
"body": "",
"labels": [],
"labels": [{"id": 1, "name": "label1", "color": "00aabb", "description": "foo", "url": ""}],
"milestone": null,
"assignee": null,
"assignees": null,
@@ -246,16 +246,64 @@ func giteaMockHandler(t *testing.T) func(http.ResponseWriter, *http.Request) {
}
}
func TestGiteaContainLabels(t *testing.T) {
cases := []struct {
Name string
Labels []string
PullLabels []*gitea.Label
Expect bool
}{
{
Name: "Match labels",
Labels: []string{"label1", "label2"},
PullLabels: []*gitea.Label{
{Name: "label1"},
{Name: "label2"},
{Name: "label3"},
},
Expect: true,
},
{
Name: "Not match labels",
Labels: []string{"label1", "label4"},
PullLabels: []*gitea.Label{
{Name: "label1"},
{Name: "label2"},
{Name: "label3"},
},
Expect: false,
},
{
Name: "No specify",
Labels: []string{},
PullLabels: []*gitea.Label{
{Name: "label1"},
{Name: "label2"},
{Name: "label3"},
},
Expect: true,
},
}
for _, c := range cases {
t.Run(c.Name, func(t *testing.T) {
if got := giteaContainLabels(c.Labels, c.PullLabels); got != c.Expect {
t.Errorf("expect: %v, got: %v", c.Expect, got)
}
})
}
}
func TestGiteaList(t *testing.T) {
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
giteaMockHandler(t)(w, r)
}))
host, err := NewGiteaService("", ts.URL, "test-argocd", "pr-test", false)
host, err := NewGiteaService("", ts.URL, "test-argocd", "pr-test", []string{"label1"}, false)
require.NoError(t, err)
prs, err := host.List(t.Context())
require.NoError(t, err)
assert.Len(t, prs, 1)
assert.Equal(t, 1, prs[0].Number)
assert.Equal(t, int64(1), prs[0].Number)
assert.Equal(t, "add an empty file", prs[0].Title)
assert.Equal(t, "test", prs[0].Branch)
assert.Equal(t, "main", prs[0].TargetBranch)
@@ -291,3 +339,35 @@ func TestGetGiteaPRLabelNames(t *testing.T) {
})
}
}
func TestGiteaListReturnsRepositoryNotFoundError(t *testing.T) {
mux := http.NewServeMux()
server := httptest.NewServer(mux)
defer server.Close()
// Handle version endpoint that Gitea client calls first
mux.HandleFunc("/api/v1/version", func(w http.ResponseWriter, _ *http.Request) {
w.Header().Set("Content-Type", "application/json")
_, _ = w.Write([]byte(`{"version":"1.17.0+dev-452-g1f0541780"}`))
})
path := "/api/v1/repos/nonexistent/nonexistent/pulls?limit=0&page=1&state=open"
mux.HandleFunc(path, func(w http.ResponseWriter, _ *http.Request) {
// Return 404 status to simulate repository not found
w.WriteHeader(http.StatusNotFound)
_, _ = w.Write([]byte(`{"message": "404 Project Not Found"}`))
})
svc, err := NewGiteaService("", server.URL, "nonexistent", "nonexistent", []string{}, false)
require.NoError(t, err)
prs, err := svc.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)
}

View File

@@ -6,7 +6,9 @@ import (
"net/http"
"os"
"github.com/google/go-github/v66/github"
"github.com/google/go-github/v69/github"
appsetutils "github.com/argoproj/argo-cd/v3/applicationset/utils"
)
type GithubService struct {
@@ -18,18 +20,28 @@ type GithubService struct {
var _ PullRequestService = (*GithubService)(nil)
func NewGithubService(token, url, owner, repo string, labels []string) (PullRequestService, error) {
func NewGithubService(token, url, owner, repo string, labels []string, optionalHTTPClient ...*http.Client) (PullRequestService, error) {
// Undocumented environment variable to set a default token, to be used in testing to dodge anonymous rate limits.
if token == "" {
token = os.Getenv("GITHUB_TOKEN")
}
httpClient := &http.Client{}
var client *github.Client
httpClient := appsetutils.GetOptionalHTTPClient(optionalHTTPClient...)
if url == "" {
client = github.NewClient(httpClient).WithAuthToken(token)
if token == "" {
client = github.NewClient(httpClient)
} else {
client = github.NewClient(httpClient).WithAuthToken(token)
}
} else {
var err error
client, err = github.NewClient(httpClient).WithEnterpriseURLs(url, url)
if token == "" {
client, err = github.NewClient(httpClient).WithEnterpriseURLs(url, url)
} else {
client, err = github.NewClient(httpClient).WithAuthToken(token).WithEnterpriseURLs(url, url)
}
if err != nil {
return nil, err
}
@@ -52,6 +64,11 @@ func (g *GithubService) List(ctx context.Context) ([]*PullRequest, error) {
for {
pulls, resp, err := g.client.PullRequests.List(ctx, g.owner, g.repo, opts)
if err != nil {
if resp != nil && resp.StatusCode == http.StatusNotFound {
// return a custom error indicating that the repository is not found,
// but also returning 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("error listing pull requests for %s/%s: %w", g.owner, g.repo, err)
}
for _, pull := range pulls {
@@ -59,7 +76,7 @@ func (g *GithubService) List(ctx context.Context) ([]*PullRequest, error) {
continue
}
pullRequests = append(pullRequests, &PullRequest{
Number: *pull.Number,
Number: int64(*pull.Number),
Title: *pull.Title,
Branch: *pull.Head.Ref,
TargetBranch: *pull.Base.Ref,

View File

@@ -1,12 +1,17 @@
package pull_request
import (
"context"
"net/http"
"github.com/argoproj/argo-cd/v3/applicationset/services/github_app_auth"
"github.com/argoproj/argo-cd/v3/applicationset/services/internal/github_app"
appsetutils "github.com/argoproj/argo-cd/v3/applicationset/utils"
)
func NewGithubAppService(g github_app_auth.Authentication, url, owner, repo string, labels []string) (PullRequestService, error) {
client, err := github_app.Client(g, url)
func NewGithubAppService(ctx context.Context, g github_app_auth.Authentication, url, owner, repo string, labels []string, optionalHTTPClient ...*http.Client) (PullRequestService, error) {
httpClient := appsetutils.GetOptionalHTTPClient(optionalHTTPClient...)
client, err := github_app.Client(ctx, g, url, owner, httpClient)
if err != nil {
return nil, err
}

View File

@@ -1,9 +1,12 @@
package pull_request
import (
"net/http"
"net/http/httptest"
"testing"
"github.com/google/go-github/v66/github"
"github.com/google/go-github/v69/github"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
@@ -86,3 +89,29 @@ func TestGetGitHubPRLabelNames(t *testing.T) {
})
}
}
func TestGitHubListReturnsRepositoryNotFoundError(t *testing.T) {
mux := http.NewServeMux()
server := httptest.NewServer(mux)
defer server.Close()
path := "/repos/nonexistent/nonexistent/pulls"
mux.HandleFunc(path, func(w http.ResponseWriter, _ *http.Request) {
// Return 404 status to simulate repository not found
w.WriteHeader(http.StatusNotFound)
_, _ = w.Write([]byte(`{"message": "404 Project Not Found"}`))
})
svc, err := NewGithubService("", server.URL, "nonexistent", "nonexistent", []string{}, nil)
require.NoError(t, err)
prs, err := svc.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)
}

View File

@@ -61,11 +61,15 @@ func (g *GitLabService) List(ctx context.Context) ([]*PullRequest, error) {
var labelsList gitlab.LabelOptions = g.labels
labels = &labelsList
}
opts := &gitlab.ListProjectMergeRequestsOptions{
snippetsListOptions := gitlab.ExploreSnippetsOptions{
ListOptions: gitlab.ListOptions{
PerPage: 100,
},
Labels: labels,
}
opts := &gitlab.ListProjectMergeRequestsOptions{
ListOptions: snippetsListOptions.ListOptions,
Labels: labels,
}
if g.pullRequestState != "" {
@@ -76,6 +80,11 @@ func (g *GitLabService) List(ctx context.Context) ([]*PullRequest, error) {
for {
mrs, resp, err := g.client.MergeRequests.ListProjectMergeRequests(g.project, opts, gitlab.WithContext(ctx))
if err != nil {
if resp != nil && resp.StatusCode == http.StatusNotFound {
// return a custom error indicating that the repository is not found,
// but also returning 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("error listing merge requests for project '%s': %w", g.project, err)
}
for _, mr := range mrs {

View File

@@ -78,7 +78,7 @@ func TestList(t *testing.T) {
prs, err := svc.List(t.Context())
require.NoError(t, err)
assert.Len(t, prs, 1)
assert.Equal(t, 15442, prs[0].Number)
assert.Equal(t, int64(15442), prs[0].Number)
assert.Equal(t, "Draft: Use structured logging for DB load balancer", prs[0].Title)
assert.Equal(t, "use-structured-logging-for-db-load-balancer", prs[0].Branch)
assert.Equal(t, "master", prs[0].TargetBranch)
@@ -191,3 +191,29 @@ func TestListWithStateTLS(t *testing.T) {
})
}
}
func TestGitLabListReturnsRepositoryNotFoundError(t *testing.T) {
mux := http.NewServeMux()
server := httptest.NewServer(mux)
defer server.Close()
path := "/api/v4/projects/nonexistent/merge_requests"
mux.HandleFunc(path, func(w http.ResponseWriter, _ *http.Request) {
// Return 404 status to simulate repository not found
w.WriteHeader(http.StatusNotFound)
_, _ = w.Write([]byte(`{"message": "404 Project Not Found"}`))
})
svc, err := NewGitLabService("", server.URL, "nonexistent", []string{}, "", "", false, nil)
require.NoError(t, err)
prs, err := svc.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)
}

View File

@@ -7,7 +7,8 @@ import (
type PullRequest struct {
// Number is a number that will be the ID of the pull request.
Number int
// Gitlab uses int64 for the pull request number.
Number int64
// Title of the pull request.
Title string
// Branch is the name of the branch from which the pull request originated.
@@ -30,4 +31,5 @@ type PullRequestService interface {
type Filter struct {
BranchMatch *regexp.Regexp
TargetBranchMatch *regexp.Regexp
TitleMatch *regexp.Regexp
}

View File

@@ -25,6 +25,12 @@ func compileFilters(filters []argoprojiov1alpha1.PullRequestGeneratorFilter) ([]
return nil, fmt.Errorf("error compiling TargetBranchMatch regexp %q: %w", *filter.TargetBranchMatch, err)
}
}
if filter.TitleMatch != nil {
outFilter.TitleMatch, err = regexp.Compile(*filter.TitleMatch)
if err != nil {
return nil, fmt.Errorf("error compiling TitleMatch regexp %q: %w", *filter.TitleMatch, err)
}
}
outFilters = append(outFilters, outFilter)
}
return outFilters, nil
@@ -37,6 +43,9 @@ func matchFilter(pullRequest *PullRequest, filter *Filter) bool {
if filter.TargetBranchMatch != nil && !filter.TargetBranchMatch.MatchString(pullRequest.TargetBranch) {
return false
}
if filter.TitleMatch != nil && !filter.TitleMatch.MatchString(pullRequest.Title) {
return false
}
return true
}

Some files were not shown because too many files have changed in this diff Show More