Commit Graph

113 Commits

Author SHA1 Message Date
Christopher Baines c596a1c6a9 Add a Prometheus metrics page, with some database metrics
The database size is growing, but it's hard to know what parts are growing the
fastest. These metrics will hopefully help with understanding that.
2020-09-06 13:14:31 +01:00
Danjela Lura 50d2e4e158 Add JSON representation for the store item page
Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-08-26 21:26:08 +01:00
Danjela Lura d5c101dee7 Add JSON representation for the derivation page
Signed-off-by: Christopher Baines <mail@cbaines.net>
2020-08-26 21:20:00 +01:00
Christopher Baines e9d4e74e56 Add builds to the store item page 2020-07-04 09:31:12 +01:00
Christopher Baines a0263a0eae Set a statement timeout of 60 seconds for web requests
This will help stop queries running for an unnecessarily long time, longer
than NGinx will wait for example.
2020-04-24 09:00:20 +01:00
Christopher Baines ebb8ab8066 Improve the 404 pages
Render some HTML rather than the plain response.
2020-03-14 12:55:34 +00:00
Christopher Baines a03e1601de Improve handling of errors
Adjust the previously unused error page code, and start to use it. Only show
the error if configured to do so, to avoid leaking secret information.
2020-03-14 12:46:02 +00:00
Christopher Baines 510e13f175 Add a page listing the available database dumps 2020-02-22 23:24:24 +00:00
Christopher Baines 744ab9366b Add a very basic repositories page 2020-02-01 13:33:14 +01:00
Christopher Baines 6bc753dd0e Add a build servers page 2020-02-01 13:12:01 +01:00
Christopher Baines bf25a8db02 Add a job events page 2020-01-20 19:46:00 +00:00
Christopher Baines 57cbac891e Delete unused assoc-ref-multiple function 2020-01-10 17:28:12 +00:00
Christopher Baines 2cb5309851 Display details for the derivation source files
If the nar file is available.
2019-12-30 12:32:20 +00:00
Christopher Baines 66e886a6b4 Serve narinfo files for derivations 2019-12-26 09:34:43 +00:00
Christopher Baines f78e3126e5 Render nar files for derivations
In the same manor that Guix publish does. This is working towards being able
to serve substitutes for derivations.
2019-12-26 09:25:27 +00:00
Christopher Baines 43013fc16b Add a "plain" view for derivations 2019-12-26 09:04:53 +00:00
Christopher Baines e078b9611d Include nars on the output page 2019-12-12 20:07:22 +00:00
Christopher Baines 8e5f8e4170 Add a new page for the narinfos associated with an output 2019-12-12 20:07:22 +00:00
Christopher Baines acf1735a0f Stop setting a long max-age for the viewing store items
As as new derivations are loaded, the contents of the page can change.
2019-12-12 20:07:22 +00:00
Christopher Baines 2a3ee20a99 Extract the builds page in to it's own set of modules
To allow for expanding it, without cluttering the root controller.
2019-11-24 20:42:37 +00:00
Christopher Baines 33ecb7448e Respond to any method with a 404, if the request is unrecognised 2019-11-24 20:18:08 +00:00
Christopher Baines 5663235048 Rework the builds and build_status tables as well as related code
Allow for build status information to be submitted by POST request. This
required some changes to the builds and build_status tables, as for example,
the Cuirass build id may not be available, and the derivation may not be know
yet, so just record the derivation file name.
2019-11-24 20:18:08 +00:00
Christopher Baines 7c611402a0 Add a basic page for derivation source files
Just so that the links work.
2019-11-21 19:54:54 +00:00
Christopher Baines a658d64b46 Add a page to show a formatted derivation representation
The HTML is very rough, and the way it's displayed is also rough, but it does
provide a way to understand the derivation. I'm also unsure it's a perfect
representation, but it's a start at least.
2019-11-09 20:50:53 +00:00
Christopher Baines 263eb0e0a9 Handle unknown requests better within controllers 2019-10-18 17:23:59 +01:00
Christopher Baines 4ce8d9e830 Extract the comparison pages out from the main modules
In to their own modules. This should help make the code more understandable,
and allow future refactoring for readability.
2019-10-14 19:24:14 +01:00
Christopher Baines 86db73c05a Refactor the repository pages code
Move it out of the main controller and html modules to better separate the
code, which should allow to make it easier to read in the future.
2019-10-14 18:28:25 +01:00
Christopher Baines 49ea210382 Refactor the revision pages
Move the code to a more specific controller and html module. There's a lot of
code related to the revision pages, and having it separated will help with
refactoring it.
2019-10-14 17:55:08 +01:00
Christopher Baines 660df79a69 Remove the query-parameters from controller-with-database-connection
As I believe it's unused.
2019-10-13 21:12:43 +01:00
Christopher Baines 06723370e5 Refactor the jobs pages code
Move the code out of the main controller and html modules. There's now too
much code in these modules, so begin to separate the functionality, starting
with the small amount of code for the jobs pages.
2019-10-13 21:10:10 +01:00
Christopher Baines 955ada8bca Add a compare-by-datetime page
This is to compare the state of a branch (or two different branches) at two
different times. This complements the ability to compare by revision to be
able to just compare by date and time. The relevant revisions are determined,
and then compared as normal.

