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 }