Relationship With productive-k3s-infra¶
productive-k3s is the bootstrap layer. productive-k3s-infra is the infrastructure companion layer built around it.
What productive-k3s provides¶
This repository provides the bootstrap contract for:
- installing
k3s - assembling a cluster role or topology step
- installing the shared platform stack
- validating the resulting environment
That contract is exposed through explicit modes:
single-nodeserveragentstack
What productive-k3s-infra adds¶
productive-k3s-infra uses those modes to build more complete infrastructure flows around the cluster.
It adds concerns such as:
- provisioning machines when needed
- deriving inventories and host metadata
- orchestrating bootstrap across multiple nodes
- sequencing remote
server,agent, andstackexecution - validating infrastructure-specific outcomes
Why this matters for a real cluster¶
On its own, productive-k3s is already enough to bootstrap a real K3S environment.
The infrastructure repository extends that into paths that are closer to a real cluster lifecycle, for example:
- a local three-node cluster on Multipass
- an on-premises SSH flow with one server and one or more agents
- a basic AWS single-node path
The key enabler is the mode split:
serverbootstraps the control-plane nodeagentjoins additional nodesstackinstalls cluster-level components only after the cluster exists
That is what lets another repository assemble a real multi-node cluster without re-implementing the cluster bootstrap itself.
Practical interpretation¶
If you only need a direct bootstrap path on one machine, productive-k3s is the primary project.
If you also need:
- machine provisioning
- remote orchestration
- multi-node assembly
- use-case-specific infrastructure workflows
then productive-k3s-infra is the next layer above it.