Commit graph

361 commits

Author SHA1 Message Date
71cc34bac3 Use int instead of int64 for file sizes
We are not going to use the extra bit, and String.length returns the
size as an int anyway.
2021-02-25 15:27:45 +01:00
3046994f4c Add filesize to view 2021-02-25 15:18:43 +01:00
3c33d66104 Add rollback of filesize column 2021-02-24 15:07:15 +01:00
9d4a77abd4 Do sqlite dance 2021-02-24 11:31:31 +01:00
535d2ac0b9 Add file sizes 2021-02-24 11:31:31 +01:00
7b81d78554 Use scrypt (#32)
Switch to using scrypt for password hashing

Co-authored-by: Reynir Björnsson <reynir@reynir.dk>
Reviewed-on: https://git.robur.io/robur/builder-web/pulls/32
Co-Authored-By: reynir <reynir@reynir.dk>
Co-Committed-By: reynir <reynir@reynir.dk>
2021-02-23 15:20:18 +00:00
8d211dc831 Check database version
Exit if the application id and user version are not as expected.
2021-02-17 14:15:57 +01:00
1c5de383ea /hash takes query parameters, add hash search form 2021-02-02 17:23:57 +01:00
03fe06be87 Add index job_build_idx on build
This speeds up loading / by ~10x
2021-02-02 10:25:19 +01:00
6b96cae318 Add /hash/:hash endpoint
It looks up the given hash and finds the latest build producing an
artifact with this hash.
2021-02-02 09:56:17 +01:00
3a106342f5 Show latest build info in jobs view
This does N+1 queries where N is the number of jobs.
2021-01-29 14:34:56 +01:00
1dce5eeda3 Merge pull request 'Schema versioning and main binary' (#22) from schema-versioning into main
Reviewed-on: https://git.robur.io/robur/builder-web/pulls/22
2021-01-29 09:52:38 +00:00
53addf4825 Fix bug in /upload
The localpath was used instead of the filepath which broke the
reference.
2021-01-29 10:17:03 +01:00
75fb497ac1 Fix Builder_db.Build.add
Query was not updated to reflect the new main_binary value
2021-01-29 10:17:03 +01:00
96a3da36cd Show build main binary and hash in job view 2021-01-29 10:17:03 +01:00
56737ec71b Migration code, model aware of main binary
Sqlite3 application_id and user_version are now set to identify the
database is a builder-web database, and the user_version represents the
schema version.

The 'build' table is extended with a 'main_binary' column. This
represents the main binary artifact from the build. This is decided by
there being exactly one file in bin/.

A migration tool is written that does both migrations and rollbacks, and
migration and rollback is implemented for the above mentioned change.
2021-01-29 10:15:31 +01:00
a936915b74 Also add the new function to the interface... 2021-01-28 16:05:32 +00:00
041faadb54 Return 409 conflic if build uuid already exists 2021-01-28 16:05:32 +00:00
7a8f853663 Remove /refresh endpoint
It depends on builder-db add and was a hack anywya.
2021-01-27 20:10:27 +00:00
810e1393ed Remove builder-db add command
Instead, use e.g.

    find /var/db/builder/ -maxdepth 3 -name full -exec curl http://user:password@builder-web:3000/upload --data-binary @\{} \;

This will add the build to builder-web.
2021-01-27 20:10:27 +00:00
dbe7300c9d Merge pull request 'Sort builds latest first' (#19) from latest-first into main
Reviewed-on: https://git.robur.io/robur/builder-web/pulls/19
2021-01-22 12:20:16 +00:00
d63976f809 Sort builds latest first
Fixes #17
2021-01-22 13:16:05 +01:00
6f9a74ec65 Use dash instead of underscore in binary name 2021-01-22 11:12:49 +01:00
af505853e6 Database file is in /var/db/builder-web/ 2021-01-22 10:59:03 +01:00
484658d23a Fix bugs
Parent directories for input file and output files must be created.
2021-01-21 18:12:26 +01:00
0f98541feb Store files on disk 2021-01-21 17:51:58 +01:00
841dabcc03 Clean up Builder_db interface
Database encoding functions are not useful to library users.
2021-01-21 16:47:31 +01:00
3a0d9222d5 Fixup user-update using user_add not user_update 2021-01-21 12:13:32 +01:00
22ef6395b8 Whitespace, log output 2021-01-21 12:02:07 +01:00
a6fe9ada45 Add password_iter option 2021-01-21 12:01:47 +01:00
23ca1beb05 Add sexplib dep 2021-01-21 10:12:39 +01:00
0530b31fe3 Add mirage-crypto-rng dep 2021-01-21 10:11:37 +01:00
01babd0d0d User authentication and upload endpoint 2021-01-21 10:11:37 +01:00
1771c47989 Add pbkdf dependency 2021-01-19 12:53:56 +01:00
035d471844 Add refresh endpoint hack 2021-01-19 10:44:32 +01:00
5298108d1a Implement sqlite database backed builder-web 2021-01-19 10:44:32 +01:00
0309737ef7 Add orb mime knowledge 2021-01-06 14:28:10 +01:00
37a916517d Display SHA256 digest only, and in hex 2021-01-06 11:48:24 +01:00
dd55491138 Document assumption 2020-12-22 13:45:54 +01:00
f2ab0d797f Simplify job_run_file and return 404 2020-12-22 13:36:14 +01:00
bf1777b7cb Toggle hide elements, artifact download links, etc
Add job script, links to artifacts and a way to hide job script, build
log etc
2020-12-21 11:22:35 +01:00
be1ae9cdab Implement downloading build artifacts 2020-12-21 11:21:10 +01:00
5f8325b60b Add SHA256 & SHA512 digests of build artifacts 2020-12-14 08:18:13 +01:00
bac7f8019d More css 2020-12-09 13:45:09 +01:00
0eadf387e6 Add anchor to timestamps 2020-12-09 13:44:44 +01:00
774074be63 timestamp html and css improvements
Each time stamp has an ID that can be linked to. Currently, there's no
mechanism for getting the fragment. A solution could be to wrap the
timestamp in an anchor.
2020-12-09 11:39:39 +01:00
eb039308ec Simplify RunMap compare 2020-12-08 11:49:42 +01:00
465ede64d6 Lwt-ify model 2020-12-08 11:49:26 +01:00
6e2c5718c1 Sort builds by start datetime 2020-12-07 21:45:15 +01:00
60a3f629d8 Rephrase, hide UUID from user 2020-12-07 21:40:57 +01:00