Commit Graph

296 Commits

Author SHA1 Message Date
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
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
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
Simone Gotti
50547a6490 initial secret and variables impl 2019-03-14 14:36:18 +01:00
Simone Gotti
8b92b6f55c initial project group impl
and related api updated
2019-03-14 14:36:18 +01:00
Simone Gotti
3b8a1d684b configstore: use httpError everywhere 2019-03-14 09:34:05 +01:00
Simone Gotti
8f4a5b29b9 *: implement setup step 2019-03-13 15:48:35 +01:00
Simone Gotti
b05b377d31 runservice: add option to define custom container entrypoint 2019-03-13 12:12:32 +01:00
Simone Gotti
16ac6ada66 runservice: add privileged containers options 2019-03-13 12:11:46 +01:00
Simone Gotti
7d105f1232 configstore: use ErrBadRequest 2019-03-12 15:12:19 +01:00
Simone Gotti
f09602cdc3 *: implement run stop 2019-03-08 10:02:37 +01:00
Simone Gotti
6f38c48066 *: initial implementation of when conditions 2019-03-07 18:01:34 +01:00
Simone Gotti
a4ad66ac2d gateway: implement initial basic run restart 2019-03-04 16:12:07 +01:00
Simone Gotti
9d2c133817 runservice implement initial basic run restart 2019-03-04 16:11:18 +01:00
Simone Gotti
f383a0056d gateway gitsources: use owner id for deploy keys and webhook urls
In this way we could have multiple projects pointing to the same remote
repository and every projects will have its own deploy key and webhook url
2019-02-28 17:19:53 +01:00
Simone Gotti
41002efbff *: add organizations 2019-02-28 15:52:35 +01:00
Simone Gotti
e6595b2dba types: add organizations 2019-02-28 15:53:10 +01:00
Simone Gotti
3c2a06c6b0 Add password utils 2019-02-21 16:04:00 +01:00
Simone Gotti
715596e650 Add user local runs feature 2019-02-21 23:01:17 +01:00
Simone Gotti
6f55ab1d38 Add git save implementation 2019-02-21 16:06:18 +01:00
Simone Gotti
fd486bbe09 gateway: add internal git server repos api 2019-02-22 09:34:48 +01:00
Simone Gotti
203a41eaf7 Add custom git server 2019-02-21 16:03:17 +01:00
Simone Gotti
cae68c6971 Add our own git gitsource 2019-02-21 18:08:09 +01:00
Simone Gotti
021a0465ce gateway: initial implementation 2019-02-21 17:58:25 +01:00
Simone Gotti
18c4b631bf Add git utils 2019-02-21 23:14:55 +01:00
Simone Gotti
ba00398009 Add initial git sources implementations
* gitea
* gitlab
2019-02-21 16:06:34 +01:00
Simone Gotti
57c756a5a4 configstore: initial implementation 2019-02-21 16:08:30 +01:00
Simone Gotti
bd21f1f9b5 scheduler: initial basic implementation 2019-02-21 16:04:33 +01:00
Simone Gotti
cbe26c5797 Add makefile 2019-02-21 15:59:16 +01:00
Simone Gotti
44173ac473 cmd: initial commit 2019-02-21 15:57:40 +01:00
Simone Gotti
36fc79dfc6 runservice: initial commit 2019-02-21 15:54:50 +01:00
Simone Gotti
4cd382425c toolbox: initial commit 2019-02-21 15:57:11 +01:00
Simone Gotti
f70dc16738 Add initial agola config format and handling 2019-03-07 14:42:32 +01:00
Simone Gotti
86e8479de9 Add initial objectstorage wal manager 2019-02-22 08:45:59 +01:00
Simone Gotti
02ed2871db Add errors utils 2019-02-21 16:32:01 +01:00
Simone Gotti
6ef77158e3 Add slice utils 2019-02-21 16:32:27 +01:00
Simone Gotti
11d1920b04 Add time utils 2019-02-21 16:31:48 +01:00
Simone Gotti
2eea5ab8c6 Add dump util 2019-02-21 16:30:34 +01:00
Simone Gotti
981aea1284 Add common services types 2019-02-21 16:04:15 +01:00
Simone Gotti
9daa5c1326 Add internal/common 2019-02-21 16:07:20 +01:00
Simone Gotti
5bdfb4c084 Add common services configuration 2019-02-21 16:05:06 +01:00
Simone Gotti
968104c469 Add database helper 2019-02-21 16:05:54 +01:00
Simone Gotti
7aae1d3e1b Add initial objectstorage implementation 2019-02-21 16:00:48 +01:00
Simone Gotti
fb022c5992 Add etcd sequence implementation 2019-02-21 16:01:52 +01:00
Simone Gotti
e38ba8ea31 Add etcd store 2019-02-21 16:00:12 +01:00
Simone Gotti
24f4ab6bc0 Add tls util 2019-02-21 16:23:36 +01:00
Simone Gotti
86d5a85409 Add common logging helper 2019-02-21 16:05:35 +01:00