Browse OpenForge documentation
Kube-Ready-Box · OSS Project

Kube-Ready-Box

Kubernetes-ready Ubuntu 24.04/26.04 LTS Vagrant Base Boxes for ARM64/AMD64, ext4/XFS, and local hypervisors

KubernetesVagrantPackerUbuntuARM64AMD64XFSext4VMwareVirtualBox
RepositoryGitHub ↗
Documentation5 sections
Updated2026-09-14T00:00:00.000Z
ECOSYSTEM ROLE
Node Foundation

Provides a reusable OS-readiness baseline through Packer and Vagrant images across ARM64/AMD64 and multiple providers instead of bundling a Kubernetes installer.

OS readinessMulti-archFilesystem variants
PROJECT CONFORMANCE

Repository evidence checklist

3 present · 6 missing

Present means an explicit repository or site artifact was observed. Missing means this audit did not observe that artifact; it does not prove the underlying practice does not exist. Tracked links point to the closest existing backlog owner and do not create issues automatically.

CONTRIBUTING
Missing
CODE_OF_CONDUCT
Missing
SECURITY.md
Missing
SBOM evidence
Missing
Provenance / attestation
Missing
GitHub Release
Present
Evidence observed
Project detail docs
Present
5 sections
Evidence observed
Community contributor signal
Present
2 contributors
Evidence observed
repository audit not indexed
Problem

Local Kubernetes projects repeatedly rebuild the same OS, kernel, networking, storage, and diagnostic baseline across architectures and hypervisors

Approach

Reproducible Ubuntu Vagrant base boxes built with Packer so higher-level Kubernetes projects can start from a consistent node-ready operating system

ENGINEERING EVIDENCE

Show reviewable engineering evidence instead of relying on headline numbers.

Ubuntu
24.04 / 26.04

Maintains conservative and latest-LTS node baselines for local Kubernetes environments.

Architecture
ARM64 / AMD64

Targets Apple Silicon and x86 local development environments.

Filesystem
ext4 / XFS

Separates general-purpose and quota/storage-oriented filesystem variants.

Boundary
OS readiness

Prepares kernel, networking, storage prerequisites, time sync, and diagnostics without bundling Kubernetes itself.

START HERE

You do not need to read the README from top to bottom.

ENGINEERING PRINCIPLES
Source-driven

Keep project explanations grounded in repository source, architecture, tests, releases, and operating records.

Independently useful

Even inside one ecosystem, keep boundaries independently installable, verifiable, and releasable whenever possible.

Evidence over claims

Prefer reproducible verification, incident knowledge, upgrade gates, and operating evidence over feature-count claims.

Project Overview

Kube-Ready-Box provides the operating-system baseline required before Kubernetes is installed on local VMs.

It deliberately does not include Kubernetes itself. Instead, it standardizes the repetitive work around kernel modules, networking, storage prerequisites, filesystem choices, diagnostics, time synchronization, and disk expansion so projects such as Narwhal and Beluga can focus on cluster bootstrap.

The project publishes Ubuntu 24.04 LTS and 26.04 LTS variants for ext4 and XFS, with ARM64 and AMD64 support and common local hypervisors such as VirtualBox and VMware Fusion.

Why the Layer Exists

Ubuntu Cloud Image
      ↓
filesystem / disk setup
      ↓
kernel modules / sysctl
      ↓
network / conntrack / buffers
      ↓
CSI / iSCSI / NFS prerequisites
      ↓
time synchronization / diagnostics
      ↓
Kubernetes bootstrap

Kube-Ready-Box standardizes the left side of this boundary and leaves Kubernetes version and runtime selection to the consuming project.

Published Variants

UbuntuFilesystemTypical use
24.04 LTSext4Stable general-purpose Kubernetes nodes
24.04 LTSXFSStorage/quota and large-file workloads
26.04 LTSext4Latest LTS / cgroup v2-only environment
26.04 LTSXFSLatest LTS with project quota use cases

Vagrant Cloud names include:

dasomel/ubuntu-24.04-ext4
dasomel/ubuntu-24.04-xfs
dasomel/ubuntu-26.04-ext4
dasomel/ubuntu-26.04-xfs

Kubernetes Readiness Baseline

