feat: KubeZero v1.28

This commit is contained in:
Stefan Reimer 2024-04-08 13:01:20 +00:00
parent e534b31c74
commit 3b2c8c6f10
8 changed files with 55 additions and 26 deletions

View File

@ -1,7 +1,7 @@
OVERLAY := $(shell pwd)/overlay OVERLAY := $(shell pwd)/overlay
ONLY := ONLY :=
SKIP := SKIP :=
FILTER := --only 3.18 $(ONLY) --skip aarch64 $(SKIP) FILTER := --only $(ONLY) --skip aarch64 $(SKIP)
STEP := publish STEP := publish
all: build all: build
@ -35,12 +35,7 @@ age-seal:
# Just a reference how it could work, requires root though # Just a reference how it could work, requires root though
scan-image: scan-image:
doas modprobe nbd doas ./scan_image.sh alpine-cloud-images/work/images/aws/*/image.qcow2
doas qemu-nbd -c /dev/nbd0 --read-only alpine-cloud-images/work/images/aws/*/image.qcow2
doas mount /dev/nbd0p2 /mnt/temp/
doas trivy rootfs /mnt/temp
doas umount /mnt/temp
doas qemu-nbd -d /dev/nbd0
pull-upstream: ## pull latest shared alpine-cloud-images pull-upstream: ## pull latest shared alpine-cloud-images
git stash && git subtree pull --prefix alpine-cloud-images git@gitlab.alpinelinux.org:alpine/cloud/alpine-cloud-images.git main --squash && git stash pop git stash && git subtree pull --prefix alpine-cloud-images git@gitlab.alpinelinux.org:alpine/cloud/alpine-cloud-images.git main --squash && git stash pop

View File

@ -2,7 +2,7 @@
# set -x # set -x
TAG_FILTER="Name=tag:Name,Values=zdt-alpine-3.18*dev*" #-dev" #kubezero*" TAG_FILTER="Name=tag:Name,Values=zdt-alpine-3.18*dev*" #-dev" #kubezero*"
#TAG_FILTER="Name=tag:Name,Values=zdt-alpine-*kubezero*1.26*" #TAG_FILTER="Name=tag:Name,Values=zdt-alpine-*kubezero*1.28*"
echo "Are you really sure to delete AMIs matching \"$TAG_FILTER\" ?" echo "Are you really sure to delete AMIs matching \"$TAG_FILTER\" ?"
read read

View File

@ -25,6 +25,13 @@ WHEN {
} }
} }
nocloud {
packages {
zdt-base-nocloud = kubezero
tiny-cloud-nocloud = true
}
}
# Disable KVM during cross build # Disable KVM during cross build
aarch64 { aarch64 {
qemu.args = [ qemu.args = [

View File

@ -1,3 +1,3 @@
curl = true curl = true
kubezero = "kubezero=~1.27" kubezero = kubezero
kubezero-imagecache = "kubezero=~1.27" kubezero-imagecache = kubezero

View File

@ -1,19 +1,23 @@
# vim: ts=2 et: # vim: ts=2 et:
kubezero-version = "1.28.8"
include required("common.conf") include required("common.conf")
description = [ "- https://kubezero.com" ]
name = [ "kubezero-{kubezero-version}" ]
disk_size = [1024]
packages { include required("kubezero-packages.conf") } packages { include required("kubezero-packages.conf") }
services { include required("kubezero-services.conf") } services { include required("kubezero-services.conf") }
description = [ "- https://kubezero.com" ] # Cloud specifics
name = [ kubezero-1.27.8 ]
disk_size = [1024]
WHEN { WHEN {
aws { aws {
packages { packages {
aws-neuron-driver = kubezero #aws-neuron-driver = kubezero
nvidia-open-gpu = kubezero nvidia-open-gpu = kubezero
} }
} }
} }

View File

@ -4,3 +4,10 @@ machine_name = "Virtual"
packages { packages {
falco-kernel-virt = kubezero falco-kernel-virt = kubezero
} }
services {
boot {
# Fails on cloudhypervisor anyways
hwclock = null
}
}

View File

@ -32,15 +32,17 @@ Default {
# profile build matrix # profile build matrix
# atm we only support: # atm we only support:
# - tiny-cloud # - tiny-cloud
# - uefi boot # - uefi boot
# - latest stable Alpine 3.18 # - Alpine 3.19
# - aws + nocloud
# - x86_64 + aarch64
Dimensions { Dimensions {
version { version {
"3.18" { include required("version/3.18.conf") "3.19" { include required("version/3.19.conf")
repos { repos {
"https://cdn.zero-downtime.net/alpine/v3.18/kubezero" = kubezero "https://cdn.zero-downtime.net/alpine/v3.19/kubezero" = kubezero
} }
} }
# edge { include required("version/edge.conf") } # edge { include required("version/edge.conf") }
@ -64,12 +66,12 @@ Dimensions {
aws { include required("cloud/aws.conf") } aws { include required("cloud/aws.conf") }
aws.regions { aws.regions {
ALL = false ALL = false
#ap-southeast-2 = true ap-southeast-2 = true
#ca-central-1 = true ca-central-1 = true
eu-central-1 = true eu-central-1 = true
#us-east-1 = true us-east-1 = true
#us-west-1 = true us-west-1 = true
#us-west-2 = true us-west-2 = true
} }
nocloud { include required("cloud/nocloud.conf") } nocloud { include required("cloud/nocloud.conf") }
} }
@ -88,11 +90,14 @@ Dimensions {
# all build configs merge these at the very end # all build configs merge these at the very end
Mandatory { Mandatory {
name = [ "dev", "r{revision}" ] # name = [ "dev", "r{revision}" ]
name = [ "r{revision}" ]
encrypted = "alias/zdt/amis" encrypted = "alias/zdt/amis"
# We use neofetch custom branding # We use neofetch custom branding
motd = {} motd = {
sudo_removed = null
}
# final provisioning script # final provisioning script
scripts = [ cleanup ] scripts = [ cleanup ]

11
scan_image.sh Executable file
View File

@ -0,0 +1,11 @@
#!/bin/sh
set -x
IMAGE=$1
modprobe nbd
qemu-nbd -c /dev/nbd0 --read-only $IMAGE
mount /dev/nbd0p2 /mnt/temp/
trivy rootfs /mnt/temp
umount /mnt/temp
qemu-nbd -d /dev/nbd0