kcore is an API-first virtualization platform built for operators who want a cleaner, more programmable way to manage VMs. Declarative configuration, automation-friendly design, and a modern control plane.
# Define a VM declaratively
resource "kcore_vm" "web" {
name = "web-server"
memory = 4096
vcpu = 4
storage = "50GB"
}
Virtualization platforms haven't kept up with how operators actually work
Every operation is available through a gRPC API. No more clicking through web UIs to do what a script should handle.
Define your infrastructure as code. Version control your VMs, networks, and storage. Reproduce environments reliably.
Designed from the ground up so tools, scripts, and agents can manage infrastructure without human intervention.
The host OS is immutable. Updates are atomic with instant rollback. No more broken nodes after a bad upgrade.
Go control plane, gRPC APIs, NixOS-based host. No legacy PHP, no Perl scripts, no decades of accumulated cruft.
AI agents are first-class citizens. The platform is designed so automation agents can interact with it naturally through APIs and declarative workflows.
Proxmox works. But it was designed in a different era. kcore starts fresh with the assumption that infrastructure should be programmable, reproducible, and managed by software — not just by humans clicking through a web UI.
The API is the primary interface. The UI is a consumer of the API, not the other way around.
Describe what you want. kcore converges to that state. No imperative step-by-step provisioning.
The platform is designed so AI agents and automation tools can control it through the same APIs humans use. Machine-friendly by default.
Written in Go. No legacy dependencies. No accumulated technical debt from two decades of patches.
$ kctl get vms
NAME STATUS NODE MEMORY VCPU
web-server running node-01 4096MB 4
staging-db running node-02 8192MB 8
dev-env stopped node-01 2048MB 2
$ kctl describe vm web-server
Name: web-server
Status: running
Node: node-01
Memory: 4096 MB
vCPU: 4 cores
Storage: 50 GB (local-lvm)
Network: 192.168.122.100
$ █
Honest about where we are
kcore is under active development. Core functionality is being built and tested. APIs and interfaces may change without notice.
Built for people who think about infrastructure differently
You run your own hardware and want something cleaner than Proxmox without the complexity of OpenStack. You value simplicity and control.
You manage a handful of servers for clients or at edge locations. You need something lightweight, scriptable, and easy to reason about.
You want to manage VMs the same way you manage everything else — through APIs, version-controlled config, and automation pipelines.
You're comfortable running alpha software. You want to shape the direction of a new virtualization platform and give feedback that matters.
Define your infrastructure with clean, readable code
resource "kcore_vm" "example" {
name = "debian12-test"
cpu = 1
memory_bytes = 2147483648 # 2GB
image_uri = "https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-generic-amd64.qcow2"
enable_kcore_login = true
nic {
network = "default"
model = "virtio"
}
}
apiVersion: kcore.io/v1
kind: VM
metadata:
name: debian12-test
spec:
cpu: 1
memory: 2G
image: https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-generic-amd64.qcow2
enableKcoreLogin: true
nics:
- network: default
model: virtio
kcore is alpha software. We're looking for early testers, design partners, and operators who want to help shape a modern virtualization platform.
Suitable for experimentation, home labs, and early design partners only. Not for production use.