Commit Graph

600 Commits

Author SHA1 Message Date
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
Simone Gotti
0f9a5f9c4b wal: send watch events only when needed 2019-03-27 20:40:23 +01:00
Simone Gotti
1e1ba89a3f wal: remove additionalwalactions 2019-03-27 20:39:59 +01:00
Simone Gotti
61b454d4da config environment from variable 2019-03-18 15:02:32 +01:00