Documentation
¶
Index ¶
- Constants
- func All()
- func Cni() error
- func Cnilinux() error
- func Cnilinuxarm64() error
- func EnsurePlaceholders() error
- func Golangcilint() error
- func Hugo() error
- func Initrd() error
- func Initrdx86() error
- func Kernel() error
- func Kernelx86() error
- func Rootfs() error
- func Runner() error
- func Runnerlinux() error
- func Runnerlinuxarm64() error
- func Runnerwindows() error
- func Shim() error
- func Shimlinux() error
- func Shimlinuxarm64() error
- func Shimwindows() error
Constants ¶
const ( RunnerVersion = "2.335.1" CNIVersion = "1.6.2" ContainerdVersion = "2.2.2" RuncVersion = "1.3.4" AlpineVersion = "3.21.3" LinuxVirtVersion = "6.12.83-r0" GolangCILintVersion = "2.11.4" HugoVersion = "0.160.1" // Alpine prunes superseded packages from dl-cdn.alpinelinux.org as soon // as a new revision lands, so any pinned upstream URL goes 404 within // weeks. We mirror linux-virt to a deps/ tag on this repo's GitHub // Releases and verify by SHA256 so a re-upload can't silently swap // content. Bump procedure: download both APKs from upstream, sha256sum, // `gh release create deps/linux-virt-<ver> ...`, upload both, then // bump the constants here. See PR #54 for the first such bump. LinuxVirtSHA256AArch64 = "7f0bdcf7d16339f90cf7ff44c50b6cabc75e9be877224d6e3076fc5b187c1c65" LinuxVirtSHA256X86_64 = "5d06f7833cb19e708a1b74f8cb09f7ddb3eb10e08e9fa716db73287bc7b119c8" )
Variables ¶
This section is empty.
Functions ¶
func Cnilinux ¶
func Cnilinux() error
Cnilinux always downloads the Linux amd64 CNI plugins (for cross-compile embed).
func Cnilinuxarm64 ¶
func Cnilinuxarm64() error
Cnilinuxarm64 downloads the Linux arm64 CNI plugins (for macOS embed cross-compile).
func EnsurePlaceholders ¶
func EnsurePlaceholders() error
EnsurePlaceholders creates empty placeholder files for any go:embed targets that don't exist. This allows go test, go vet, and linting to succeed on platforms where cross-compiled assets aren't available (e.g. ephemerd-linux on Windows without a full two-stage build).
func Initrd ¶
func Initrd() error
Initrd builds a minimal initramfs for the Linux VM on Darwin. Contains busybox (static), e2fsprogs (for first-boot mkfs.ext4), kernel modules needed for Apple Vz (virtio_mmio and friends), and a custom /init script that loads the modules, formats the disk, mounts virtio-fs, and exec's ephemerd-linux. No-op on non-Darwin.
func Initrdx86 ¶
func Initrdx86() error
Initrdx86 builds a minimal initramfs for the Linux VM on Windows (Hyper-V). Contains busybox (static), e2fsprogs (for first-boot mkfs.ext4), kernel modules needed for Hyper-V (FAT32, ext4, netfilter), and a custom /init script that loads modules, mounts the root + assets disks, and exec's ephemerd-linux as PID 1.
func Kernel ¶
func Kernel() error
Kernel downloads the Alpine linux-virt kernel and extracts vmlinuz. Only needed on Darwin (Virtualization.framework); no-op on other OS.
func Kernelx86 ¶
func Kernelx86() error
Kernelx86 downloads the Alpine linux-virt kernel for x86_64 and extracts the uncompressed vmlinux from the bzImage. HCS LinuxKernelDirect requires an uncompressed ELF kernel, not the compressed bzImage.
func Rootfs ¶
func Rootfs() error
Rootfs builds a custom Alpine rootfs with gcompat and iptables pre-installed. Downloads the stock Alpine minirootfs and APK packages from the CDN, then combines them into a single tarball — no container runtime required. Architecture is determined by runtime.GOARCH.
func Runner ¶
func Runner() error
Runner downloads the GitHub Actions runner archive for the current platform.
func Runnerlinux ¶
func Runnerlinux() error
Runnerlinux always downloads the Linux x64 runner (for embedding in Windows builds).
func Runnerlinuxarm64 ¶
func Runnerlinuxarm64() error
Runnerlinuxarm64 always downloads the Linux arm64 runner (for macOS embed cross-compile).
func Runnerwindows ¶
func Runnerwindows() error
Runnerwindows always downloads the Windows x64 runner.
func Shim ¶
func Shim() error
Shim downloads containerd-shim-runc-v2 (extracted from tarball) and runc binary.
func Shimlinux ¶
func Shimlinux() error
Shimlinux always downloads the Linux amd64 shim + runc (for cross-compile embed).
func Shimlinuxarm64 ¶
func Shimlinuxarm64() error
Shimlinuxarm64 downloads the Linux arm64 shim + runc (for macOS embed cross-compile).
func Shimwindows ¶
func Shimwindows() error
Shimwindows builds containerd-shim-runhcs-v1.exe from the hcsshim module. This is the Windows container runtime shim that containerd needs to run Windows containers (process-isolated or Hyper-V isolated).
Types ¶
This section is empty.