Alexander Matyushentsev
70b9db68b4
Issue #599 - Lazy enforcement of unknown cluster/namespace restricted resources ( #612 )
2018-09-20 09:48:54 -07:00
Jesse Suen
bfb558eb92
Fix issue where helm hooks were being deployed as part of sync (issue #605 )
2018-09-17 11:29:44 -07:00
Jesse Suen
505866a4c6
Support helm charts with dependencies and namespace sensitivity (issue #582 )
2018-09-17 11:29:44 -07:00
Jesse Suen
02116d4bfc
Fix comparison failure when app contains unregistered custom resource (issue #583 ) ( #596 )
2018-09-13 14:02:04 -07:00
Alexander Matyushentsev
aa2afcd47b
Issue #330 - Projects need controls on cluster-scoped resources ( #558 )
...
* Issue #330 - Projects need controls on cluster-scoped resources
* Issue #330 - Introduce namespace resources black-list
2018-09-11 15:10:47 -07:00
Jesse Suen
fd510e7933
Support an automated sync policy upon detection of OutOfSync status from git ( #571 )
2018-09-11 14:28:53 -07:00
Jesse Suen
bc98b65190
Fix controller hot loop when app source contains bad manifests (issue #568 ) ( #570 )
2018-09-10 10:58:13 -07:00
dthomson25
954706570c
Reorder K8s resources to correct creation order ( #551 )
2018-09-10 10:14:14 -07:00
Alexander Matyushentsev
e2faf6970f
Issue #527 - Support --in-cluster authentication without providing a kubeconfig ( #559 )
...
* Issue #527 - Support --in-cluster authentication without providing a kubeconfig
* Issue #527 - make sure resources are watched for 'local' cluster
2018-09-10 08:20:17 -07:00
Jesse Suen
cf630055b0
API discovery becomes best effort when partial resource list is returned ( resolves #524 ) ( #526 )
2018-08-21 13:53:42 -07:00
Jesse Suen
00299707e5
Expand RBAC role to be able to create application events. Fix username claims extraction. ( #479 )
2018-07-31 11:15:44 -07:00
Jesse Suen
a7c7523a8c
Support helm charts and yaml directories as an application source ( #432 )
...
* Support helm charts and yaml directories as an application source
* Run e2e test in parallel and increase timeout
2018-07-24 16:37:12 -07:00
Alexander Matyushentsev
b3af671803
Issue #340 - create application/project events for audit ( #440 )
...
* Issue #340 - create application/project events for audit
* Issue 340 - move username to message field
* Reviewer notes: fix possible panic
2018-07-24 18:48:13 +03:00
JazminGonzalez-Rivero
2343818ab5
Resolves 398 -> errors set status to known, status details set to error message ( #437 )
...
* if healthcheck fails, return unknown health status
* pass error through
* revert error pass
* fix error pass
* save first error
2018-07-23 11:32:35 -07:00
Jesse Suen
c0367ed595
Add support for hook deletion policies (OnSuccess, OnFailure) ( resolves #374 ) ( #412 )
2018-07-16 10:15:53 -07:00
Jesse Suen
39b9f4d31a
Add ability to terminate a running operation ( resolves #379 ) ( #409 )
2018-07-13 17:13:31 -07:00
Jesse Suen
078b2339bd
Apply logic was ignoring kubectl apply failures ( #395 )
2018-07-13 10:03:56 -07:00
Jesse Suen
f65859bc25
Label hooks so that the cluster resource watch will be notified about completions ( #387 )
2018-07-12 14:01:54 -07:00
Alexander Matyushentsev
543ae3cf13
Issue #364 - Assess health of StatefulSets, DaemonSets, ReplicaSets ( #391 )
2018-07-13 00:01:28 +03:00
Alexander Matyushentsev
610a4510cf
Issue #385 - Sync and health status should be unknown if controller unable to load target/live state ( #386 )
2018-07-12 22:40:21 +03:00
Jesse Suen
7b92977889
Improve logging. Prevent some unecessary patches to app ( #383 )
2018-07-12 12:39:46 -07:00
Jesse Suen
9d921f65f3
Various fixes to sync logic ( #370 )
...
* move hook resource state into SyncResult (from operation state)
* fix rollback to use apply based sync
* re-assess sync/health status between each sync phases
* PostSync hook should wait until application is Healthy (resolves #363 )
2018-07-11 19:12:30 -07:00
Andrew Merenbach
9cddd4c368
Force app refresh after sync ( #373 )
2018-07-11 13:45:41 -07:00
Alexander Matyushentsev
8db465c699
Issue #277 - Warning message if controller detect resources which belongs to multiple application ( #372 )
...
* Issue #277 - Warning message if controller detect resources which belongs to multiple application
* Reviewer notes: add missing nil check
2018-07-11 23:00:48 +03:00
Jesse Suen
eb1caf2231
Use hook strategy as the default when performing a sync ( #368 )
2018-07-10 16:02:55 -07:00
Alexander Matyushentsev
adb84f3d03
Issue #210 - Application controller should not erase previously collected info about resources if repo or cluster is not available ( #367 )
2018-07-11 00:45:18 +03:00
Alexander Matyushentsev
7d4dd0fdd5
Issue #304 - Add spec validation condition to application CRD ( #360 )
2018-07-09 20:45:03 +03:00
Jesse Suen
364415f83a
Move k8s health assessment into a stand-alone library. Use kubectl convert to statically assess health ( #356 )
2018-07-09 10:13:56 -07:00
Jesse Suen
d633f6b299
Support for PreSync, Sync, PostSync resource hooks ( #350 )
...
* Rewrite controller sync logic to support workflow-based sync
* Redesign hook implementation to support generic resources as hooks
2018-07-07 00:54:06 -07:00
Andrew Merenbach
bf2fe9d33f
Add missing health status ( #354 )
...
* Add missing health status
* Update swagger.json
* Default app and service health to Missing
* Fill in Missing status if status field is blank
* Simplify missing injection
2018-07-06 16:33:25 -07:00
Alexander Matyushentsev
16fa41d25b
Issue #275 - Application controller fails to get app state if app has resource without name ( #285 )
2018-06-14 09:08:22 -07:00
Andrew Merenbach
df0e2e4015
Fail app sync if prune flag is required ( #276 )
...
* Add status field to resource details
* Update generated code
* Set up const message responses
* Check number of resources requiring pruning
* Fix imports
* Use string, thanks @alexmt
* Update generated code
2018-06-12 10:54:11 -07:00
Alexander Matyushentsev
aa4291183b
Take into account number of unavailable replicas to decided if deployment is healthy or not ( #270 )
...
* Take into account number of unavailable replicas to decided if deployment is healthy or not
* Run one controller for all e2e tests to reduce tests duration
* Apply reviewer notes: use logic from kubectl/rollout_status.go to check deployment health
2018-06-07 11:05:46 -07:00
Alexander Matyushentsev
f0be1bd251
Fix bug secret controller which is causing update loop in secret controller ( #251 )
2018-05-31 16:06:41 -07:00
Alexander Matyushentsev
e785abeb8f
Issue #244 - Cluster/Repository connection status ( #248 )
2018-05-31 13:44:19 -07:00
Alexander Matyushentsev
12596ff936
Issue #233 - Controller does not persist rollback operation result ( #234 )
2018-05-24 10:50:33 -07:00
Alexander Matyushentsev
e04d315853
Issue #118 - app delete should be done through controller using finalizers ( #206 )
...
* Issue #118 - app delete should be done through controller using finalizers
* Apply reviewer notes: introduce application
* Apply reviewer notes: fix app deletion
2018-05-16 16:30:28 -07:00
Alexander Matyushentsev
8039228a9d
Add last update time to operation status, fix operation status patching ( #204 )
...
* Add last update time to operation status, fix operation status patching
* Rename lastUpdateTime to startAt and finishedAt
2018-05-15 11:35:10 -07:00
Andrew Merenbach
b1103af429
Rename recent deployments to history ( #201 )
...
* Rename RecentDeployments to History
* Update generated code
2018-05-15 11:05:46 -07:00
Jesse Suen
2664db3e40
Refactor application controller sync/apply loop ( #202 )
...
* Refactor application controller sync/apply loop
* always run kubectl apply --dry-run before the actual apply
* remove incorrect logic skip apply if comparator reported Synced
* rename status to phase
* distinguish failures from errors
* consolidate fields between OperationState and SyncOperationResult
* Disable migration code which referenced removed fields
2018-05-15 00:36:11 -07:00
Jesse Suen
c61795f71a
Add 'database' library for CRUD operations against repos and clusters. Redact sensitive information ( #196 )
2018-05-14 11:36:08 -07:00
Alexander Matyushentsev
3dbbcf8918
Move sync logic to contoller ( #180 )
...
* Issue #119 - Move sync logic to contoller
* Implement app compare/sycn e2e test
* Fix panic in kube ApplyResource method
* Apply reviewer notes: add separate rollback operation instead of reusing sync for sync and rollback
2018-05-11 11:50:32 -07:00
Andrew Merenbach
b83eac5dc2
Make ApplicationSpec.Destination non-optional, non-pointer ( #177 )
...
* Make Destination a non-pointer field
* Rm nil checks for destination; update initialization
* Update codegen
* Rm ResolveServerNamespace function, thanks @jessesuen
2018-05-08 14:09:33 -07:00
Alexander Matyushentsev
d9c12e7271
Issue #146 - ArgoCD applications should have a rolled up health status ( #164 )
...
* Issue #146 - ArgoCD applications should have a rolled up health status
* Apply reviewer notes: rename healthState to health; rename HealthState to HealthStatus
2018-05-07 08:38:25 -07:00
Jesse Suen
ac938fe8a3
Add GitHub webhook handling to fast-track controller application reprocessing ( #160 )
...
* Add GitHub webhook handling to fast-track application controller reprocessing
* Add GitLab and Bitbucket webhook support. Add unit tests.
2018-05-04 17:01:57 -07:00
Alexander Matyushentsev
1b2f89995c
Issue #155 - Application update failes due to concurrent access ( #156 )
2018-05-03 15:55:01 -07:00
Jesse Suen
9567b539d1
Improve comparator to fall back to looking up a resource by name
2018-04-30 12:03:20 -07:00
Alexander Matyushentsev
917f1df250
Populated 'unexpected' resources while comparing target and live states ( #137 )
...
* Make sure endpoints resources is detected as child resource for correspoinding service
* Issue #104 - Populated 'unexpected' resources while comparing target and live states
* Add comments to comparator CompareAppState method
2018-04-27 13:57:09 -07:00
Alexander Matyushentsev
f6ed150bb7
Issue #108 - App controller incorrectly report that app is out of sync ( #109 )
...
* Load/delete app kubernetes resources parallelly to improve comparison performance
* Issue #108 - App controller incorrectly report that app is out of sync
2018-04-20 11:54:52 -07:00
Alexander Matyushentsev
3ac95f3f84
Fix null pointer error in controller ( #105 )
2018-04-19 16:48:32 -07:00