hydra-provisioner: remove
This has not been used in years and has most certainly bitrotted with no active maintenance/testing.
Pierre Bourdon committed
Feb 20, 2024 at 23:16 UTC
dd2f6cb09e379c269ebd9351c649fb8d6619d299
5 files changed
-174
delft/provisioner.nix
deleted
-58
@@ -1,58 +0,0 @@
1
-{ config, lib, pkgs, ... }:
2
-
3
-let
4
-
5
- hydra-provisioner = import ../../hydra-provisioner { inherit pkgs; inherit nixops; };
6
- nixops = pkgs.nixops;
7
-
8
-in
9
-
10
-{
11
-
12
- users.extraUsers.hydra-provisioner =
13
- { description = "Hydra provisioner";
14
- group = "hydra";
15
- home = "/var/lib/hydra-provisioner";
16
- useDefaultShell = true;
17
- createHome = true;
18
- openssh.authorizedKeys.keys = [ (import ../ssh-keys.nix).eelco ];
19
- };
20
-
21
- system.activationScripts.hydra-provisioner = lib.stringAfter [ "users" ]
22
- ''
23
- mkdir -m 0755 -p /var/lib/hydra/provisioner
24
- mkdir -m 0700 -p /var/lib/hydra-provisioner
25
- chown hydra-provisioner.hydra /var/lib/hydra-provisioner /var/lib/hydra/provisioner
26
- '';
27
-
28
- environment.systemPackages =
29
- [ hydra-provisioner
30
- nixops
31
- pkgs.awscli
32
- ];
33
-
34
- # FIXME: restrict PostgreSQL access.
35
- services.postgresql.identMap =
36
- ''
37
- hydra-users hydra-provisioner hydra
38
- '';
39
-
40
- services.hydra-dev.buildMachinesFiles =
41
- [ "/etc/nix/machines" "/var/lib/hydra/provisioner/machines" ];
42
-
43
- systemd.services.hydra-provisioner =
44
- { script =
45
- ''
46
- source /etc/profile
47
- while true; do
48
- timeout 3600 ${hydra-provisioner}/bin/hydra-provisioner /var/lib/hydra-provisioner/nixos-org-configurations/hydra-provisioner/conf.nix
49
- sleep 300
50
- done
51
- '';
52
- serviceConfig.User = "hydra-provisioner";
53
- serviceConfig.Restart = "always";
54
- serviceConfig.RestartSec = 60;
55
- };
56
-
57
- nix.nixPath = [ "${hydra-provisioner}/share/nix" ];
58
-}
hydra-provisioner/conf.nix
deleted
-16
@@ -1,16 +0,0 @@
1
-{
2
-
3
- tag = "hydra-provisioned-nixos-org";
4
-
5
- systemTypes.x86_64-linux = {
6
- nixopsExpr = builtins.toPath ./nixops.nix;
7
- nixPath = [ "nixpkgs=channel:nixos-17.09-small" ];
8
- minMachines = 0;
9
- maxMachines = 12;
10
- ignoredRunnables = 250;
11
- runnablesPerMachine = 50;
12
- maxJobs = 4;
13
- sshKey = "/var/lib/hydra/queue-runner/.ssh/id_buildfarm_rsa";
14
- };
15
-
16
-}
hydra-provisioner/nixops.nix
deleted
-58
@@ -1,58 +0,0 @@
1
-{ type, tag, ... }:
2
-
3
-let
4
- region = "us-east-1";
5
- accessKeyId = "hydra-provisioner";
6
-in
7
-
8
-{
9
-
10
- resources.ec2KeyPairs.default =
11
- { inherit region accessKeyId;
12
- };
13
-
14
- machine =
15
- { config, lib, pkgs, resources, ... }:
16
- {
17
- deployment.targetEnv = "ec2";
18
- deployment.ec2.accessKeyId = accessKeyId;
19
- deployment.ec2.region = region;
20
- deployment.ec2.instanceType = "m4.xlarge";
21
- deployment.ec2.spotInstancePrice = 10;
22
- deployment.ec2.spotInstanceTimeout = 5 * 60;
23
- deployment.ec2.keyPair = resources.ec2KeyPairs.default;
24
- deployment.ec2.subnetId = "subnet-1eb22868";
25
- deployment.ec2.associatePublicIpAddress = true;
26
- deployment.ec2.securityGroupIds = [ "sg-b2ee60ca" ];
27
- deployment.ec2.tags.Name = "Hydra Builder";
28
- deployment.ec2.ebsInitialRootDiskSize = 100;
29
- deployment.owners = [ "eelco.dolstra@logicblox.com" ];
30
-
31
- imports =
32
- [ <nixpkgs/nixos/modules/profiles/minimal.nix>
33
- <hydra-provisioner/auto-shutdown.nix>
34
- #../delft/diffoscope.nix
35
- ];
36
-
37
- users.extraUsers.root.openssh.authorizedKeys.keys =
38
- [ ''command="nix-store --serve --write" ${(import ../ssh-keys.nix).hydra-queue-runner}''
39
- ];
40
-
41
- nix.package = pkgs.nixUnstable;
42
-
43
- nix.buildCores = 0;
44
-
45
- nix.useSandbox = true;
46
-
47
- nix.gc.automatic = true;
48
- nix.gc.dates = "*:0/30";
49
- nix.gc.options = ''--max-freed "$((15 * 1024**3 - 1024 * $(df -P -k /nix/store | tail -n 1 | ${pkgs.gawk}/bin/awk '{ print $4 }')))"'';
50
-
51
- # Use the cache.nixos.org S3 bucket directly, rather than going
52
- # through Cloudfront, since same-region EC2<->S3 traffic is
53
- # free. Also it avoids caching of negative lookups by
54
- # Cloudfront.
55
- nix.binaryCaches = lib.mkForce [ https://nix-cache.s3.amazonaws.com/ ];
56
- };
57
-
58
-}
hydra-provisioner/policy.json
deleted
-40
@@ -1,40 +0,0 @@
1
-{
2
- "Version": "2012-10-17",
3
- "Statement": [
4
- {
5
- "Sid": "NoResource",
6
- "Effect": "Allow",
7
- "Action": [
8
- "ec2:DescribeKeyPairs",
9
- "ec2:ImportKeyPair",
10
- "ec2:DeleteKeyPair",
11
- "ec2:DescribeInstances",
12
- "ec2:DescribeSpotInstanceRequests",
13
- "ec2:DescribeImages",
14
- "ec2:DescribeInstanceStatus",
15
- "ec2:RequestSpotInstances",
16
- "ec2:CancelSpotInstanceRequests",
17
- "ec2:DescribeIamInstanceProfileAssociations"
18
- ],
19
- "Resource": [
20
- "*"
21
- ],
22
- "Condition": {
23
- "StringEquals": {
24
- "ec2:Region": "us-east-1"
25
- }
26
- }
27
- },
28
- {
29
- "Sid": "EC2Resource",
30
- "Effect": "Allow",
31
- "Action": [
32
- "ec2:CreateTags",
33
- "ec2:TerminateInstances"
34
- ],
35
- "Resource": [
36
- "arn:aws:ec2:us-east-1:*"
37
- ]
38
- }
39
- ]
40
-}
ssh-keys.nix
-2
@@ -2,8 +2,6 @@ rec {
2
3
eelco = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAnI5L6oCgFyvEesL04LnbnH1TBhegq1Yery6TNlIRAA edolstra@gmail.com";
4
5
- provisioner = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKDSfHu0xHu2qtWjmCC92rTMZfwZNKXrsJvPCLSoWtzR eelco.dolstra@deploy";
6
-
5
hydra-queue-runner = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyM48VC5fpjJssLI8uolFscP4/iEoMHfkPoT9R3iE3OEjadmwa1XCAiXUoa7HSshw79SgPKF2KbGBPEVCascdAcErZKGHeHUzxj7v3IsNjObouUOBbJfpN4DR7RQT28PZRsh3TvTWjWnA9vIrSY/BvAK1uezFRuObvatqAPMrw4c0DK+JuGuCNkKDGHLXNSxYBc5Pmr1oSU7/BDiHVjjyLIsAMIc20+q8SjWswKqL1mY193mN7FpUMBtZrd0Za9fMFRII9AofEIDTOayvOZM6+/1dwRWZXM6jhE6kaPPF++yromHvDPBnd6FfwODKLvSF9BkA3pO5CqrD8zs7ETmrV hydra-queue-runner@chef";
6
7
graham = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILBPW2syaEH82DrqIl8/7/ypTgyfK8CRRTBEA4AmMB1l grahamc@nixos";