June 18, 2026
The thing we teased in 1.4 is here: Kubernetes on Raff. We also rebuilt the entire compute experience, changed how storage is billed for the better, opened the platform up with an API, CLI, and Terraform provider, and fixed a long list of things you told us about.
☸️ Managed Kubernetes: Now Available NEW
This is the headline of the release. You can now deploy and run production Kubernetes clusters directly from the dashboard. No control-plane setup, no wrangling kubeconfigs to get started. Pick your nodes and deploy.
Free control plane, pay only for what runs
The control plane is free. You only pay for your worker nodes, billed exactly like any other compute (subscription or pay-as-you-go). If you need resilience, you can add a high-availability control plane for a flat $30/mo. Your monthly cost is shown live as you build the cluster, so there are no surprises.
Guided create wizard
A new six-step wizard walks you through everything: cluster name and Kubernetes version, networking (pod and service CIDRs), your worker node plan, optional storage nodes, and add-ons. A live summary and cost rail updates as you go, so you always know the size and price of what you're about to deploy before you commit.
Node pools, labels, taints, and autoscaling
Organize your workloads with node pools. Set per-pool minimum and maximum sizing, attach labels and taints to control scheduling, and turn on automatic scaling. When pods can't be scheduled because the cluster is short on CPU or memory, Raff adds worker nodes up to your maximum; when usage stays low for a sustained period, it scales back down to your minimum. Extra nodes added by autoscaling are metered hourly, so your committed subscription size never changes underneath you. Scaling reacts to pods that are already waiting on capacity, so expect a short reaction window of a few minutes rather than instant or predictive scaling.
Dedicated storage nodes for persistent volumes
Need persistent storage for stateful workloads? Add up to three dedicated storage nodes, each sized 100 to 1000 GB, and Longhorn is enabled automatically. Storage capacity is provisioned and grown to the size you choose, and the cost is folded into your cluster's monthly total. Clusters without storage nodes simply skip Longhorn, so there's no half-configured storage driver sitting idle.
A real detail page for every cluster
Each cluster gets a full detail view with dedicated tabs:
-
Overview: cluster health, KPIs, and a live events timeline that streams provisioning progress from 5% to 100%.
-
Nodes: every node with its role and live status.
-
Pools: manage your node pools.
-
Workloads: see what's running across your namespaces.
-
Metrics: live CPU and memory for the cluster and each node, refreshed automatically.
-
Logs: a built-in log terminal with pause and download.
-
Settings: rename the cluster, manage the firewall, and a danger zone for teardown.
If a cluster ever becomes unreachable, the dashboard tells you clearly instead of showing stale data. Every cluster also ships with a curated secure baseline firewall that actually enforces. See the bug fixes below for why that matters.
🖥️ Compute, Rebuilt IMPROVED
We rebuilt the compute list and every VM detail tab to match our new design language. It's cleaner, faster, and shows you more of what matters at a glance.
Live CPU and RAM on the list
Your VM list now shows live CPU% and RAM% straight from each VM, updating in real time, with no page refresh and no polling. New VMs show their specs immediately and the live bars fill in within about a minute as the first stats arrive. High-CPU or high-memory VMs are flagged in red so problems jump out.
Redesigned Resources list
The compute list has a new header with a live summary line, for example 12 VMs · 8 running · 3 regions · $240/mo, that adapts to whichever tab you're on. New filter chips let you narrow to running VMs or a specific region, and a three-way toggle lets you group your fleet by region or tag instead of a flat list. Bulk power actions live in a slide-in action bar. Cells are tidier too: a labelled status pill, a monospace OS chip and IP with one-click copy, and a clean three-row resource readout for vCPU, RAM, and disk. Everything adapts down to tablet and mobile layouts.
Every VM detail tab, polished
-
Information: a two-column Notes card (personal and team notes, with "edited by · time ago").
-
Metrics: a 2×2 chart grid with five time ranges (1h / 6h / 24h / 7d / 30d) and clearer network and disk read/write series.
-
Networking: separate IPv4, IPv6, and VPC cards, with clear reboot warnings when you change firewall assignments.
-
Snapshots & Backups: redesigned single-VM views with a clear free-pool quota strip.
Resize and Actions, refreshed
The Resize tab now shows a side-by-side current vs. new comparison with an exact charge or credit preview before you confirm, and a "Stop VM" button right where you need it with a live "Stopping…" state. The Actions tab gains a graceful Reboot option alongside the existing hard reboot, and we unified the power-cycle naming everywhere so it's consistent and OS-aware: Reboot / Restart for a graceful cycle, Hard reboot / Hard restart for an unresponsive VM.
Faster, flicker-free loading
We reworked loading states across compute and VM detail so you see a single skeleton that matches what's about to render. No more generic placeholder flashing, then a spinner, then the real page.
💾 Storage Free Tier: One Shared Pool NEW
We replaced the old "first 3 backups per VM are free" rule with something simpler and more generous: one shared free-storage pool per account that covers both backups and snapshots.
Every account gets 50 GB free to start, and the pool grows with your fleet. 10% of each standard VM's storage is added to your free pool (15% for premium VMs). You only pay for storage beyond the pool, billed the same way as object storage overage. A new usage card on both the Backups and Snapshots tabs shows exactly how much of your pool you're using, and your VM plan card shows how much free storage each VM contributes.
🔁 Backups & Snapshots IMPROVED
Multiple schedules per VM
You're no longer limited to a single backup schedule per VM. Add as many as you need, for example a daily and a weekly, and they share a common retention setting for that VM.
Retention is now "keep N most recent"
Retention always counted the number of backups to keep, but the UI used to describe it confusingly in days and weeks. It now says exactly what it does, "keep the N most recent," and that count applies to every backup of the VM, including manual ones. Weekly schedules now show a real countdown to the next run, just like daily.
Backups and snapshots, side by side
Our incremental backups use a storage mechanism that can't run at the same time as disk snapshots on the same VM. Rather than dropping either feature, we made the rule one-directional and self-healing. While a VM is using backups, taking a new disk snapshot is blocked, and the Snapshots tab explains why with a one-click link over to Backups. The moment you remove the last backup, snapshots work again automatically. Backups are never blocked by snapshots.
⌨️ Persistent Terminal Sessions IMPROVED
Browser terminals used to drop into a permanent error after 20 to 30 minutes and lose your shell. Not anymore. Your shell now persists across disconnects, and the browser automatically re-attaches to the same session with smart reconnection. Kill the connection, redeploy, or go idle for half an hour, and your long-running commands keep running so you pick up right where you left off. Clicking Disconnect still ends the session cleanly.
🔒 VM Security Tab IMPROVED
The cloud firewall is now a first-class part of the VM Security tab instead of a read-only table tucked at the bottom. It sits at the top as the primary surface, with one card per public network interface. You can assign, edit, and delete firewall rules right from VM detail, and an unprotected interface is clearly flagged with an "Open to internet" warning and a one-click way to lock it down. Rule changes are reflected immediately without a page refresh, and the edit dialog reminds you that rule changes take effect after a full power cycle.
💳 Billing Improvements IMPROVED
Cancelled subscriptions disappear cleanly. Fully cancelled subscriptions are now hidden from your billing view right away instead of lingering for a month. Subscriptions set to not renew still show their "Won't renew · Ends [date]" state, and you can still resume them, until the period actually ends.
Kubernetes shows up properly. Kubernetes clusters now appear in your billing and subscriptions with their real cluster name and a readable "Kubernetes" type, just like VMs and volumes, instead of a raw internal label.
🔌 API, CLI & Terraform: Drive Raff Programmatically NEW
You can now build on Raff three ways: a REST API, a command-line tool, and a Terraform provider. All three talk to the same public API, use the same API-key authentication, and respect the same role-based scoping, so a key you create once works everywhere.
Public REST API (Beta)
The Raff public API is live in beta. Authenticate with an X-API-Key header against https://api.rafftechnologies.com, and manage compute, storage, networking, and your team and access controls programmatically. The endpoint surface is stable, with an interactive playground in the docs to try calls before you write code. Generate a key from the dashboard under Team & Projects, then API Keys.
Raff CLI
raff is a single static binary for macOS, Linux, and Windows that wraps the full public API for the terminal. It's built for one-off operations, scripts, and CI/CD pipelines, and it covers the full lifecycle for VMs, volumes, snapshots, backups, VPCs, public IPs, firewalls, SSH keys, projects, and IAM. Install it with go install github.com/RaffTechnologies/raff-cli/cmd/raff@latest or a release binary, run raff configure, and create a VM with raff vm create --name web-01 --template-id <uuid> --pricing-id 9 --region us-east. Every command supports --output json for piping into your own tooling, and named profiles let you keep prod, staging, and dev credentials side by side.
Terraform Provider
For infrastructure as code, the Raff Terraform provider is published on the Terraform Registry as RaffTechnologies/raff, with 14 resources spanning compute, storage, networking, and IAM, plus 25+ data sources for discovery and pricing. Version your VM, project, and networking definitions in git, review them in pull requests, and apply them with terraform apply.
The CLI is imperative and the provider is declarative, so use whichever fits the job. Kubernetes and Object Storage are still rolling out at the API level and will reach the CLI and Terraform once those endpoints stabilize.
🐛 Bug Fixes
Reinstall OS keeps your public IP: Reinstalling a VM's OS now reliably detaches and re-attaches your public IP. Previously, in rare cases where the interface didn't fully detach, a reinstall could fail with an "address in use" error or leave the VM in a broken state. It now fails fast and rolls back cleanly instead.
Reinstall OS keeps your IPv6: A VM with a separate public IPv6 address could lose it during a reinstall and come back IPv4-only. The IPv6 address is now preserved through the entire reinstall.
Kubernetes firewall now actually enforces: Cluster firewalls looked applied but weren't blocking anything, because a default "allow-all" rule was silently overriding the secure baseline. We now strip that default rule on every cluster, and existing clusters self-heal automatically. Your cluster firewall rules now do what they say.
Incremental backup chains no longer over-delete: When the base of an incremental backup chain expired, cleanup could delete the entire chain, including newer restore points that were still valid. Cleanup now only removes a backup once every restore point on it has expired, and chains are rotated periodically to keep them healthy.
Snapshot revert and delete error fixed: Reverting or deleting a snapshot could fail with an internal error. Fixed.
Long VM names no longer break dialogs: The Create Snapshot and backup/snapshot dialogs could overflow and look broken for VMs with very long names. Fixed.
Email changes propagate everywhere: Changing your login email updated some places but not others, so invoices and payment emails could still go to your old address. Your new email now updates across your account, billing, and notification preferences in one step.
Account deletion is safe: Deleting an account could previously leave an active subscription orphaned or fail half-way if you still had resources attached. Deletion now clearly blocks while you have active subscriptions or live resources such as VMs, clusters, buckets, reserved IPs, or an unpaid balance, and it tells you exactly what to clean up first. Nothing is deleted until your account is clear.
Pro-rata refunds are accurate: Refunds and credits when you delete a subscription are now precise to the hour instead of rounding to the start of the day, and we closed a gap that could over-credit you for an unpaid period during a payment grace window.
Coming Soon
-
🗄️ Managed Databases: Managed PostgreSQL on Raff infrastructure.
-
🚀 Raff Serverless Apps: Continued work toward one-click app and function deployment.
-
🏪 New Marketplace Templates: More apps coming. Tell us what you need.
-
🔑 API, CLI & Terraform enhancements: The public API is in beta and improving steadily; Kubernetes and Object Storage endpoints (and their CLI and Terraform support) are next.
Managed Kubernetes, a rebuilt compute experience, simpler storage billing, terminals that survive disconnects, a full developer platform, and dozens of reliability fixes. More coming fast.