51 lines
1.4 KiB
Go
51 lines
1.4 KiB
Go
package constants
|
|
|
|
import (
|
|
"runtime"
|
|
|
|
"github.com/AlexSSD7/linsk/utils"
|
|
)
|
|
|
|
const baseAlpineVersionMajor = "3.18"
|
|
const baseAlpineVersionMinor = "3"
|
|
const baseAlpineVersionCombined = baseAlpineVersionMajor + "." + baseAlpineVersionMinor
|
|
|
|
const LinskVMImageVersion = "1"
|
|
|
|
var baseAlpineArch string
|
|
var baseImageURL string
|
|
var alpineBaseImageHash []byte
|
|
|
|
func init() {
|
|
baseAlpineArch = "x86_64"
|
|
alpineBaseImageHash = utils.MustDecodeHex("925f6bc1039a0abcd0548d2c3054d54dce31cfa03c7eeba22d10d85dc5817c98")
|
|
if runtime.GOOS == "arm64" {
|
|
baseAlpineArch = "aarch64"
|
|
alpineBaseImageHash = utils.MustDecodeHex("c94593729e4577650d9e73ada28e3cbe56964ab2a27240364f8616e920ed6d4e")
|
|
}
|
|
|
|
baseImageURL = "https://dl-cdn.alpinelinux.org/alpine/v" + baseAlpineVersionMajor + "/releases/" + baseAlpineArch + "/alpine-virt-" + baseAlpineVersionCombined + "-" + baseAlpineArch + ".iso"
|
|
}
|
|
|
|
func GetAlpineBaseImageURL() string {
|
|
return baseImageURL
|
|
}
|
|
|
|
func GetAlpineBaseImageTags() string {
|
|
return baseAlpineVersionCombined + "-" + baseAlpineArch
|
|
}
|
|
|
|
func GetVMImageTags() string {
|
|
return GetAlpineBaseImageTags() + "-linsk" + LinskVMImageVersion
|
|
}
|
|
|
|
func GetAlpineBaseImageFileName() string {
|
|
return "alpine-" + GetAlpineBaseImageTags() + ".img"
|
|
}
|
|
|
|
func GetAlpineBaseImageHash() []byte {
|
|
// Making a copy so that remote caller cannot modify the original variable.
|
|
tmp := make([]byte, len(alpineBaseImageHash))
|
|
copy(tmp, alpineBaseImageHash)
|
|
return tmp
|
|
}
|