Repository navigation
local kind vm
The local end-to-end validation cluster (kind-noetl) runs inside
a Podman machine VM named noetl-dev on the developer host.
The kind node is the rootful noetl-control-plane container inside
that VM. The node container does not auto-restart if the VM
reboots, so treat VM restarts as cluster-destroying events and avoid
them while a cluster is live.
| Property | Value |
|---|---|
| Machine name | noetl-dev |
| Hypervisor | applehv |
| CPU / RAM / disk | 6 vCPU / 20 GiB RAM / 200 GiB disk |
| Guest OS | Fedora CoreOS (43.x) |
| Root filesystem | xfs on /dev/vda4
|
| SSH user |
root (passwordless sudo) |
| Port mappings | per ci/kind/config.yaml — server localhost:8082, gateway localhost:8090, postgres localhost:54321
|
The VM originally shipped with swap = 0. Heavy Rust worker
builds (noetl-worker, noetl-server) peak well past available
RAM on a 20 GiB box, so with no swap the kernel hard-OOM-kills the
build (and has taken pods down under build load) instead of
degrading gracefully. A swapfile gives the box a safety cushion.
What was added:
| Property | Value |
|---|---|
| Swapfile | /var/swapfile |
| Size | 8 GiB |
| Allocation |
dd (not fallocate — xfs swapfiles need a real allocation; fallocate leaves holes swapon rejects) |
| Permissions |
0600, root-owned |
vm.swappiness |
10 (swap is a cushion, not a first resort) |
| Persistence |
/etc/fstab entry + /etc/sysctl.d/90-swappiness.conf (both under /etc, which persists on CoreOS) |
/var and /etc are the writable, persistent trees on Fedora
CoreOS (the ostree root is otherwise immutable), so a swapfile in
/var plus an fstab entry survives reboots and ostree updates.
If noetl-dev is ever destroyed and recreated, the swap is gone —
re-add it live (no VM restart needed; swapon takes effect
immediately):
podman machine ssh noetl-dev -- '
dd if=/dev/zero of=/var/swapfile bs=1M count=8192 status=none
chmod 600 /var/swapfile
mkswap /var/swapfile
swapon /var/swapfile
sysctl -w vm.swappiness=10
printf "vm.swappiness=10\n" > /etc/sysctl.d/90-swappiness.conf
grep -q "^/var/swapfile" /etc/fstab || echo "/var/swapfile none swap sw 0 0" >> /etc/fstab
systemctl daemon-reload
'Adding the fstab line + systemctl daemon-reload makes
systemd-fstab-generator emit a var-swapfile.swap unit, so the
swap comes back on the next boot without further action. Verify:
podman machine ssh noetl-dev -- 'free -h; swapon --show; sysctl vm.swappiness'
podman machine ssh noetl-dev -- 'systemctl is-active var-swapfile.swap'Adding swap live does not require podman machine stop/start —
never restart the machine to enable swap while a kind cluster is
running, because the noetl-control-plane node container will not
come back on its own.
-
agents/rules/deployment-validation.md— the kind-first validation policy this VM serves. -
ci/kind/config.yaml— kind node + port-mapping config.
Ops
Manifests
Local dev
Monitoring
Automation
See also
- noetl/noetl wiki (app)
- noetl/docs (design docs)