
Build RKE2 clusters you can repeat, resume and account for¶
Malmok turns a cluster.yaml and SSH access into an RKE2 cluster on
infrastructure you control. It measures before changing, resumes interrupted
runs and leaves evidence an operator can hand over.
Bare metal · VMs · On-premises · DMZ · Air-gapped (partly verified)
Alpha software
Try Malmok in a homelab or an evaluation environment and send feedback. Before using it for work, read the verification scope and its limits.
Single-node and two-node clusters are verified repeatedly on real
hardware, upgrade, resume and re-apply included. Three-server HA, proxy
networks and external registry mirrors are not. The air-gapped path is
verified: RKE2, the charts and every image from carried files, with egress
dropped. The document schema is v1alpha1 and can change between minor
releases.
The version is a compatibility promise, not a maturity score. 1.0 is
when the schema becomes v1 and the rows marked not verified say
otherwise.
Is Malmok for you?¶
Start with existing Linux machines and SSH access. Malmok helps you build and manage RKE2 from a configuration file, whether the cluster is yours or your team's.
Personal projects and homelabs¶
For running your own RKE2 cluster on home servers, mini PCs or personal VMs:
- Rebuild from a configuration file without looking up manual installation steps each time.
- Reduce repetitive setup when experimenting with nodes or reinstalling a lab.
- Start from your workstation with SSH and a CLI, without a separate management cluster.
Work and team environments¶
For solution vendors, systems integrators and deployment engineers who repeatedly deliver software to customer-provided servers, as well as internal infrastructure teams. RKE2 has been selected, but the cluster foundation still needs to be built.
- Standardize RKE2 setup across customer sites when delivering AI, document-processing, search or data platforms.
- Check real node conditions and blockers before making changes.
- Resume interrupted builds and keep execution records for review and handoff.
- Prepare for a restricted network after checking the supported air-gap conditions.
Air-gap requirements → · Upgrade and recovery →
This can include public-sector and state-owned enterprise delivery projects with the same starting conditions. It is a deployment use case, not a claim of procurement eligibility or security certification. Customer-site suitability and responsibilities →
Malmok is alpha software. Both groups should review the verification scope before adoption; these use cases are not a production-readiness guarantee. It does not provision VMs or replace general configuration management or application deployment tools.
-
Measure first
Bind real listeners, dial from peers and inspect the nodes before a mutating phase begins.
-
Resume safely
Continue an interrupted phase instead of rebuilding a half-finished cluster from the beginning.
-
Audit the result
Keep JSONL events, stable diagnostic codes and a handoff report describing what ran and why.
Install¶
The command is the same in Bash and Fish. The downloaded installer runs under
POSIX sh, selects the release for Linux or macOS and amd64 or arm64, and
checks the binary against the published SHA256SUMS.
Review all installation options →
Start with the wizard¶
After installing Malmok, run the wizard without creating a configuration file:
Enter your node addresses and SSH access details. The wizard creates
cluster.yaml and guides you through checks and installation.
Configuration files for repeatable runs¶
This is an alternative to the wizard, not a prerequisite for it.
Save the following as cluster.yaml, replacing the documentation address,
SSH account, key and RKE2 version with values from your environment.
apiVersion: malmok.dev/v1alpha1
kind: ClusterSpec
metadata:
name: my-cluster
profile: homelab
network:
mode: online
topology:
registrationAddress: 192.0.2.10
acceptNodeRegistration: true
servers:
- host: 192.0.2.10
ssh:
user: ubuntu
privateKey: file://~/.ssh/id_ed25519
kubernetes:
version: v1.36.3+rke2r1
The homelab profile supplies the Cilium dataplane, Gateway API and local-path
storage. malmok plan prints every resolved value and where it came from.
# Validate the document without contacting a node
malmok plan -f cluster.yaml --validate-only
# Measure the nodes without changing them
malmok preflight -f cluster.yaml
# Review the resolved plan
malmok plan -f cluster.yaml
# Build, then inspect the handoff report
malmok apply -f cluster.yaml
malmok report
See the complete flow¶
The recording uses demo mode, so it touches no node. The same engine runs a
real build with malmok apply -f cluster.yaml.

One tool, a clear boundary¶
Malmok prepares hosts and installs RKE2, the dataplane, Gateway API, cert-manager, Argo CD and a VictoriaMetrics stack. It does not provision machines, change firewall policy or deploy your applications.
If you need general configuration management, use Ansible. If you already run a management cluster and Cluster API, CAPRKE2 may be a better fit. Malmok is for the operator starting from SSH-reachable machines who wants no management controller or node agent left behind.
Read the FAQ and tool comparisons →
Why “말목”?¶
말목 (malmok, roughly “mal-mok”) is a Korean word for a wooden stake
driven firmly into the ground to mark a boundary or reinforce a foundation.
The name reflects the job: anchor the first server, then bring the cluster
together around a dependable base.