mirror of
https://github.com/CloudNebulaProject/refraction-forger.git
synced 2026-04-10 13:20:40 +00:00
Move OCI push from builder VM (where GITHUB_TOKEN is unavailable) to the host side. Add --skip-push and --builder-image CLI flags so the build pipeline can be bootstrapped before builder OCI images exist. KDL specs now include public cloud image URLs as default builder images. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
44 lines
1 KiB
Text
44 lines
1 KiB
Text
metadata name="ubuntu-rust-ci" version="0.1.0" description="Ubuntu 22.04 CI image with Rust"
|
|
|
|
distro "ubuntu-22.04"
|
|
|
|
repositories {
|
|
apt-mirror "http://archive.ubuntu.com/ubuntu" suite="jammy" components="main universe"
|
|
}
|
|
|
|
packages {
|
|
package "build-essential"
|
|
package "pkg-config"
|
|
package "curl"
|
|
package "git"
|
|
package "ca-certificates"
|
|
package "rustc"
|
|
package "cargo"
|
|
package "libssl-dev"
|
|
package "openssh-server"
|
|
package "cloud-init"
|
|
package "grub-efi-amd64"
|
|
package "linux-image-generic"
|
|
}
|
|
|
|
customization {
|
|
user "ci"
|
|
}
|
|
|
|
overlays {
|
|
shadow username="root" password="$5$kr1VgdIt$OUiUAyZCDogH/uaxH71rMeQxvpDEY2yX.x0ZQRnmeb9"
|
|
ensure-dir "/home/ci" owner="ci" group="ci" mode="755"
|
|
}
|
|
|
|
builder {
|
|
image "https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img"
|
|
vcpus 4
|
|
memory 4096
|
|
}
|
|
|
|
target "qcow2" kind="qcow2" {
|
|
disk-size "8G"
|
|
bootloader "grub"
|
|
filesystem "ext4"
|
|
push-to "ghcr.io/cloudnebulaproject/ubuntu-rust:latest"
|
|
}
|