Commit graph

115 commits

Author SHA1 Message Date
e2a489a74d Refactor migrations 2021-03-10 10:51:34 +01:00
3b81c52c59 Expose database repr, database fixup
Parts of the database representation are exposed.
A fixup command for builder-migrations is added to remove bad database
entries fixed in a57798f4c0. It is up to
the operator to remove the files and optionally re-upload the 'full'
files to builder-web.
2021-03-08 17:01:00 +01:00
a57798f4c0 Fix Build_{artifact,file}.add query 2021-03-04 14:32:58 +01:00
a7be8f8f47 Be consistent with order of sha256 and size 2021-02-26 10:05:53 +01:00
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