Commit graph

213 commits

Author SHA1 Message Date
e253848a15 Rely on the default error page triggering for 404s
It is not immediately obvious how to avoid the error handler making a
different 404 response when the application code returns an explicit 404
page. Since we were already replying "Resource not found" in all cases
except one where we reply "File not found" not much is lost by relying
on the error handler behavior.
2022-07-15 11:16:01 +02:00
234c7a0cb2 Refactor not found logic 2022-07-15 11:13:11 +02:00
9416e0552d error_handler: only show not found for `Not_Found
For all other error status codes we just pass on the suggested response.
2022-07-15 10:51:57 +02:00
rand00
f3d8eea546 Fixed unused param + simplification 2022-07-15 10:51:57 +02:00
rand00
ffc062727a Views: Cleanup 2022-07-15 10:51:57 +02:00
rand00
3e23b4a5bf Implemented general error-handler + Added special error-page for iframes/vizs 2022-07-15 10:51:57 +02:00
76f96b47b2 map_err and bind_lwt_err will be deprecated with lwt.5.6.0 2022-07-12 13:23:23 +02:00
cb43734b7b Refactor and address #127 2022-07-12 13:14:52 +02:00
rand00
148ddacbe8 Add tests for router/Link module 2022-07-12 13:14:52 +02:00
rand00
c533ea7c07 Made Builder_web.routes be a list of methods, routes and handlers - to become testable without depending on DB 2022-07-12 13:14:52 +02:00
rand00
93dc0d6d87 Made all links safe via a Links module 2022-07-12 13:14:52 +02:00
0be38475b7 builder-web: Inform expected version on wrong ver. (#121)
Reviewed-on: https://git.robur.io/robur/builder-web/pulls/121
Co-authored-by: Reynir Björnsson <reynir@reynir.dk>
Co-committed-by: Reynir Björnsson <reynir@reynir.dk>
2022-06-22 08:20:29 +00:00
071183ff6c Add GZip support when we generate a tar archive (#119)
Fixes #116.

Co-authored-by: Romain Calascibetta <romain.calascibetta@gmail.com>
Co-authored-by: Reynir Björnsson <reynir@reynir.dk>
Reviewed-on: https://git.robur.io/robur/builder-web/pulls/119
Co-authored-by: dinosaure <romain.calascibetta@gmail.com>
Co-committed-by: dinosaure <romain.calascibetta@gmail.com>
2022-06-21 15:17:50 +00:00
rand
5307a7b91a add builder-db verify-cache-dir command (#113)
Co-authored-by: rand00 <oth.rand@gmail.com>
Co-authored-by: Reynir Björnsson <reynir@reynir.dk>
Reviewed-on: https://git.robur.io/robur/builder-web/pulls/113
Co-authored-by: rand <rand@r7p5.earth>
Co-committed-by: rand <rand@r7p5.earth>
2022-06-16 09:03:05 +00:00
09a180c3cd Automatic viz migration on builder-web startup (#111)
Co-authored-by: rand00 <oth.rand@gmail.com>
Reviewed-on: https://git.robur.io/robur/builder-web/pulls/111
Co-authored-by: Reynir Björnsson <reynir@reynir.dk>
Co-committed-by: Reynir Björnsson <reynir@reynir.dk>
2022-06-08 10:18:46 +00:00
702d38a6cc Use Not found for missing visualizations 2022-04-22 12:41:55 +01:00
3de78b1113 Update to dream.1.0.0~alpha4
- Dream.path is deprecated. For now the deprecation is suppressed.

- Remove unused dream_svg.

- Remove datadir global. The datadir variable is in scope already, and
  global variables were removed in alpha3.

- Dream_tar.tar_response: flush before closing. It's unclear if this is
  necessary.

- Change Builder_web.add_routes to Builder_web.routes returning a list
  of routes, and in Builder_web_app construct the router.

- Builder_web.not_found is removed due to changes in Dream.router. It
  seems an error handler might be the way forward.
2022-04-22 12:37:01 +01:00
6190347401 use ignorelist to transmit the intention 2022-04-21 20:55:19 +02:00
rand
0f493e9b47 Removing trailing slashes (#80)
This PR solves the issue of there being both "<url>/" and "<url>" paths, that in the builder-web context shouldn't mean different things.

The slashes are now removed using a `Dream` middleware, and the request is redirected using a permanent redirect (that doesn't change the method used): https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Location

Notable changes:
* Trailing slashes from the hardcoded link urls were removed, as unneccesary redirects are then avoided.
* All links in `Views` were rewritten to be absolute instead of relative.
* As `Dream` deprecated `path` - `Utils.Path` was created containing some helpers for manipulating paths. *Note that `String.split_on_char` has a different semantics.*
* A blacklist `routeprefix_blacklist_when_removing_trailing_slash` was added, containing `Dream` route-prefixes to ignore.
* Only `GET` and `HEAD` requests are redirected.
* `redirect_parent` helper was rewritten using new `Utils.Path` functions to avoid brittle string manipulation + fixed the edgecase of redirecting to `/`.
* Added `Uri` dependency to make URL manipulation safer.

Co-authored-by: rand00 <oth.rand@gmail.com>
Co-authored-by: Reynir Björnsson <reynir@reynir.dk>
Reviewed-on: https://git.robur.io/robur/builder-web/pulls/80
Co-authored-by: rand <rand@r7p5.earth>
Co-committed-by: rand <rand@r7p5.earth>
2022-04-21 10:40:21 +00:00
rand00
010197d900 Builder_web: Fixed type-errors + usage of correct dream queries helper 2022-04-11 18:19:54 +02:00
rand00
8f173295ab Merge branch 'main' into redirect-job-and-build 2022-04-11 18:13:12 +02:00
a132a181c8 add ? before query parameters 2022-04-11 17:08:10 +02:00
3bee8a357d add query params to redirect 2022-04-11 16:54:28 +02:00
4c3a5986d6 Redirect /job to / and /job/:job/build to /job/:job
replaces #81
2022-04-11 16:23:45 +02:00
rand00
1207ddbf70 Merge branch 'main' into 20220329_passing_separate_cache-dir 2022-04-06 13:31:42 +02:00
rand
258ffbd979 Merge branch 'main' into 20220325_viz_descriptions 2022-03-30 10:26:00 +00:00
rand00
ab3be6ec8e builder-web: Added --cachedir CLI arg for staging new vizs 2022-03-29 22:27:24 +02:00
rand00
1827320f8c Builder_web: Removed boilerplate for generating vizs 2022-03-29 14:00:13 +02:00
rand00
ef253b7b87 Views: Added usage-descriptions on mouse-over on '?' below each visualzation (not mobile compatible) 2022-03-29 12:56:11 +02:00
rand00
d90cbea35c Views: Removed visual border from viz iframes + size fix 2022-03-23 20:38:22 +01:00
eef8e54776 Include more information on the front page, especially how unikernels can be executed. 2022-03-03 11:36:09 +01:00
Robur
9cf112a9ac Fix error when reading solo5 manifest
Also simplify solo5 manifest code.
2022-02-25 11:21:16 +00:00
d6098cfa91 minor stylistic adjustments from reading git diff -w 0afec16..6f3c89c 2022-02-24 14:05:06 +01:00
6f3c89c91d display visualizations from cache, generate visualizations on upload (#90)
This is #88 (reading visualiations from the cache directory), together with shell scripts that can be used as upload hooks to generate the visualizations.

Co-authored-by: rand00 <oth.rand@gmail.com>
Co-authored-by: Hannes Mehnert <hannes@mehnert.org>
Co-authored-by: Reynir Björnsson <reynir@reynir.dk>
Co-authored-by: Robur <team@robur.coop>
Reviewed-on: https://git.robur.io/robur/builder-web/pulls/90
Co-authored-by: hannes <hannes@mehnert.org>
Co-committed-by: hannes <hannes@mehnert.org>
2022-02-24 11:52:05 +00:00
923bc3d9d4 Add Solo5 device manifest to job_build
A user browsing a build can view what network and block devices the
unikernel expects before downloading the unikernel.
2022-02-23 14:09:09 +00:00
Robur
72393c9098 Model.add_build: pass --platform=<build-platform> to hook scripts 2022-02-21 14:50:41 +00:00
f7bc55f2e3 execute all executables in <conigdir>/upload-hooks when an upload succeeded
Only uploads with a single main binary invoke the hooks (since they use the
main_binary)
2022-02-21 13:05:16 +00:00
rand00
550dd59a19 Builder-web: Implemented better page-not-found 2022-02-21 12:13:51 +00:00
rand00
9333773335 Views: Fixed issue #70: Platform query-param is preserved in Job links 2022-02-08 10:54:13 +00:00
d89c5f5a1b Unify layout, centered horizontally
Reviewed-on: https://git.robur.io/robur/builder-web/pulls/74
2022-02-07 15:38:12 +00:00
43b9bf93ed Remove trailing whitespace 2022-02-07 13:51:56 +00:00
rand00
a601c143d6 Views.Job_build: Fixed for 80-col rule 2022-02-03 20:15:14 +01:00
rand00
7633b63f21 Views.Job_build: Avoiding too much indentation with current ocp-indent settings via less nesting 2022-02-03 20:11:36 +01:00
rand00
cb11326cd4 Views.Job_build: Separated body html out into named functions 2022-02-03 20:06:55 +01:00
rand00
a28b0829b3 .ocp-indent & Views: Changed max_indent to 4 - the default 2022-02-03 19:39:51 +01:00
rand00
5a6ce19c33 Views.Job: Separated nested list-generation out into named functions 2022-02-03 14:50:17 +01:00
rand00
f0632dff6f Views: More syntax + separated out failed-builds footer in Builds 2022-02-03 14:42:33 +01:00
rand00
b0fc7c1d9d Views.breadcrumbs: Consistent style of multiline tuples in list 2022-02-03 14:38:48 +01:00
rand00
f1214e01a3 Views: Syntax betterings for readability 2022-02-03 14:32:04 +01:00
rand00
82bcdf9f3b Views: Removed some opened records in parameters -
.. prefix with record-name is more safe and less cumbersome
2022-02-03 14:06:11 +01:00