@cryptotaxi247 / infra / commits / c8d912ac

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