podman

Форк
0
/
platform.go 
37 строк · 975.0 Байт
1
//go:build !windows && !darwin
2

3
package provider
4

5
import (
6
	"fmt"
7
	"os"
8

9
	"github.com/containers/common/pkg/config"
10
	"github.com/containers/podman/v5/pkg/machine/define"
11
	"github.com/containers/podman/v5/pkg/machine/qemu"
12
	"github.com/containers/podman/v5/pkg/machine/vmconfigs"
13
	"github.com/sirupsen/logrus"
14
)
15

16
func Get() (vmconfigs.VMProvider, error) {
17
	cfg, err := config.Default()
18
	if err != nil {
19
		return nil, err
20
	}
21
	provider := cfg.Machine.Provider
22
	if providerOverride, found := os.LookupEnv("CONTAINERS_MACHINE_PROVIDER"); found {
23
		provider = providerOverride
24
	}
25
	resolvedVMType, err := define.ParseVMType(provider, define.QemuVirt)
26
	if err != nil {
27
		return nil, err
28
	}
29

30
	logrus.Debugf("Using Podman machine with `%s` virtualization provider", resolvedVMType.String())
31
	switch resolvedVMType {
32
	case define.QemuVirt:
33
		return new(qemu.QEMUStubber), nil
34
	default:
35
		return nil, fmt.Errorf("unsupported virtualization provider: `%s`", resolvedVMType.String())
36
	}
37
}
38

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.