Commit graph

113 commits

Author SHA1 Message Date
Yonatan Sasson
999b75fdc0
fix: Handle nil health check in post-delete hooks (#18270) (#18767)
* fix: Handle nil health check in post-delete hooks

Signed-off-by: Yonatan Sasson <yonatanxd7@gmail.com>

* test: Validate deletion of RBAC resources for post-delete hook

Signed-off-by: Yonatan Sasson <yonatanxd7@gmail.com>

* Update appcontroller_test.go

Signed-off-by: Yonatan Sasson <107778824+Yuni-sa@users.noreply.github.com>

---------

Signed-off-by: Yonatan Sasson <yonatanxd7@gmail.com>
Signed-off-by: Yonatan Sasson <107778824+Yuni-sa@users.noreply.github.com>
2024-06-26 08:53:09 -04:00
Matthieu MOREL
3dcddee199
chore: enable float-compare rule from testifylint (#18721)
* chore: enable float-compare rule from testifylint

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

* Update managed_fields_test.go

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

* Update managed_fields_test.go

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

---------

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-06-21 14:16:32 -04:00
Matthieu MOREL
d7fc1bf2d7
chore: enable require-error rule from errorlint linter on controller folder (#18690)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
Signed-off-by: pasha-codefresh <pavel@codefresh.io>
Co-authored-by: pasha-codefresh <pavel@codefresh.io>
2024-06-17 13:05:27 +00:00
Matthieu MOREL
7cf5ed06d4
chore: enable gofumpt and whitespace linters (#18567)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-06-11 15:41:55 +00:00
Matthieu MOREL
4a01f8a69a
chore: enable expected-actual rule from testifylint linter (#18575)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-06-10 20:33:00 +00:00
Matthieu MOREL
33df2ce698
chore: enable goimports linter (#18564)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-06-10 09:18:12 -04:00
Matthieu MOREL
44b8dc1a4c
chore: enable len and empty rules from testifylint linter (#18516)
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2024-06-07 15:12:50 -04:00
Alexander Matyushentsev
5bb3c87370
fix: Argo CD app is out of sync right after sync (#18155)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2024-05-09 12:52:11 -07:00
Alexander Matyushentsev
ec09937fe0
fix: status.sync.comparedTo should use replace patch strategy (#18061)
* fix: status.sync.comparedTo should use replace patch strategy

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

* add e2e tests

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

---------

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2024-05-03 11:03:50 -04:00
pasha-codefresh
e23060540f
Merge pull request from GHSA-9m6p-x4h2-6frq
* feat: limit jq.Run with timeout

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

* feat: ignore normalizer jq execution timeout as env variable

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

* feat: customize error message and add doc section

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

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

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

* chore: fix import`s order

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

* chore: rename variable inside sts

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

* chore: fix import order

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

---------

Signed-off-by: pashakostohrys <pavel@codefresh.io>
2024-04-26 12:24:02 +03:00
Alexy Mantha
4e46a5e8fa
feat(controller): use manifest generate path during comparison (#14242) (#15636)
* squash commits

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* Update util/git/client.go

Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* fix error message

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* add git client options

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* Update generated code

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* run fmt

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* fix tests

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* failed gen

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* tweak logs and rename cache

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* validate revisions

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* fix tests

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* fix tests

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* fmt

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* fix linting

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* fixes from review

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* generate

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* fix

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

* use log context

Signed-off-by: Alexy Mantha <alexy@mantha.dev>

---------

Signed-off-by: Alexy Mantha <alexy@mantha.dev>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2024-04-04 16:01:11 -04:00
Soumya Ghosh Dastidar
4458d5fa80
fix: stop initializing deployment informer if dynamic sharding is disabled (#17097)
* fix: stop initializing deployment informer if dynamic sharding is disabled

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

* feat: updated sharding cache getter func

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

---------

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2024-02-11 13:32:17 -05:00
Alexandre Gaudreault
7302a52ea1
feat(controller): add sync jitter(#14241) (#16820)
* feat(controller): add sync jitter

Signed-off-by: Alexandre Gaudreault <alexandre.gaudreault@logmein.com>

* convert to duration for simplicity

Signed-off-by: Alexandre Gaudreault <alexandre.gaudreault@logmein.com>

* docs

Signed-off-by: Alexandre Gaudreault <alexandre.gaudreault@logmein.com>

* add config to manifests

Signed-off-by: Alexandre Gaudreault <alexandre.gaudreault@logmein.com>

* fix tests

Signed-off-by: Alexandre Gaudreault <alexandre.gaudreault@logmein.com>

---------

Signed-off-by: Alexandre Gaudreault <alexandre.gaudreault@logmein.com>
2024-01-21 11:52:32 +05:30
Akram Ben Aissi
cd4fc97c9d
fix: Use the cache for sharding (#15237)
* feat(sharding): use a cache

Signed-off-by: Alexandre Gaudreault <alexandre.gaudreault@logmein.com>

* cluster cmd

Signed-off-by: Alexandre Gaudreault <alexandre.gaudreault@logmein.com>

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

Signed-off-by: Akram Ben Aissi <akram.benaissi@gmail.com>

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

Signed-off-by: Akram Ben Aissi <akram.benaissi@gmail.com>

* Code review

Signed-off-by: Akram Ben Aissi <akram.benaissi@gmail.com>

* Set default shard to 0

Signed-off-by: Akram Ben Aissi <akram.benaissi@gmail.com>

* Set different default value for Sts and Deployment mode

Signed-off-by: Akram Ben Aissi <akram.benaissi@gmail.com>

* Expose ClusterShardingCache

Signed-off-by: Akram Ben Aissi <akram.benaissi@gmail.com>

* Removing use of argoDB.db for DistributionFunction

Signed-off-by: Akram Ben Aissi <akram.benaissi@gmail.com>

* Update generated documentation

Signed-off-by: Akram Ben Aissi <akram.benaissi@gmail.com>

* Fix comment about NoShardingDistributionFunction and NoShardingAlgorithm

Signed-off-by: Akram Ben Aissi <akram.benaissi@gmail.com>

---------

Signed-off-by: Alexandre Gaudreault <alexandre.gaudreault@logmein.com>
Signed-off-by: Akram Ben Aissi <akram.benaissi@gmail.com>
Co-authored-by: Alexandre Gaudreault <alexandre.gaudreault@logmein.com>
2024-01-11 01:32:11 -05:00
Leonardo Luz Almeida
82ca7a7f9c
feat: Implement Server-Side Diff (#13663)
* feat: Implement Server-Side Diff

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

* propagate the refreshtype to the diff config

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

* Create the serverSideDiff config

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

* chore: add featureflag utility package

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

* remove featureflag package

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

* add param

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

* make ssd configurable with app annotation

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

* add server-side-diff flags

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

* apply the same logic regardless of the refresh type

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

* fix gitops-engine reference

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

* address review comments

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

* Address review comments

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

* docs: add docs related to server-side-diff

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

* docs: update doc

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

* Add config to include mutation webhooks

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

* Address review comments

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

* go mod update

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

* Add sdd cache test case

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

* fix ssd cache unit test

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

* Update clidocs

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

* update manifests

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

* Fix procfile

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

* additional doc changes

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

* update gitops-engine version

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

---------

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
2023-12-18 20:37:13 +00:00
Alexander Matyushentsev
dcc17f70bf
feat: PostDelete hook support (#16595)
* feat: PostDelete hooks support

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


---------

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2023-12-18 08:40:23 -08:00
gdsoumya
be2a01c231
feat: grace period for repo errors to prevent aggressive unknown sync state (#16085)
* feat: added grace period for repo errors to prevent aggressive sync state unknowns

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

* feat: updated docs

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

* fix: e2e test

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

* feat: resolved review comments

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

* feat: update unit test

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

* fix: codegen

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

---------

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
Signed-off-by: gdsoumya <44349253+gdsoumya@users.noreply.github.com>
2023-11-02 11:51:16 -04:00
gdsoumya
a43b799609
feat: add write back to application informer (#15987)
Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
Signed-off-by: gdsoumya <44349253+gdsoumya@users.noreply.github.com>
2023-10-23 18:15:53 -07:00
gdsoumya
a9f03aa8cc
feat: use rate limited queue (#15480)
* feat: use rate limited queue

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2023-10-18 12:08:04 -07:00
gdsoumya
45c0c2a422
feat: added patch_ms and setop_ms timings to reconciliation logs (#15595)
* feat: added patch_ms to reconciliation logs

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

* feat: added patch_ms and setop_ms timings to logs

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

---------

Signed-off-by: Soumya Ghosh Dastidar <gdsoumya@gmail.com>
2023-09-20 22:18:38 -07:00
Michael Crenshaw
703df96acd
fix(controller): log failed attempts to update operation state (#14273)
* fix(controller): log failed attempts to update operation state

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

* new package name

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

* Update controller/appcontroller_test.go

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

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2023-07-26 21:02:56 +00:00
Michael Crenshaw
15eeb307eb
fix(controller): populate ignoreDifferences in sync status (#14542)
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2023-07-17 14:52:50 -04:00
Michael Crenshaw
e2e0da7fcc
fix: trigger refresh on changed ignoreDifferences (#12607)
* fix: trigger refresh on changed ignoreDifferences

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

* make the tests mean things

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

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2023-07-07 15:18:10 -04:00
Lukas Wöhrl
59e6f2c3ac
fix: retain count and order of revisions for multi source apps (#14108) (#14113)
* fix: retain order of revisions for multi source apps (#14108)

Signed-off-by: Lukas Wöhrl <lukas.woehrl@plentymarkets.com>

* fix: retain revision for multi source app with ref-repos

Signed-off-by: Lukas Wöhrl <lukas.woehrl@plentymarkets.com>

* calculate commitSHA before quitting manifest generation

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

---------

Signed-off-by: Lukas Wöhrl <lukas.woehrl@plentymarkets.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-06-20 12:08:21 -04:00
Akram Ben Aissi
ee983fe8ac
fix: Fixes sharding placement algorithm and allows development of alternative algorithms (#13018)
* fix: Extraction of DistributionFunction to allow passing different type of functions to filter clusters by shard
- Adding unit tests for sharding
- Refresh clusters list on DistributionFunction call

Signed-off-by: Akram Ben Aissi <akram.benaissi@gmail.com>
Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* fix: Incorrect conversion of an integer with architecture-dependent bit size from [strconv.Atoi](1) to a lower bit size type uint32 without an upper bound check.

Signed-off-by: Akram Ben Aissi <akram.benaissi@gmail.com>

* Added config to switch to round-robin sharding

Signed-off-by: Raghavi Shirur <rshirur@redhat.com>
Signed-off-by: Akram Ben Aissi <akram.benaissi@gmail.com>

* Documenting sharding more, adding shuffling tests (skipped), re-enable sharding algo env var

Signed-off-by: Akram Ben Aissi <akram.benaissi@gmail.com>

* Allow configuration through argocd-cmd-params-cm configMap and key: controller.sharding.algorithm

Signed-off-by: Akram Ben Aissi <akram.benaissi@gmail.com>

* De-duplicate code, remove reflection for default case, shorten distribution methods name, ran codegen on manifests
Signed-off-by: Akram Ben Aissi <akram.benaissi@gmail.com>

Signed-off-by: Akram Ben Aissi <akram.benaissi@gmail.com>

---------

Signed-off-by: Akram Ben Aissi <akram.benaissi@gmail.com>
Signed-off-by: ishitasequeira <ishiseq29@gmail.com>
Signed-off-by: Raghavi Shirur <rshirur@redhat.com>
Co-authored-by: Raghavi Shirur <raghaviss11@gmail.com>
2023-06-05 09:19:14 -04:00
Fish-pro
1b0bf87e7b
chore: Clean up repeated package import (#13821)
Signed-off-by: Zechun Chen <zechun.chen@daocloud.io>
2023-06-01 10:48:09 -06:00
Kevin Huber
032a596ef5
feat: Add controllerNamespace to .status of an application (#13081)
Signed-off-by: Kevin Huber <kevin.huber@hotmail.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-05-27 22:08:59 +00:00
Blake Pettersson
aed1be6388
fix: update managed namespace metadata (#13074)
* fix: update managed namespace metadata

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

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

Fixes #12661.

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

* fix: nil check

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

* fix: allow empty apps to be updated

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

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

* test: add unit tests in appcontroller

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

* fix: rebase

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

* refactor: extract method

Consolidate checks to `app.HasChangedManagedNamespaceMetadata()`

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

* chore: make codegen

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

---------

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2023-05-19 09:55:08 -04:00
Eng Zer Jun
e8331b4d12
chore: replace github.com/ghodss/yaml with sigs.k8s.io/yaml (#13292)
At the time of making this commit, the package `github.com/ghodss/yaml`
is no longer actively maintained.

`sigs.k8s.io/yaml` is a permanent fork of `ghodss/yaml` and is actively
maintained by Kubernetes SIG.

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2023-05-04 18:06:56 -04:00
Alexander Matyushentsev
2126bcf280
feat: support 'helm.sh/resource-policy: keep' helm annotation (#13157)
* feat: support 'helm.sh/resource-policy: keep' helm annotation

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

* document  annotation

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

---------

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2023-04-24 13:41:21 -07:00
Michael Crenshaw
2b1d55b106
fix: evaluate all possible refresh reasons for multi-source apps (#12379) (#12576)
* fix: evaluate all possible refresh reasons for multi-source apps (#12379)

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

* remove redundant parentheses

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

* tests

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

* don't auto-sync, it makes tests flaky

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

* auto-sync because sync CLI doesn't work for multi-source apps

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

* don't require out-of-sync - app may sync quickly

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

* timeout 60

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

* fix timeout

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

---------

Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2023-02-24 13:30:18 -05:00
Mike Ng
0d02040d03
feat: add app skip reconcile annotation to optionally bypass application controller processing (#11879)
Signed-off-by: Mike Ng <ming@redhat.com>
2023-02-23 12:02:50 -05:00
Soumya Ghosh Dastidar
b6cfe676f3
feat: add sync delete option (#12448)
feat: add sync delete option (#12448)
2023-02-14 19:51:53 +00:00
ChangZhuo Chen (陳昌倬)
95da518e7d
Merge pull request from GHSA-6p4m-hw2h-6gmw
Signed-off-by: ChangZhuo Chen (陳昌倬) <czchen@czchen.org>

add test

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

better comment

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

Signed-off-by: CI <350466+crenshaw-dev@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>
2023-01-25 09:14:29 -05:00
Ishita Sequeira
c6fa942e94
feat: Multiple sources for applications (#2789) (#10432)
* feat: support multiple sources for application

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

remove debug logging and unwanted code

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

fix lint and unit test errors

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

fix lint and unit test errors

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* fix bug introduced after rebase

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

executed make codegen

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* rebase with master

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

remove unwanted logging

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

fix ci failures

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* fix index out of bounds error

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* ui fixes

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* add revisions to SyncOperation for rollback

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* change Source to *ApplicationSource in ApplicationSpec

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* fix env variable read logic for ValueFiles

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* update multiple sources doc

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* add repository lock and checkout target revision

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

fix codegen

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* checkout all sources before generating manifest

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

generate mock reposerverclient

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* update logic for returning ManifestResponse to avoid nil pointer issues

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

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

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

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

Rebase with master

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* update grpc field numbers

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* path resolution tests (#12)

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

do things in better ways

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

consolidate

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

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

* add regex check for value of source.ref

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* add webhook tests

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

change Source to *ApplicationSource in ApplicationSpec

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

address PR comments

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

rebase with master

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

Retrigger CI pipeline

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

rebased with master

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* fix env variable read logic for ValueFiles

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

Address PR comments

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* add repository lock and checkout target revision

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

fix codegen

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* checkout all sources before generating manifest

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* generate mock reposerverclient

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* address comments

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* update logic for returning ManifestResponse to avoid nil pointer issues

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

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

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

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

Rebase with master

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* update grpc field numbers

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* add regex check for value of source.ref

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* Rebase with master

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* Added unit tests (#15)

* add unit tests 1
* fix lint

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* fix application parameters tab, rebased UI changes, tests

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* More tests (#16)

* more tests

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

fix lint error

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

Test get ref sources (#17)

* test GetRefSources

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>

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

GenerateManifests test (#18)

* GenerateManifests test

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

Fix broken tests (#19)

* fix broken tests

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

Symlink test (#20)

* check referenced sources for out-of-bounds symlinks

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

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

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

* multi source docs (#21)

* multi source docs

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

* fix warning title

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

* clarify

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

* clarify

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

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

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

* add e2e tests for multiple sources and fix UI lint

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* add auto-sync and hard refresh to e2e tests

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* change refresh type to RefreshTypeNormal for e2e

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* update e2e testcase with helm data

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* add TestMultiSourceAppWithSourceOverride

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* add missing yaml file

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* rebase with master

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* rebase with master

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

* fix lint

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>

Signed-off-by: ishitasequeira <ishiseq29@gmail.com>
Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>
Signed-off-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
Co-authored-by: Michael Crenshaw <350466+crenshaw-dev@users.noreply.github.com>
2022-12-16 15:47:08 -05:00
Alexander Matyushentsev
097ed6f108
fix: application stuck in infinite reconciliation loop if using wrong project (#11246)
* fix: application stuck in infinite reconciliation loop if using wrong project

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

* add missing unit test

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

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2022-11-18 20:57:34 -05:00
Blake Pettersson
5f3fc68b17
feat: add permitOnlyProjectScopedClusters flag (#10237)
This commit adds a new flag, `permitOnlyProjectScopedClusters`, which
prevents any application from syncing to clusters which are not a part
of the same project. Fixes #10220.

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

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2022-09-08 07:33:10 -04:00
Alexander Matyushentsev
893a8670b0
chore: infer managed resources health from redis instead of storing it in CRD (#10191)
* chore: infer managed resources health from redis instead of storing it in CRD

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>
2022-08-17 21:03:24 +00:00
jannfis
068048cb80
feat: Applications in any namespace (#9755)
* feat: Applications in any namespace

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

* Fix typo in CI

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

* Create argocd-e2e-external namespace

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

* Update from codegen

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

* Remove debug code

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

* Update help text for -N option to app create

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

* Wrap error when retrieving AppProject from cache

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

* Check for controller namespace first before matching on additional ns

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

* Improve TestAppProjectIsSourceNamespacePermitted unit test

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

* Get rid of some debug leftovers

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

* Better error wrapping; return IsNotFound as-is

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

* Updates from codegen

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

* We don't need AppShortName() anymore

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

* Update end-to-end tests to use annotation methods

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

* Add e2e tests to test for app creation in not permitted ns

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

* Remove deprecated code

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

* Remove dead code

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

* Add RBACName() method to application type

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

* Update from codegen

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

* Fix e2e test

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

* Update codegen

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

* Move RBAC name generation to an application receiver

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

* Fix sync window status in UI

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

* Fix pod logs viewer

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

* Fix application events in UI

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

* Fix application search in UI

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

* Fix yarn lint

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

* Only set up cluster-wide application informer when additional namespaces are specified

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

* Adapt e2e test to a changed error message

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

* Application namespace should be taken into account for create

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

* Use non-qualified application name as Helm release name

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

* Support --app-namespace in e2e tests

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

* Enable more e2e tests

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

* Increase e2e timeout for newly added tests

Signed-off-by: jannfis <jann@mistrust.net>
2022-08-10 11:39:10 +02:00
Leonardo Luz Almeida
eb3517baad
fix: Ignore diff with schema (#9170) 2022-05-31 13:21:22 -04:00
pasha-codefresh
f11da56381
feat: add --app-hard-resync flag to controller (#8928)
* feat: add --app-hard-resync flag to controller

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

* add to approvers

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

* Merge branch 'master' of github.com:pasha-codefresh/argo-cd into hard-refresh

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

# Conflicts:
#	cmd/argocd-application-controller/main.go
#	controller/appcontroller.go

* merge

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

* merge

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

* regenerate docs

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

* regenerate docs

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

* fix tests

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

* read variable from cm

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

* reconciliation variable

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

* manifest

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

Co-authored-by: darshanime <deathbullet@gmail.com>
2022-04-04 10:44:35 -04:00
Alexander Matyushentsev
af03b291d4
Merge pull request from GHSA-2f5v-8r3f-8pww
* fix: application resource APIs must enforce project restrictions

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

* Fix unit tests

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

Co-authored-by: jannfis <jann@mistrust.net>
2022-03-22 10:57:30 -07:00
Alexander Matyushentsev
05935a9d7e
refactor: avoid loading project in frequently executed controller methods (#7853)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-12-03 13:18:08 -08:00
Alexander Matyushentsev
872eff292b
fix: Operation has completed with phase: Running (#7482)
* fix: Operation has completed with phase: Running

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-10-19 17:16:31 -07:00
Leonardo Luz Almeida
384f5b2bae
Expose Application labels in prometheus metric (#7374)
Expose Application labels in prometheus metric (#7374)

Signed-off-by: Leonardo Luz Almeida <leonardo_almeida@intuit.com>
2021-10-08 10:15:51 -07:00
Jonathan West
4a4b43f1d2
fix: unable to delete an Application if its target cluster is deleted, Argo CD enters infinite app deletion reconciliation loop (#6557)
Signed-off-by: Jonathan West <jonwest@redhat.com>
2021-06-29 16:32:21 -04:00
Alexander Matyushentsev
2541fa0332
refactor: upgrade gitops engine (argoproj/gitops-engine/#286) (#6491)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-06-17 12:06:18 -07:00
Kshama Jain
2ba6223b6c
feat: update app informer to avoid stale cache (#6372)
feat: update app informer to avoid stale cache (#6372)

Signed-off-by: kshamajain99 <kshamajain99@gmail.com>
2021-06-03 15:40:35 -07:00
Shoubhik Bose
cc4eea0d69
chore: Organize Application-related defaults/constants in the Application API's package. (#5893)
chore: Organize Application-related defaults/constants in the Application API's package. (#5893)

Signed-off-by: Shoubhik Bose <shbose@redhat.com>
2021-05-19 12:43:04 -07:00
Alexander Matyushentsev
9b32e01104
feat: cache resolved git/helm repository revisions (#6102)
* feat: cache resolved git/helm repository revisions

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-05-19 12:30:15 -07:00