Skip to content

v0.11.0

Choose a tag to compare

@odesenfans odesenfans released this 04 Jun 12:36
· 30 commits to main since this release
2e5a4e9

Highlights

Confidential VMs (aleph instance confidential)

Full confidential (AMD SEV) VM lifecycle support, in both the SDK and the CLI:

  • New subcommands: aleph instance confidential init-session, start, and create (all-in-one), with hash-prefix addressing like the other instance commands.
  • New aleph_sdk::confidential module implementing the SEV-ES launch crypto: HMAC-SHA256 measurement validation (AMD SEV API 6.5.2) and AES-128-CTR secret injection, byte-locked against the aleph-sdk-python fixtures.
  • Stronger than the Python CLI: the platform certificate chain is verified with sevctl verify before session keys are derived (no --insecure bypass), and measurement comparison is constant-time.

GPU instances, end to end

  • aleph instance create --gpu <model> now sizes the VM from the GPU tier's pricing-aggregate minimum; --size, --vcpus, or --memory can raise it above the minimum, and --disk-size defaults to the tier disk.
  • The interactive flow (-i) gained a GPU prompt listing each available model with VRAM and tier.
  • --list-gpus output now explains the per-tier compute-unit definition and points to the create command; sizing errors that match a GPU tier hint at --gpu.

Buy credits with native ETH

aleph credit buy --token eth pays by a plain value transfer to the credit contract; ALEPH and USDC keep their ERC20 path.

Quality of life

  • aleph file upload and aleph program create/update now show a byte-progress bar during uploads (suppressed under --json).
  • The interactive instance create flow can now let the scheduler pick a node automatically (the new default) instead of forcing a specific CRN.
  • New --crn flag accepts either a node hash or a URL on instance lifecycle commands (--crn-url remains as a hidden alias).
  • Lifecycle commands (start, stop, logs, ...) now resolve the CRN automatically for scheduled VMs; --crn-url is no longer required there.
  • CRN allocation failures (e.g. 503 "Insufficient capacity") now surface the CRN's actual error message instead of an opaque serde failure.

Breaking changes (aleph-sdk)

  • CreditToken::token_address() now returns Option<Address> (native ETH has no token contract). Callers must handle None.
  • CreditToken gained the Eth variant; exhaustive matches on it need a new arm.

What's Changed

  • feat(sdk+cli): aleph instance confidential by @odesenfans in #229
  • feat: show progress bar during file uploads to the CCN by @odesenfans in #230
  • docs(cli): replace "tombstone" with plain deletion wording by @odesenfans in #231
  • test(sdk): gate authorization heph tests behind account-evm by @odesenfans in #232
  • feat(cli): allow scheduler-chosen node in interactive instance create by @odesenfans in #233
  • feat(cli): guide users from --list-gpus to the create command by @odesenfans in #234
  • feat(cli): add GPU selection to interactive instance create by @odesenfans in #235
  • feat(cli): size GPU instances from the pricing aggregate minimum by @odesenfans in #236
  • fix(cli): point GPU --size errors at the right namespace by @odesenfans in #237
  • feat(cli): buy credits with native ETH by @odesenfans in #238
  • fix(sdk): surface CRN allocation errors instead of a serde failure by @odesenfans in #239
  • fix(cli): resolve CRN for scheduled VMs without --crn-url by @odesenfans in #240
  • feat(cli): accept a node hash or URL via --crn by @odesenfans in #241
  • test(cli): retry sevctl tests on ETXTBSY by @odesenfans in #242

Full Changelog: v0.10.3...v0.11.0


Published to crates.io