Some checks failed
ARM64 Build / Build generic ARM64 disk image (push) Failing after 3s
CI / Go Tests (push) Successful in 1m27s
CI / Shellcheck (push) Failing after 50s
CI / Build Go Binaries (amd64, linux, linux-amd64) (push) Failing after 1m33s
CI / Build Go Binaries (arm64, linux, linux-arm64) (push) Failing after 1m15s
Phase 4 of v0.3 — KubeSolo version bump and CI gating. KubeSolo v1.1.0 → v1.1.5 brings: - New flag --disable-ipv6 (v1.1.5) - New flag --db-wal-repair (v1.1.5) — important for power-loss resilience on edge appliances; surfaced as kubesolo.db-wal-repair in cloud-init - New flag --full (v1.1.4) — disables edge-optimised k8s overrides - Pod egress connectivity fix after reboot (v1.1.4) - Registry config persistence fix (v1.1.5) - k8s 1.34.7, CoreDNS 1.14.3, Go 1.26.2 All three new flags wired into cloud-init: config.go fields, kubesolo.go extra-flag emission, full-config.yaml example. Supply-chain hygiene: - Per-arch checksums: KUBESOLO_SHA256_AMD64 and KUBESOLO_SHA256_ARM64 in versions.env. Replaces the single shared KUBESOLO_SHA256 that couldn't meaningfully verify both binaries at once. - Checksum now applied to the tarball (the immutable upstream artifact) rather than the post-extract binary. CI: - New .gitea/workflows/build-arm64.yaml routes the full kernel + rootfs + disk-image build to the Odroid arm64-linux runner. Triggers on push to main, tags, and manual workflow_dispatch. The boot smoke test is continue-on-error because KubeSolo's first-boot image import deadline fires under QEMU TCG on the Odroid. VERSION bumped to 0.3.0-dev. CHANGELOG entry under [0.3.0-dev] captures all Phase 1-4 work + the known limitations documented in arm64-status.md. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
56 lines
2.1 KiB
Bash
56 lines
2.1 KiB
Bash
# KubeSolo OS Component Versions
|
|
# All external dependencies pinned here for reproducible builds
|
|
|
|
# Tiny Core Linux
|
|
TINYCORE_VERSION=17.0
|
|
TINYCORE_ARCH=x86_64
|
|
TINYCORE_MIRROR=http://www.tinycorelinux.net
|
|
TINYCORE_ISO=CorePure64-${TINYCORE_VERSION}.iso
|
|
TINYCORE_ISO_URL=${TINYCORE_MIRROR}/${TINYCORE_VERSION%%.*}.x/${TINYCORE_ARCH}/release/${TINYCORE_ISO}
|
|
|
|
# KubeSolo
|
|
# Pinned release tag from https://github.com/portainer/kubesolo/releases.
|
|
# Bump here and re-run `make fetch` to pull a new version.
|
|
KUBESOLO_VERSION=v1.1.5
|
|
KUBESOLO_INSTALL_URL=https://get.kubesolo.io
|
|
# Per-arch SHA256 of the musl tarball (verified at fetch time when non-empty).
|
|
KUBESOLO_SHA256_AMD64=565bd5fd98fc8ce09160e646b55de3493c782d74c0e0c46ccf130ff4bcabab81
|
|
KUBESOLO_SHA256_ARM64=db865a5e9b2617d595f9c2b7d011272edc94587621a9690e2de0f47cc94f0748
|
|
|
|
# Build tools (used inside builder container)
|
|
GRUB_VERSION=2.12
|
|
SYSLINUX_VERSION=6.03
|
|
|
|
# SHA256 checksums for supply chain verification
|
|
# Populate by running: sha256sum build/cache/<file>
|
|
# Leave empty to skip verification (useful for first fetch)
|
|
TINYCORE_ISO_SHA256=""
|
|
NETFILTER_TCZ_SHA256=""
|
|
NET_BRIDGING_TCZ_SHA256=""
|
|
IPTABLES_TCZ_SHA256=""
|
|
|
|
# piCore64 (ARM64 — Raspberry Pi)
|
|
PICORE_VERSION=15.0.0
|
|
PICORE_ARCH=aarch64
|
|
PICORE_IMAGE=piCore64-${PICORE_VERSION}.zip
|
|
PICORE_IMAGE_URL=http://www.tinycorelinux.net/${PICORE_VERSION%%.*}.x/${PICORE_ARCH}/releases/RPi/${PICORE_IMAGE}
|
|
|
|
# Raspberry Pi firmware (boot blobs, DTBs)
|
|
RPI_FIRMWARE_TAG=1.20240529
|
|
RPI_FIRMWARE_URL=https://github.com/raspberrypi/firmware/archive/refs/tags/${RPI_FIRMWARE_TAG}.tar.gz
|
|
|
|
# Raspberry Pi kernel source
|
|
RPI_KERNEL_BRANCH=rpi-6.6.y
|
|
RPI_KERNEL_REPO=https://github.com/raspberrypi/linux
|
|
|
|
# Mainline Linux kernel (for generic ARM64 — kernel.org LTS)
|
|
# Bump within the 6.12 LTS series as patch levels release.
|
|
# 6.12 LTS is supported until Dec 2029.
|
|
MAINLINE_KERNEL_VERSION=6.12.10
|
|
MAINLINE_KERNEL_MAJOR=v6.x
|
|
MAINLINE_KERNEL_URL=https://cdn.kernel.org/pub/linux/kernel/${MAINLINE_KERNEL_MAJOR}/linux-${MAINLINE_KERNEL_VERSION}.tar.xz
|
|
MAINLINE_KERNEL_SHA256=""
|
|
|
|
# Output naming
|
|
OS_NAME=kubesolo-os
|