Commit graph

15 commits

Author SHA1 Message Date
woshicai
ef653cac57
fix: client input arguments with equal sign (#6885)
Signed-off-by: Charles Cai <charles.cai@sap.com>

Co-authored-by: Charles Cai <charles.cai@sap.com>
2021-08-04 14:20:18 +02:00
Alex Collins
cb4898acb5
Adds tracing to key external invocations. (#2811) 2019-12-05 13:35:20 -08:00
Alex Collins
87cb4987c9
Work-around golang cilint error (#2499) 2019-10-15 14:36:33 -07:00
Rayyis
81aa3fb786 Create projects from manifests (#2202) 2019-08-26 13:21:09 -07:00
Alex Collins
4f9e81f6c4
Removes logging that appears when using the CLI (#1842) 2019-06-28 13:19:27 -07:00
Alex Collins
f0d3a042a3
Adds a timeout to all external commands. Closes #1821 (#1823) 2019-06-28 10:44:01 -07:00
Alex Collins
cbe862765f
Adds support for ARGOCD_OPTS envvar for global variables. Fixes #1081 (#1131) 2019-02-14 15:04:06 -08:00
Jesse Suen
e6efd79ad8
Support ability to use a helm values files from a URL (issue #624) 2018-09-21 16:05:42 -07:00
dthomson25
3dbb6f3002
Add ksonnet version to version endpoint (#433)
* Add ksonnet version to version endpoint

I needed to move config.go out of the cli package to fix a circular dependency.

* Remove ksonnetVersion field from the ArgoCD version struct
2018-07-20 09:13:16 -07:00
Jesse Suen
0479fcdf82
Add settings endpoint so frontend can show/hide SSO login button. Rename config to settings (#153) 2018-05-03 11:18:44 -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
Jesse Suen
3be872ad32 Rework local config to support multiple servers/credentials
* Refactor local ~/.argocd/config to be similar to kube configs
* `argo login` will detect TLS issues and prompt user before writing config
* version server is unauthenticated and `argo version` will report server version
2018-04-19 11:29:56 -07:00
Andrew Merenbach
685a814f38
Add argocd login command (#82)
* Add auth check and bypass for authentication

* Disallow blank passwords

* Mitigate timing attacks

* Factor out authentication/token gen code

* Tweaked token validation code to log claims

* Add missing internal gRPC client endpoints

* Add first draft of login command

* Add login command to root commands

* Get login working

* Generalize command utils for unmarshaling

* Centralize utils for CLI YAML/JSON parsing

* Read/write local config now

* Initialize map

* Revert server files for now

* Fix casing

* Restore commented test, thanks @alexmt

* No need to mitigate timing attacks on blank passwords, thanks @alexmt

* Rm redundant type declaration, thanks @alexmt

* Improve error checks

* Rm unnecessary conversion, thanks @alexmt

* Fix comment

* Don't return error when config doesn't exist
2018-04-11 17:01:58 -07:00
Jesse Suen
7e47b1ebae TLS support. HTTP/HTTPS/gRPC all serving on single port 2018-04-09 16:30:30 -07:00
Jesse Suen
173ecd9397 Installer and settings management refactoring:
* Re-arrange utilities into more granular packages
* Simplify config manager interface into just Get() and Save()
* Support installation into different namespace
* Combine all secrets into single secret
* Use a hard-wired configmap name
* Admin username is no longer configurable
2018-04-04 11:38:10 -07:00