Commit Graph
351 Commits
Author SHA1 Message Date
Isaac GaskinandGitHub 506d14b2e7 fix(info.go): omitting wildcard paths from controller cache (#4479)
edge case where /* should not be appended to path
2020-10-05 08:36:26 +02:00
Carson AandGitHub ccfb26cdd5 feat: Add external link annotation support (#4380)
Example implementation of https://github.com/argoproj/argo-cd/issues/3487
2020-09-30 07:39:10 +02:00
May ZhangandGitHub 0662508841 fix: Support transition from a git managed namespace to auto create (#4401)
* fix: Support transition from a git managed namespace to auto create

* fix: Support transition from a git managed namespace to auto create
2020-09-22 17:38:55 -07:00
jheydukandGitHub a6e3c84c2d fix: application external url falsely uses backend servicePort (#4339)
* fix: application external url falsely uses backend servicePort #2318

Use https if spec.tls is specified for the related host. Otherwise use http

* refactor / add new test
2020-09-16 16:18:28 -07:00
Alexander MatyushentsevandGitHub d3e843b8ac fix: failed syncs are not retried soon enough (#4353) 2020-09-16 13:39:18 -07:00
Alexander MatyushentsevandGitHub 8698c5d42c fix: limit concurrent list requests accross all clusters (#4328) 2020-09-14 14:45:02 -07:00
Alexander MatyushentsevandGitHub b5b1297a31 refactor: Replace status.observedAt with redis pub/sub channels for resource tree updates (#1340) (#4208) 2020-08-31 10:18:12 -07:00
Oleg SucharevichandGitHub b65ec36104 feat: do not include kube-api check in application liveness flow (#4163)
* feat: do not include kube-api liveness check in application liveness flow
2020-08-26 10:33:36 -07:00
Alexander MatyushentsevandGitHub 07374b294a fix: cluster settings change is not applied correctly (#4070) 2020-08-10 16:13:06 -07:00
Alexander MatyushentsevandGitHub ecdb03a154 fix: terminated sync operation should not auto-retry (#4056) 2020-08-05 17:58:59 -07:00
Alexander MatyushentsevandGitHub d7162c8b99 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 MatyushentsevandGitHub 2326678221 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
Darshan ChaudharyandGitHub 5b37432741 fix: skipped resources should not impact sync status (#3986)
* fix: skipped resources should not impact sync status

Signed-off-by: darshanime <[email protected]>
2020-07-30 10:09:12 -07:00
Alexander MatyushentsevandGitHub dff8d5e81b feat: support overriding default cluster re-sync duration (#4014) 2020-07-30 10:00:19 -07:00
May ZhangandGitHub feae10d5ea feat: autosync protection (#3996) 2020-07-28 19:52:30 -07:00
Alexander MatyushentsevandGitHub 2963f91698 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 ZhangandGitHub afda2020fa 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 MatyushentsevandGitHub 0aded13d02 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 MatyushentsevandGitHub 8b997ff055 fix: application resources info should be stored in persistent order (#3974) 2020-07-21 16:59:00 -07:00
Simon CliffordandGitHub 72a8352ec9 fix: allow duplicates when using generateName (#3878)
* Generate Name field generates names when created so should not cause a duplication warning
* Updating existing test case to check no additional conditions are added
2020-07-21 10:15:41 -07:00
Darshan ChaudharyandGitHub 1c64516a15 feat: delete in reverse order of sync waves (#3959)
* feat: delete in reverse order of sync waves

Signed-off-by: darshanime <[email protected]>

* feat: add tests for deletion in order

Signed-off-by: darshanime <[email protected]>

* feat: fix lint for appcontroller.go

Signed-off-by: darshanime <[email protected]>

* feat: add comment to explain early return

Signed-off-by: darshanime <[email protected]>
2020-07-21 09:52:59 +02:00
Alexander MatyushentsevandGitHub 373651b5bc fix: use glob matcher in casbin built-in model (#3966) 2020-07-20 13:55:19 -07:00
Hiroki SakamotoandGitHub d4b37b4007 feat: add resource's age & creation time (#3931)
* feat: add resource creation time to api response

* feat: add creation time to model

* feat: add resource's age to app detail page

* feat: add created_at to resource summary page
2020-07-14 16:54:00 +02:00
rachelwang20andGitHub 837f35e374 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 ChaudharyandGitHub 9174ea5477 chore: bump up k8s.io dependencies to 1.17 (#3899)
chore: bump up k8s.io dependencies to 1.17 (#3899)

Signed-off-by: darshanime <[email protected]>
2020-07-09 13:38:32 -07:00
Darshan ChaudharyandGitHub 5761ed4c14 fix: don't refresh if dry run (#3891)
* fix: don't refresh if dry run

Signed-off-by: darshanime <[email protected]>

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

Signed-off-by: darshanime <[email protected]>

* fix: refresh only if not dryRun for sync command

Signed-off-by: darshanime <[email protected]>
2020-07-08 09:43:39 -07:00
Alexander MatyushentsevandGitHub 11c844e51d feat: implement 'argocd-util apps get-reconcile-results command' (#3888)
* feat: implement 'argocd-util apps get-reconcile-results' command

* implement missing unit tests
2020-07-02 13:47:56 -07:00
May ZhangandGitHub d1fa12d2b9 fix: App Creation Requires Namespace Even When Repo Contains Only Global Custom Resource (#3874)
* fix: App Creation Requires Namespace Even When Repo Contains Only Global Custom Resource

* fix a typo

* fix a failed test
2020-06-29 16:33:13 -07:00
Alexander MatyushentsevandGitHub 59f07746cd fix: avoid lock contention in GetClustersInfo method (#3844) 2020-06-24 17:19:39 -07:00
Alexander MatyushentsevandGitHub ca0967a624 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 MatyushentsevandGitHub 11b0b76735 fix: controller should not re-trigger auto-sync if sync failed due to comparison error (#3824) 2020-06-22 14:09:22 -07:00
Alexander MatyushentsevandGitHub 09f9e991db fix: application controller should not modify cached applications (#3821) 2020-06-22 11:04:25 -07:00
jannfisandGitHub 52d0c684ab feat: GPG commit signature verification (#2492) (#3242)
* Add initial primitives and tests for GPG related operations

* More tests and test documentation

* Move gpg primitives to own module

* Add initial primitives for running git verify-commit and tests

* Improve and better comment test

* Implement VerifyCommitSignature() primitive for metrics wrapper

* More commentary

* Make reposerver verify gpg signatures when generating manifests

* Make signature validation optional

* Forbid use of local manifests when signature verification is enabled

* Introduce new signatureKeys field in project CRD

* Initial support for only syncing against signed revisions

* Updates to GnuPG primitives and more test cases

* Move signature verification to correct place and add tests

* Add signature verification result to revision metadata and display it in UI

* Add more primitives and move out some stuff to common module

* Add more testdata

* Add key management primitives to ArgoDB

* Move type GnuPGPublicKey to appsv1 package

* Add const ArgoCDGPGKeysConfigMapName

* Handle key operations with appsv1.GnuPGPublicKey

* Add initial API for managing GPG keys

* Remove deprecated code

* Add primitives for adding public keys to configuration

* Change semantics of ValidateGPGKeys to return more key information

* Add key import functionality to public key API

* Fix code quirks reported by linter

* More code quirks fixes

* Fix test

* Add primitives for deleting keys from configuration

* Add delete key operation to API and CLI

* Cosmetics

* Implement logic to sync configuration to keyring in repo-server

* Add IsGPGEnabled() primitive and also update trustdb on ownertrust changes

* Use gpg.IsGPGEnabled() instead of custom test

* Remove all keyring manipulating methods from DB

* Cosmetics/comments

* Require grpc methods from argoproj pkg

* Enable setting config path via ARGOCD_GPG_DATA_PATH

* Allow "no" and any cases in ARGOCD_GPG_ENABLED

* Enable GPG feature on start and start-e2e and set required environment

* Cosmetics/comments

* Cosmetics and commentary

* Update API documentation

* Fix comment

* Only run GPG related operations if GPG is enabled

* Allow setting ARGOCD_GPG_ENABLE from the environment

* Create GPG ConfigMap resource during installation

* Use function instead of constant to get the watcher path

* Re-watch source path in case it gets recreated. Also, error on finish

* Add End-to-End tests for GPG commit verification

* Introduce SignatureKey type for AppProject CRD

* Fix merge error from previous commit

* Adapt test for additional manifest (argocd-gpg-keys-cm.yaml)

* Fix linter issues

* Adapt CircleCI configuration to enable running tests

* Add wrapper scripts for git and gpg

* Sigh.

* Display gpg version in CircleCI

* Install gnupg2 and link it to gpg in CI

* Try to install gnupg2 in CircleCI image

* More CircleCI tweaks

* # This is a combination of 10 commits.
# This is the 1st commit message:

Containerize tests - test cycle

# This is the commit message #2:

adapt working directory

# This is the commit message #3:

Build before running tests (so we might have a cache)

# This is the commit message #4:

Test limiting parallelism

# This is the commit message #5:

Remove unbound variable

# This is the commit message #6:

Decrease parallelism to find out limit

# This is the commit message #7:

Use correct flag

# This is the commit message #8:

Update Docker image

# This is the commit message #9:

Remove build phase and increase parallelism

# This is the commit message #10:

Further increase parallelism

* Dockerize toolchain

* Add new targets to Makefile

* Codegen

* Properly handle permissions for E2E tests

* Remove gnupg2 installation from CircleCI configuration

* Limit parallelism of build

* Fix Yarn lint

* Retrigger CI for possible flaky test

* Codegen

* Remove duplicate target in Makefile

* Pull in pager from dep ensure -v

* Adapt to gitops-engine changes and codegen

* Use new health package for health status constants

* Add GPG methods to ArgoDB mock module

* Fix possible nil pointer dereference

* Fix linter issue in imports

* Introduce RBAC resource type 'gpgkeys' and adapt policies

* Use ARGOCD_GNUPGHOME instead of GNUPGHOME for subsystem configuration

Also remove some deprecated unit tests.

* Also register GPG keys API with gRPC-GW

* Update from codegen

* Update GPG key API

* Add web UI to manage GPG keys

* Lint updates

* Change wording

* Add some plausibility checks for supplied data on key creation

* Update from codegen

* Re-allow binary keys and move check for ASCII armoured to UI

* Make yarn lint happy

* Add editing signature keys for projects in UI

* Add ability to configure signature keys for project in CLI

* Change default value to use for GNUPGHOME

* Do not include data section in default gpg keys CM

* Adapt Docker image for GnuPG feature

* Add required configuration to installation manifests

* Add add-signature-key and remove-signature-key commands to project CLI

* Fix typo

* Add initial user documentation for GnuPG verification

* Fix role name - oops

* Mention required RBAC roles in docs

* Support GPG verification of git annotated tags as well

* Ensure CLI can build succesfully

* Better support verification on tags

* Print key type in upper case

* Update user documentation

* Correctly disable GnuPG verification if ARGOCD_GPG_ENABLE=false

* Clarify that this feature is only available with Git repositories

* codegen

* Move verification code to own function

* Remove deprecated check

* Make things more developer friendly when running locally

* Enable GPG feature by default, and don't require ARGOCD_GNUPGHOME to be set

* Revert changes to manifests to reflect default enable state

* Codegen
2020-06-22 18:21:53 +02:00
Liviu CosteaandGitHub 8b9f1df56d 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
Darshan ChaudharyandGitHub 476d21677f fix: use *metav1.Time for deployStartedAt (#3782)
Signed-off-by: darshanime <[email protected]>
2020-06-16 10:10:31 -07:00
Alexander MatyushentsevandGitHub b46eeb2209 fix: cluster state cache should be initialized before using (#3752) (#3763) 2020-06-12 15:05:01 -07:00
Alexander MatyushentsevandGitHub 7eff98e2dd fix: ensure cache settings read/writes are protected by mutex (#3753) 2020-06-11 12:54:10 -07:00
Darshan ChaudharyandGitHub 86523f0d92 feat: add time taken to complete deployment (#3715)
* feat: add time taken to complete deployment

Signed-off-by: darshanime <[email protected]>

* feat: add test for adding deploy started at time

Signed-off-by: darshanime <[email protected]>

* feat: use hourglass for time to deploy

Signed-off-by: darshanime <[email protected]>

* feat: add comments to RevisionHistory fields

Signed-off-by: darshanime <[email protected]>
2020-06-10 14:28:40 +02:00
May ZhangandGitHub 468bdad8c7 fix: support partial sync with namespace. (#3705)
* support partial sync with namespace.

* corrected test folder name

* Trying to fix lint error

* 1. in test, delete ns after test
2. in test, created new methods for ResourceSyncStatusWithNamespaceIs and ResourceHealthWithNamespaceIs.

* reformat imports

* simplify code

* remove timeout
2020-06-08 15:59:59 -07:00
jannfisandGitHub 67374e3362 fix: Fix possible nil pointer deref on resource deduplication (#3725) 2020-06-08 15:35:20 -07:00
Alexander MatyushentsevandGitHub 4bb3bf9603 fix: upgrade gitops-engine dependency to v0.1.2 (#3729) 2020-06-08 15:12:35 -07:00
Alexander MatyushentsevandGitHub 507dd6dd60 fix: revert incorrectly update go.mod/go.sum files (#3712) 2020-06-04 12:14:08 -07:00
May ZhangandGitHub 518e28be40 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
Alexander MatyushentsevandGitHub 853075ea25 refactor: upgrade gitops engine (#3687) 2020-06-01 20:23:07 +02:00
jannfisandGitHub eec65d7bea chore: Fix complaints of golang-ci lint v1.26.0 (#3673) 2020-05-30 18:54:14 -07:00
Alexander MatyushentsevandGitHub d57d53f49d fix: upgrade gitops engine dependency (#3668) 2020-05-28 18:42:01 -07:00
Josh SorefandGitHub 53500a12b8 chore: Spelling (#3647)
chore: Spelling (#3647)
2020-05-27 10:22:13 -07:00
May ZhangandGitHub d29238e176 Fixing how to compare two objects. (#3636) 2020-05-22 15:10:25 -07:00
Alexander MatyushentsevandGitHub 295c74ddfc fix: fix nil pointer dereference error after cluster deletion (#3634) 2020-05-22 09:35:04 -07:00
Alexander MatyushentsevandGitHub 5b721367aa feat: upgrade gitops engine version (#3624) 2020-05-20 11:15:23 -07:00