@cryptotaxi247 / infra / commits / ebcef079

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";