v0.52.0-alpha.1
Pre-releaseWorkspace Management Rework
TL;DR
- Targets now have state (e.g. Daytona is aware of the state of the EC2 instance used by the AWS provider)
- Workspaces can be created/deleted on running targets (e.g. No more need to create an EC2 instance for every workspace. Keep one running and add workspaces to it)
- Remote runners can offload jobs to remote machines
- Use workspace labels to group workspaces and filter them with
daytona ls --label
- If you want to help us test this major update, jump straight into the
How to test section
below
Description
Projects have been renamed to Workspaces.
Workspaces have been renamed to Targets
Targets have been renamed to Target Configs.
Project configs have also been renamed to Templates; e.g. daytona template list
Workspaces have been "detached" from targets - they can now be created inside and deleted from targets removing the
need to provision a new target whenever creating a workspace.
Resource state management issues have been resolved - new resource states regarding starting/stopping/deleting workspaces or e.g. running builds are introduced.
Issues for a "remote provisioner" and "remote image builder" have been solved by introducing Runners - a standalone mode/component in charge of asynchronously fetching and running workspace/target/build creation and other processes.
This allows users to e.g. create a remote VM, install Daytona and connect it to the existing Daytona Server to create workspaces. Local provisioning/building is managed by the Local Runner which can be disabled through the Daytona
Server configuration.
Runners are responsible for managing providers and each one has its own set of providers. When creating target configs, users are prompted to choose a runner to link it to.
Introduced Workspace Labels allowing workspaces to be grouped and filtered by user-defined text fields.
It is now possible to SSH into targets and use the Daytona binary inside of them to view info and read logs.
Container registries are no longer managed through a CLI command and are now managed by environment variables instead
Purging Daytona now delegates removal of Resources (workspaces, targets, builds) to the user because they are now treated independently.
Telemetry has been updated/improved to match the changes.
CLI commands arguments and aliases have been made to be more consistent.
README.md has been redone to adhere to the changes and trimmed of a large amount of the content.
How to test?
To start, you will need to remove the entire Daytona configuration from your system with daytona purge
or:
Linux:
rm -rf ~/.config/daytona
Mac:
rm -rf ~/Library/Application\ Support/daytona
Windows (PowerShell):
Remove-Item -Recurse -Force "C:\Users\<USERNAME>\AppData\Roaming\daytona"
Next, you can update to this version of Daytona by running:
curl -sfL get.daytona.io | DAYTONA_SERVER_VERSION=v0.52.0-alpha.1 sudo -E bash
To start the server for the first time, please use this command:
DEFAULT_REGISTRY_URL=https://download.daytona.io/daytona-providers-pre-release daytona server -y
** You can skip the DEFAULT_REGISTRY_URL
on subsequent starts. It's only important to set it for the first time
Available providers to test with this release are:
- Docker
- AWS
- DigitalOcean
Installing other providers will cause the server to malfunction at the moment. We are working on updating the rest of them.
If you want to test remote runners, run:
daytona server runner create
You will get a command that you can run to configure and start a remote runner.
When reporting issues, please make sure to mention the version in the description.
Full Changelog: v0.51.0...v0.52.0-alpha.1