Commit graph

38 commits

Author SHA1 Message Date
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
Alexander Matyushentsev
06b64047a4
Issue #69 - Auto-sync option in application CRD instance (#83)
* Issue #69 - Auto-sync option in application CRD instance

* Fix possible NPE error in controller

* Correctly handle situation when cluster is temporary down/unreachable by argocd

* Handle case when argo monitor cluster which go offline and recover
2018-04-11 12:53:33 -07:00
Alexander Matyushentsev
5b5dc0efc4
Issue #67 - Application controller should persist ksonnet app parameters in app CRD (#73) 2018-04-05 14:08:47 -07:00
Alexander Matyushentsev
0febf05160
Issue #67 - Persist resources tree in application CRD (#68) 2018-04-04 21:11:05 -07:00
Alexander Matyushentsev
10a8d521ef
Add application source and component parameters into recentDeployment field of application CRD (#53)
* Add application source and component parameters into recentDeployment field of application CRD

* Fix broken test
2018-03-26 11:37:38 -07:00
Alexander Matyushentsev
234ace173e
Replace ephemeral environments with override parameters (#52) 2018-03-26 08:28:56 -07:00
Andrew Merenbach
363b9b352c
Don't overwrite application status in tryRefreshAppStatus (#42) 2018-03-16 17:06:57 -07:00
Alexander Matyushentsev
5c062bd3e5
Support deploying/destroying ephemeral environments (#40)
* Support deploying ephemeral environments

* Support deleting application resources

* Fix merge conflict

* Add missing break statement
2018-03-16 16:17:03 -07:00
Andrew Merenbach
98754c7fe1
Persist parameters during deployment (Sync) (#39)
* Add basic skeleton for improvements

* Update protobuf config for repository API

* Update skeleton of deploy params code

* Add DeploymentInfo struct

* Add comment, comment out code

* Update repository.pb.go

* Update comment in repository.proto

* Update reposerver subpackage

* Comment out for now

* Start getting function into shape

* Flesh out logic further

* Get unit test started for TestListEnvParams

* Add missing interface declaration

* Finish unit test for ListEnvParams

* Use string literals for regexp.MustCompile

* Clean up RPC response code

* Use map[string]interface{} for now, thanks @alexmt

* First draft attempt to integrate deployment info retrieval

* Install more wiring

* DRY

* Move CRD update to after successful deployment, thanks @alexmt

* Move app params update to after successful deployment, too

* Don't replace application status, thanks @alexmt

* Convert to string types

* Don't create unused var

* Log received values

* Unquote quoted params

* Use string as value type

* Use named returns, no magic number

* Use map for gRPC data transfer

* Update generated code

* Log actual map, not wrapper object

* Fix unit test
2018-03-16 14:58:59 -07:00
Andrew Merenbach
0368c2eadf Allow use of public repos without prior registration (#36)
* Instantiate repo anonymously if it doesn't exist

* Assume public repository if retrieval fails

* Update documentation, blame @merenbach

* Rm obsolete line from GETTING_STARTED.md
2018-03-14 16:28:43 -07:00
Jesse Suen
3a1338be8b
Add ability to override the server and namespace defined in ksonnet env when enabling an app 2018-03-09 02:33:55 -08:00
Alexander Matyushentsev
2eeeea37ab
Issue #21 - Support rollback without updating spec in git repo (#23) 2018-03-07 14:34:43 -08:00
Alexander Matyushentsev
3a7c9c77b3
Issue #19 - Add repo-server into installer (#22) 2018-03-07 10:47:57 -08:00
Alexander Matyushentsev
405b47ffe6
Issue #19 - Move Kubernetes manifest generation into separate service (#20) 2018-03-06 22:05:07 -08:00
Jesse Suen
12d513f5af
Fix diff util to handle nil comparisons. Remove debug logic 2018-02-27 03:16:18 -08:00
Jesse Suen
c13699cfe3
Fixes to app comparator 2018-02-27 01:53:14 -08:00
Alexander Matyushentsev
118dd03a32
Implement controller e2e tests (#10) 2018-02-26 09:01:53 -08:00
Alexander Matyushentsev
cc4981c23c
Allow segregate applications among controllers using label (#9) 2018-02-26 07:43:35 -08:00
Alexander Matyushentsev
c0233ebcec
Update application CRD types, implement application manager draft (#3) 2018-02-22 10:56:14 -08:00