This is only a very rough initial implementation, as I'm hoping to refactor
the code to reduce duplication.
2019-10-13 20:51:47 +01:00
Christopher Baines 15db1b0688 Add a variant of compare/derivations to work with a branch and datetime 2019-10-13 19:47:19 +01:00
Christopher Baines 2b9c882e5a Improve error handling for comparison pages 2019-10-12 21:43:34 +01:00
Christopher Baines af1ffc2393 Add a page for queued jobs 2019-10-12 21:16:39 +01:00
Christopher Baines 2279f1e013 Remove the now redundant with-base-and-target-commits function
Uses of this have been replaced with parse-query-parameters.
2019-10-12 18:40:18 +01:00
Christopher Baines 116775ad06 Switch the compare page to use parse-query-parameters 2019-10-12 18:39:45 +01:00
Christopher Baines 30051a3740 Switch the compare/packages page to use parse-query-parameters 2019-10-12 17:30:01 +01:00
Christopher Baines dbe171bc75 Handle potentially serving assets from the store 2019-10-06 14:23:15 +01:00
Christopher Baines a104fbc5e1 Link from the revision package page to the version history page 2019-10-03 22:08:06 +01:00
Christopher Baines fb301a8495 Add a package page, showing versions for a revision 2019-10-03 21:35:29 +01:00
Christopher Baines a40a8f0f92 Rename render-revision-package to render-revision-package-version
As this name is more specific.
2019-10-03 20:15:56 +01:00
Christopher Baines 4df889fc3c Add JSON output for the branch package versions page 2019-09-27 17:53:45 +01:00
Christopher Baines 59c342ffde Add a new page to show package versions available on a branch
This is useful when looking back through history at what package versions were
previously available.
2019-09-27 17:28:46 +01:00
Christopher Baines b96bc58422 Handle the README.html file being missing 2019-09-23 16:44:16 +01:00
Christopher Baines 1181d999a9 Serve the README.html file on the site 2019-09-21 12:41:39 +01:00
Christopher Baines 6a9f11fb94 Fix the repository page
The repository id is expected to be a number.
2019-09-14 09:05:47 +01:00
Christopher Baines eb0d33a3ba Show lint warnings on the comparison page 2019-09-07 17:19:34 +02:00
Christopher Baines fe8102e1df Use numeric ids for git repositories 2019-09-05 16:40:39 +02:00
Christopher Baines 939b8b8bb6 Fix a couple of GET's in the controller match expression
These should be symbols, not just placeholders.
2019-09-01 18:48:31 +01:00
Christopher Baines d3254dddb6 Add lint warnings to the package page 2019-09-01 18:32:09 +01:00