Commit Graph

503 Commits

Author SHA1 Message Date
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
Simone Gotti 3e9fcf9d7b wal: add function to return current changes revision 2019-03-28 16:01:33 +01:00
Simone Gotti 975bc810b3 wal: return error when changes isn't initialized 2019-03-28 16:01:08 +01:00
Simone Gotti 65c425b22b wal: report when wal is ready
in this way the wal instance will be used only after it's ready (initialized
etcd when needed)
2019-03-28 15:46:24 +01:00
Simone Gotti d13fe43e19 wal: fix file close
don't defer in a loop
2019-03-28 15:44:14 +01:00
Simone Gotti 805099b693 wal: don't use path.Base to get changegroup value
If a changegroup contains a slash then it'll be cut the the last string after
the slash
2019-03-28 15:42:45 +01:00