Simone Gotti
3642be6f21
*/api: Use helpers for error handling
...
* client: always parse the json error message field and return its contents
* Use ErrBadRequest and ErrNotFound in every handler and command
* Gateway: by default pass underlying service error (configstore, runservice) to
client keeping the status code and message. In future, if some errors must be
masked, we should change the specific parts that need special handling.
2019-04-09 14:53:00 +02:00
Simone Gotti
643dfe4072
runservice api: improve response handling
...
* Command: use ErrBadRequest
* Always return a json message also on error. For internal errors return a
generic "internal server error" message to not leak the real internal error to
clients
* Return 201 Created on resource creation
* Return 204 No Content on resource deletion and other action with no json
output
2019-04-08 18:04:42 +02:00
Simone Gotti
7d787c5f77
*: implement task approval
2019-04-08 17:29:57 +02:00
Simone Gotti
81537f882f
gateway: fix runs url to plural
2019-04-08 16:11:19 +02:00
Simone Gotti
14bc618a91
types: add MatchWhen tests
2019-04-08 16:05:53 +02:00
Simone Gotti
4fb250a668
configstore api: improve response handling
...
* Always return a json message also on error. For internal errors return a
generic "internal server error" message to not leak the real internal error to
clients
* Return 201 Created on resource creation
* Return 204 No Content on resource deletion and other action with no json
output
2019-04-08 12:29:25 +02:00
Simone Gotti
04f3905ea1
client: fix content type header case
2019-04-08 12:28:15 +02:00
Simone Gotti
03b5a53510
gateway/command: use ErrBadRequest when needed
2019-04-08 12:08:31 +02:00
Simone Gotti
56d903d4db
gateway api: improve response handling
...
* Always return a json message also on error. For internal errors return a
generic "internal server error" message to not leak the real internal error to
clients
* Return 201 Created on resource creation
* Return 204 No Content on resource deletion and other action with no json
output
2019-04-08 11:35:45 +02:00
Simone Gotti
763d77d899
gateway: rename projectid to projectref
2019-04-08 09:04:55 +02:00
Simone Gotti
f3781c9087
*: fix rest methods
...
* use POST instead of PUT for resource creation
* use PUT instead of POST for resource special actions
2019-04-08 08:54:45 +02:00
Simone Gotti
595590e611
api: use httpError helper everywhere
2019-04-05 16:33:00 +02:00
Simone Gotti
fe5bc2fa31
gw repos: use config provided gitServerURL
2019-04-05 16:23:54 +02:00
Simone Gotti
ac28731d11
gateway: only admin or the same logged user can create an user token
2019-04-05 15:56:06 +02:00
Simone Gotti
200aef20b9
configstore: create token only if it doesn't exists
2019-04-05 15:06:26 +02:00
Simone Gotti
c4310be7de
Implement user token delete
2019-04-05 15:01:57 +02:00
Simone Gotti
3a41e66f5b
cmd: implement variable delete
2019-04-05 11:11:27 +02:00
Simone Gotti
2e335effe9
cmd: implement secret delete
2019-04-05 11:00:45 +02:00
Simone Gotti
42becb0505
update secret create
2019-04-05 10:32:32 +02:00
Simone Gotti
25eb200625
gw api: fix matching secret logic
2019-04-05 10:26:35 +02:00
Simone Gotti
7be0ae205f
update .agola/config.yml
2019-04-03 18:05:34 +02:00
Simone Gotti
58a77ad221
gateway: handle skipped webhook
2019-04-03 17:05:50 +02:00
Simone Gotti
84879bf591
gateway: limit requests to a predefined max size
2019-04-03 16:59:17 +02:00
Simone Gotti
0a32b78359
gitsources: implement gitlab hooks
...
* Generalize to use repopath instead of (owner, reponame)
2019-04-03 15:01:21 +02:00
Simone Gotti
4cf72748b4
gitsources: update api
...
* Generalize to use repopath instead of (owner, reponame)
2019-04-03 15:01:21 +02:00
Simone Gotti
a2cd92c70b
webhook: use provided userID
2019-04-03 15:11:50 +02:00
Simone Gotti
2548598bb8
localrun: use userid and pass it to webhook
2019-04-03 14:59:24 +02:00
Simone Gotti
2d68be8a30
gw api: fix project and remotesource to return the right response
2019-04-03 15:08:33 +02:00
Simone Gotti
bb21520133
gw api client: add GetCurrentUser
2019-04-03 15:06:02 +02:00
Simone Gotti
9d559d49d7
webhook: correctly handle git host and port
...
* split host and port from the git url
* also set the port in the generated ssh config
2019-04-03 12:27:09 +02:00
Simone Gotti
3d39553189
project create: user project path
...
Use project path for project creation and get the project clone url directly
from the remote source
2019-04-03 11:07:54 +02:00
Simone Gotti
6736f5aebc
gw api: require at least one group on runs query api
2019-04-03 08:52:29 +02:00
Simone Gotti
e2bc2043d0
update Dockerfile
...
add default config for local testing
2019-04-03 08:52:00 +02:00
Simone Gotti
7bf2c106e4
serve: set default value for --config to ./config.yml
2019-04-03 08:53:16 +02:00
Simone Gotti
f0e7ce4a96
cmd: implement project/projectgroup variable create
2019-04-02 11:07:39 +02:00
Simone Gotti
99a6c12f98
project delete: use project ref
2019-04-02 11:06:45 +02:00
Simone Gotti
ed502276ba
update configstore for previous wal changes
2019-04-03 18:11:31 +02:00
Simone Gotti
fc891409ca
update wal and readdb
2019-04-01 12:54:43 +02:00
Simone Gotti
eb8cd9cc52
gateway: add user registration
...
Adds two handler:
* Authorize handler used to ask remote source authorization
* Register handler used to do user and related linked account creation
2019-03-29 17:53:15 +01:00
Simone Gotti
704da47afc
configstore: createuser also create linked account when requested
...
Useful to future user registration to create user and linked account in a unique
atomic call.
2019-03-29 17:50:51 +01:00
Simone Gotti
3e3a7a0ea5
gateway: move user la and login validation to command layer
2019-03-29 14:33:41 +01:00
Simone Gotti
75b5b65da3
runservice: check that readdb is initialized
2019-03-29 12:20:54 +01:00
Simone Gotti
e46766829c
runservice: rework store and readdb logic
...
* Remove all the small index files on the lts
* Keep on s3 only a full index of all runs containing the runid, grouppath and phase
million of runs can take only some hundred of megabytes
* Periodically create a new dump of the index
2019-03-29 12:15:48 +01:00
Simone Gotti
3c5eb71ba8
runservice: make and check that group paths are absolute
2019-03-29 12:09:32 +01:00
Simone Gotti
48ab496beb
*: add api to query last run per group
2019-03-29 12:00:18 +01:00
Simone Gotti
21447fc59d
etcd: allow specifying a revision for a get
2019-03-29 11:37:22 +01:00
Simone Gotti
1e41e3ad33
gateway/api: report if the run can be restarted
2019-03-29 09:22:34 +01:00
Simone Gotti
c9089c3ccc
runservice: allow restart run only if possible
2019-03-29 09:09:57 +01:00
Simone Gotti
1657a35a6f
runservice: refactor fetch phase check
...
Use dedicated functions
2019-03-29 09:00:19 +01:00
Simone Gotti
7fa14c1b7a
util/path: add PathList function
2019-03-28 16:02:11 +01:00