Commit graph

149 commits

Author SHA1 Message Date
Alexander Matyushentsev
68597718bf
fix: terminated sync operation should not auto-retry (#4056) 2020-08-05 17:58:59 -07:00
Alexander Matyushentsev
c82451ca9a
fix: infer app destination server URL prior app deletion and during lightweight reconciliation (#4039)
* fix: infer app destination server URL prior app deletion and during lightweight reconciliation

* apply reviewer notes
2020-08-05 17:58:20 -07:00
Alexander Matyushentsev
ba71ad934c
refactor: upgrade k8s client to 1.18 (#4046)
* refactor: upgrade k8s client to 1.18

* remove unnecessary go mod replacements
2020-08-05 11:36:40 -07:00
May Zhang
382bbdf031
feat: autosync protection (#3996) 2020-07-28 19:52:30 -07:00
Alexander Matyushentsev
a6399e59e1
feat: support retrying failed sync attempts (#3997)
* feat: support retrying failed sync attempts

* fix: sync results should be cleared in retry sync attempt
2020-07-28 10:14:17 -07:00
May Zhang
067dcce88d
feat: auto create namespace (#3976)
* feat: auto create namespace

* feat: fixing yarn lint error.

* feat: fixing yarn lint error.

* update to the latest gitops-engine

* fix tidiness of go.sum
2020-07-27 13:33:08 -07:00
Alexander Matyushentsev
6ebd156198
fix: support project finalizer to ensure proper deletion (#3967)
* fix: support project finalizer to ensure proper deletion

* apply reviewer notes
2020-07-21 17:25:41 -07:00
Alexander Matyushentsev
1b956f133b
fix: application resources info should be stored in persistent order (#3974) 2020-07-21 16:59:00 -07:00
Darshan Chaudhary
53a9222ad7
feat: delete in reverse order of sync waves (#3959)
* feat: delete in reverse order of sync waves

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

* feat: add tests for deletion in order

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

* feat: fix lint for appcontroller.go

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

* feat: add comment to explain early return

Signed-off-by: darshanime <deathbullet@gmail.com>
2020-07-21 09:52:59 +02:00
Alexander Matyushentsev
dfd7457c21
fix: use glob matcher in casbin built-in model (#3966) 2020-07-20 13:55:19 -07:00
rachelwang20
95820cf64f
feat: User can define Orphaned exception avoiding unnecessary warnings (#3900)
* Include sub and and iat in PermissionDenied message

* iat fromat changing

* Adding MapClaims convertion

* Adding Orphaned exception list

* Adding group kind label

* Fixed lint errors

* Method rename
2020-07-09 16:19:47 -07:00
Darshan Chaudhary
921606169a
chore: bump up k8s.io dependencies to 1.17 (#3899)
chore: bump up k8s.io dependencies to 1.17 (#3899)

Signed-off-by: darshanime <deathbullet@gmail.com>
2020-07-09 13:38:32 -07:00
Darshan Chaudhary
63acc26211
fix: don't refresh if dry run (#3891)
* fix: don't refresh if dry run

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

* fix: add e2e test for sync with dry-run

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

* fix: refresh only if not dryRun for sync command

Signed-off-by: darshanime <deathbullet@gmail.com>
2020-07-08 09:43:39 -07:00
Alexander Matyushentsev
5d5d6a4ad6
feat: Display cluster info on cluster details page (#3793)
* feat: Display cluster info on cluster details page

* Store cluster info in cache instead of secret
2020-06-22 17:51:20 -07:00
Alexander Matyushentsev
fc2e3f82a2
fix: application controller should not modify cached applications (#3821) 2020-06-22 11:04:25 -07:00
Liviu Costea
7ccb16bf7a
feat: Support cluster name on Application destination. Closes #1548 (#2808)
feat: Support cluster name on Application destination. Closes #1548 (#2808)
2020-06-20 16:12:46 -07:00
Alexander Matyushentsev
1aeba18d81
fix: cluster state cache should be initialized before using (#3752) (#3763) 2020-06-12 15:05:01 -07:00
Alexander Matyushentsev
d60bb6804c
fix: upgrade gitops-engine dependency to v0.1.2 (#3729) 2020-06-08 15:12:35 -07:00
May Zhang
d60e1b2876
feat: get cluster connection status from cluster synced time (#3604)
feat: get cluster connection status from cluster synced time (#3604)
2020-06-04 11:36:26 -07:00
jannfis
bc83719037
chore: Fix complaints of golang-ci lint v1.26.0 (#3673) 2020-05-30 18:54:14 -07:00
Alexander Matyushentsev
ee64a4d9ca
fix: upgrade gitops engine dependency (#3668) 2020-05-28 18:42:01 -07:00
Josh Soref
a724574ede
chore: Spelling (#3647)
chore: Spelling (#3647)
2020-05-27 10:22:13 -07:00
Alexander Matyushentsev
fe8d47e0ea
feat: move engine code to argoproj/gitops-engine repo (#3599) 2020-05-15 14:39:29 -07:00
Alexander Matyushentsev
192ee93fc4
feat: Gitops engine (#3066)
* Move utils packages that are required for gitops engine under engine/pkg/utils package.
Following changes were implemented:
* util/health package is split into two parts: resource health assessement & resource health assessement and moved into engine/pkg/utils
* utils packages moved: Closer and Close method of util package moved into engine/pkg/utils/io package
* packages diff, errors, exec, json, kube and tracing moved into engine/pkg/utils

* Move single cluster caching into engine/kube/cache package

* move sync functionality to engine/kube/sync package

* remove dependency on metrics package from engine/pkg/utils/kube/cache

* move annotation label definitions into engine/pkg/utils/kube/sync

* make sure engine/pkg has no dependencies on other argo-cd packages

* allow importing engine as a go module

* implement a high-level interface that might be consumed by flux

* fix deadlock caused by cluster cache event handler

* ClusterCache should return error if requested group kind not found

* remove obsolete tests

* apply reviewer notes
2020-05-15 10:01:18 -07:00
jannfis
02b3c61fd9
feat: Introduce diff normalizer knobs and allow for ignoring aggregated cluster roles (#2382) (#3076)
* Add the ability to ignore rules added by aggregated cluster roles
2020-05-13 13:34:43 -07:00
Alexander Matyushentsev
842a3d12f6
feat: add redis metrics to application controller and api server (#3500)
* add redis metrics to application controller and api server

* fix failed test
2020-04-28 12:52:03 -07:00
Alexander Matyushentsev
1b5925a494
fix: stop trigging auto-syncing if app only need to prune resources and automated prune is disabled (#3253) 2020-03-18 14:19:54 -07:00
Alexander Matyushentsev
d500b27f1d
feat: store the name operation initator in the app CRD (#3252) 2020-03-18 13:32:39 -07:00
Jesse Suen
476b09cbbf
feat: improve api-server and controller performance (#3222)
* group read comparison settings during app reconciliation
* Reduce lock contention in clusterInfo::ensureSynced(). Add getRepoObj stats
* Remove additional source of lock contention
* Exclude the coordination.k8s.io/Lease resource

Co-authored-by: Alexander Matyushentsev <amatyushentsev@gmail.com>
2020-03-16 11:51:59 -07:00
Alex Collins
ebc048167c
feat: Supports the validate-false option at an app level. Closes #1063 (#2542) 2020-02-10 14:09:25 -08:00
Alexander Matyushentsev
85bda0f793
fix: self-heal should retry syncing an application after specified delay (#2950)
* fix: self-heal should retry syncing an application after specified delay
2020-01-08 14:07:36 -08:00
Alexander Matyushentsev
76da1529d9
fix: limit number of parallel kubectl apply (#2944)
* fix: limit number of parallel kubectl apply
2020-01-06 22:28:42 -08:00
Alexander Matyushentsev
d4c0ee80ee
fix: collect cluster metrics in background; remove obsolete metrics (#2923) 2019-12-27 21:06:37 -08:00
Alexander Matyushentsev
6a0bb821cc
fix: stop using jsondiffpatch on clientside to render resource difference (#2869)
* fix: stop using jsondiffpatch on clientside to render resource difference (#2863)

* Apply reviewer notes
2019-12-26 14:42:56 -08:00
Alexander Matyushentsev
9a23823f32
fix: removes redundant mutex usage in controller cache and adds cluster cache metrics (#2898) 2019-12-26 14:08:31 -08:00
Alexander Matyushentsev
aea81373eb
fix: prevent user from seeing/deleting resources not permitted in project (#2908) (#2910) 2019-12-26 14:08:14 -08:00
Jesse Suen
73f0437ef3
feat: Use kubectl apply library instead of forking binary (#2861) 2019-12-13 17:29:01 -08:00
jannfis
4fa47ce6cd Only delete resources during app delete cascade if permitted to (fixes #2693) (#2695)
* Only delete resources during app delete if we're permitted to

* Permission checks need to move to a different place

* Add unit tests

* Return map of actually deleted object, so we can test against it

* Better error handling

* Move logic into shouldBeDeleted()
2019-12-09 08:39:20 -08:00
Alex Collins
257c27677a
Removes log warning regarding indexer and may improve performance. Closes #1345 (#2761) 2019-11-24 14:12:47 -08:00
Alexander Matyushentsev
a53950e5a8
Issue #2339 - Don't update 'status.reconciledAt' unless compared with latest git version (#2581) 2019-10-28 16:44:23 -07:00
Alexander Matyushentsev
9c3c2f3f14
Issue #2339 - Controller should compare with latest git revision if app has changed (#2543) 2019-10-22 15:23:15 -07:00
Devan Goodwin
e3edd2ced3 Add Time to ApplicationCondition. (#2417) 2019-10-16 19:29:52 -07:00
Alex Collins
bbdbe364b0
Makes cache timeouts configurable (#2412) 2019-10-16 15:46:45 -07:00
Alexander Matyushentsev
402ce43804
Issue #2453 - Application controller sometimes accidentally removes duplicated/excluded resource warning condition (#2454) 2019-10-10 17:26:53 -07:00
Alexander Matyushentsev
f75984fbf5
Issue #1944 - Gracefully handle missing cached app state (#2464)
* Issue #1944 - Gracefully handle missing cached app state

* Unit test getCachedAppState method
2019-10-10 15:17:13 -07:00
Adam Johnson
5abe863ea9 Convert maintenance windows to sync windows (#2416)
Convert maintenance windows to sync windows (#2416)
2019-10-08 15:20:19 -07:00
Adam Johnson
e6e4751326 Add project level maintenance windows for applications (#2380)
* Add maintenance windows for applications, configured at the project level

* move maintenance window check out of autoSync(), fix imports and error checking

* fix ui lint

* add some more tests for maintenance

* patch after pre-commit

* Add more tests for maintenance windows

* Remove Dockerfile as it was added by mistake
2019-10-01 15:23:09 -07:00
Alexander Matyushentsev
a82d708dd8
Add dest-server and dest-namespace field to reconciliation logs (#2388) 2019-09-30 14:33:44 -07:00
Alexander Matyushentsev
a345f349bc
Issue #2339 - Make sure controller uses latest git version if app reconciliation result expired (#2346) 2019-09-23 10:31:59 -07:00
Alex Collins
62f029af5f
Support --kube-version. (#2276) 2019-09-11 16:37:00 -07:00