Commit graph

260 commits

Author SHA1 Message Date
Alexander Matyushentsev
6262a8c750
feat: merge argocd-util into 'argocd admin' subcommand (#6773)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-07-21 17:00:49 -07:00
Alexander Matyushentsev
e058bc4228
chore: remove '-i' parameter from docker run command (#6776)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-07-21 13:49:10 -07:00
Alexander Matyushentsev
082e66bd5b
chore: fix broken dev image build (#6775)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-07-21 13:34:14 -07:00
Alexander Matyushentsev
561452ac94
feat: Headless Argo CD (aka GitOps Agent) (#6361)
* feat: add --headless flag to Argo CD CLI command

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>

* docs: add headless installation manifests and documentation

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>

* Apply reviewer notes

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>

* Remove port forwarding logs

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-07-20 21:51:36 -07:00
Alex Collins
2b3601cfa3
feat(ui): Adds resource filter panel. Fixes #6379 #6331 #6081 (#6717)
Signed-off-by: Alex Collins <alex_collins@intuit.com>
2021-07-14 16:01:12 -07:00
jannfis
2a7745b41b
chore: Remove deprecated -i from go build flags (#6355)
Signed-off-by: jannfis <jann@mistrust.net>
2021-05-28 17:19:49 +02:00
Alexander Matyushentsev
3f32a750a0
chore: use go embed instead of packr (#6262)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-05-18 20:46:17 -07:00
jannfis
66f36ff002
chore: Validate checksums of downloaded files in build chain (#6057)
* chore: Validate checksums of downloaded files in build chain

Signed-off-by: jannfis <jann@mistrust.net>

* Fix arm install of kustomize

Signed-off-by: jannfis <jann@mistrust.net>

* Add sudo package to Go builder image

Signed-off-by: jannfis <jann@mistrust.net>
2021-04-19 18:46:21 +02:00
Shubham Agarwal
aa829c2c81
fix: execute cm dev mounter for make start (#6042)
Signed-off-by: Shubham Agarwal <shubhamagarawal19@gmail.com>
2021-04-15 15:49:12 +02:00
May Zhang
12cabdfb4e
fix: adding tests for helm OCI registry (#5978)
* initial draft of adding tests for OCI

Signed-off-by: May Zhang <may_zhang@intuit.com>

* fix: initial draft of adding tests for OCI

Signed-off-by: May Zhang <may_zhang@intuit.com>

* bring up registry for tests

Signed-off-by: May Zhang <may_zhang@intuit.com>

* bring up registry for tests

Signed-off-by: May Zhang <may_zhang@intuit.com>

* bring up registry for tests

Signed-off-by: May Zhang <may_zhang@intuit.com>

* fix: just to test if PR is working

Signed-off-by: May Zhang <may_zhang@intuit.com>

* adding additional helm oci dependencies tests

Signed-off-by: May Zhang <may_zhang@intuit.com>
2021-04-12 09:15:43 -07:00
jannfis
9afa8333b4
chore: Make e2e tests runnable against remote cluster (#5895)
* chore: Make e2e tests runnable against remote cluster

Signed-off-by: jannfis <jann@mistrust.net>

* Fix linter complaint

Signed-off-by: jannfis <jann@mistrust.net>

* Revert

Signed-off-by: jannfis <jann@mistrust.net>

* Address reviewer comments

Signed-off-by: jannfis <jann@mistrust.net>

* Compat with Mac

Signed-off-by: jannfis <jann@mistrust.net>

* Revert test setting

Signed-off-by: jannfis <jann@mistrust.net>
2021-04-07 14:49:17 +02:00
Alexander Matyushentsev
92c7ca04c7
chore: make argocd gitpod friendly (#5973)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-04-06 08:55:15 -07:00
Alexander Matyushentsev
ac3d4cc761
fix: correct package name in Makefile (#5960)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-04-03 22:48:36 -07:00
Alexander Matyushentsev
f3883944e5
chore: fix 'make codegen-local' on mac (#5847)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-03-25 10:28:34 -07:00
jannfis
d4a514c390
chore: Allow re-enable auth in local make start (#5639)
* chore: Allow re-enable auth in local make start

Signed-off-by: jannfis <jann@mistrust.net>

* Retrigger CI

Signed-off-by: jannfis <jann@mistrust.net>
2021-03-02 19:24:36 +01:00
Ishita Sequeira
366b7ff364
chore: dockerized *-docs Makefile commands - #4662 (#5459)
* feat: Dockerized *-docs Makefile commands

Signed-off-by: ishitasequeira <isequeir@redhat.com>

* removed the deprecated target(publish-docs) and added a local build and serve target

Signed-off-by: ishitasequeira <isequeir@redhat.com>
2021-02-09 18:27:22 +01:00
Alexander Matyushentsev
b29c56aaf1
fix: k8s client version is blank after removing client binary (#5386)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-02-02 16:07:02 -08:00
Abhishek Veeramalla
eaf9887d17
fix: Remove kubectl binary from argo image(#5005) (#5101)
Signed-off-by: iam-veeramalla <abhishek.veeramalla@gmail.com>
2021-01-21 09:49:51 -08:00
kshamajain99
1ee7997fb8
fix dev image and update doc (#5285)
Signed-off-by: kshamajain99 <kshamajain99@gmail.com>
2021-01-21 09:28:34 -08:00
kshamajain99
7af5837ffa
build consolidated argocd binary (#5247)
Signed-off-by: kshamajain99 <kshamajain99@gmail.com>
2021-01-20 11:28:06 -08:00
kshamajain99
98bec61d61
feat: Include argocd-util as part of release artifacts(#5174) (#5203)
* Publish argocd-util

Signed-off-by: kshamajain99 <kshamajain99@gmail.com>

* Don't add util to argocd-image

Signed-off-by: kshamajain99 <kshamajain99@gmail.com>
2021-01-08 08:05:38 +01:00
Abhishek Veeramalla
b7b74582cb
fix: make start fails to start webpack-dev-server(#4968) (#4990)
Signed-off-by: iam-veeramalla <abhishek.veeramalla@gmail.com>
2020-12-07 16:24:08 +01:00
Jonathan West
4c3f97f78a
chore: Add a GitHub action that runs unit tests with -race to CI build (#4774) (#4775)
* chore: Add a GitHub action that runs unit tests with -race to CI build (#4774)

Signed-off-by: Jonathan West <jonwest@redhat.com>

* chore: Add a GitHub action that runs unit tests with -race to CI build (#4774)

Signed-off-by: Jonathan West <jonwest@redhat.com>
2020-11-07 12:57:18 +01:00
jannfis
c9f3c64a58
chore: Fail-fast in Makefile when not within $GOPATH (#4744)
Signed-off-by: jannfis <jann@mistrust.net>
2020-11-04 14:01:01 -08:00
Jesse Suen
dea75eb481
fix: inject artificial delay between sync waves to better support health assessments (#4715)
Signed-off-by: Jesse Suen <jesse_suen@intuit.com>
2020-11-02 12:17:43 -08:00
William Tam
894f95dce5
docs: Add generated argocd command docs (#4606) 2020-10-19 17:30:32 -07:00
William Tam
48891e2536
chore: rename cli-docker -> cli-argocd (#4527) 2020-10-13 14:05:23 -07:00
William Tam
9aae99cf7f
fix: Only processes need root uid will run as root inside test container (#4210)
* Add  "chown" to gpg/keys  in "start-local" target that so that repo-server can access gpg keys.

* * Set -u uid:gid in the docker run commands  so that test images are run under the current user.
* test Procfile processes will not need to perform "su"  to  default user (which has the current user's uid/gid)

* Remove chown in start-e2e-local

* clean up, remove  "bash -c"

* Test containers are run as uid 0 which allows uid_entrypoint.sh  to perform some user setup.  uid_entrypoint.sh creates a non-root user (default) and enables passwordless sudo for that user.    The container entry point command is run as the non-root user.   "goreman start"  does "sudo" to to the processes that need root permission including sshd, fcgiwrap, and nginix.   The other processes are running as the non-root user.

* use /bin/bash

* change back to sh

* Docker image to create  unpriveleged testuser and enable passwordless sudo for that user
2020-09-15 11:32:16 +02:00
jannfis
41ca6b2ada
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 <may_zhang@intuit.com>
Co-authored-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2020-09-09 15:31:33 -07:00
Alexander Matyushentsev
1a36fd178a
chore: stop using pre-built docker images for testing/code generation (#3955) 2020-07-23 08:05:06 +02:00
jannfis
fec4dc78c3
chore: Fix intermittently failing CLI build in e2e-tests (#3952)
* fix: Do not use -i flag when building CLI

* Debug output

* re-disable CGO

* increase timeout

* correctly create dist directory before e2e server

* Revert
2020-07-17 18:35:02 +02:00
Hiroki Sakamoto
4336c46c8a
chore: pass image namespace env to manifests (#3926) 2020-07-14 16:52:30 +02:00
Darshan Chaudhary
508e2c5f78
chore: make make cli use virtualized toolchain (#3884)
* chore: make make cli use virtualized toolchain

Signed-off-by: darshanime <deathbullet@gmail.com>

* chore: use cli-local in Dockerfile

Signed-off-by: darshanime <deathbullet@gmail.com>

* chore: use cli-local in Dockerfile

Signed-off-by: darshanime <deathbullet@gmail.com>
2020-07-04 12:58:57 +02:00
jannfis
be718e2b61
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 Costea
fab28f7f64
Remove outdated references to dep targets (#3817) 2020-06-20 16:01:50 -07:00
Alexander Matyushentsev
e143fb4cb2
fix: SyncOperationResult namespace field should be optional (#3742) 2020-06-09 18:52:56 -07:00
jannfis
80515a3b57
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 Balutoiu
00f99edf1a
feat: Add build support for ARM images (#3554)
Signed-off-by: Alin Balutoiu <alinbalutoiu@gmail.com>
2020-05-31 19:31:29 +02:00
Josh Soref
a724574ede
chore: Spelling (#3647)
chore: Spelling (#3647)
2020-05-27 10:22:13 -07:00
Alexander Matyushentsev
f826b0e397
chore: fix image dev build command (#3659) 2020-05-27 08:04:09 +02:00
jannfis
23bf07d206
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 Zibolski
40eb8c79ab
feat: Upgrade kustomize to 3.5.5 (#3619)
* feat: Upgrade kustomize to 3.5.5
2020-05-20 19:24:25 -07:00
jannfis
173a0f011d
chore: Fix Docker mounts for good (#3597) 2020-05-15 14:43:12 -07:00
Alexander Matyushentsev
31df9d11a9
feat: upgrade helm 3 to v3.2.0; user --insecure-verify-flag (#3514) 2020-04-29 21:04:25 -07:00
Alexander Matyushentsev
4ae70139d9
feat: upgrade kustomize version to 3.5.4 (#3472) 2020-04-23 10:29:15 -07:00
Alexander Matyushentsev
949518e680
fix: sort imports in knowntypes_normalizer.go (#3440)
* fix: sort imports in knowntypes_normalizer.go

* drafT
2020-04-19 09:05:26 +02:00
jannfis
75d9f23adb
chore: Migrate golangci-lint into CircleCI tests (#3427) 2020-04-16 08:55:13 -07:00
Alexander Matyushentsev
4c812576c1
chore: minor dev tools fixing for mac (#3330) 2020-04-09 15:01:45 +02:00
Alexander Matyushentsev
5448466ddc
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
jannfis
2d79dbb0bb
chore: Update argocd-test-tools to Go v1.14.1 (#3306)
* Update test-tools-image to v0.2.0 and optimize layers in Dockerfile

* Also adapt CirclCI config for new image

* Retrigger CI on possible flaky test
2020-03-31 19:33:59 +02:00
Dai Kurosawa
a501cdbb56
chore: Upgrade golang version from v1.14.0 to v1.14.1 (#3304)
* Upgrade golang version from v1.14.0 to v1.14.1

* use argocd-test-tools version v0.2.0
2020-03-31 19:13:51 +02:00
jannfis
a7f6866344
Add UI lint instructions and accompanying targets to Makefile (#3315) 2020-03-30 22:21:27 +02:00
jannfis
b02f7f14a7
chore: Run "dep check" in CircleCI pipeline to detect for changes in Gopkg.lock (#3301)
* Run "dep check" in CircleCI pipeline to detect for changes in Gopkg.lock

* Run dep check after restoring vendor cache

* Use -skip-vendor on dep check
2020-03-29 11:10:02 +02:00
jannfis
27141ff083
chore: Containerize complete build & test toolchain (#3245)
chore: Containerize complete build & test toolchain
2020-03-27 11:36:20 -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
jannfis
c4dd9d19c2
Use 'latest' as default tag for Docker image builds (#3072) 2020-02-01 20:47:25 -08:00
Sean Dukehart
57eeaa4231
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
Masayuki Ishii
17d217c2d6 feat: Add argocd cmd for Windows #2121 (#3015)
* fix: Explicitly cast Stdin file descriptors to int

Signed-off-by: Masayuki Ishii <masa213f@gmail.com>

* feat: Add the windows CLI

Signed-off-by: Masayuki Ishii <masa213f@gmail.com>

* fix: Fix warning message

Signed-off-by: Masayuki Ishii <masa213f@gmail.com>
2020-01-24 08:18:00 +01:00
Alexander Matyushentsev
cd27e55711
Simplify using Argo CD without users/SSO/UI (#2688) 2020-01-02 17:54:06 -08:00
Alex Collins
5706a17155
Adds support for ARGO_CD_[TARGET_REVISION|REVISION] and pass to Custom Tool/Helm/Jsonnet (#2415) 2019-10-21 16:54:23 -07:00
Alex Collins
549503c87a
Final optimisations (#2486) 2019-10-15 09:15:33 -07:00
Alexander Matyushentsev
ae959ec575 Speedup codegen on mac (#2489) 2019-10-14 09:19:30 -07:00
Alex Collins
df56d036ff
Optimize codegen (#2482) 2019-10-11 13:42:02 -07:00
Alex Collins
213ba364d7
Optimize linting (#2479) 2019-10-11 11:55:48 -07:00
Alexander Matyushentsev
c4203f7989
Codegen (#2343) 2019-09-23 13:14:27 -07:00
Alexander Matyushentsev
af8e41d6f8 Don't fix imports in auto-generated files (#2342) 2019-09-23 08:48:49 -07:00
Gustav Paul
affbfe9020 util/localconfig: prefer HOME env var over os/user (#2326)
* util/localconfig: prefer HOME env var over os/user

The os/user package requires that the current user be in /etc/passwd.
That complicates executing the argocd command in a docker container
when the UID:GID of the executing user is overridden.

This is often done in order to have files generated inside a docker
container have their ownership set to match the uid/gid of the host
user.

For example,

```sh
docker run -ti -u "$(id -u "${USER}"):$(id -g "${USER}")" argocd:latest ...
```

* Makefile: use pinned dev image dependencies to run make lint
2019-09-19 10:14:51 -07:00
Yujun Zhang
e1954e3eaf Fix docker image for dev (#2319)
* missing `argocd-ui` assets
* set default IMAGE_TAG
2019-09-17 08:48:35 +01:00
Yujun Zhang
72ea7912eb Fix building error when following CONTRIBUTING.md (#2278) 2019-09-11 10:33:00 -07:00
Alex Collins
f4f291302c
Increase e2e timeout to 15m. See #2272 (#2273) 2019-09-09 14:56:02 -07:00
Alex Collins
cbf9585d84
Gzip JWTs and Adds New User Info Page (#2204) 2019-09-05 13:31:04 -07:00
Alex Collins
57aa8901e2
Determine the manifest version from the VERSION file when on release branch (#2166) 2019-08-19 13:22:40 -07:00
Simon Behar
066a083c62 Create "argocd" ns in make start (#2161) 2019-08-16 09:44:16 -07:00
Alexander Matyushentsev
c47cc25690
Run dockerized manifests generation during release (#2107) 2019-08-06 00:24:03 -07:00
jannfis
f6240f0dea Correctly set required env vars for running E2E tests locally (#2097) 2019-08-04 11:35:00 -07:00
jannfis
488bdcf0e3 Build argocd-repo-server and argocd-util with packr (#2041) 2019-07-29 10:21:19 -07:00
jannfis
351e964e4e Allow codegen to run as non-root user in the Docker container (#2032) 2019-07-26 10:46:45 -07:00
jannfis
5953080c96 Add support for connecting repositories using TLS client certs (fixes #1945) (#1960) 2019-07-24 17:25:27 -07:00
Alex Collins
da29f43a2b
Adds link to the project from the app summary page. Closes #1911 (#1998) 2019-07-24 15:50:31 -07:00
Alexander Matyushentsev
6956dcb6dc
Move kustomization files back to kustomize 2.0.3 (#1972)
* Move kustomization files back to kustomize 2.0.3

* Dockerize codegen
2019-07-23 11:24:59 -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
Alex Collins
9a76a06f39
Introduces compact diff view. Closes #1831 (#1913) 2019-07-12 09:30:02 -07:00
Alexander Matyushentsev
0f40a0b843 Explicitly specify version of every dev tool (#1835) 2019-06-27 15:55:43 -07:00
Alexander Matyushentsev
1e502fb5c5
Generate CRD schema using github.com/kubernetes-sigs/controller-tools (#1773) 2019-06-27 14:44:49 -07:00
Alex Collins
030acb0f56
Fix bug in release (#1748) 2019-06-17 10:45:32 -07:00
jannfis
7bc8bc9846 Allow setting timeout for golangci-lint in build process from external (#1752) 2019-06-17 09:39:57 -07:00
Alex Collins
fbf2e9e128
Adds support for SSH keys with Kustomize remote bases WIP (#1733) 2019-06-14 09:34:27 -07:00
Alex Collins
b7f1639016
No longer waits for healthy before completing sync op. Closes #1715 (#1727) 2019-06-11 15:47:19 -07:00
Alexander Matyushentsev
0f2fe76027
Move generated api code to pkg package (#1696) 2019-06-05 12:58:11 -07:00
Alex Collins
243378b035
Sync wave (#1634) 2019-06-04 18:17:41 -07:00
Alex Collins
4c41f82d18
Build ArgoCD on CircleCI (#1635) 2019-05-28 11:39:13 -07:00
Alex Collins
5515b8ce9d
Public git creds (#1633) 2019-05-22 17:21:56 -07:00
jannfis
24006300e5 Make build options in Makefile settable from environment (#1619) 2019-05-22 15:59:30 -07:00
Alex Collins
9f330348ec
Fixes e2e tests. Closes #1616. (#1617) 2019-05-16 11:05:35 -07:00
Alex Collins
71a8eb1697
E2e test infra (#1600) 2019-05-15 09:24:35 -07:00
Alex Collins
d0d4d593cf
Updates issue template and Makefile (#1598) 2019-05-09 09:05:42 -07:00
Alex Collins
7beae2beac
Adds support for configuring repo creds at a domain/org level. Closes… (#1496) 2019-04-25 15:22:49 -07:00
Alex Collins
d9345c99e3
Fix e2e (#1526) 2019-04-25 14:53:25 -07:00
Alex Collins
53cbcd362d
Adds a faster way to run e2e locally (#1475) 2019-04-17 10:53:37 -07:00
Alex Collins
544bd47e94
Nils health if the resource does not provide it. Closes #1383 (#1408) 2019-04-09 15:05:14 -07:00
Jesse Suen
6b69449175
Add OpenAPI validation in CRD schema (#1256) 2019-04-06 17:18:00 -07:00
Alex Collins
723228598e
Adds images to resource tree (#1351) 2019-04-03 15:11:48 -07:00
Alex Collins
ae41425c77
gotestsum (#1341) 2019-03-30 22:14:35 -07:00
Alexander Matyushentsev
896d46525e Don't run lint after running codegen (#1338) 2019-03-29 13:27:22 -07:00
Alex Collins
b28d8361f5
Adds "make build" target, and running lint,build,test (#1331) 2019-03-28 11:20:51 -07:00
Alexander Matyushentsev
af896533df
Issue #1135 - Run e2e tests in throw-away kubernetes cluster (#1318)
* Issue #1135 - Run e2e tests in throw-away kubernetes cluster
2019-03-24 07:35:57 -07:00
Alexander Matyushentsev
c605e892b6
Issue #1258 - Disable CGO_ENABLED for server/controller binaries (#1286) 2019-03-19 14:25:19 -07:00
Alex Collins
0c4d5009a2
Tweak lint (#1259) 2019-03-12 10:31:35 -07:00
Alex Collins
5e7b48c9a2
Migrates from gometalinter to golangci-lint. Closes #1225 (#1226) 2019-03-08 16:22:04 -08:00
Alex Collins
31e801425f
Lints local imports. Closes #1197 (#1198) 2019-02-27 18:05:55 -08:00
Alex Collins
06c55b348a
Allows you to exclude resources based on API group, kind, and cluster. Fixes #1010 (#1147) 2019-02-21 08:30:13 -08:00
Jesse Suen
297a91fde4
Refactor packr box usage into new assets library. Add faster DEV_IMAGE build (#1073) 2019-02-01 13:12:52 -08:00
Stephen Haynes
7d40d228da build cli with packr (#875) 2018-12-04 22:42:37 -08:00
Stephen Haynes
f762188b89 build application-controller with packr (#866) 2018-12-03 17:29:45 -08:00
Jesse Suen
2c8e9fa9ac
Switch to k8s recommended app.kubernetes.io/instance label (#857)
Remove ability to set helm release name
Reorganize Argo CD constants
2018-11-30 23:54:01 -08:00
Zvi Cahana
800c4b1d48 Build argocd-util as a statically linked binary (#845) 2018-11-29 12:57:31 -08:00
Jesse Suen
76c5df087a
Update kustomize base when setting image tags (#833) 2018-11-28 13:55:38 -08:00
Jesse Suen
cde040e10f
Serve CLI binaries directly from API server (#837) 2018-11-27 13:39:06 -08:00
Jesse Suen
bb82919131
Fix make all target and use archiveLogs workflow feature (#795) 2018-11-16 18:14:52 -08:00
Jesse Suen
361931f104 Move to single master image for all argocd services (issue #762) 2018-11-15 18:11:10 -08:00
Alexander Matyushentsev
dca1996640
Issue #657 - Use codecov to collect test coverage (#717) 2018-10-23 14:42:41 -07:00
Jesse Suen
dd94e5e5c3 Add version check during release to ensure compiled version is accurate (#646) 2018-09-26 07:40:42 -07:00
Alexander Matyushentsev
bed82d68df
Update changelog and fix release command dependency (#638) 2018-09-24 12:58:17 -07:00
Jesse Suen
359271dfa8 Update manifests to support in-cluster installations (#634) 2018-09-24 10:14:31 -07:00
Jesse Suen
d7c04ae24c
Update manifests to use v0.8.0
Make manifests friendly to `kubectl apply` semantics by omitting `data:` field
RBAC docs improvements
2018-09-04 17:58:50 -07:00
Jesse Suen
b54a5a3e25
Refactor Makefile/build to use a single Dockerfile. Update kustomize to v1.0.7 (#538) 2018-08-28 16:00:14 -07:00
Andrew Merenbach
36624f9d89
Enable code coverage (#500)
* Update Gopkg.toml

* Update Gopkg.lock

* Add new test-coverage command

* Update .gitignore to ignore coverage.out

* Test injection of COVERALLS_TOKEN variable

* Add draft of .travis.yml

* Rm recursive coveralls token

* Ensure that goveralls gets installed

* Rm second Go version

* Update workflow with coverage testing

* Change service from argo to argo-ci

* Rm .travis.yml

* Try setting coveralls token more explicitly

* Try file-based instead of env-based token

* Try both methods of providing token

* Go back to just env-based token

* Update with another printout test

* Try using container, thanks @alexmt

* Simplify for now, take 2

* Rm quotes

* Move env to ci-builder template

* Rm coveralls token

* Add coverage badge for current branch, take 2

* Add else statement for output in case of missing token

* Ensure we use the race detector

* Don't install goveralls with dep ensure

* Update generated files

* Try ignoring intermediate files

* Don't use race detector for now

* Try new pattern to ignore

* Try different pattern now

* Try different ignore path

* Try a different ignore style

* Ignore generated protobuf files properly now

* Rm standalone test since we have test-coverage
2018-08-09 15:54:15 -07:00
Jesse Suen
231d86e249
Create update-manifests.sh script to support manifest generation for personal images (#477)
Tweaks to README and getting_started.md
2018-07-30 16:13:54 -07:00
Alexander Matyushentsev
6905029c17
Issue #461 - Fix broken e2e tests (#464) 2018-07-26 01:46:13 +03:00
Andrew Merenbach
5d75dc02b1
Add verbose flag to tests (#462) 2018-07-25 13:35:51 -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
Jesse Suen
a5334ecde7
Update getting_started.md with new install instructions.
Generate install.yaml from IMAGE_NAMESPACE IMAGE_TAG values
Fix panic in initializeSettings()
2018-07-17 01:58:18 -07:00
Jesse Suen
9f35bad93f
Rework installation process to apply from install.yaml (#421)
* update getting started to work for post 0.6
* create central install manifest from individual manifests
* point e2e tests to correct manifests dir
* Update roles required by api-server and application-controller to include CRUD on appproject CRD.
* Added back explanations of keys in the secret manifests

NOTE: install.yaml will need change to use a hard wired version (e.g. v0.6.0) in a subsequent checkin.
2018-07-16 18:37:41 -07:00
Andrew Merenbach
3e7116c427
Enable CGO on Linux builds (#320)
* Take first shot at enable CGO on Linux

* Simplify CGO_ENABLED flag check

* Use curly braces for consistency

* Build CLI with CGO if possible, thanks @jessesuen
2018-06-26 14:29:11 -07:00
Jesse Suen
1148fae419
Add clean-debug make target to prevent packr from boxing debug artifacts into binaries 2018-06-15 14:31:26 -07:00
Jesse Suen
30a3dba7ad
argocd-server needs to be built using packr to bundle RBAC policy files. Update packr (resolves #266) 2018-06-06 12:35:25 -07:00
Jesse Suen
670921df90
SSO Support (#152)
This change implements SSO support.

dex is run as a sidecar to the ArgoCD API server, which fronts dex using a reverse proxy. The end result is that the ArgoCD acts as an OIDC provider serving under /api/dex. The login flow begins at /auth/login, which redirects to the Dex's OAuth2 consent page and ultimately directed to the IdP provider's login page, where they enter their credentials. After logging in, the OAuth2 redirect flows back to the client app, ultimately reaching /auth/callback, where the OIDC token claims are signed, and persisted in the users's cookie.

The dex configuration YAML is formulated during startup (through the argocd-util utility), with the configuration values taken from the argocd-cm configmap and the argocd-secret.

The build process was refactored to build argocd-util statically, so that it could be run inside off-the-shelf dex, which is built from alpine. Also, build speed was improved by expanding the default make targets in the Dockerfile, to avoid rebuilding each binary from scratch

Session management was refactored to use more bare-bones jwt library constructs, so we could reuse code from the user/password flow vs. OAuth2 flow.

* Initial SSO support. Run dex as sidecar. Generate dex config from ArgoCD cm and secret
* Sign and write SSO claims to JWT cookie during SSO login. Refactor session manager
* Build argo-util statically so it can run in dex sidecar. Redirect after SSO login
* Simplify app creation process to not require communication to dex gRPC server
2018-05-02 22:02:26 -07:00
Alexander Matyushentsev
11260f2476
Don't ask for user credentials if username and password are specified as arguments (#129)
* Don't ask for user credentials if username and password are specified as arguments

* Add cli image make target

* Don't re-prompt username/password in PromptCredentials
2018-04-25 14:18:30 -07:00
Jesse Suen
1a85a2d805
Bump version file to 0.3.0. Add release target and cli-linux/darwin targets 2018-04-23 00:34:08 -07:00
Jesse Suen
1c60a69866
Rename argocd app add/rm to argocd app create/delete (resolves #114) 2018-04-20 17:55:21 -07:00
Jesse Suen
2c9843f1a0
Update ksonnet to v0.10.0-alpha.2 2018-04-18 13:54:04 -07:00
Jesse Suen
ebb24b65b7
Add uninstall support. Remove redundant constants 2018-03-08 03:10:11 -08:00
Alexander Matyushentsev
e3c0263970 Fix typo in Makefile 2018-03-07 11:28:05 -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
d61a8e6704
Fix application-controller dockerfile. Install RBAC artifacts. 2018-03-01 04:14:55 -08:00
Jesse Suen
797c88b3a6
Add an implementation for the ksonnet comparator 2018-02-26 18:22:08 -08:00
Jesse Suen
4d9a53849f
Update to latest ksonnet with single destination. Fix linting errors. Update build container 2018-02-26 13:47:42 -08:00
Jesse Suen
be0a7e992a
Fix linting errors 2018-02-25 00:44:40 -08:00