Skip to content

Commit 418a98f

Browse files
committed
Add build logic to nix.
1 parent 7146bd9 commit 418a98f

3 files changed

Lines changed: 38 additions & 2 deletions

File tree

.github/workflows/image.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
strategy:
2323
fail-fast: false
2424
matrix:
25-
image: [image, nativelink-worker-init, nativelink-worker-lre-cc]
25+
image: [image, nativelink-worker-init, nativelink-worker-lre-cc, scheduler-dashboard-image]
2626
name: Publish ${{ matrix.image }}
2727
runs-on: ubuntu-24.04
2828
permissions:

flake.nix

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,41 @@
224224

225225
nativelink-worker-init = pkgs.callPackage ./tools/nativelink-worker-init.nix {inherit buildImage self nativelink-image;};
226226

227+
scheduler-dashboard-image = buildImage {
228+
name = "scheduler-dashboard";
229+
copyToRoot = [
230+
(pkgs.buildEnv {
231+
name = "scheduler-dashboard-buildEnv";
232+
paths = [
233+
pkgs.python312
234+
(pkgs.writeTextDir "app/index.html" (builtins.readFile ./scheduler-dashboard/index.html))
235+
(pkgs.writeTextDir "app/server.py" (builtins.readFile ./scheduler-dashboard/server.py))
236+
];
237+
pathsToLink = ["/bin" "/lib" "/app"];
238+
})
239+
];
240+
config = {
241+
Entrypoint = ["python3" "/app/server.py"];
242+
WorkingDir = "/app";
243+
ExposedPorts = {
244+
"8080/tcp" = {};
245+
};
246+
Env = [
247+
"PORT=8080"
248+
"SCHEDULER_URL=http://localhost:50051"
249+
];
250+
Labels = {
251+
"org.opencontainers.image.description" = "Web dashboard for monitoring NativeLink scheduler state";
252+
"org.opencontainers.image.documentation" = "https://github.com/TraceMachina/nativelink";
253+
"org.opencontainers.image.licenses" = "FSL-1.1-Apache-2.0";
254+
"org.opencontainers.image.revision" = "${self.rev or self.dirtyRev or "dirty"}";
255+
"org.opencontainers.image.source" = "https://github.com/TraceMachina/nativelink";
256+
"org.opencontainers.image.title" = "NativeLink Scheduler Dashboard";
257+
"org.opencontainers.image.vendor" = "Trace Machina, Inc.";
258+
};
259+
};
260+
};
261+
227262
createWorker = pkgs.nativelink-tools.lib.createWorker self;
228263

229264
buck2-toolchain = let
@@ -349,6 +384,7 @@
349384
nativelink-is-executable-test
350385
nativelink-worker-init
351386
nativelink-x86_64-linux
387+
scheduler-dashboard-image
352388
;
353389

354390
# Used by the CI

scheduler-dashboard/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM jfrog.joom.it/dockerhub-proxy/python:3.12-alpine
1+
FROM python:3.12-alpine
22

33
LABEL org.opencontainers.image.title="NativeLink Scheduler Dashboard"
44
LABEL org.opencontainers.image.description="Web dashboard for monitoring NativeLink scheduler state"

0 commit comments

Comments
 (0)