The boxes include OS-level preparation such as:

  • disabled swap
  • Kubernetes kernel modules (br_netfilter, overlay, iscsi_tcp)
  • IP forwarding and bridge networking
  • conntrack and network buffer tuning
  • persistent /sys/fs/bpf mount (keeps Cilium eBPF resources across reboots)
  • open-iscsi (with iscsid enabled), cryptsetup, dmsetup for Longhorn V1 · nfs-common
  • chrony time synchronization — replaces the systemd-timesyncd default on Ubuntu 25.10+/26.04, with Korean NTP servers preconfigured (/etc/chrony/sources.d/kr-ntp.sources) for etcd's clock-skew sensitivity
  • security hardening: needrestart removed (addresses 5 Qualys local-privilege-escalation CVEs), unattended-upgrades fully purged (avoids conflicting with kubelet Graceful Node Shutdown), auditd installed but disabled by default (CIS-ready, bounded I/O), apparmor-utils added
  • Kubernetes/network/performance CLI utilities
  • automatic disk/partition/LVM/filesystem expansion (1TB thin-provisioned disk; box size is ~2.2GB for ext4 and ~3.4GB for XFS)

Container runtimes and Kubernetes packages are intentionally left to the consumer project.

24.04 vs 26.04

Ubuntu 26.04 is a cgroup v2-only environment. Kubernetes installations using it should explicitly configure systemd cgroup integration for the chosen runtime. Ubuntu 24.04 remains the more conservative default when stability is the priority.

ItemUbuntu 24.04Ubuntu 26.04
Kernel6.87.0
cgroupv2 defaultv2-only
FocusStabilityNew LTS / newer kernel
Kubernetes noteStandard setupVerify SystemdCgroup=true

Build and Release Model

Ubuntu Cloud Image
       ↓
     Packer
       ↓
OS configuration + filesystem tuning
       ↓
provider / architecture validation
       ↓
Vagrant Box
       ↓
Vagrant Cloud
       ↓
Narwhal / Beluga / local Kubernetes

Packer defines the image construction process, while CI validates and publishes the provider/architecture combinations.

Filesystem Choice

ext4

A broad default for general Kubernetes development, with familiar Linux tooling and online operations appropriate to common workloads.

XFS

Useful for large files and filesystem quota scenarios. It is also the natural companion for NFS Quota Agent when XFS project quotas are required.

Getting Started

# Stable default
vagrant init dasomel/ubuntu-24.04-ext4
vagrant up --provider=vmware_desktop
 
# XFS / quota-oriented environment
vagrant init dasomel/ubuntu-24.04-xfs
vagrant up --provider=vmware_desktop
 
# Ubuntu 26.04
vagrant init dasomel/ubuntu-26.04-ext4
vagrant up --provider=vmware_desktop

After boot, install the Kubernetes/runtime versions required by the consuming project.

Verification

vagrant ssh -c "cat /etc/vagrant-box/info.json"
vagrant ssh -c "/bin/bash /etc/vagrant-box/check-tuning.sh"

The goal is to verify OS readiness, not merely whether the VM starts.

Current Status

The latest release is v1.1.0 (2026-07-19). It is the first tagged release to ship Ubuntu 26.04 LTS (Resolute Raccoon, kernel 7.0) alongside 24.04 LTS (Noble Numbat, the default), and it introduced the security hardening, chrony migration, CSI/Longhorn prerequisites, and persistent bpffs mount described above.

ProviderAMD64ARM64Notes
VirtualBox✅✅VirtualBox 7.1+ required for ARM64
VMware Fusion✅*✅Apple Silicon supported; *AMD64 is local-build only — Vagrant Cloud publishes ARM64 only due to CI runner limitations
  • A declarative NixOS variant, dasomel/nixos-kube-ready, is published separately (libvirt/arm64; usable on Apple Silicon via vagrant-qemu).
  • Building from source requires Packer 1.10+ (CI pins 1.15.4); build timeouts are ssh_timeout 1h (2h for vmware-arm64), with a 90-minute CI job timeout.

Documentation Index

TopicDocumentPurpose
OverviewBox OverviewGoals and supported scope
ArchitectureSystem ArchitecturePacker → Box → Vagrant
Getting StartedUsage GuideProvider and filesystem selection
OperationsBuilds & ReleasesPacker and Vagrant Cloud
VerificationNode VerificationReadiness checks and release validation

Project Relationship

Architecture diagram
Responsive vector rendering · source preserved
kube-ready-box ↓local Kubernetes node baseline Narwhal Beluga other local K8s projects