mirror of
https://github.com/kasmtech/kasm-install-wizard.git
synced 2026-01-22 18:24:57 +00:00
KASM-3512 use deep merge on the exec and run configs to load the default values alongside the gpu modifications
This commit is contained in:
parent
1e5706208c
commit
64bd739f1d
2 changed files with 16 additions and 3 deletions
18
index.js
18
index.js
|
|
@ -6,6 +6,7 @@ var fsw = require('fs').promises;
|
|||
var fs = require('fs');
|
||||
var os = require('os');
|
||||
var yaml = require('js-yaml');
|
||||
var _ = require('lodash');
|
||||
var si = require('systeminformation');
|
||||
var express = require('express');
|
||||
var app = require('express')();
|
||||
|
|
@ -72,10 +73,21 @@ io.on('connection', async function (socket) {
|
|||
if (installSettings.forceGpu !== 'disabled') {
|
||||
let card = installSettings.forceGpu.slice(-1);
|
||||
let render = (Number(card) + 128).toString();
|
||||
console.log(card, render);
|
||||
let baseRun = JSON.parse('{"environment":{"KASM_EGL_CARD":"/dev/dri/card' + card + '","KASM_RENDERD":"/dev/dri/renderD' + render + '"},"devices":["/dev/dri/card' + card + ':/dev/dri/card' + card + ':rwm","/dev/dri/renderD' + render + ':/dev/dri/renderD' + render + ':rwm"]}');
|
||||
let baseExec = JSON.parse('{"first_launch":{"user":"root","cmd": "bash -c \'chown -R kasm-user:kasm-user /dev/dri/*\'"}}');
|
||||
for await (let image of Object.keys(images.images)) {
|
||||
imagesD.images[image]['run_config'] = '{"environment":{"KASM_EGL_CARD":"/dev/dri/card' + card + '","KASM_RENDERD":"/dev/dri/renderD' + render + '"},"devices":["/dev/dri/card' + card + ':/dev/dri/card' + card + ':rwm","/dev/dri/renderD' + render + ':/dev/dri/renderD' + render + ':rwm"]}'
|
||||
imagesD.images[image]['exec_config'] = '{"first_launch":{"user":"root","cmd": "bash -c \'chown -R kasm-user:kasm-user /dev/dri/*\'"}}'
|
||||
if (imagesD.images[image]['run_config']) {
|
||||
finalRun = _.merge(JSON.parse(imagesD.images[image]['run_config']), baseRun)
|
||||
} else {
|
||||
finalRun = baseRun;
|
||||
}
|
||||
if (imagesD.images[image]['exec_config']) {
|
||||
finalExec = _.merge(JSON.parse(imagesD.images[image]['exec_config']), baseExec)
|
||||
} else {
|
||||
finalExec = baseExec;
|
||||
}
|
||||
imagesD.images[image]['run_config'] = JSON.stringify(finalRun);
|
||||
imagesD.images[image]['exec_config'] = JSON.stringify(finalExec);
|
||||
}
|
||||
}
|
||||
let yamlStr = yaml.dump(imagesD);
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
"dockerode": "^3.3.2",
|
||||
"express": "^4.18.1",
|
||||
"js-yaml": "^4.1.0",
|
||||
"lodash": "^4.17.21",
|
||||
"node-pty": "^0.10.1",
|
||||
"socket.io": "^4.5.1",
|
||||
"systeminformation": "^5.11.16"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue