Host Preflight¶
Productive K3S Core includes a host-side compatibility check you can run before bootstrap.
Purpose¶
Use this tool when you want to answer a simple question before installation:
Is this host or VM aligned with the supported platform assumptions for productive-k3s-core?
It is especially useful when:
- validating a fresh VM before installation
- checking whether a reused cloud instance still matches the expected baseline
- failing early in automation before starting the interactive bootstrap
Basic usage¶
From the repository root:
Or call the script directly:
Or call the operational wrapper:
Or use the release installer path without cloning the repository:
curl -fsSL https://github.com/<owner>/<repo>/releases/download/X.Y.Z/productive-k3s-core-cli.sh | bash -s -- preflight
Strict mode¶
By default, warning-level findings do not fail the command.
If you want warnings to return a non-zero exit code too:
Or:
Mode-aware checks¶
You can evaluate the host against a specific runtime profile:
./scripts/preflight-host.sh --mode single-node
./scripts/preflight-host.sh --mode server
./scripts/preflight-host.sh --mode agent
./scripts/preflight-host.sh --mode stack
single-node is the default.
What it checks¶
The preflight currently validates:
- supported platform and version
- supported CPU architecture
systemdas PID 1- required commands such as
sudo,curl,getent,apt-get,systemctl,tar,sha256sum, andmktemp - sudo posture
- practical hardware guidance for
single-nodeandstack
Today, the public support baseline includes amd64/x86_64 and Ubuntu 24.04 on arm64/aarch64.
The hardware guidance follows the published platform baseline:
- practical minimum:
4 vCPU,12 GiBRAM,60 GiBfree disk - recommended:
6-8 vCPU,16 GiBRAM,100+ GiBfree disk
Output model¶
The tool emits:
OKfor checks that look alignedWARNfor soft issues or shortfallsFAILfor blockers that make the target unsuitable
For automation, use machine-readable output:
What it does not do¶
The preflight is not a dry-run installer.
It does not:
- install missing packages
- modify the host
- validate a running cluster
- replace the post-install validator
Use this before bootstrap. Use k3s checks and the rest of the validation pages after bootstrap.