Commit graph

55 commits

Author SHA1 Message Date
Eelco Dolstra b081133dcc Move GC roots to /nix/var/nix/gcroots/hydra
The uid split a while back caused the web interface to create GC roots
in /nix/var/nix/gcroots/per-user/hydra-www, where they wouldn't be
purged by hydra-update-gc-roots. Thus restarted builds would
accumulate forever. The fix is to keep the roots in a shared directory
with gid=hydra.
2015-12-14 13:31:24 +01:00
Eelco Dolstra d22e7ac03d hydra-compress-logs: Use bzip2 -f flag 2015-10-27 16:10:02 +01:00
Eelco Dolstra b8ff29f0db Periodically compress logs 2015-10-07 13:12:24 +02:00
Eelco Dolstra 68796b2762 Fix email notification 2015-08-26 17:25:00 +02:00
Eelco Dolstra 6ddcd37df1 hydra-queue-runner.service: Set IN_SYSTEMD 2015-07-21 01:54:24 +02:00
Eelco Dolstra f5548dc225 Fix Persona logins 2015-07-08 16:57:33 +02:00
Eelco Dolstra 535e936732 Hackery 2015-07-02 02:55:15 +02:00
Eelco Dolstra 377d9d37f3 Fix paths 2015-07-02 02:54:59 +02:00
Eelco Dolstra 8ea05cc7f2 Don't require postgresql.service 2015-07-02 02:54:30 +02:00
Eelco Dolstra dffb629b8a Unify Hydra's NixOS module with the one used for hydra.nixos.org
In particular, the queue runner and web server now run under different
UIDs.
2015-07-02 01:01:44 +02:00
Eelco Dolstra 1e87b15f91 Remove Nix options not needed by the new queue runner 2015-07-01 11:40:00 +02:00
Eelco Dolstra 60e8b9881b The new queue runner requires "hydra" to be a trusted Nix user
(Because it does unsigned imports into the store.)
2015-07-01 10:47:43 +02:00
Eelco Dolstra 171303864e Fix type 2015-06-29 09:29:04 +00:00
Eelco Dolstra 401f5bdce2 Add a unit for hydra-send-stats 2015-06-26 15:24:12 +02:00
Eelco Dolstra 17924ce012 Note in the log when the queue runner / evaluator gets killed 2015-06-26 11:56:11 +02:00
Eelco Dolstra aabe514d07 Update the hydra-queue-runner unit 2015-06-26 11:29:30 +02:00
Eelco Dolstra 73a78c2073 Give services.hydra.package a reasonable default 2015-06-26 11:29:19 +02:00
Eelco Dolstra cb1395ee47 hydra-server.service: Shut up warning about the terminal size being unknown 2014-11-12 13:50:25 +01:00
Eelco Dolstra 3b93c4721c hydra-module.nix: Remove log compression which is a local policy 2014-11-12 13:47:55 +01:00
Shea Levy 91f895b3d6 hydra-module.nix: Take lib from the module system, not from pkgs 2014-05-14 15:06:57 -04:00
Austin Seipp 76a7cdc897 hydra-module: add config.extraEnv
This makes it easy to set environment variables for the Hydra server
(for example, your configuration.nix can use readFile to read an API
token to upload build results somewhere).

Signed-off-by: Austin Seipp <aseipp@pobox.com>
2014-04-30 11:54:47 -05:00
aszlig 72d3504fbd
hydra-module: Use PermissionsStartOnly in init.
Oops, forgot to add this in f75509099a.

