(daemonConfig: any)
| 297 | }; |
| 298 | |
| 299 | const setupLocalServer = async (daemonConfig: any) => { |
| 300 | const configFile = `/tmp/docker-daemon-${Date.now()}.json`; |
| 301 | await fs.writeFile(configFile, JSON.stringify(daemonConfig, null, 2)); |
| 302 | |
| 303 | const setupCommands = [ |
| 304 | `sudo sh -c ' |
| 305 | cp ${configFile} /etc/docker/daemon.json && |
| 306 | mkdir -p /etc/nvidia-container-runtime && |
| 307 | sed -i "/swarm-resource/d" /etc/nvidia-container-runtime/config.toml && |
| 308 | echo "swarm-resource = \\"DOCKER_RESOURCE_GPU\\"" >> /etc/nvidia-container-runtime/config.toml && |
| 309 | systemctl daemon-reload && |
| 310 | systemctl restart docker |
| 311 | '`, |
| 312 | `rm ${configFile}`, |
| 313 | ].join(" && "); |
| 314 | |
| 315 | try { |
| 316 | await execAsync(setupCommands); |
| 317 | } catch { |
| 318 | throw new Error( |
| 319 | "Failed to configure GPU support. Please ensure you have sudo privileges and try again.", |
| 320 | ); |
| 321 | } |
| 322 | }; |
| 323 | |
| 324 | const addGpuLabel = async (nodeId: string, serverId?: string) => { |
| 325 | const labelCommand = `docker node update --label-add gpu=true ${nodeId}`; |
no test coverage detected