Commit graph

71 commits

Author SHA1 Message Date
Eelco Dolstra ee2e9f5335 Update to reflect BinaryCacheStore changes
BinaryCacheStore no longer implements buildPaths() and ensurePath(),
so we need to use copyPath() / copyClosure().
2016-10-07 20:23:05 +02:00
Eric Sagnes dedcb76bed module: add default to buildMachinesFiles (#372) 2016-08-20 19:50:12 +02:00
Domen Kožar 23bf99b8e2 Use pixz instead of bzip2 for compressing nars
According to following two benchmarks:

- https://www.rootusers.com/gzip-vs-bzip2-vs-xz-performance-comparison/
- http://catchchallenger.first-world.info/wiki/Quick_Benchmark:_Gzip_vs_Bzip2_vs_LZMA_vs_XZ_vs_LZ4_vs_LZO

xz has better compression ratio than bzip2 at lowest compression rate.

https://github.com/vasi/pixz has been chosen as it can scale compressing
over multiple cores linearly.

We're using this in snabblab for a month now and it has improved CPU
wise the main Hydra server.
2016-08-12 11:39:07 +02:00
Domen Kožar 6bcbabb4df Merge pull request #307 from groxxda/fix/trivial
Trivial fixes (readme, comment, missing dependency in release.nix)
2016-05-31 09:59:07 +01:00
Nikolay Amiantov 6f10cd297b hydra-module: fix useSubstitutes configuration option 2016-05-26 14:16:47 +03:00
Alexander Ried 51d21b9b91 hydra-module.nix: fix warning about deprecated types.list 2016-05-09 19:09:33 +02:00
Peter Simons 3ca0e50e01 hydra-module.nix: add 'useSubstitutes' option to control use of binary caches
Gives users who want to use binary caches a way to do so without messing
with module internals. Fixes https://github.com/NixOS/hydra/issues/297.
2016-05-06 10:30:54 +02:00
Alexander Ried 5777f246a5 hydra-module: fix debug attribute 2016-04-29 04:21:05 +02:00
Eelco Dolstra 7dad867498 Add smtpHost option 2016-04-13 16:46:24 +02:00
Eelco Dolstra fd20c726e1 Remove ssmtp from $PATH again
See 10cad61231.
2016-04-13 16:33:38 +02:00
Sander van der Burg cbd2e3a50d Fix problem with delegating builds to localhost due to nix-store not being in the PATH 2016-04-06 14:16:04 +00:00
Eelco Dolstra 74dfcc84e9 Make NIX_REMOTE_SYSTEMS configurable 2016-03-25 15:41:38 +01:00
Eelco Dolstra 32fa392146 Fix hydra-queue-runner PATH 2016-03-23 12:35:55 +01:00
Eelco Dolstra f09b92e289 Remove another obsolete SSL variable 2016-03-02 15:03:54 +01:00
Eelco Dolstra ad035b5227 hydra-queue-runner: Enable core dumps 2016-02-28 14:09:04 +01:00
Eelco Dolstra 1693354506 Remove unnecessary call to hydra-queue-runner --unlock 2016-02-26 21:45:59 +01:00
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