Aleph-vm 1.0
We are excited to announce our release candidate for aleph-vm
in version 1.0 !
The team has been working hard to ship this major new release.
This new release brings both exciting new features, such as the support for Confidential Computing (in beta), and many bug fixes and stability improvements.
As usual, node operators are expected to upgrade to the new release within a 2 weeks windows from the release.
Main changes
Core Functionality and Stability
- Confidential Computing: We added support for Confidential Computing on supported hardware (AMD EPYC 8004 and 9004).
- Enhanced Testing: More automated tests and code quality checks improve the reliability and identify potential bugs early.
- Better build process: The build process was streamlined, ensuring compatibility with different Ubuntu versions and efficient resource management.
- Bug Fixes: Addressed issues with duplicated CORS headers in the HTTP response, ensuring proper handling and preventing CORS-related errors.
- Ubuntu 24.04: We added the support for Ubuntu 24.04 as a host.
In details
- Fix: Pytest did not test legacy diagnostic by @hoh in #603
- Installation documentation was moved to aleph doc by @olethanh in #613
- Problem /about/usage/system was not tested by @olethanh in #609
- Problem: allocation endpoints was not tested by @olethanh in #610
- Fix: Backquote in shell script executed command by @hoh in #611
- Fix: System testing on DO took too many resources by @hoh in #614
- Added Qemu automatic tests by @nesitor in #615
- Fix: Branch
main
could not be tested easily by @hoh in #612 - Fix: Unkwnown hashes raised exception by @hoh in #606
- Use standard system package for ECDSA verification and add tests by @BjrInt in #460
- Added
USE_CONFIDENTIAL_COMPUTING
check by @nesitor in #617 - 601 creating instance tests by @Antonyjin in #616
- Minor code cleanup in check_system_module by @hoh in #621
- Fix: Some dependencies were inconsistent between pyproject.toml and packaging by @hoh in #625
- Fix: No .deb was built for Ubuntu 24.04 by @hoh in #624
- Add platform confidential directory on Settings by @nesitor in #618
- Implement get platform certificates endpoint by @nesitor in #619
- Fix: Correct string formatting in VM startup response by @1yam in #631
- Fix: Orchestrator failed with
assert result["result"] == HTTPOk.status_code
by @hoh in #628 - Problem: Crash when trying to auth via websocket by @olethanh in #630
- Fix: CI Droplet cleanup failed when same name was used by @hoh in #633
- Fix:
make clean
did not cleanup all resources by @hoh in #634 - Update test and linting dependencies by @hoh in #623
- Fix: Binary
sevctl
was absent from debian packages by @hoh in #629 - Disable printing system logs on deb package as per default configuration recommendation by @aliel in #640
- Add more information on testing for devs by @olethanh in #642
- Add test for the reboot endpoint by @olethanh in #635
- Problem : Log was not working on system. Unify logging method by @olethanh in #644
- Fix: Path to
sevctl
was not from settings by @hoh in #637 - Fix: CRN API did not expose CPU features for trusted computing by @hoh in #622
- Problem: Websocket were required to fetch logs by @olethanh in #645
- Improve instances code by @nesitor in #654
- Fix: AttributeError: 'MicroVM' object has no attribute 'send_shutdown_message' by @hoh in #653
- Implement Confidential Computing by @olethanh in #650
- Problem: sevctl command was not tested on the proplet by @olethanh in #651
- Add missing
cpuid
dependency by @nesitor in #656 - Solve Websocket error handling by @nesitor in #657
- Small fixes noticed on new installations. by @nesitor in #659
- Solve Firecracker reboot issues by @nesitor in #658
- Allocate endpoint allow starting confidential with hold payment method by @olethanh in #660
- Fix: error when user balance is zero and no remaining executions to r… by @olethanh in #661
- Start documentation on confidential by @olethanh in #655
- Enable Qemu support by default by @nesitor in #662
- Fix: Droplet with Ubuntu 24.04 was not tested by @hoh in #663
- Update confidential README.md by @hoh in #664
- Fix wrong balance endpoint by @philogicae in #666
- CoCo image: Improve example user creation by @olethanh in #669
- Mitigate concurrency issues by @olethanh in #670
- Add duration info to pytest by @olethanh in #671
- Problem: Vm execution failed due to network interface by @olethanh in #596
- Do not reuse the id of any vm in pool.executions by @olethanh in #672
- Problem: Login token was not display with default conf by @olethanh in #673
- Problem: status_check_fastapi endpoint raising eror by @olethanh in #676
- Fix is_confidential property by @olethanh in #674
- Problem: Websocked auth for fail user was not returning error by @olethanh in #675
- Solve failing tests on main branch by @nesitor in #678
- Check message status before checking the payment by @nesitor in #679
- Solve duplicated network issues for ephemeral VMs by @nesitor in #680
- Fix: Update new
aleph-message
package version. by @nesitor in #683
New Contributors
- @philogicae made their first contribution in #666
Full Changelog: 0.4.1...1.0.0
How to upgrade
1. Upgrade the packages
This part did not change, download and install the new package as usual.
On Debian 11 (Bullseye):
rm -f /opt/aleph-vm.debian-11.deb
wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/1.0.0/aleph-vm.debian-11.deb
apt install /opt/aleph-vm.debian-11.deb
On Debian 12 (Bookworm):
rm -f /opt/aleph-vm.debian-12.deb
wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/1.0.0/aleph-vm.debian-12.deb
apt install /opt/aleph-vm.debian-12.deb
On Ubuntu 22.04 (Jammy Jellyfish):
rm -f /opt/aleph-vm.ubuntu-22.04.deb
sudo wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/1.0.0/aleph-vm.ubuntu-22.04.deb
sudo apt install /opt/aleph-vm.ubuntu-22.04.deb
On Ubuntu 24.04 (Noble Numbat):
rm -f /opt/aleph-vm.ubuntu-24.04.deb
sudo wget -P /opt https://github.com/aleph-im/aleph-vm/releases/download/1.0.0/aleph-vm.ubuntu-24.04.deb
sudo apt install /opt/aleph-vm.ubuntu-24.04.deb
2. Enable Confidential Computing (optional)
In order to enable Confidential Computing on our Compute Resource Node, you must:
- Use an AMD CPU from the 8004 or 9004 families.
- Ensure that your system supports confidential computing. We have only tested Ubuntu 24.05 so far.
- Enable SEV and SEV-SNP in the BIOS.
- Enable confidential computing in the
aleph-vm
configuration.
Enable SEV in the configuration of aleph-vm
, by default in /etc/aleph-vm/supervisor.env
. This is not the default yet.
ALEPH_VM_ENABLE_CONFIDENTIAL_COMPUTING=True
After launching the server you can check the endpoint
http://localhost:4020/status/config
or https://<your-node-domain>/status/config
and verify that ENABLE_CONFIDENTIAL_COMPUTING
has the value true
.