Skip to content

Commit f42e93b

Browse files
Convert nix/hydra/docker.nix to flake-parts module (#2025)
1 parent f1d1eda commit f42e93b

File tree

2 files changed

+62
-66
lines changed

2 files changed

+62
-66
lines changed

flake.nix

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
inputs.hydra-coding-standards.flakeModule
2929
inputs.process-compose-flake.flakeModule
3030
./nix/hydra/demo.nix
31+
./nix/hydra/docker.nix
3132
];
3233
systems = [
3334
"x86_64-linux"
@@ -90,14 +91,6 @@
9091
gitRev = self.rev or "dirty";
9192
};
9293

93-
hydraImages = import ./nix/hydra/docker.nix {
94-
inherit hydraPackages pkgs;
95-
};
96-
97-
prefixAttrs = s: attrs:
98-
with pkgs.lib.attrsets;
99-
mapAttrs' (name: value: nameValuePair (s + name) value) attrs;
100-
10194
tx-cost-diff =
10295
let
10396
pyEnv = pkgs.python3.withPackages (ps: with ps; [ pandas html5lib beautifulsoup4 tabulate ]);
@@ -119,7 +112,7 @@
119112

120113
packages =
121114
hydraPackages //
122-
(if pkgs.stdenv.isLinux then (prefixAttrs "docker-" hydraImages) else { }) // {
115+
{
123116
spec = inputs.hydra-spec.packages.${system}.default;
124117
inherit tx-cost-diff;
125118
};

nix/hydra/docker.nix

Lines changed: 60 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,69 @@
11
# Docker images built from our packages. NOTE: These images don't include any
22
# metadata, as this is only added by the Github workflow.
33

4-
{ hydraPackages # as defined in packages.nix
5-
, pkgs
6-
}:
7-
{
8-
hydra-node = pkgs.dockerTools.buildImage {
9-
name = "hydra-node";
10-
tag = "latest";
11-
created = "now";
12-
contents = [
13-
pkgs.busybox
14-
];
15-
config = {
16-
Entrypoint = [ "${hydraPackages.hydra-node-static}/bin/hydra-node" ];
17-
};
18-
};
4+
{ lib, ... }: {
195

20-
hydra-node-for-netem = pkgs.dockerTools.buildImage {
21-
name = "hydra-node-for-netem";
22-
tag = "latest";
23-
created = "now";
24-
contents = [
25-
pkgs.iproute2
26-
pkgs.busybox
27-
];
28-
config = {
29-
Entrypoint = [ "${hydraPackages.hydra-node-static}/bin/hydra-node" ];
30-
};
31-
};
6+
perSystem = { pkgs, self', ... }:
7+
lib.mkIf pkgs.stdenv.isLinux {
8+
packages = {
9+
docker-hydra-node = pkgs.dockerTools.buildImage {
10+
name = "hydra-node";
11+
tag = "latest";
12+
created = "now";
13+
contents = [
14+
pkgs.busybox
15+
];
16+
config = {
17+
Entrypoint = [ "${self'.packages.hydra-node-static}/bin/hydra-node" ];
18+
};
19+
};
3220

33-
hydra-tui = pkgs.dockerTools.buildImage {
34-
name = "hydra-tui";
35-
tag = "latest";
36-
created = "now";
37-
config = {
38-
Entrypoint = [ "${hydraPackages.hydra-tui-static}/bin/hydra-tui" ];
39-
};
40-
};
21+
docker-hydra-node-for-netem = pkgs.dockerTools.buildImage {
22+
name = "hydra-node-for-netem";
23+
tag = "latest";
24+
created = "now";
25+
contents = [
26+
pkgs.iproute2
27+
pkgs.busybox
28+
];
29+
config = {
30+
Entrypoint = [ "${self'.packages.hydra-node-static}/bin/hydra-node" ];
31+
};
32+
};
4133

42-
hydraw = pkgs.dockerTools.buildImage {
43-
name = "hydraw";
44-
tag = "latest";
45-
created = "now";
46-
config = {
47-
Entrypoint = [ "${hydraPackages.hydraw-static}/bin/hydraw" ];
48-
WorkingDir = "/static";
49-
};
50-
contents = [
51-
(pkgs.runCommand "hydraw-static-files" { } ''
52-
mkdir $out
53-
ln -s ${../../hydraw/static} $out/static
54-
'')
55-
];
56-
};
34+
docker-hydra-tui = pkgs.dockerTools.buildImage {
35+
name = "hydra-tui";
36+
tag = "latest";
37+
created = "now";
38+
config = {
39+
Entrypoint = [ "${self'.packages.hydra-tui-static}/bin/hydra-tui" ];
40+
};
41+
};
42+
43+
docker-hydraw = pkgs.dockerTools.buildImage {
44+
name = "hydraw";
45+
tag = "latest";
46+
created = "now";
47+
config = {
48+
Entrypoint = [ "${self'.packages.hydraw-static}/bin/hydraw" ];
49+
WorkingDir = "/static";
50+
};
51+
contents = [
52+
(pkgs.runCommand "hydraw-static-files" { } ''
53+
mkdir $out
54+
ln -s ${../../hydraw/static} $out/static
55+
'')
56+
];
57+
};
5758

58-
hydra-chain-observer = pkgs.dockerTools.buildImage {
59-
name = "hydra-chain-observer";
60-
tag = "latest";
61-
created = "now";
62-
config = {
63-
Entrypoint = [ "${hydraPackages.hydra-chain-observer-static}/bin/hydra-chain-observer" ];
59+
docker-hydra-chain-observer = pkgs.dockerTools.buildImage {
60+
name = "hydra-chain-observer";
61+
tag = "latest";
62+
created = "now";
63+
config = {
64+
Entrypoint = [ "${self'.packages.hydra-chain-observer-static}/bin/hydra-chain-observer" ];
65+
};
66+
};
67+
};
6468
};
65-
};
6669
}

0 commit comments

Comments
 (0)