Move channel generation to nixos.org
Eelco Dolstra committed
Mar 3, 2016 at 18:49 UTC
ebcef0798086aa70aef9b1fcb3fe36b35dcc1ea3
4 files changed
+79
-144
delft/hydra-mirror.nix
deleted
-132
@@ -1,132 +0,0 @@
1
-{ config, pkgs, ... }:
2
-
3
-
4
-{
5
- environment.systemPackages =
6
- [ pkgs.wget
7
- pkgs.perlPackages.DBDSQLite
8
- pkgs.perlPackages.NetAmazonS3
9
- pkgs.perlPackages.ForksSuper
10
- pkgs.nodePackages.jsontool
11
- ];
12
-
13
- users.extraUsers.hydra-mirror =
14
- { description = "Hydra Mirrorer";
15
- home = "/home/hydra-mirror";
16
- isNormalUser = true;
17
- openssh.authorizedKeys.keys = with import ../ssh-keys.nix; [ eelco rob ];
18
- };
19
-
20
- systemd.services.mirror-nixpkgs =
21
- { description = "Mirror Nixpkgs";
22
- wantedBy = [ "multi-user.target" ];
23
- after = [ "networking.target" ];
24
- path = [ pkgs.su ];
25
- script =
26
- ''
27
- rm -rf /data/releases/nixpkgs/.tmp-*
28
- exec su - hydra-mirror -c 'cd nixos-channel-scripts; while true; do ./mirror-nixpkgs.sh; sleep 1200; done'
29
- '';
30
- serviceConfig.Restart = "always";
31
- serviceConfig.CPUShares = 100;
32
- };
33
-
34
- /*
35
- systemd.services.generate-nixpkgs-patches =
36
- { description = "Generate Nixpkgs Patches";
37
- wantedBy = [ "multi-user.target" ];
38
- path = [ pkgs.su ];
39
- script =
40
- ''
41
- exec su - hydra-mirror -c 'cd nixos-channel-scripts; while true; do ./generate-linear-patch-sequence.sh; sleep 300; done'
42
- '';
43
- serviceConfig.Restart = "always";
44
- serviceConfig.CPUShares = 100;
45
- };
46
- */
47
-
48
- systemd.services.mirror-nixos-unstable =
49
- { description = "Mirror NixOS Unstable";
50
- wantedBy = [ "multi-user.target" ];
51
- after = [ "networking.target" ];
52
- path = [ pkgs.su ];
53
- script =
54
- ''
55
- rm -rf /data/releases/nixos/unstable/.tmp-*
56
- exec su - hydra-mirror -c 'cd nixos-channel-scripts; while true; do ./mirror-nixos-branch.sh unstable trunk-combined; sleep 1200; done'
57
- '';
58
- serviceConfig.Restart = "always";
59
- serviceConfig.CPUShares = 100;
60
- };
61
-
62
- systemd.services.mirror-nixos-unstable-small =
63
- { description = "Mirror NixOS Unstable-small";
64
- wantedBy = [ "multi-user.target" ];
65
- after = [ "networking.target" ];
66
- path = [ pkgs.su ];
67
- script =
68
- ''
69
- rm -rf /data/releases/nixos/unstable-small/.tmp-*
70
- exec su - hydra-mirror -c 'cd nixos-channel-scripts; while true; do ./mirror-nixos-branch.sh unstable-small unstable-small; sleep 1200; done'
71
- '';
72
- serviceConfig.Restart = "always";
73
- serviceConfig.CPUShares = 100;
74
- };
75
-
76
- systemd.services.mirror-nixos-14-12 =
77
- { description = "Mirror NixOS 14.12";
78
- wantedBy = [ "multi-user.target" ];
79
- after = [ "networking.target" ];
80
- path = [ pkgs.su ];
81
- script =
82
- ''
83
- rm -rf /data/releases/nixos/14.12/.tmp-*
84
- exec su - hydra-mirror -c 'cd nixos-channel-scripts; while true; do ./mirror-nixos-branch.sh 14.12; sleep 1200; done'
85
- '';
86
- serviceConfig.Restart = "always";
87
- serviceConfig.CPUShares = 100;
88
- };
89
-
90
- systemd.services.mirror-nixos-14-12-small =
91
- { description = "Mirror NixOS 14.12-small";
92
- wantedBy = [ "multi-user.target" ];
93
- after = [ "networking.target" ];
94
- path = [ pkgs.su ];
95
- script =
96
- ''
97
- rm -rf /data/releases/nixos/14.12-small/.tmp-*
98
- exec su - hydra-mirror -c 'cd nixos-channel-scripts; while true; do ./mirror-nixos-branch.sh 14.12-small release-14.12-small; sleep 900; done'
99
- '';
100
- serviceConfig.Restart = "always";
101
- serviceConfig.CPUShares = 100;
102
- };
103
-
104
- systemd.services.mirror-nixos-15-09 =
105
- { description = "Mirror NixOS 15.09";
106
- wantedBy = [ "multi-user.target" ];
107
- after = [ "networking.target" ];
108
- path = [ pkgs.su ];
109
- script =
110
- ''
111
- rm -rf /data/releases/nixos/15.09/.tmp-*
112
- exec su - hydra-mirror -c 'cd nixos-channel-scripts; while true; do ./mirror-nixos-stable.sh 15.09; sleep 1200; done'
113
- '';
114
- serviceConfig.Restart = "always";
115
- serviceConfig.CPUShares = 100;
116
- };
117
-
118
- systemd.services.mirror-nixos-15-09-small =
119
- { description = "Mirror NixOS 15.09-small";
120
- wantedBy = [ "multi-user.target" ];
121
- after = [ "networking.target" ];
122
- path = [ pkgs.su ];
123
- script =
124
- ''
125
- rm -rf /data/releases/nixos/15.09-small/.tmp-*
126
- exec su - hydra-mirror -c 'cd nixos-channel-scripts; while true; do ./mirror-nixos-branch.sh 15.09-small release-15.09-small; sleep 900; done'
127
- '';
128
- serviceConfig.Restart = "always";
129
- serviceConfig.CPUShares = 100;
130
- };
131
-
132
-}
nixos-org/hydra-mirror.nix
new
+76
@@ -0,0 +1,76 @@
1
+{ config, lib, pkgs, ... }:
2
+
3
+with lib;
4
+
5
+let
6
+
7
+ makeUpdateChannel = channelName: jobset:
8
+ { timers."update-nixos-${channelName}" =
9
+ { wantedBy = [ "timers.target" ];
10
+ timerConfig.OnUnitInactiveSec = 600;
11
+ timerConfig.OnBootSec = 900;
12
+ timerConfig.AccuracySec = 300;
13
+ };
14
+
15
+ services."update-nixos-${channelName}" =
16
+ { description = "Update Channel nixos-${channelName}";
17
+ after = [ "networking.target" ];
18
+ script =
19
+ ''
20
+ source /etc/profile
21
+ rm -rf /data/releases/nixos/${channelName}/*-tmp || true
22
+ cd /home/hydra-mirror/nixos-channel-scripts
23
+ exec ./mirror-nixos-branch.pl ${channelName} ${jobset}
24
+ ''; # */
25
+ serviceConfig.User = "hydra-mirror";
26
+ };
27
+ };
28
+
29
+in
30
+
31
+{
32
+ environment.systemPackages =
33
+ [ pkgs.wget
34
+ pkgs.perlPackages.FileSlurp
35
+ pkgs.perlPackages.LWP
36
+ pkgs.perlPackages.LWPProtocolHttps
37
+ pkgs.perlPackages.ListMoreUtils
38
+ ];
39
+
40
+ users.extraUsers.hydra-mirror =
41
+ { description = "Channel mirroring user";
42
+ home = "/home/hydra-mirror";
43
+ isNormalUser = true;
44
+ openssh.authorizedKeys.keys = with import ../ssh-keys.nix; [ eelco rob ];
45
+ uid = 497;
46
+ };
47
+
48
+ /*
49
+ systemd.services.mirror-nixpkgs =
50
+ { description = "Mirror Nixpkgs";
51
+ wantedBy = [ "multi-user.target" ];
52
+ after = [ "networking.target" ];
53
+ path = [ pkgs.su ];
54
+ script =
55
+ ''
56
+ rm -rf /data/releases/nixpkgs/.tmp-*
57
+ exec su - hydra-mirror -c 'cd nixos-channel-scripts; while true; do ./mirror-nixpkgs.sh; sleep 1200; done'
58
+ '';
59
+ serviceConfig.Restart = "always";
60
+ serviceConfig.CPUShares = 100;
61
+ };
62
+ */
63
+
64
+ systemd =
65
+ fold recursiveUpdate {}
66
+ [ (makeUpdateChannel "16.03" "release-16.03")
67
+ (makeUpdateChannel "16.03-small" "release-16.03-small")
68
+ (makeUpdateChannel "15.09" "release-15.09")
69
+ (makeUpdateChannel "15.09-small" "release-15.09-small")
70
+ (makeUpdateChannel "14.12" "release-14.12")
71
+ (makeUpdateChannel "14.12-small" "release-14.12-small")
72
+ (makeUpdateChannel "unstable" "trunk-combined")
73
+ (makeUpdateChannel "unstable-small" "unstable-small")
74
+ ];
75
+
76
+}
nixos-org/network.nix
+1
-1
@@ -85,6 +85,6 @@ in
85
86
system.stateVersion = "14.12";
87
88
- imports = [ ./webserver.nix ];
88
+ imports = [ ./webserver.nix ./hydra-mirror.nix ];
89
};
90
}
nixos-org/webserver.nix
+2
-11
@@ -85,6 +85,8 @@ in
85
86
environment.systemPackages = [ pkgs.perlPackages.XMLSimple pkgs.git pkgs.openssl ];
87
88
+ nix.package = builtins.storePath /nix/store/mynhlpqzslmdx9svyp0ig61hvplxv039-nix-1.12pre1234_abcdef;
89
+
90
nix.nixPath = [ "nixpkgs=https://nixos.org/channels/nixos-15.09-small/nixexprs.tar.xz" ];
91
92
security.pam.enableSSHAgentAuth = true;
@@ -276,17 +278,6 @@ in
278
openssh.authorizedKeys.keys = [ sshKeys.eelco ];
279
};
280
279
- users.extraUsers.hydra-mirror =
280
- { description = "Channel mirroring user";
281
- home = "/home/hydra-mirror";
282
- createHome = true;
283
- useDefaultShell = true;
284
- openssh.authorizedKeys.keys =
285
- [ "ssh-dss AAAAB3NzaC1kc3MAAACBAOIPMVtw25pZ6P3paDOhIJTt+31aqwx3IvV06hTJFM+uy74DQhNZyUf6KDkc5j8JNp/xEHVpA2IVSO2q7Tpn3et8YjkCrz0D5x5Te71haRnJMSQlqUq1E/4oHEnRGxzguPuSWB3wL/zEfw2UFMCxl21JsIwJsULYguERgkx7YG7/AAAAFQDhtQ2xU78YwA1DMx9/wjvAHmYL5wAAAIEAm8uFFbn466OTJIUVh3FAFUgj/rwyasa7EYArgdYXH1LUVpQjuC+UZQrA3imlBh9/7zuuQm5+vaJAxyu5Cf9mq42n80xPzJRgMfw5RYURK/CXAmHLOs4jMk6O/XjhPhv9qoci8S81FVN6wbDkoJhXtjcefetQ0eM4Brhw4Jyai7AAAACAOza+xJqdT0znNi8pLh5xnVmbCoxF0YgeLcqCz5iDWHJv64+8MbBfLAwvYaDrJ9A9v3/JdBfa3NXdr581NtXQEvpzvAeoMcT5j5ASu2Vj8xZp2TEKvAjcOsuWq6nF84H6V27dXuBnwqkD6XSusMeTy8YsBJfJdmGOgXSwoRkmsV8= hydra-mirror@lucifer"
286
- sshKeys.eelco
287
- ];
288
- };
289
-
281
/*
282
systemd.services.mirror-tarballs =
283
{ description = "Mirror Nixpkgs Tarballs";