WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Commit 2f1c9e2

Browse files
committed
chore: add docker image for ib tools
Signed-off-by: Dmitry Shmulevich <[email protected]>
1 parent 9d3e3e3 commit 2f1c9e2

File tree

3 files changed

+134
-0
lines changed

3 files changed

+134
-0
lines changed

.github/workflows/docker-ib.yml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
name: Docker
2+
3+
# This workflow uses actions that are not certified by GitHub.
4+
# They are provided by a third-party and are governed by
5+
# separate terms of service, privacy policy, and support
6+
# documentation.
7+
8+
on: workflow_dispatch
9+
10+
env:
11+
REGISTRY: ghcr.io
12+
# github.repository as <account>/<repo>
13+
IMAGE_NAME: ${{ github.repository }}/ib
14+
15+
jobs:
16+
build:
17+
runs-on: ubuntu-latest
18+
19+
steps:
20+
- name: Checkout repository
21+
uses: actions/checkout@v5
22+
23+
# Login against a Docker registry except on PR
24+
# https://github.com/docker/login-action
25+
- name: Log into registry ${{ env.REGISTRY }}
26+
uses: docker/login-action@v3
27+
with:
28+
registry: ${{ env.REGISTRY }}
29+
username: ${{ github.actor }}
30+
password: ${{ secrets.GITHUB_TOKEN }}
31+
32+
# Extract metadata (tags, labels) for Docker
33+
# https://github.com/docker/metadata-action
34+
- name: Extract Docker metadata
35+
id: meta
36+
uses: docker/metadata-action@v5
37+
with:
38+
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
39+
tags: |
40+
type=semver,pattern={{version}}
41+
type=semver,pattern={{major}}.{{minor}}
42+
type=semver,pattern={{major}}
43+
type=ref,event=branch
44+
type=sha,priority=100,prefix=,suffix=,format=short
45+
46+
# Set up QEMU for cross-platform builds
47+
- name: Set up QEMU
48+
uses: docker/setup-qemu-action@v3
49+
50+
# Set up Docker Buildx
51+
- name: Set up Docker Buildx
52+
uses: docker/setup-buildx-action@v3
53+
54+
# Build and push Docker image with Buildx (don't push on PR)
55+
# https://github.com/docker/build-push-action
56+
- name: Build and push Docker image
57+
id: build-and-push
58+
uses: docker/build-push-action@v6
59+
with:
60+
context: .
61+
file: ./Dockerfile.ib
62+
push: ${{ github.event_name != 'pull_request' }}
63+
#build-args: |
64+
# TARGETOS=linux
65+
# TARGETARCH=amd64
66+
platforms: linux/amd64,linux/arm64
67+
tags: ${{ steps.meta.outputs.tags }}
68+
labels: ${{ steps.meta.outputs.labels }}

Dockerfile.ib

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#FROM debian:stable-slim
2+
FROM ubuntu:24.04
3+
4+
# Install dependencies and ibnetdiscover
5+
RUN apt-get update && \
6+
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
7+
infiniband-diags ibutils \
8+
&& apt-get clean \
9+
&& rm -rf /var/lib/apt/lists/*
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Default values for topology-generator.
2+
# This is a YAML-formatted file.
3+
# Declare variables to be passed into your templates.
4+
5+
global:
6+
provider:
7+
# name: "aws", "oci", "gcp", "nebius", "netq", "infiniband-k8s", "dra" or "test".
8+
name: infiniband-k8s
9+
engine:
10+
# name: "k8s" or "slinky"
11+
name: k8s
12+
13+
image:
14+
repository: ghcr.io/nvidia/topograph
15+
tag: main
16+
pullPolicy: IfNotPresent
17+
18+
verbosity: 4
19+
20+
config:
21+
request_aggregation_delay: 15s
22+
23+
node-observer:
24+
image:
25+
repository: ghcr.io/nvidia/topograph
26+
tag: main
27+
pullPolicy: IfNotPresent
28+
verbosity: 4
29+
topograph:
30+
trigger:
31+
nodeSelector:
32+
brightcomputing.com/node-category: dgx
33+
34+
node-data-broker:
35+
image:
36+
repository: ghcr.io/nvidia/topograph/ib
37+
pullPolicy: IfNotPresent
38+
tag: main
39+
initc:
40+
enabled: true
41+
image:
42+
repository: ghcr.io/nvidia/topograph
43+
tag: main
44+
pullPolicy: IfNotPresent
45+
verbosity: 4
46+
securityContext:
47+
privileged: true
48+
nodeSelector:
49+
brightcomputing.com/node-category: dgx
50+
volumeMounts:
51+
- name: my-volume
52+
mountPath: /sys/class
53+
volumes:
54+
- name: my-volume
55+
hostPath:
56+
path: /sys/class
57+
type: Directory

0 commit comments

Comments
 (0)