Commit graph

53 commits

Author SHA1 Message Date
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
Alexander Matyushentsev
24fa758444
fix: enable redis retries; add redis request duration metric (#3575) 2020-05-12 14:39:18 -07:00
Shuhei Kitagawa
9a17103830
feat: Add --logformat switch to API server, repository server and controller (#3408) 2020-05-05 14:03:48 +02: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
7fd7999e49
fix: increase max connections count to support clusters with very large number of CRDs (#3278) 2020-03-25 01:02:33 -07:00
Jesse Suen
4bbce1cb22
perf: reduce unnecessary K8s calls for CRDs during reconciliation (#3246)
* reduce K8s calls for CRDs during reconciliation
* additional metric labels to k8s API requests (server, verb, kind, namespace)
2020-03-18 03:28:31 -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
Alexander Matyushentsev
84f24cdb6c
Issue #2673 - Application controller flag is broken (#2674) 2019-11-08 16:20:31 -08:00
Alex Collins
bbdbe364b0
Makes cache timeouts configurable (#2412) 2019-10-16 15:46:45 -07:00
Alexander Matyushentsev
047d06f16f
Document flags/env variables useful for performance tuning (#2312) 2019-09-13 17:16:30 -07:00
Alex Collins
62f029af5f
Support --kube-version. (#2276) 2019-09-11 16:37:00 -07:00
Alexander Matyushentsev
39cb8db3e1
Issue #2022 - Support limiting number of concurrent kubectl fork/execs (#2264) 2019-09-10 09:56:48 -07:00
Alexander Matyushentsev
e27568fa8c
Issue #1736 - Auto-sync should support self-healing option (#1990) 2019-07-24 19:26:09 -07:00
Alexander Matyushentsev
d3c850b8e7
Issues #1513 - Make sure insecure flag works for remote Kustomize bases (#1934)
* Make sure insecure flag works for remote Kustomize bases
2019-07-12 17:17:23 -07:00
Alexander Matyushentsev
0f2fe76027
Move generated api code to pkg package (#1696) 2019-06-05 12:58:11 -07:00
jannfis
9f9a076433 Make listener and metrics ports configurable (#1647) 2019-05-28 11:41:02 -07:00
Alexander Matyushentsev
847b7f5e11
Issue #1533 - Prevent reconciliation loop for self-managed apps (#1608) 2019-05-13 11:17:32 -07:00
Alexander Matyushentsev
0b945ef616
Issue #1570 - Application controller is unable to delete self-referenced app (#1574) 2019-05-06 12:49:29 -07:00
Alexander Matyushentsev
e5e1308852
Issue #1476 - Add repo server grpc call timeout (#1528) 2019-04-25 16:53:05 -07:00
Jesse Suen
39174ab969
Move parameters listing from GenerateManifests to GetAppDetails (#1221)
* Move parameters listing from GenerateManifests to GetAppDetails
* Fix logging to use standard logger to honor CLI loglevel
2019-03-05 14:56:47 -08:00
Jesse Suen
eb431308de
Add application sync counters as new prometheus metric. Add API-server metrics (#1156) 2019-02-22 15:20:34 -08:00
Alexander Matyushentsev
cb9eb0a9bb
Issue #937 - Use redis as a shared throwaway cache (#1120) 2019-02-13 15:20:40 -08:00
Alexander Matyushentsev
fa4b761612
Use informers to load ArgoCD settings (#989)
* Use informers to load Argo CD settings
2019-01-08 14:53:45 -08:00
Jesse Suen
3379585847
Increase QPS and Burst used in K8s client configs to 25/50 (#984) 2019-01-07 14:25:07 -08:00
Jesse Suen
b439424cef
Use default server addresses. Use an imagePullPolicy of Always for manifests (#796) 2018-11-17 16:00:55 -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
Jesse Suen
5c7a3329f3
Support for external OIDC providers and implicit login flows (#727) 2018-10-29 01:36:53 -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
dthomson25
954706570c
Reorder K8s resources to correct creation order (#551) 2018-09-10 10:14:14 -07:00
Alexander Matyushentsev
972f639051
Issue #419 - Add ability to dump heap profile by sending SIGUSR2 (#420)
* Issue #419 - Add ability to dump heap profile by sending SIGUSR2

* Regenerate Gopkg.lock
2018-07-17 03:48:30 +03:00
Jesse Suen
65b1b083ee
Switch repo-server to use in-memory cache in lieu of redis. Periodically dump stats (#413) 2018-07-16 10:20:16 -07: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
Alexander Matyushentsev
e785abeb8f
Issue #244 - Cluster/Repository connection status (#248) 2018-05-31 13:44:19 -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
Jesse Suen
4107d2422b
Fix linting errors 2018-05-08 16:42:12 -07:00
Jesse Suen
5bbb4fe1a1
Cache kubernetes API resource discovery (resolves #170) (#176) 2018-05-08 12:56:15 -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
Jesse Suen
fdf9515de2 Refactor git library:
* store credentials in files (instead of encoded in URL) to prevent leakage during git errors
* fix issue where HEAD would not track updates from origin/HEAD (resolves #133)
* refactor git library to promote code reuse, and remove shell invocations
2018-04-30 11:01:40 -07:00
Jesse Suen
8a2851169c
Enable auth by default. Decrease app resync period from 10m to 3m 2018-04-23 01:12:58 -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
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
cc232a4dc6
Rewrite installer. Install into argocd namespace. Standardize kubeconfig parsing 2018-03-02 18:04:29 -08:00
Jesse Suen
2aa9f33abd
Add support for rendering delta diffs 2018-02-27 17:35:21 -08:00
Jesse Suen
c13699cfe3
Fixes to app comparator 2018-02-27 01:53:14 -08:00
Jesse Suen
797c88b3a6
Add an implementation for the ksonnet comparator 2018-02-26 18:22:08 -08:00