Repository navigation
Releases
v0.2.4
v0.2.3
v0.2.2
What's Changed
- Security hardening: code scanning, file permissions, pinned downloads, install ownership by @AlexM566 in #28
- Bump @testing-library/user-event from 14.6.9 to 14.6.10 in /web in the web group by @dependabot[bot] in #33
New Contributors
- @dependabot[bot] made their first contribution in #33
Full Changelog: v0.2.1...v0.2.2
v0.2.1
v0.2.0
This is the first public release of Nano Cloud: your own cloud, on hardware you own.
It's one static binary that runs the daemon, the API and the web console. On a Linux host with KVM it manages virtual machines through libvirt; on an Apple silicon Mac it uses Apple's Virtualization framework.
Install
curl -fsSL https://raw.githubusercontent.com/nanocloud-io/nanocloud/main/install.sh | sudo shThe installer checks this release's GPG signature and checksum before it runs anything, installs libvirt and QEMU on Linux, and prints the address, the certificate's fingerprint and a generated password. See the install guide, or try the live demo first.
What's in it
- VMs from cloud images (Ubuntu, Debian, Fedora, Alpine and others), with a login and SSH key set on first boot, a browser console (VNC or serial), snapshots, clones and extra disks.
- Services: recipes for PostgreSQL, MySQL, S3 storage, a Kubernetes cluster and Prometheus with Grafana, which provision VMs and hand you a connection string.
- On Linux, your own hardware: PCI and USB passthrough, CPU pinning, UEFI with Secure Boot and TPM, and NAT, bridged or VLAN networking (which to pick).
- One login and API tokens, over HTTPS with a certificate made on your machine.
VMs come back on their own. After a power cut or a crash, every VM you asked to run is started again with back-off, and one whose definition is lost is rebuilt from its spec. The activity feed says what happened.
Updates happen when you run them. The console shows when a release is out, and sudo nanocloud update installs it after checking its signature, putting the previous binary back if the new one doesn't come up.
Upgrading from a 0.1.x build
Releases are signed with the same key. On 0.1.77, sudo nanocloud update moves the host to this release. Older builds have no update command, so run the install command above over them. Either way, VMs and disks are kept.
Known limits
- A Mac runs VMs on NAT only, with no passthrough or TPM.
- The Linux ARM64 build can't create VMs yet.
- The JSON API isn't versioned before 1.0 and can change between releases.
I'd like to hear how it goes for you. Questions and ideas go to Discussions. Please report security issues privately, as SECURITY.md describes.