Simone Gotti
83f6ebe95f
gateway: implement updateProject
...
Update project currently handles updating project name and visibility. In future
we'll add additional update logic.
2019-05-12 23:22:18 +02:00
Simone Gotti
4c35c88b32
fix auth
2019-05-12 23:19:56 +02:00
Simone Gotti
8e70c6b1b9
gateway: use authOptionalHandle with logHandler
...
or it'll fail when fetching logs on user runs since the logged in userid is not
set in the context
2019-05-12 00:28:50 +02:00
Simone Gotti
55b4a94281
gateway api: remove unused exposedURL variable
2019-05-12 00:28:11 +02:00
Simone Gotti
0c94386149
gateway: add badges endpoint
...
Currently we generate badges only for projects branches. In future this could be
extended to also generate badges for tags and PRs
2019-05-10 11:08:24 +02:00
Simone Gotti
c523bcba4e
gateway: add delete remote source handler
2019-05-10 00:03:03 +02:00
Simone Gotti
b0fe7e4115
*: implement delete organization member
2019-05-09 17:05:13 +02:00
Simone Gotti
d0309db97f
types: add RemoteUserAvatarURL to User
2019-05-09 16:49:02 +02:00
Simone Gotti
b37eddbe8b
gateway: remove omitempty json struct tag from UserResponse
2019-05-09 16:48:28 +02:00
Simone Gotti
620bae68df
*: implement add/update org member
2019-05-09 16:47:22 +02:00
Simone Gotti
8069063e0d
gateway: add project update repo linked account api
...
Change the project repo linked account to the one of the current user
2019-05-09 15:36:47 +02:00
Simone Gotti
a43be4a6be
gateway: update CreateProject api
...
remove currentuserid since we can get it directly in the action
2019-05-09 15:34:58 +02:00
Simone Gotti
92de7591da
gitsources: implement gitea oauth2 auth
...
As from https://github.com/go-gitea/gitea/pull/5378 gitea is an oauth2 provider.
2019-05-09 14:14:13 +02:00
Simone Gotti
43341f2cba
*: rename GitServer to Gitserver
2019-05-08 15:23:13 +02:00
Simone Gotti
1e34dca95d
runservice: split and simplify scheduler and executor naming
...
Also if they are logically part of the runservice the names runserviceExecutor
and runserviceScheduler are long and quite confusing for an external user
Simplify them separating both the code parts and updating the names:
runserviceScheduler -> runservice
runserviceExecutor -> executor
2019-05-07 23:56:10 +02:00
Simone Gotti
44d5b0f25a
*: rename ConfigStore to Configstore
2019-05-07 23:42:42 +02:00
Simone Gotti
e4e7de4ad2
runservice/gateway: return run on run action
2019-05-07 23:23:58 +02:00
Simone Gotti
83273489e0
jwt: unify token generation functions
2019-05-07 18:30:20 +02:00
Simone Gotti
649c42f75b
gitsources: create secret and webhook secret
...
Use the webhook secret on webhook creation and check it and webhook receive
2019-05-07 18:29:31 +02:00
Simone Gotti
4154be3370
*: set sshhostkey and skip check on remote source
2019-05-07 15:59:08 +02:00
Simone Gotti
afae185e11
*: rework run approval and annotations
...
* runservice: use generic task annotations instead of approval annotations
* runservice: add method to set task annotations
* gateway: when an user call the run task approval action, it will set in the
task annotations the approval users ids. The task won't be approved.
* scheduler: when the number of approvers meets the required minimum number
(currently 1) call the runservice to approve the task
In this way we could easily implement some approval features like requiring a
minimum number of approvers (saved in the task annotations) before marking the
run as approved in the runservice.
2019-05-06 15:19:29 +02:00
Simone Gotti
a04dd62e91
gateway: initial authorization
2019-05-03 23:19:23 +02:00
Simone Gotti
081ac8a44f
gateway: move webhook genGroup to common as GenRunGroup
2019-05-05 23:58:40 +02:00
Simone Gotti
6ef5649b21
gateway: set user admin value in context
2019-05-05 17:30:38 +02:00
Simone Gotti
6dfb789e77
gateway: project(group) create: rename parentID to parentRef
2019-05-05 17:19:23 +02:00
Simone Gotti
05ae46a72d
gateway: move run logic from api to actions
2019-05-06 00:00:45 +02:00
Simone Gotti
6b5bd40417
gateway: move remaining remotesource logic from api to actions
2019-05-05 14:54:16 +02:00
Simone Gotti
42184d0b5b
gateway: move remaining user logic from api to actions
2019-05-05 14:45:19 +02:00
Simone Gotti
96918e9bad
gateway: move remaining org logic from api to actions
2019-05-05 14:36:14 +02:00
Simone Gotti
c889c2c1c2
gateway: move remaining project(group) logic from api to actions
2019-05-05 14:27:22 +02:00
Simone Gotti
64044df94d
gateway: move secret logic from api to actions
2019-05-05 14:11:29 +02:00
Simone Gotti
f73f0ba434
gateway: move variable logic from api to actions
2019-05-04 15:16:49 +02:00
Simone Gotti
3f7e554f04
gateway: rename command(handler) to action(handler)
...
Since we're going to migrate all actions (also queries that now are implemented
in the api handlers) there
2019-05-03 23:48:49 +02:00
Simone Gotti
5a50a2681d
util/errors: add ErrForbidden
2019-05-03 23:18:51 +02:00
Simone Gotti
041e8867f8
*: add creatorUserID and cretedAt to organization
2019-05-03 14:24:18 +02:00
Simone Gotti
60feff5cef
configstore: add more validations
...
All the validation must be done inside the configstore since it's the source of
truth.
The gateway could also do some validation to avoid bad requests to the
configstore when needed or when the logic resides outside the configstore (like
project setup or user registration)
2019-05-03 12:41:49 +02:00
Simone Gotti
1f09eea949
project: add remote repository config type
...
RemoteRepositoryConfigType defines how a remote repository is configured and
managed. Currently only "remotesource" is supported.
In future other config types (like a fully manual config) could be supported.
2019-05-03 12:21:44 +02:00
Simone Gotti
ea02eed2d9
* api: accept both ids or names in the same endpoint
...
Simplify api to accept both ids or names in the same endpoint
2019-05-03 11:07:53 +02:00
Simone Gotti
6943c10dc9
types: add RemoteSourceID to Project
...
In future we may support specifying a remote source for a project without a
linked account and thus use a user provided token (saved in the project) or
other ways to define a remote repo (like standard git repos over ssh).
2019-05-03 09:55:37 +02:00
Simone Gotti
b9db3137ad
gateway api: return user linked accounts
2019-05-03 09:54:47 +02:00
Simone Gotti
ab7e4b8a4b
gateway: add user remote repos API
2019-05-03 00:11:11 +02:00
Simone Gotti
68e6bd5bdf
configstore: add project/projectgroup visibility
2019-04-30 17:09:26 +02:00
Simone Gotti
b1c9892378
configstore: report project/projectgroup path
...
and also parent path
2019-04-30 17:09:26 +02:00
Simone Gotti
984efb539e
configstore: use augmented types for vars/secrets dynamic values
2019-04-30 16:28:01 +02:00
Simone Gotti
1820e7c477
types: rename user UserName field to Name
2019-04-30 12:56:43 +02:00
Simone Gotti
1e1152cb1a
gateway: set agolaid query parameter in webhook url
2019-04-30 12:13:51 +02:00
Simone Gotti
fefa2819c9
gateway: use agola ID in gitsource tokenname
2019-04-30 12:13:12 +02:00
Simone Gotti
cbd971619b
gateway: refresh oauth2 token when needed
...
refresh the oauth2 access token when needed and update the related linked
account.
2019-04-29 15:42:10 +02:00
Simone Gotti
95e73e66a0
oauth2: correctly populate token expiry data
...
* Populate the field when needed
* Convert it to a time instead of a duration
2019-04-29 14:57:07 +02:00
Simone Gotti
41e333d7ec
*: rename "lts" to "ost"
...
`lts` was choosen to reflect a "long term storage" but currently it's just an
object storage implementation. So use this term and "ost" as its abbreviation
(to not clash with "os").
2019-04-27 15:16:48 +02:00