Eelco Dolstra
8adb433e3b
Remove the Jobs table
...
This table has been superfluous for a long time.
2020-05-27 20:09:36 +02:00
Graham Christensen
937e165328
export a /prometheus endpoint
...
Currently only shows per-machine build times
2019-09-24 16:50:52 -04:00
Antoine Eiche
d1e590af1f
hydra-server: add limit
parameter to the search
path
...
This allows a client to set a limit to the search results it wants to
get:
http://hydra.nixos.org/search?query=emacs&limit=1
This returns only 1 results (while the default is 500).
2019-06-19 14:30:32 +02:00
Antoine Eiche
cb1fce21ba
hydra-server: set a limit on builds and buildoutputs search
...
This patch adds a limit statement for Postgresql queries on `builds`
and `buildsoutputs` tables.
2019-06-19 14:28:55 +02:00
Antoine Eiche
778fc03570
Allow to search builds by hash
...
Currently, a full store path has to be provided to search in
builds. This patch permits to search jobs with a output path or
derivation hash.
Usecase: we are building Docker images with Hydra. The tag of the
Docker image is the hash of the image output path. This patch would
allow us to find back the build job from the tag of a running
container image.
2019-06-05 11:56:42 +02:00
Graham Christensen
215ca5da9c
Merge pull request #607 from nlewo/json-search
...
Add JSON search API endpoint
2019-03-18 15:08:32 -05:00
Graham Christensen
88a92256e1
Merge pull request #636 from Ma27/serve-json-for-evals-and-machines
...
Serialize data as JSON with `Accept: application/json`
2019-03-17 17:17:17 -04:00
Maximilian Bosch
1cbbc6c52c
Serialize data as JSON with Accept: application/json
...
Similar to #607 . According to the Catalyst[1] docs it's possible to
specify a data structure that is supposed to be serialized when
requesting i.e. a JSON response.
[1] https://metacpan.org/pod/Catalyst::Controller::REST#status_ok
2019-02-14 01:22:48 +01:00
Samuel Dionne-Riel
9986053e73
Controllers: allows lazy tabs to return custom errors.
2018-12-01 13:40:41 -05:00
Antoine Eiche
0d2a2d8923
Add json output for the search API endpoint
...
This commit also add a test of this feature.
Note the search JSON output doesn't contain any jobs because they can
not be exported to JSON yet.
The JSON output on a search query matching a build looks like:
```
{
"builds": [
{
"buildoutputs": {
"out": {
"path": "/nix/store/wdag3pznrvqk01byk989irg7rq3q2a2c-job"
}
},
"finished": 0,
"releasename": null,
"starttime": null,
"project": "sample",
"buildproducts": {},
"timestamp": 1541007629,
"buildstatus": null,
"nixname": "job",
"drvpath": "/nix/store/n9zqndn7j7nyr6gg3bmxvw26cfmdwv2n-job.drv",
"job": "job",
"id": 1,
"stoptime": null,
"priority": 100,
"system": "x86_64-linux",
"jobsetevals": [
1
],
"jobset": "default",
"buildmetrics": {}
}
],
"projects": [],
"jobsets": [],
"buildsdrv": []
}
```
2018-11-01 09:31:15 +01:00
Rob Vermaas
879333fd3c
Make /api/push-github public for private Hydra instances. This makes it possible to use webhooks to trigger evaluations for private Hydra instances.
2018-06-14 17:23:01 +02:00
Eelco Dolstra
7ccec0900b
Fix links to steps in the machines page
2017-12-07 16:20:23 +01:00
Eelco Dolstra
e9670641ec
Distinguish build step states
...
The web interface now shows whether a build step is connecting,
copying inputs/outputs, building, etc.
2017-12-07 15:35:31 +01:00
Eelco Dolstra
bc60fccf78
Remove remaining references to store_mode etc.
2017-10-18 12:23:07 +02:00
Rob Vermaas
b645b03536
Fix string comparison
2017-09-25 11:54:55 +00:00
Rob Vermaas
2318baaade
Add 'readonly_ips' option, to allow readonly access for certain IPs when 'private' option is enabled.
2017-09-22 11:36:49 +00:00
Eelco Dolstra
fec895a642
hydra-server: Support logs in S3
2017-04-05 17:55:56 +02:00
Eelco Dolstra
d0ad3fd806
Revert "Remove the global channel"
...
This reverts commit 2f6c2f5622e18b39828528eea1470d78eaec2dc1.
This unintentionally also removed /all, which is actually somewhat
useful.
2016-12-06 14:25:09 +01:00
Eelco Dolstra
2f6c2f5622
Remove the global channel
...
It's useless and it makes it very easy to kill the server by fetching
/channel/latest/closure.
2016-11-17 18:17:02 +01:00
Eelco Dolstra
98e7e37832
hydra-server: Fix and simplify robots.txt
2016-11-17 18:13:57 +01:00
Eelco Dolstra
07decd6915
Also hide disabled projects on the overview page by default
2016-11-01 13:15:55 +01:00
Eelco Dolstra
ef711ce845
Handle Referer not having a trailing slash
...
Fixes #415 .
2016-11-01 11:00:59 +01:00
Eelco Dolstra
f7ff7f741b
Fix a couple of encoding issues
2016-10-24 16:49:11 +02:00
Eelco Dolstra
5d8fbc6ca1
Fix referer check
2016-10-21 17:56:34 +02:00
Eelco Dolstra
c928c41ee1
Add XSRF protection for POST requests
...
Some Hydra API requests were vulnerable to XSRF attacks, e.g. you
could have a form on another website using http://hydra/logout as the
form action. So we now require POST requests to come from the same
origin.
Reported by Hans-Christian Esperer.
2016-10-20 16:11:33 +02:00
Eelco Dolstra
bbe45ed844
Remove Persona support
...
Persona is no longer supported by Mozilla, so let's remove it.
2016-10-20 14:14:04 +02:00
Eelco Dolstra
ed88bbaac0
Set Vary to Accept
...
Otherwise, the browser may mix up HTML and JSON responses if it has
requested both. For example, hitting the back button to return to a
job metric page will show a JSON response, because that was the last
thing the browser fetched for that URL.
This requires Catalyst::Action::Rest >= 1.20.
2016-03-25 14:48:12 +01:00
Eelco Dolstra
6fc4dc4e27
/queue-summary: Show number of queued builds by system type
2016-03-22 17:03:26 +01:00
Eelco Dolstra
d5cffd4bc7
Make "Running builds" and "Machine status" pages faster
2016-03-16 15:19:18 +01:00
Eelco Dolstra
520c8a5826
Use faster query to determine number of running builds
...
The previous query
select count(*) from builds b left join buildsteps s on s.build = b.id where busy = 1 and finished = 0
is suddenly taking several minutes. Probably PostgreSQL decided to use
a suboptimal query plan.
2016-03-16 13:41:43 +01:00
Eelco Dolstra
49a4639377
Add a more concise queue page
...
The old page didn't scale very well if you have 150K builds in the
queue, in fact it tended to make browsers hang. The new one just
shows, for each jobset, the number of queued builds. The actual builds
can be seen by going to the corresponding jobset page and looking at
the evals.
2016-03-08 19:44:51 +01:00
Eelco Dolstra
e7655fdcbc
Fix latest-finished
2016-03-02 18:06:20 +01:00
Eelco Dolstra
a74251af2b
Disable channels on binary cached based Hydra instances
2016-03-02 15:08:53 +01:00
Eelco Dolstra
9de336de7c
Proxy local binary caches via hydra-server
2016-02-26 17:27:30 +01:00
Eelco Dolstra
00a7be13a2
Make queue runner internal status available under /queue-runner-status
2016-02-18 17:11:46 +01:00
Eelco Dolstra
5a580b1bb2
Add support for logging in via a Google account
...
The required configuration in hydra.conf:
enable_google_login = 1
google_client_id = 238429sdjkds....apps.googleusercontent.com
and optionally persona_allowed_domains to restrict to one or more
domains.
2016-01-13 17:32:52 +01:00
Eelco Dolstra
4d1816b152
Remove obsolete Builds columns and provide accurate "Running builds"
...
This removes the "busy", "locker" and "logfile" columns, which are no
longer used by the queue runner. The "Running builds" page now only
shows builds that have an active build step.
2015-10-27 15:37:17 +01:00
Eelco Dolstra
c1dd3fe4be
Machine status page: Show disabled machines and some machine stats
2015-09-09 16:51:43 +02:00
Eelco Dolstra
88d7eb5247
Remove double entry for localhost on machines status page
2015-08-26 13:01:45 +02:00
Eelco Dolstra
eb13007fe6
Allow build to be bumped to the front of the queue via the web interface
...
Builds now have a "Bump up" action. This will cause the queue runner
to prioritise the steps of the build above all other steps.
2015-08-10 16:19:47 +02:00
Eelco Dolstra
5919e911db
Don't show how long a machine has been idle
...
Without an index on (machine, stoptime desc), this requires a
sequential scan. And adding a whole index for this seems
overkill. (Possibly the queue runner could maintain this info more
efficiently.)
2015-07-10 15:41:57 +02:00
Eelco Dolstra
b09f7e0989
Add page showing latest build steps
2015-07-10 15:41:57 +02:00
Eelco Dolstra
0da08df4eb
Stream logs if possible and remove size limit
2015-07-08 19:05:17 +02:00
Eelco Dolstra
3c665dac82
Remove superfluous HYDRA_LOGO environment variable
2015-07-01 11:34:19 +02:00
Eelco Dolstra
62805dd73c
Queue: Remove the scheduling priority
...
Scheduling is mostly based on jobset shares these days. So showing and
sorting by priority just wastes space and gives the incorrect
impression that Hydra executes builds in the order shown on the queue
page.
2015-02-26 13:16:25 +01:00
Eelco Dolstra
ea815d55b8
More robot exclusions
2015-01-13 13:50:13 +01:00
Eelco Dolstra
80116b648e
Exclude robots from all of /build
2015-01-13 13:45:39 +01:00
Eelco Dolstra
41bc918382
Fix robots.txt
2014-11-18 14:55:52 +01:00
Eelco Dolstra
c503876a7e
Don't cache nix-cache-info very long
2014-11-06 15:30:24 +01:00
Eelco Dolstra
c250407f3c
Set Expires headers for Hydra's binary cache
...
This allows caching by reverse proxies.
2014-11-06 14:31:48 +01:00