Commit Graph

51 Commits

Author SHA1 Message Date
Alex Collins
cbf9585d84 Gzip JWTs and Adds New User Info Page (#2204) 2019-09-05 13:31:04 -07:00
Alexander Matyushentsev
0f2fe76027 Move generated api code to pkg package (#1696) 2019-06-05 12:58:11 -07:00
Alex Collins
d09388bc97 codegen (#1674) 2019-06-03 12:00:16 -07:00
jannfis
64a1ea9e81 Add ability to specify system namespace during cluster add operation (#1661) 2019-06-03 09:50:46 -07:00
Alex Collins
8cd7d590e0 Codegen (#1632) 2019-05-21 14:37:20 -07:00
Jesse Suen
5ed0b1a6bf Supply resourceVersion to watch request to prevent reading of stale cache (#1612) 2019-05-13 14:58:22 -07:00
Alex Collins
7568b099ee Updates codegen (#1601) 2019-05-09 13:40:41 -07:00
Alexander Matyushentsev
e85eb01831 Issue #1552 - Improve rendering app image information (#1584) 2019-05-08 09:00:45 -07:00
Alex Collins
e3a120b1d8 codegen (#1521) 2019-04-24 13:39:07 -07:00
Alexander Matyushentsev
60273ba84f Issue #1499 - Use ingress host information to populate application external URL (#1511) 2019-04-23 10:34:53 -07:00
Alex Collins
eea804b3f6 Allow empty. Close #1504 (#1506) 2019-04-22 14:07:12 -07:00
Alexander Matyushentsev
90e44c092a Issue #86 - Custom actions bug fixing (#1494) 2019-04-19 10:27:12 -07:00
dthomson25
4541ca664a Initial Custom Actions Implementation (#1369) 2019-04-16 14:50:44 -07: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
Danny Thomson
204428cf0a Add Patch resource to API server 2019-01-29 11:57:49 -08:00
Jesse Suen
04564add01 Make injected application instance label configurable from default (#944)
* Make injected application instance label configurable from default
Stop removing ksonnet.io/component label, unless using legacy label

* Fix applying of resources when namespace is empty
2018-12-23 22:25:04 -08:00
dthomson25
8ea474a3c9 Remove gracePeriod seconds option from API (#900) 2018-12-07 10:50:40 -08:00
Jesse Suen
689c498549 Add protection from malformed project policies being sent to casbin (#888)
Group and role name validation (resolves #843)
2018-12-06 16:11:59 -08:00
Alexander Matyushentsev
c73ea2de1d Remove parameters field from ApplicationStatus (#872)
* Remove parameters field from ApplicationStatus

* Remove unnecessary override parameters validation
2018-12-04 22:28:58 -08:00
Jesse Suen
f5861aa708 Refactor, consolidate and rename resource type datastructures 2018-12-04 10:03:01 -08:00
Alexander Matyushentsev
246392f0f6 Issue #858 - Support loading resource events for multi-network apps (#865) 2018-12-03 14:53:11 -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
Alexander Matyushentsev
6ac3e8ec45 Issue #853 - pod logs does not work in multi namespaced apps (#855) 2018-11-30 15:40:01 -08:00
Jesse Suen
83fb5fb388 Rename 'controlled resources' to 'managed resources' (#850)
Rename 'resources tree' to 'resource tree'
2018-11-30 10:32:31 -08:00
Alexander Matyushentsev
6368a3e548 Refactor application controller (#840)
* Refactor application controller
2018-11-28 13:38:02 -08:00
Jesse Suen
925f9486e3 Restructure application sources to separate types (#799) 2018-11-17 16:20:25 -08:00
Taylor D. Edmiston
34bb60f064 Make Argo CD naming consistent (#694)
* Make Argo CD naming consistent

* Change ArgoCD to Argo CD on new lines
2018-11-05 11:29:01 -08:00
dthomson25
2c8c2fcd64 Support adding name prefix in helm and kustomize (#735) 2018-10-29 16:05:22 -07:00
Jesse Suen
2498f60c57 Update dependencies to k8s v1.12 and client-go v9.0 (#729)
Update dependencies to k8s v1.12 and client-go v9.0 (resolves #353)
Fix issue where applications could not be deleted on k8s v1.12 (resolves #718)
Refactor k8s dynamic resource libraries to promote code reuse
2018-10-28 22:46:13 -07:00
Alexander Matyushentsev
c76db90437 Issue #628 - Remove RollbackOperation in favor of Sync with ParameterOverrides (#706) 2018-10-18 20:23:22 -07:00
Andrew Merenbach
1ba52c8880 Allow more fine-grained sync (closes #508) (#666) 2018-10-10 10:12:20 -07:00
dthomson25
7f84f7d541 Add project get permission automatically to roles (#665) 2018-10-01 12:44:06 -07:00
Andrew Merenbach
f5a32f47d3 Update generated files (#660) 2018-09-27 13:07:16 -07:00
dthomson25
1ba10a1a20 Remove default params from app history (#649) 2018-09-27 11:24:25 -07:00
Jesse Suen
dc8a2f5d62 Support for exporting prometheus metrics about ArgoCD applications (#608) 2018-09-17 14:05:11 -07:00
dthomson25
66f64fbf15 Add Project JWT tokens (#498)
Implemented Project JWT Tokens (#472) using #228 as the overall design
2018-08-15 12:54:24 -07:00
Jesse Suen
0e78172665 Make use of dex refresh tokens and store them into local config. (#456)
* Make use of dex refresh tokens and store them into local config
* API client will automatically redeem OIDC refresh token if auth token expired.
* Stop the practice of reissuing/resigning non-expiring dex claims in API server.
2018-07-25 12:57:31 -07:00
Andrew Merenbach
7b6b945cbf Show CLI progress for sync and rollback (#393)
* Add ExpiresAt seconds

Per NumericDate having resolution of seconds at https://tools.ietf.org/html/rfc7519#page-6

* Rename expires for clarity; update comments

* Don't use different possible values for now

* Use intermediate variable for expires value

* Add pseudocode comments to session manager

* Update password storage

* Factor out LocalUsers

* Fix compile errors

* Add claim checks

* Support expiry on ReissueClaims tokens

* Set location to UTC for tokens

* Add logging for username

* Fix issuedAt type assertion

* Set mtime to UTC location

* Set second param on mgr.Create

* Update output for sync

* Major refactor

* Reduce verbosity

* Reduce duplicated code some more, thanks @jessesuen

* Move printout

* Move printout to success, not failure

* Revert "Move printout to success, not failure"

This reverts commit 3a6863d8f497c02bd381cf9ed6ff4a642c8bdcb5.

* Print final status on success _or_ failure

* Adjust printouts with frankenparameters

* Major refactor of data pipelining, thanks @jessesuen

* Refactor app state change printouts

* Fix number of Sprintf args

* Use previous format for keys, rather than hash

* Rename res => hook for clarity

* Don't print app resources initially, thanks @jessesuen

* Refactor Fprintf call to Fprintln

* Rename waitUntilOperationCompleted, thanks @jessesuen

* Refactor to merge data on update

* Default to updated for new resource states

* Use map for fields that actually change

* Don't let flapping lead to duplicate printouts

* Simplify caching mechanism
2018-07-25 09:01:50 -07:00
Andrew Merenbach
ab00aef75e Generate swagger files (#278)
* Generate swagger files

* Add basic Swagger definitions

* Add reposerver swagger file

* Consolidate swagger files

* Move swagger files to swagger-ui directory instead

* Put swagger files in swagger-ui

* Fix order of operations

* Move back to swagger directory

* Serve API server swagger files raw for now

* Serve reposerver swagger files from API server

* Move back to subdirectories, thanks @alexmt

* Fix comment on application Rollback

* Update two more comments

* Fix comment in session.proto

* Update generated code

* Update generated swagger docs

* Fix comment for delete actions in cluster and repository swagger

* Set expected collisions and invoke mixins

* Update generated code

* Create swagger mixins from codegen

* Move swagger.json location, thanks @jazminGonzalez-Rivero

* Add ref cleanup for swagger combined

* Make fewer temp files when generating swagger

* Delete intermediate swagger files

* Serve new file at /swagger.json

* Set up UI server

* Update package lock

* Commit generated swagger.json files

* Add install commands for swagger

* Use ReDoc server instead of Swagger UI server

* Update lockfile

* Make URL paths more consistent

* Update package lock

* Separate out handlers for Swagger UI, JSON

* Rm unnecessary CORS headers

...since we're serving from the app server

* Simplify serving

* Further simplify serving code

* Update package lock

* Factor out swagger serving into util

* Add test for Swagger server

* Use ServeSwaggerUI method to run tests

* Update package lock

* Don't generate swagger for reposerver

* Reset to master Gopkg.lock and server/server.go

* Merge in prev change to server/server.go

* Redo changes to Gopkg.lock

* Fix number of conflicts

* Update generated swagger.json for server

* Fix issue with project feature error
2018-06-25 13:49:38 -07:00
Jesse Suen
666769f9d9 Fix issue preventing proper parsing of claims subject in RBAC enforcement 2018-06-07 00:17:00 -07:00
Alexander Matyushentsev
54835a0d93 Implement workaround for https://github.com/golang/go/issues/21955 (#256) 2018-06-04 13:52:07 -07:00
Jesse Suen
7df831e96d Clean up .proto definitions for consistency and reduction of pointer usage (#253) 2018-05-31 17:21:09 -07:00
Jesse Suen
dc662da3d6 Support OAuth2 login flow from CLI (resolves #172) (#181)
* Support OAuth2 login flow from CLI (resolves #172)
* Refactor SessionManager to handle local and OAuth2 logins.
* argo login will request permanent credentials after OAuth2 flow
* Implement proper OIDC app state nonce. Add explicit `--sso` flag to `argo login`
2018-05-10 15:43:58 -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
36b3b2b853 Switch to gogo/protobuf for golang code generation in order to use gogo extensions 2018-04-24 15:20:59 -07:00
Andrew Merenbach
80964a79b2 Set session cookies, errors appropriately (#100)
* Set session cookies, errors appropriately

* Don't clear token response; set Secure flag only when Insecure disabled
2018-04-19 08:56:07 -07:00
Jesse Suen
f2bcf63b26 Fix linting breakage in session mock from recent changes to session interface 2018-04-18 14:17:16 -07:00
Andrew Merenbach
0560406d81 Add server auth cookies (#96)
* Basic fleshing out

* Flesh out cookie setting/deleting some more

* Set/delete cookies and return token

* Slight tweaks

* Update cookie name, validate tokens

* Combine possible tokens into one big list

* Split tokens from cookie key names

* Tweak cookie name, thanks @jessesuen

* Change deprecated grpc.Errorf=>status.Errorf

* Rm unneeded endpoints, thanks @jessesuen

* Update protobuf files
2018-04-18 13:44:57 -07:00
Andrew Merenbach
6c41ce5e08 Add session gateway (#84)
* Rebase all changes on to master

* Add additional comments, fix errors, thanks @jessesuen

* Centralize token injection, thanks @jessesuen

* Add REQUIREAUTH=1 env flag to enable authentication
2018-04-13 14:51:23 -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