chore: bring images up to date #63
Conversation
…rnel/CH/CAPMVM naming, liquidmetal-dev)
richardcase
left a comment
There was a problem hiding this comment.
Thanks for this @casibbald . A few comments.
I have previously experimented with a different way to build the images using the kernel configs from FC and CH directly and then adding additional config options on top, i never quite got it working nicely: https://github.com/liquidmetal-dev/mikrolite-images/tree/main/kernel-k8s-fc
But i do think its a better
| version: [ 4.19.215, 5.10.77 ] | ||
| version: [ 4.19.215, 5.2.21, 5.10.77 ] | ||
| env: | ||
| # Push to this repo's GHCR (e.g. ghcr.io/microscaler on a fork, ghcr.io/liquidmetal-dev upstream). |
There was a problem hiding this comment.
Please remove reference to the microscaler fork.
| K8S_FULL_VERSION?=$(K8S_MAJOR_MINOR).14 | ||
| UBUNTU_VERSION?=22.04 | ||
| IMAGE_NAME?=$(REGISTRY)/capmvm-k8s-ubuntu-$(UBUNTU_VERSION) | ||
| IMAGE_NAME?=$(REGISTRY)/capmvm-k8s-ubuntu-$(UBUNTU_VERSION)-amd64 |
There was a problem hiding this comment.
Do we need the ability to overwrite the amd64? Perhaps via passed in ARCH
There was a problem hiding this comment.
Actually i see there is separate Makefile later for arm :)
|
|
||
| FC_KERNEL_VERSIONS ?= 4.19.215 5.10.77 # If you update this list, please remember to update the matrix in the kernel-images.yml github action! | ||
| CH_KERNEL_VERSIONS ?= 5.12 # If you update this list, please remember to update the matrix in the kernel-images.yml github action! | ||
| FC_KERNEL_VERSIONS ?= 4.19.215 5.2.21 5.10.77 # If you update this list, please remember to update the matrix in the kernel-images.yml github action! |
There was a problem hiding this comment.
We need to completely rethink these versions now. For firecracker its 5.10 and 6.1 kernels supported now.
| FC_KERNEL_VERSIONS ?= 4.19.215 5.10.77 # If you update this list, please remember to update the matrix in the kernel-images.yml github action! | ||
| CH_KERNEL_VERSIONS ?= 5.12 # If you update this list, please remember to update the matrix in the kernel-images.yml github action! | ||
| FC_KERNEL_VERSIONS ?= 4.19.215 5.2.21 5.10.77 # If you update this list, please remember to update the matrix in the kernel-images.yml github action! | ||
| CH_KERNEL_VERSIONS ?= 5.12 5.15.12 # If you update this list, please remember to update the matrix in the kernel-images.yml github action! |
There was a problem hiding this comment.
We should also take a view of the CH kernel versions.
| ### Build pipeline notes | ||
|
|
||
| - **Firecracker base** clones the kernel from kernel.org over HTTPS (CI-friendly). | ||
| - **Builder** image is Ubuntu 20.04; consider moving to 22.04 when updating for long-term support. |
There was a problem hiding this comment.
We should create an issue for updating to LTS instead of putting it in the README like this.
| Workflows push images to the **repository’s GitHub Container Registry** by default: | ||
|
|
||
| - **Upstream** (`liquidmetal-dev/image-builder`): images go to `ghcr.io/liquidmetal-dev/...` | ||
| - **Forks** (e.g. `microscaler/liquidmetal-image-builder`): images go to `ghcr.io/microscaler/...` |
There was a problem hiding this comment.
| - **Forks** (e.g. `microscaler/liquidmetal-image-builder`): images go to `ghcr.io/microscaler/...` | |
| - **Forks** (e.g. `my-fork/liquidmetal-image-builder`): images go to `ghcr.io/my-fork/...` |
| @@ -0,0 +1,3331 @@ | |||
| # | |||
There was a problem hiding this comment.
Is this based on one of the config files from Firecracker?
(i.e. from here https://github.com/firecracker-microvm/firecracker/tree/main/resources/guest_configs)
Summary
This PR brings image naming, workflows, and references in line with the current Liquid Metal setup: registry detection for forks, ARM (experimental) workflows, explicit architecture suffixes on image names, and the move from
weaveworks-liquidmetaltoliquidmetal-dev.Successful builds can be found here:
1. Registry detection (fork-friendly)
REGISTRY=ghcr.io/${{ vars.REGISTRY_OWNER || github.repository_owner }}microscaler/image-builder) publish toghcr.io/microscaler/..., and upstream toghcr.io/liquidmetal-dev/....REGISTRY_OWNERoverrides the owner (e.g. for a different org).kernel-images.yml,kernel-images-manual.yml,capmvm-kubernetes-manual.yml.2. Kernel workflows and images
workflow_dispatchadded to Build and release kernel images for manual runs.firecracker-kernel-amd64,firecracker-kernel-bin-amd64,firecracker-kernel-modules-amd64;cloudhypervisor-kernel-amd64,cloudhypervisor-kernel-bin-amd64,cloudhypervisor-kernel-modules-amd64.firecracker-kernel-arm64,firecracker-kernel-bin-arm64,firecracker-kernel-modules-arm64.git://tohttps://for CI..github/workflows/kernel-images-arm.yml(push onexperimental/arm/kernel/**, manual dispatch, QEMU + Buildx forlinux/arm64).3. CAPMVM workflows and images
capmvm-k8s-ubuntu-{20.04|22.04|24.04}-amd64capmvm-k8s-ubuntu-{20.04|22.04|24.04}-arm64.github/workflows/capmvm-kubernetes-arm-manual.yml(manual dispatch, same inputs as x86: k8s version, containerd, Ubuntu version).-1.1, and OS_VERSION for Ubuntu choice.4. References: weaveworks-liquidmetal → liquidmetal-dev
weaveworks-liquidmetaltoliquidmetal-dev(default REGISTRY, README examples, and links to flintlock, cluster-api-provider-microvm, site, microvm-action-runner).REGISTRYis nowghcr.io/liquidmetal-devwhere applicable.Files changed (22)
kernel-images.yml,kernel-images-manual.yml, newkernel-images-arm.yml,capmvm-kubernetes-manual.yml, newcapmvm-kubernetes-arm-manual.yml.