This is necessary because we actually want to run the preStart script as
root (because it chmod/chowns stuff and also needs to create the
database using PostgreSQL's superuser) and the actual creation of the
database as user hydra.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-04-11 00:11:34 +02:00
aszlig f75509099a
hydra-module: Don't rely on su being available.
The su binary is now in a separate output of the shadow package and
isn't included in the main output path anymore.

But instead of changing the call to use pkgs.su, we're now entirely
dropping the dependency because systemd is already able to execute
processes under a specific user by itself.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2014-04-10 20:09:29 +02:00
Eelco Dolstra 8b67ad8787 hydra-module.nix: Export the HYDRA_* environment variables
This is useful if you want to run hydra-* commands manually.
2013-11-06 17:32:50 +01:00
Eelco Dolstra ed9d57d0a4 hydra-module.nix: More paranoid permissions on the data directory 2013-11-06 17:29:34 +01:00
Eelco Dolstra 2614fe21fb hydra-module.nix: Use startAt 2013-11-06 17:29:22 +01:00
Eelco Dolstra d710c1e443 hydra-module.nix: Fix setting the logo 2013-11-06 17:27:36 +01:00
Eelco Dolstra 243b05f1e7 hydra-module.nix: Use -p instead of HYDRA_PORT 2013-11-06 17:19:57 +01:00
Eelco Dolstra f4845cde00 hydra-module.nix: Make services require hydra-init 2013-11-06 17:09:24 +01:00
Eelco Dolstra 1f6304c876 hydra-module.nix: Don't use a password
If PostgreSQL is running on the same system, then the "hydra" user can
can connect without a password (via Unix domain socket
authentication), so no need to set up a password.  If PostgreSQL is on
another machine, then creating a user/database won't work anyway.
2013-11-06 17:07:25 +01:00
Eelco Dolstra ed69106c34 hydra-module.nix: Give types to options
Also, rename the "service.hydra.hydra" option to
"service.hydra.package" to be consistent with NixOS option naming
conventions.
2013-11-06 16:34:16 +01:00
Eelco Dolstra 6fc59aa0da hydra-module.nix: Remove the useWAL option
This is not a Hydra option but a Nix option so it shouldn't be here.
2013-11-06 16:17:11 +01:00
Eelco Dolstra 9dc3311ff7 hydra-module.nix: Don't create an admin user
It's the user's job to create users with the appropriate roles.
2013-11-06 16:15:53 +01:00
aszlig 484bcd10e2 hydra-module/compressLogs: Avoid creating /root/r.
We really don't need to touch a file in the current working directory
to find files that are older than one month. Since findutils 4.3.3 there
is a -newerXY option which allows to specify timestamps directly (as
with `date --date`).

But even when using a reference file, it really causes confusion if
people look into /root and try to debug where that misterious "r" file
is coming from.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2013-11-04 10:31:08 +01:00
aszlig da5824e11c hydra-module: Allow to specify the listen host.
It's currently possible to specify the port but not the address or
interface you want to listen on.

Signed-off-by: aszlig <aszlig@redmoonstudios.org>
2013-09-25 14:48:13 +02:00
Shea Levy c476d13586 hydra-module.nix: Make it possible to add extra config lines
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-09-22 19:20:09 -04:00
Shea Levy 5efe8365ef Whoops
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-28 12:16:46 -04:00
Shea Levy 0c0cf4113e Add an option to run the hydra server in debug mode
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-28 11:11:09 -04:00
Shea Levy 10cad61231 Don't put ssmtp in hydra's paths
Some installations may want to use system-wide sendmail (i.e.
/run/setuid-wrappers/sendmail) and those that want ssmtp can add it to
hydra's path themselves.

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-28 11:06:02 -04:00
Shea Levy 0bb568912b hydra-module.nix: Automatically create postgres db user for hydra and an admin hydra account
The initial password for the admin account can be found in /var/lib/hydra/.pgpass.

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-07-28 11:05:03 -04:00
Peter Simons b0d6993a6c hydra-module.nix: update hydra-check-space for systemd
The "stop" alias is not available to this script when run from cron.
2013-04-11 10:48:07 +02:00
Shea Levy fb36de0f48 hydra-module: Set GIT_SSL_CAINFO for git over https
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-03-22 13:22:33 -04:00
Shea Levy 7cb2c13c88 hydra-module: Run hydra-init during hydra-init.service
Signed-off-by: Shea Levy <shea@shealevy.com>
2013-03-22 13:22:00 -04:00
Shea Levy e4a8818bae hydra-module.nix: Cleanup
Remove some unnecessary configurability, remove all hydra.nixos.org
assumptions, remove some policy (e.g. nix.gc.automatic) that are
orthogonal to hydra.

Signed-off-by: Shea Levy <shea@shealevy.com>
2013-03-22 12:16:05 -04:00
Sander van der Burg d8e2dfc0ed Ported/merged properties from the TUD configuration's hydra-module 2013-03-22 13:58:08 +01:00
Eelco Dolstra 67aefde62c Remove trailing whitespace 2013-01-22 14:41:02 +01:00
Ludovic Courtès 94ba1ed71f hydra-module: Always GC to have at least 100 GiB available. 2012-06-14 10:57:55 +02:00
Ludovic Courtès 6411d991c7 hydra-module: Fix typo in the job name in `checkSpace'. 2012-06-14 10:17:33 +02:00
Ludovic Courtès 98255e84e6 hydra-module.nix: Remove `.pl' extension for binaries. 2011-12-02 15:47:31 +01:00
Rob Vermaas f6968d7d5b _ -> - 2011-11-30 12:26:35 -05:00