Commit graph

89 commits

Author SHA1 Message Date
Jesse Suen
83fb5fb388
Rename 'controlled resources' to 'managed resources' (#850)
Rename 'resources tree' to 'resource tree'
2018-11-30 10:32:31 -08:00
Alexander Matyushentsev
6dede28f72
Issue #696 - Support apps with static namespaces in resources (#842) 2018-11-29 15:34:46 -08:00
Alexander Matyushentsev
6368a3e548
Refactor application controller (#840)
* Refactor application controller
2018-11-28 13:38:02 -08:00
Jesse Suen
477ca61da5
Resolve ambiguous revisions in API server when initiating syncs (issue #818) (#834)
Incorporate revision information into event messages
2018-11-27 13:38:00 -08:00
Zvi Cahana
2b23812e6e Relax validation to permit app with no manifests (#832) 2018-11-27 02:52:46 -08:00
Jesse Suen
3b447a19ea
Support for Pods as a sync hook (#801)
Add app label to pod metadata in job.spec.template.labels
Fix issue where hooks could bypass a project whitelist/blacklist (issue #794)
Fix issue where deletion of hooks did not perform a cascaded deletion (issue #797)
2018-11-21 11:58:08 -08:00
Jesse Suen
16ff90c070
Defer deletion of app object until all resources have been deleted (issue #636) (#807)
Purge app cache after deletion is successful (issue #802)
2018-11-19 12:25:45 -08:00
Jesse Suen
925f9486e3
Restructure application sources to separate types (#799) 2018-11-17 16:20:25 -08:00
Alexander Matyushentsev
275b9e194d
Issue #355 - Treat 'crd-install' hooks as normal k8s resource (#792) 2018-11-16 17:12:21 -08:00
Alexander Matyushentsev
44087fa1b5
Issue #621 - Remove resources state from application CRD (#758) 2018-11-16 17:10:04 -08:00
Alexander Matyushentsev
317d2a8aa8
Issue #536 - Declarative setup and configuration of ArgoCD (#745)
* Issue #536 - Declarative setup and configuration of ArgoCD

* Add missing rules to application-controller role

* Fix broken test; update install manifests
2018-11-09 09:58:07 -08:00
Taylor D. Edmiston
34bb60f064 Make Argo CD naming consistent (#694)
* Make Argo CD naming consistent

* Change ArgoCD to Argo CD on new lines
2018-11-05 11:29:01 -08:00
dthomson25
2c8c2fcd64
Support adding name prefix in helm and kustomize (#735) 2018-10-29 16:05:22 -07:00
Jesse Suen
2498f60c57
Update dependencies to k8s v1.12 and client-go v9.0 (#729)
Update dependencies to k8s v1.12 and client-go v9.0 (resolves #353)
Fix issue where applications could not be deleted on k8s v1.12 (resolves #718)
Refactor k8s dynamic resource libraries to promote code reuse
2018-10-28 22:46:13 -07:00
Alexander Matyushentsev
c76db90437
Issue #628 - Remove RollbackOperation in favor of Sync with ParameterOverrides (#706) 2018-10-18 20:23:22 -07:00
Alexander Matyushentsev
9c79af9340
Issue #682 - Operation stuck in 'in progress' state if application has no resources (#684) 2018-10-11 11:18:17 -04:00
Andrew Merenbach
1ba52c8880
Allow more fine-grained sync (closes #508) (#666) 2018-10-10 10:12:20 -07:00
Alexander Matyushentsev
93a808e65a
Issue #627 - Cluster watch needs to be restarted when CRDs get created (#678) 2018-10-05 13:18:12 -04:00
Jesse Suen
e163177a12 Switch to go-git for all remote git interactions including auth (issue #651) 2018-09-27 12:48:23 -07:00
dthomson25
1ba10a1a20
Remove default params from app history (#649) 2018-09-27 11:24:25 -07:00
Jesse Suen
0af77a0706 Add more event sources and provide better detail in event messages (issue #635) (#637)
* Expand SyncOperation to also store parameter overrides
Fix auto-sync when used with parameter overrides

* Add more event sources and provide better detail in event messages (issue #635)
2018-09-24 08:52:43 -07:00
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