github.com/flanksource/konfigadm@v0.12.0/pkg/phases/photon.go (about)

     1  package phases
     2  
     3  import (
     4  	"strconv"
     5  	"strings"
     6  
     7  	"github.com/flanksource/konfigadm/pkg/types"
     8  	"github.com/flanksource/konfigadm/pkg/utils"
     9  	"gopkg.in/ini.v1"
    10  )
    11  
    12  var Photon = photon{}
    13  
    14  type photon struct {
    15  }
    16  
    17  func (p photon) GetName() string {
    18  	return "photon"
    19  }
    20  
    21  func (p photon) GetPackageManager() types.PackageManager {
    22  	return TdnfPackageManager{}
    23  }
    24  
    25  func (p photon) GetTags() []types.Flag {
    26  	osrelease, _ := ini.Load("/etc/os-release")
    27  	majorVersionID, _ := strconv.Atoi(strings.Split(osrelease.Section("").Key("VERSION_ID").String(), ".")[0])
    28  	if majorVersionID == 2 {
    29  		return []types.Flag{types.PHOTON2, types.PHOTON}
    30  	} else if majorVersionID == 3 {
    31  		return []types.Flag{types.PHOTON3, types.PHOTON}
    32  	}
    33  	return []types.Flag{types.PHOTON}
    34  }
    35  
    36  func (p photon) DetectAtRuntime() bool {
    37  	id, ok := utils.IniToMap("/etc/os-release")["ID"]
    38  	return ok && id == "photon"
    39  }
    40  
    41  func (p photon) GetVersionCodeName() string {
    42  	return utils.IniToMap("/etc/os-release")["VERSION_CODENAME"]
    43  }
    44  
    45  func (p photon) GetKernelPackageNames(version string) (string, string) {
    46  	return TdnfPackageManager{}.GetKernelPackageNames(version)
    47  }
    48  
    49  func (p photon) UpdateDefaultKernel(version string) types.Commands {
    50  	return GrubbyManager{}.UpdateDefaultKernel(version)
    51  }
    52  
    53  func (p photon) ReadDefaultKernel() string {
    54  	readkernel, _ := GrubbyManager{}.ReadDefaultKernel()
    55  	return readkernel
    56  }