Commit Graph
96 Commits
Author SHA1 Message Date
Alexander MatyushentsevandGitHub b22f22ec3a fix: swagger UI stuck loading (#4377) 2020-09-18 15:39:56 -07:00
Chance ZibolskiandGitHub 8f1f30aba6 chore: Update helm3 to 3.3.1 (#4323) 2020-09-14 14:28:33 -07:00
2b871d197c chore: Upgrade installation manifests & codegen to Kustomize 3 (#3347)
* Use kustomize v3 to build ArgoCD manifests

* Update to test-tools-image v0.3.0

* Reorder patches so Kustomize v3 will properly find targets

* adding back these changes

* Use the generated files.

* changed the namespace

* changed kustomize version to 3.8.1 to be in sync with the one in tool-version.sh

* revert changes in makefile

* Re-run codegen

Co-authored-by: Zhang <[email protected]>
Co-authored-by: Alexander Matyushentsev <[email protected]>
2020-09-09 15:31:33 -07:00
Sayak MukhopadhyayandGitHub 34b045f4d8 fix: Added cluster authentication to AKS clusters (#4265) 2020-09-07 19:53:33 -07:00
James CallahanandGitHub bb50e991ef chore: update to kustomize 3.8.1 (#4130) 2020-09-02 14:01:35 -07:00
Alexander MatyushentsevandGitHub ad374b23d0 fix: Unable to create project JWT token on K8S v1.15 (#4165) 2020-08-26 10:31:52 -07:00
Alexander MatyushentsevandGitHub fe1068225d refactor: upgrade K8S client to v0.18.8 (#4149) 2020-08-24 16:46:38 -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
Alexander MatyushentsevandGitHub 76f2ac9dd3 refactor: upgrade gitops engine (#3962) 2020-07-20 10:11:17 -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
Alin BalutoiuandGitHub 1cc67e2af7 fix: Update dependencies built from source for ARM (#3909)
Signed-off-by: Alin Balutoiu <[email protected]>
2020-07-09 09:55:49 -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
Alexander MatyushentsevandGitHub ac3f1fc3f3 chore: implement development helpers that mount config maps to local folder (#3796) 2020-06-19 12:27:39 -07:00
Alexander MatyushentsevandGitHub 88ff195c24 chore: fix tag matching in trigger-release.sh script (#3785) 2020-06-17 08:59:08 +02:00
Alexander MatyushentsevandGitHub a9f159a1a4 chore: trigger-release should not fail if commentChar not configured (#3740) 2020-06-09 23:59:39 +02:00
jannfisandGitHub ab339d76a3 chore: Introduce release automation (#3711)
* chore: Introduce release automation
2020-06-09 12:05:52 -07:00
Alexander MatyushentsevandGitHub 01bb932ed5 feat: upgrade kustomize to v3.6.1 version (#3696) 2020-06-02 09:37:10 -07:00
jannfisandGitHub dfb062ca0e chore: Migrate CI toolchain to GitHub actions (#3677)
* chore: Migrate CI to GitHub actions

* Do not install golangci-lint, we use the action

* Integrate codecov.io upload

* Use some better names for analyze job & steps

* go mod tidy

* Update tools

* Disable CircleCI completely

* Satisfy CircleCI with a dummy step until it's disabled
2020-05-31 23:11:28 +02:00
Alin BalutoiuandGitHub 02cbad9ba1 feat: Add build support for ARM images (#3554)
Signed-off-by: Alin Balutoiu <[email protected]>
2020-05-31 19:31:29 +02:00
Josh SorefandGitHub 53500a12b8 chore: Spelling (#3647)
chore: Spelling (#3647)
2020-05-27 10:22:13 -07:00
jannfisandGitHub d8ee48e7a6 chore: Migrate to Go modules (#3639)
* chore: Migrate to Go modules

* Update CircleCI config

* Fix path

* Attach vendor for test step correctly

* restore_vendor -> attach_vendor

* Update cache path

* Checkout code before attaching vendor

* Move checkout to even earlier in job

* Don't restore cache for e2e step

* .

* Explicitly set GOPATH

* Restore Build cache

* Fix permissions

* Set correct environment for docker env

* Uncache everything

* Fix permissions

* Use workspace for caching Go code

* .

* go mod tidy

* Try to speed up builds

* Make mod target implicit dependencies

* Do not call make mod-download or mod-vendor

* Fix permissions

* Don't have modules dependendencies on test-e2e-local

* Fix confgi

* Bye bye

* Remove test parallelism

* Get max test parallelism back in, but with lower value
2020-05-26 18:15:38 +02:00
Chance ZibolskiandGitHub d3b906b664 feat: Upgrade kustomize to 3.5.5 (#3619)
* feat: Upgrade kustomize to 3.5.5
2020-05-20 19:24:25 -07:00
Alexander MatyushentsevandGitHub a68b34dd33 feat: move engine code to argoproj/gitops-engine repo (#3599) 2020-05-15 14:39:29 -07:00
Alexander MatyushentsevandGitHub 171127a40f 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 MatyushentsevandGitHub a25815fb29 feat: upgrade helm 3 to v3.2.0; user --insecure-verify-flag (#3514) 2020-04-29 21:04:25 -07:00
Alexander MatyushentsevandGitHub dfa56efcd0 feat: upgrade kustomize version to 3.5.4 (#3472) 2020-04-23 10:29:15 -07:00
jannfisandGitHub b9b378f632 chore: Fix a bunch of lint issues (#3412)
* chore: Fix linter complaints
2020-04-14 08:01:43 -07:00
Alexander MatyushentsevandGitHub 2463f69dbd feat: support normalizing CRD fields that use known built-in K8S types (#3357)
* feat: support normalizing CRD fields that use known built-in K8S types

* apply reviewers notes

* fix codegen
2020-04-06 21:13:50 +02:00
jannfisandGitHub 12d036f6e8 chore: Containerize complete build & test toolchain (#3245)
chore: Containerize complete build & test toolchain
2020-03-27 11:36:20 -07:00
4df619adde 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 <[email protected]>
2020-03-16 11:51:59 -07:00
Alexander MatyushentsevandGitHub 14bc8fff54 fix: codegen task is broken locally (#3200) 2020-03-06 12:51:03 -08:00
Alexander MatyushentsevandGitHub 96b8a2ea74 feat: support helm3 (#2383) (#3178)
* feat: support helm3 (#2383)

* draft

* Apply reviewer notes
2020-03-04 17:05:44 +01:00
Dai KurosawaandGitHub 36765d3153 Update Go version from v1.13.8 to v1.14.0 (#3162) 2020-02-28 08:42:56 -08:00
Dai KurosawaandGitHub e057352e7d Update Go version from v1.13.7 to v1.13.8 (#3129) 2020-02-17 22:42:19 +01:00
Dai KurosawaandGitHub 1ae738b089 chore: Upgrade Go version from v1.13.6 to v1.13.7 (#3056) 2020-01-31 22:00:43 +01:00
Alexander MatyushentsevandGitHub 5ea2ce44bd chore: fix codegen-local (#3053) 2020-01-29 20:00:32 +01:00
Sean DukehartandGitHub 04f8002b02 Changes to enable helm --set-file (#2752)
Necessary STDIN changes to support Windows

Added support for SE Linux

Informational message about linting OOM

Updated due to latest helm stable being 3.x
2020-01-29 08:26:05 -08:00
Joseph MulloyandAlexander Matyushentsev a00cc835eb fix: Replace aws-iam-authenticator to support IRSA (#3010)
Replace aws-iam-authenticator with aws cli to support EKS cluster auth
via IAM Roles for Service Accounts (IRSA)

See https://aws.amazon.com/blogs/opensource/introducing-fine-grained-iam-roles-service-accounts/
2020-01-24 10:32:33 -08:00
Dai KurosawaandAlexander Matyushentsev 9071bccf93 Upgrade Go version from v1.12.6 to v1.13.6 (#2994) 2020-01-23 10:11:01 -08:00
Jesse SuenandGitHub a1a2f49277 Update k8s dependency to v1.16 (#2828) 2019-12-10 18:33:58 -08:00
Alex CollinsandGitHub ff8d1ea56c Revert "Use Kustomize 3 to generate manifetsts. Closes #2487 (#2510)" (#2696) 2019-12-03 10:52:29 -08:00
Olivier LemasleandAlex Collins acd41b3f8f Remove references to argocd-ui image in manifests generation (#2710)
Docker image argocd-ui is no longer used and is not present
in YAML manifests; however, there was still references to it
in the manifest generation workflow.
2019-11-13 09:12:50 -08:00
David HongandJesse Suen e7cd469d09 chore: Upgrade kustomize to 3.2.1 (#2607) 2019-11-06 00:25:45 -08:00
Alexander MatyushentsevandGitHub 827c30ea6d Issue #2592 - Remove transitive dependency on packr (#2631) 2019-11-04 10:41:43 -08:00
Alex CollinsandGitHub 38cdd2ae1f Upgrade Helm to v2.15.2. Closes #2587 (#2590) 2019-10-30 15:32:23 -07:00
Alex CollinsandGitHub f46b19da05 Use the same tools for make image to make dev-tools-image. Closes #2488 (#2511) 2019-10-18 13:21:36 -07:00
Alex CollinsandGitHub 913df7b1c1 Use Kustomize 3 to generate manifetsts. Closes #2487 (#2510) 2019-10-18 13:21:09 -07:00
jannfisandAlex Collins a4c90de4e2 Add repository credential management API and CLI (addresses #2136) (#2207) 2019-10-16 17:17:47 -07:00
Alex CollinsandGitHub e81edb1373 Work-around golang cilint error (#2499) 2019-10-15 14:36:33 -07:00
Alex CollinsandGitHub ad7a35c484 Final optimisations (#2486) 2019-10-15 09:15:33 -07:00