mirror of https://github.com/jetkvm/kvm.git
chore: create images folder when starting the application (#437)
This commit is contained in:
parent
63c2272c45
commit
38252de03c
7
main.go
7
main.go
|
@ -77,11 +77,14 @@ func Main() {
|
||||||
|
|
||||||
initUsbGadget()
|
initUsbGadget()
|
||||||
|
|
||||||
err = setInitialVirtualMediaState()
|
if err := setInitialVirtualMediaState(); err != nil {
|
||||||
if err != nil {
|
|
||||||
logger.Warn().Err(err).Msg("failed to set initial virtual media state")
|
logger.Warn().Err(err).Msg("failed to set initial virtual media state")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if err := initImagesFolder(); err != nil {
|
||||||
|
logger.Warn().Err(err).Msg("failed to init images folder")
|
||||||
|
}
|
||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
time.Sleep(15 * time.Minute)
|
time.Sleep(15 * time.Minute)
|
||||||
for {
|
for {
|
||||||
|
|
|
@ -94,9 +94,20 @@ var nbdDevice *NBDDevice
|
||||||
|
|
||||||
const imagesFolder = "/userdata/jetkvm/images"
|
const imagesFolder = "/userdata/jetkvm/images"
|
||||||
|
|
||||||
|
func initImagesFolder() error {
|
||||||
|
err := os.MkdirAll(imagesFolder, 0755)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("failed to create images folder: %w", err)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func rpcMountBuiltInImage(filename string) error {
|
func rpcMountBuiltInImage(filename string) error {
|
||||||
logger.Info().Str("filename", filename).Msg("Mount Built-In Image")
|
logger.Info().Str("filename", filename).Msg("Mount Built-In Image")
|
||||||
_ = os.MkdirAll(imagesFolder, 0755)
|
if err := initImagesFolder(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
imagePath := filepath.Join(imagesFolder, filename)
|
imagePath := filepath.Join(imagesFolder, filename)
|
||||||
|
|
||||||
// Check if the file exists in the imagesFolder
|
// Check if the file exists in the imagesFolder
|
||||||
|
@ -224,13 +235,14 @@ func getInitialVirtualMediaState() (*VirtualMediaState, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: check if it's WebRTC or HTTP
|
// TODO: check if it's WebRTC or HTTP
|
||||||
if diskPath == "" {
|
switch diskPath {
|
||||||
|
case "":
|
||||||
return nil, nil
|
return nil, nil
|
||||||
} else if diskPath == "/dev/nbd0" {
|
case "/dev/nbd0":
|
||||||
initialState.Source = HTTP
|
initialState.Source = HTTP
|
||||||
initialState.URL = "/"
|
initialState.URL = "/"
|
||||||
initialState.Size = 1
|
initialState.Size = 1
|
||||||
} else {
|
default:
|
||||||
initialState.Filename = filepath.Base(diskPath)
|
initialState.Filename = filepath.Base(diskPath)
|
||||||
// get size from file
|
// get size from file
|
||||||
logger.Info().Str("diskPath", diskPath).Msg("getting file size")
|
logger.Info().Str("diskPath", diskPath).Msg("getting file size")
|
||||||
|
|
Loading…
Reference in New Issue