Commit Graph

84 Commits

Author SHA1 Message Date
mprahl
66c3f82160 Format the coding style across the codebase using "black" and manual tweaks
The main benefit of this commit is that the use of double quotes
is now consistent.
2019-04-26 00:32:13 -04:00
mprahl
998084b441 Don't default the module name to "unnamed" on a direct modulemd submission
The module name should either be set in the modulemd file or provided
by the `module_name` parameter.
2019-03-19 08:31:33 -04:00
mprahl
275e7e4509 Remove the concept of required and optional parameters
Since the required parameters vary based on if the modulemd
comes from SCM or a direct submission, the concept of optional
parameters doesn't really apply.
2019-03-19 08:02:39 -04:00
mprahl
6d61a59b13 Clean up the valid API parameters
The MBS submission API endpoint should not accept every parameter
that is also a column on the ModuleBuild table. There are two
reasons for this. The first is that a user should be notified if
the supplied parameter is invalid, whereas it could get silently
ignored. The second reason is that a nefarious user could pass
in specially crafted API parameters causing MBS to do something
unexpected or undesired.
2019-03-19 08:01:23 -04:00
Merlin Mathesius
aaf9eaa6ec Use log.exception when reporting JSON parsing exceptions.
Signed-off-by: Merlin Mathesius <mmathesi@redhat.com>
2019-03-19 11:56:47 +00:00
Merlin Mathesius
a46a4ec470 Accept modulemd for scratch module builds as a parameter in the submitted JSON.
Signed-off-by: Merlin Mathesius <mmathesi@redhat.com>
2019-03-19 11:56:47 +00:00
Merlin Mathesius
244d873130 Always allow submitting yaml for scratch module builds.
Signed-off-by: Merlin Mathesius <mmathesi@redhat.com>
2019-03-08 11:58:46 -06:00
Merlin Mathesius
152419f376 Module scratch build fixups per PR review feedback:
- Keep scratch module builds in the 'done' state.
- Make koji tagging for scratch modules unique so the same
  commit can be resubmitted.
- Use alternate prefix for scratch module build components so they can
  be identified later.
- Prevent scratch build components from being reused.
- Assorted code and comment cleanup.

Signed-off-by: Merlin Mathesius <mmathesi@redhat.com>
2019-03-01 10:27:04 -06:00
Merlin Mathesius
f2e7a8db07 Add web request options 'scratch' and 'srpms' for module scratch builds.
Signed-off-by: Merlin Mathesius <mmathesi@redhat.com>
2019-03-01 10:27:04 -06:00
Merlin Mathesius
fcac146230 Separate multipart/form-data logic from YAML handling logic.
Signed-off-by: Merlin Mathesius <mmathesi@redhat.com>
2019-03-01 10:27:04 -06:00
mprahl
776330a2bb Add the allowed_users configuration for service accounts to bypass the group membership check
This is required for monitoring use-cases, where we can have a Kerberos principal for a
service account but no associated account in LDAP to check group membership.
2019-02-14 11:11:18 -05:00
Filip Valder
38c0ea6147 Basic monitoring w/-o MBS-specific metrics 2019-02-12 16:08:41 +00:00
Mike Bonnet
6e62cf6867 libmodulemd does not require the branch value to be bytes 2019-02-06 16:56:33 -08:00
mprahl
f7e7765686 Add the ability to override buildrequires and requires when submitting a module build
This will allow for tooling to automatically override certain buildrequires and requires
based on the branch name the modulemd is built form.

Addresses FACTORY-3414
2018-10-29 17:08:27 -04:00
Filip Valder
598347e1b6 Import module API 2018-09-07 17:12:01 +02:00
mprahl
36a9026ca8 Remove references to COPR 2018-06-28 10:00:06 -04:00
mprahl
aa990d3de3 Use six instead of future 2018-04-05 11:32:21 -04:00
Jan Kaluza
604a336649 Backport jsonify method which supports list as input. 2018-04-03 09:58:57 -04:00
mprahl
5b278211e6 Add API v2 which will return a list of modules on build submissions based on module stream expansion 2018-04-03 09:58:57 -04:00
Yash Nanavati
ed25afd9ec Code changes for Python 3 support 2018-03-04 03:22:38 -05:00
mprahl
b752a9741a Return a friendly error when the 'id' is provided as a query parameter 2017-11-27 11:58:56 -05:00
mprahl
0e7dd2dad3 Add a "short" query parameter to show less detail on the "module-builds" API 2017-11-17 13:19:48 -05:00
mprahl
9890277620 Make "state_url" optional in the "extended_json" function since creating an app context causes SQLAlchemy issues on the backend 2017-11-17 12:07:51 -05:00
Martin Curlej
c76c5dcf15 mbs-build now builds modules only from yaml files 2017-11-10 12:33:42 -05:00
Martin Curlej
03cff80e4a Streamlined cmd line options for local builds
Signed-off-by: Martin Curlej <mcurlej@redhat.com>
2017-11-10 12:33:42 -05:00
mprahl
104480d365 Set Access-Control-Allow-Origin to * on GET API routes 2017-11-08 21:37:25 -05:00
mprahl
d8f126e978 Allow resuming from a failure during the "init" phase
This also shifts build failure transitions from individual functions
in utils.py to the init module handler.
2017-11-06 14:15:12 -05:00
mprahl
089a0c3db4 Fix typo 2017-11-02 08:37:59 -04:00
mprahl
45cce653eb Add the ability to specify different rebuild methods 2017-11-01 15:39:43 -04:00
Martin Curlej
60b3d97c97 flake8 cleanup
Signed-off-by: Martin Curlej <mcurlej@redhat.com>

removed some noqa tags
2017-10-25 12:13:59 +02:00
mprahl
eedf0a1684 Default verbose to false but present a lot more information when verbose is false 2017-10-23 20:19:51 -04:00
mprahl
9f9cfc358b Default PATCH return value to be the extended_json like POST 2017-10-05 16:17:20 -04:00
mprahl
27250263ea Default verbose to on ordering by id in the module-builds API 2017-10-05 16:17:18 -04:00
Ralph Bean
eed37eced6 Remove some code duplication in views.py
This is mostly just cosmetic.

Fixes #605.
2017-10-03 13:58:42 -04:00
mprahl
6165fd5088 Add an API that exposes information about the MBS server 2017-09-19 16:48:28 -04:00
Filip Valder
3cb41aa5dc Changes in MBS restful API:
- Refactor MBS API code
- Unify module-/component_build API philosophy/design/approach
- Naming fixes
- _utc_datetime_to_iso moved from ModuleBuildAPI and is now a module-level function.
- Existing v1 API remains unchanged. ComponentBuildAPI now supports individual component build listing + verbose mode.
- documented in README
- various component_build API tests added
2017-09-11 14:48:22 +02:00
Filip Valder
7ef2975984 PEP8 fixes 2017-07-17 18:29:10 +02:00
Yashvardhan Nanavati
d79a9584c7 Find module build using attributes of a component build in koji 2017-07-07 14:37:43 -04:00
mprahl
3e819abcb6 Include the query arguments in the pagination metadata 2017-07-06 09:09:17 -04:00
Jakub Kadlčík
a86084746d Rename ALLOW_CUSTOM_URLS to ALLOW_CUSTOM_SCMURLS 2017-05-02 11:29:47 +02:00
Jakub Kadlčík
6dde52f377 Add config option for allowing custom scmurls 2017-04-19 15:25:22 +02:00
Jakub Kadlčík
b0ae5f98ef Have default NSV for modules submitted by yaml file 2017-04-18 08:23:38 +02:00
Jan Kaluža
9c60457dda Merge #461 NO_AUTH bugfix and improvement 2017-04-07 06:01:42 +00:00
Jan Kaluza
acf0e7097c Use FAS groups to manage MBS admins 2017-04-04 16:39:10 +02:00
Jakub Kadlčík
dcba6c8995 Support NO_AUTH changing owner in patch method 2017-03-30 12:21:01 +02:00
Jakub Kadlčík
0753c6be2d Move validate_optional_params to BaseHandler 2017-03-30 11:21:39 +02:00
Jakub Kadlčík
05bdece65a Don't allow NO_AUTH to be anything 2017-03-30 11:21:39 +02:00
Jakub Kadlčík
10d3c98381 Construct optional_params in base class 2017-03-30 11:01:13 +02:00
Jakub Kadlčík
ec0ed91d45 Allow to submit owner when NO_AUTH 2017-03-30 11:01:13 +02:00
Jakub Kadlčík
48808547f7 Refactor post methods to separate handlers 2017-03-30 11:01:13 +02:00