Move the channel services into a separate module
Eelco Dolstra committed
Feb 23, 2015 at 12:41 UTC
c8d912ac80683a0e713eac25f2427a350179547e
2 files changed
+133
-118
delft/hydra-mirror.nix
new
+124
@@ -0,0 +1,124 @@
1
+{ config, pkgs, ... }:
2
+
3
+
4
+{
5
+ users.extraUsers.hydra-mirror =
6
+ { description = "Hydra Mirrorer";
7
+ home = "/home/hydra-mirror";
8
+ isNormalUser = true;
9
+ openssh.authorizedKeys.keys = with import ../ssh-keys.nix; [ eelco rob ];
10
+ };
11
+
12
+ systemd.services.mirror-nixpkgs =
13
+ { description = "Mirror Nixpkgs";
14
+ wantedBy = [ "multi-user.target" ];
15
+ after = [ "networking.target" ];
16
+ path = [ pkgs.su ];
17
+ script =
18
+ ''
19
+ rm -rf /data/releases/nixpkgs/.tmp-*
20
+ exec su - hydra-mirror -c 'cd nixos-channel-scripts; while true; do ./mirror-nixpkgs.sh; sleep 1200; done'
21
+ '';
22
+ serviceConfig.Restart = "always";
23
+ serviceConfig.CPUShares = 100;
24
+ };
25
+
26
+ /*
27
+ systemd.services.generate-nixpkgs-patches =
28
+ { description = "Generate Nixpkgs Patches";
29
+ wantedBy = [ "multi-user.target" ];
30
+ path = [ pkgs.su ];
31
+ script =
32
+ ''
33
+ exec su - hydra-mirror -c 'cd nixos-channel-scripts; while true; do ./generate-linear-patch-sequence.sh; sleep 300; done'
34
+ '';
35
+ serviceConfig.Restart = "always";
36
+ serviceConfig.CPUShares = 100;
37
+ };
38
+ */
39
+
40
+ systemd.services.mirror-nixos-unstable =
41
+ { description = "Mirror NixOS Unstable";
42
+ wantedBy = [ "multi-user.target" ];
43
+ after = [ "networking.target" ];
44
+ path = [ pkgs.su ];
45
+ script =
46
+ ''
47
+ rm -rf /data/releases/nixos/unstable/.tmp-*
48
+ exec su - hydra-mirror -c 'cd nixos-channel-scripts; while true; do ./mirror-nixos-branch.sh unstable trunk-combined; sleep 1200; done'
49
+ '';
50
+ serviceConfig.Restart = "always";
51
+ serviceConfig.CPUShares = 100;
52
+ };
53
+
54
+ systemd.services.mirror-nixos-unstable-small =
55
+ { description = "Mirror NixOS Unstable-small";
56
+ wantedBy = [ "multi-user.target" ];
57
+ after = [ "networking.target" ];
58
+ path = [ pkgs.su ];
59
+ script =
60
+ ''
61
+ rm -rf /data/releases/nixos/unstable-small/.tmp-*
62
+ exec su - hydra-mirror -c 'cd nixos-channel-scripts; while true; do ./mirror-nixos-branch.sh unstable-small unstable-small; sleep 1200; done'
63
+ '';
64
+ serviceConfig.Restart = "always";
65
+ serviceConfig.CPUShares = 100;
66
+ };
67
+
68
+ systemd.services.mirror-nixos-14-04 =
69
+ { description = "Mirror NixOS 14.04";
70
+ wantedBy = [ "multi-user.target" ];
71
+ after = [ "networking.target" ];
72
+ path = [ pkgs.su ];
73
+ script =
74
+ ''
75
+ rm -rf /data/releases/nixos/14.04/.tmp-*
76
+ exec su - hydra-mirror -c 'cd nixos-channel-scripts; while true; do ./mirror-nixos-branch.sh 14.04 release-14.04; sleep 1200; done'
77
+ '';
78
+ serviceConfig.Restart = "always";
79
+ serviceConfig.CPUShares = 100;
80
+ };
81
+
82
+ systemd.services.mirror-nixos-14-04-small =
83
+ { description = "Mirror NixOS 14.04-small";
84
+ wantedBy = [ "multi-user.target" ];
85
+ after = [ "networking.target" ];
86
+ path = [ pkgs.su ];
87
+ script =
88
+ ''
89
+ rm -rf /data/releases/nixos/14.04-small/.tmp-*
90
+ exec su - hydra-mirror -c 'cd nixos-channel-scripts; while true; do ./mirror-nixos-branch.sh 14.04-small release-14.04-small; sleep 900; done'
91
+ '';
92
+ serviceConfig.Restart = "always";
93
+ serviceConfig.CPUShares = 100;
94
+ };
95
+
96
+ systemd.services.mirror-nixos-14-12 =
97
+ { description = "Mirror NixOS 14.12";
98
+ wantedBy = [ "multi-user.target" ];
99
+ after = [ "networking.target" ];
100
+ path = [ pkgs.su ];
101
+ script =
102
+ ''
103
+ rm -rf /data/releases/nixos/14.12/.tmp-*
104
+ exec su - hydra-mirror -c 'cd nixos-channel-scripts; while true; do ./mirror-nixos-stable.sh 14.12; sleep 1200; done'
105
+ '';
106
+ serviceConfig.Restart = "always";
107
+ serviceConfig.CPUShares = 100;
108
+ };
109
+
110
+ systemd.services.mirror-nixos-14-12-small =
111
+ { description = "Mirror NixOS 14.12-small";
112
+ wantedBy = [ "multi-user.target" ];
113
+ after = [ "networking.target" ];
114
+ path = [ pkgs.su ];
115
+ script =
116
+ ''
117
+ rm -rf /data/releases/nixos/14.12-small/.tmp-*
118
+ 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'
119
+ '';
120
+ serviceConfig.Restart = "always";
121
+ serviceConfig.CPUShares = 100;
122
+ };
123
+
124
+}
delft/lucifer.nix
+9
-118
@@ -1,16 +1,19 @@
1
{ config, pkgs, ... }:
2
3
{
4
- require = [ ./common.nix ./hydra-module.nix ./megacli.nix ./datadog.nix ./datadog/hydra.nix ];
4
+ require =
5
+ [ ./common.nix
6
+ ./hydra-module.nix
7
+ ./hydra-mirror.nix
8
+ ./megacli.nix
9
+ ./datadog.nix
10
+ ./datadog/hydra.nix
11
+ ];
12
13
nixpkgs.system = "x86_64-linux";
14
15
environment.systemPackages =
9
- [ pkgs.wget
10
- pkgs.perlPackages.DBDSQLite pkgs.perlPackages.NetAmazonS3 pkgs.perlPackages.ForksSuper pkgs.nodePackages.jsontool # for hydra-mirror
11
- pkgs.python pkgs.pythonPackages.boto # for upload-binary-cache-s3.py
12
- pkgs.megacli config.boot.kernelPackages.sysdig
13
- ];
16
+ [ pkgs.wget pkgs.megacli config.boot.kernelPackages.sysdig ];
17
18
networking.hostName = "lucifer";
19
networking.firewall.allowedTCPPorts = [ 2049 3000 4000 ];
@@ -109,118 +112,6 @@
112
systemd.services.hydra-server.serviceConfig.CPUShares = 700;
113
systemd.services.hydra-server.serviceConfig.BlockIOWeight = 700;
114
112
- systemd.services.mirror-nixpkgs =
113
- { description = "Mirror Nixpkgs";
114
- wantedBy = [ "multi-user.target" ];
115
- after = [ "networking.target" ];
116
- path = [ pkgs.su ];
117
- script =
118
- ''
119
- rm -rf /data/releases/nixpkgs/.tmp-*
120
- exec su - hydra-mirror -c 'cd nixos-channel-scripts; while true; do ./mirror-nixpkgs.sh; sleep 1200; done'
121
- '';
122
- serviceConfig.Restart = "always";
123
- serviceConfig.CPUShares = 100;
124
- };
125
-
126
- /*
127
- systemd.services.generate-nixpkgs-patches =
128
- { description = "Generate Nixpkgs Patches";
129
- wantedBy = [ "multi-user.target" ];
130
- path = [ pkgs.su ];
131
- script =
132
- ''
133
- exec su - hydra-mirror -c 'cd nixos-channel-scripts; while true; do ./generate-linear-patch-sequence.sh; sleep 300; done'
134
- '';
135
- serviceConfig.Restart = "always";
136
- serviceConfig.CPUShares = 100;
137
- };
138
- */
139
-
140
- systemd.services.mirror-nixos-unstable =
141
- { description = "Mirror NixOS Unstable";
142
- wantedBy = [ "multi-user.target" ];
143
- after = [ "networking.target" ];
144
- path = [ pkgs.su ];
145
- script =
146
- ''
147
- rm -rf /data/releases/nixos/unstable/.tmp-*
148
- exec su - hydra-mirror -c 'cd nixos-channel-scripts; while true; do ./mirror-nixos-branch.sh unstable trunk-combined; sleep 1200; done'
149
- '';
150
- serviceConfig.Restart = "always";
151
- serviceConfig.CPUShares = 100;
152
- };
153
-
154
- systemd.services.mirror-nixos-unstable-small =
155
- { description = "Mirror NixOS Unstable-small";
156
- wantedBy = [ "multi-user.target" ];
157
- after = [ "networking.target" ];
158
- path = [ pkgs.su ];
159
- script =
160
- ''
161
- rm -rf /data/releases/nixos/unstable-small/.tmp-*
162
- exec su - hydra-mirror -c 'cd nixos-channel-scripts; while true; do ./mirror-nixos-branch.sh unstable-small unstable-small; sleep 1200; done'
163
- '';
164
- serviceConfig.Restart = "always";
165
- serviceConfig.CPUShares = 100;
166
- };
167
-
168
- systemd.services.mirror-nixos-14-04 =
169
- { description = "Mirror NixOS 14.04";
170
- wantedBy = [ "multi-user.target" ];
171
- after = [ "networking.target" ];
172
- path = [ pkgs.su ];
173
- script =
174
- ''
175
- rm -rf /data/releases/nixos/14.04/.tmp-*
176
- exec su - hydra-mirror -c 'cd nixos-channel-scripts; while true; do ./mirror-nixos-branch.sh 14.04 release-14.04; sleep 1200; done'
177
- '';
178
- serviceConfig.Restart = "always";
179
- serviceConfig.CPUShares = 100;
180
- };
181
-
182
- systemd.services.mirror-nixos-14-04-small =
183
- { description = "Mirror NixOS 14.04-small";
184
- wantedBy = [ "multi-user.target" ];
185
- after = [ "networking.target" ];
186
- path = [ pkgs.su ];
187
- script =
188
- ''
189
- rm -rf /data/releases/nixos/14.04-small/.tmp-*
190
- exec su - hydra-mirror -c 'cd nixos-channel-scripts; while true; do ./mirror-nixos-branch.sh 14.04-small release-14.04-small; sleep 900; done'
191
- '';
192
- serviceConfig.Restart = "always";
193
- serviceConfig.CPUShares = 100;
194
- };
195
-
196
- systemd.services.mirror-nixos-14-12 =
197
- { description = "Mirror NixOS 14.12";
198
- wantedBy = [ "multi-user.target" ];
199
- after = [ "networking.target" ];
200
- path = [ pkgs.su ];
201
- script =
202
- ''
203
- rm -rf /data/releases/nixos/14.12/.tmp-*
204
- exec su - hydra-mirror -c 'cd nixos-channel-scripts; while true; do ./mirror-nixos-stable.sh 14.12; sleep 1200; done'
205
- '';
206
- serviceConfig.Restart = "always";
207
- serviceConfig.CPUShares = 100;
208
- };
209
-
210
- systemd.services.mirror-nixos-14-12-small =
211
- { description = "Mirror NixOS 14.12-small";
212
- wantedBy = [ "multi-user.target" ];
213
- after = [ "networking.target" ];
214
- path = [ pkgs.su ];
215
- script =
216
- ''
217
- rm -rf /data/releases/nixos/14.12-small/.tmp-*
218
- 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'
219
- '';
220
- serviceConfig.Restart = "always";
221
- serviceConfig.CPUShares = 100;
222
- };
223
-
115
nix.sshServe.enable = true;
116
nix.sshServe.keys = with import ../ssh-keys.nix; [ eelco rob ];
117