Devsy
Managing your Providers

Manage Providers

The Devsy team maintains providers for popular services such as:

Install these providers with the Devsy CLI:

devsy provider add docker

You can get a list of available 1st party providers by using the command:

devsy provider list --available

Adding a Provider

Devsy Desktop

Open the Providers view and click Add. The provider wizard has four steps:

  1. Select — pick a built-in preset, or enter a GitHub link, provider.yaml URL, or local file path in the Provider Source field below the presets.
  2. Configure — fill in provider-specific options (the form is generated from the provider's schema).
  3. Initialize — Devsy runs the provider init and streams logs.
  4. Done — review the result. Failures show the underlying error.

The ProviderSheet (click any provider in the list) exposes edit settings, switch version, update, delete, rename, set as default, and re-initialize.

The Desktop Application calls devsy provider add PROVIDER under the hood.

Custom Providers

In the Select step, type one of the following into the Provider Source field below the preset grid:

  • A GitHub link to the provider's project
  • A URL to a provider.yaml
  • A file path to a provider.yaml

Devsy CLI

Install any provider from the list with:

devsy provider add docker
devsy provider add podman
devsy provider add kubernetes
devsy provider add apple
devsy provider add microsandbox
devsy provider add lima
devsy provider add orbstack
devsy provider add ssh
devsy provider add aws
devsy provider add azure
devsy provider add gcloud
devsy provider add digitalocean

Multiple providers at the same time

You can use the --name flag to add multiple providers of the same type with different options, for example devsy provider add aws --name aws-gpu -o AWS_INSTANCE_TYPE=p3.8xlarge

From GitHub

You can specify a custom provider, directly from GitHub, by using the format my-username/repo, so for example:

devsy provider add devsy-org/devsy-provider-terraform

Devsy will search the latest release for a provider.yaml and download that automatically. This should work for private GitHub repositories where Devsy will use the local https credentials to connect to the GitHub repository.

If you want to install the provider from a different release, you can do the following:

devsy provider add my-org/my-repo@v0.0.1

From Local Path

If you have locally downloaded providers, you can also add them directly to Devsy, by pointing to the file path of provider.yaml manifest:

devsy provider add ../devsy-provider-mock/provider.yaml

From URL

You can also specify the URL to the provider.yaml file, for example:

devsy provider add https://github.com/devsy-org/devsy-provider-ssh/releases/download/v0.0.3/provider.yaml

Set Provider Options

Each provider defines its own options, so they differ from provider to provider.

Desktop Options

To manage options from the app, head over the Providers section, and click Edit on the provider you want to configure.

CLI Options

Set options during the add or init phase:

devsy provider add <provider-name> -o KEY=value

or

devsy provider init <provider-name> -o KEY=value

To manage options later, list the current values with:

devsy provider get <provider-name>

An example output for the AWS Provider is:

          NAME            | REQUIRED |          DESCRIPTION           |         DEFAULT         |          VALUE
----------------------------+----------+--------------------------------+-------------------------+--------------------------
AGENT_PATH                | false    | The path where to inject the   | /var/lib/toolbox/devsy | /var/lib/toolbox/devsy
                          |          | Devsy agent to.               |                         |
AWS_ACCESS_KEY_ID         | false    | The AWS access key id          |                         |
AWS_AMI                   | false    | The disk image to use.         |                         |
AWS_DISK_SIZE             | false    | The disk size to use.          | 40                      | 40
AWS_INSTANCE_TYPE         | false    | The machine type to use.       | c5.xlarge               | c5.xlarge
AWS_REGION                | true     | The AWS cloud region to create |                         | us-west-2
                          |          | the VM in, e.g. us-west-1      |                         |
AWS_SECRET_ACCESS_KEY     | false    | The AWS secret access key      |                         |
AWS_VPC_ID                | false    | The vpc id to use.             |                         |
INACTIVITY_TIMEOUT        | false    | If defined, will automatically | 10m                     | 10m
                          |          | stop the VM after the          |                         |
                          |          | inactivity period.             |                         |
INJECT_DOCKER_CREDENTIALS | false    | If Devsy should inject docker | true                    | true
                          |          | credentials into the remote    |                         |
                          |          | host.                          |                         |
INJECT_GIT_CREDENTIALS    | false    | If Devsy should inject git    | true                    | true
                          |          | credentials into the remote    |                         |
                          |          | host.                          |                         |

This table is an overview. Change any option with:

devsy provider set <provider-name> --option <KEY>=<VALUE>

For example, to change the disk size from 40GB to 120GB:

devsy provider set aws --option AWS_DISK_SIZE=120

Run devsy provider get aws again to confirm — the VALUE column for AWS_DISK_SIZE now reads 120.

Single Machine Provider

By default, Devsy will use a separate machine for each workspace using the same provider, you can enable Reuse machine in a provider in order to use a single machine for all workspaces.

In the desktop app the option is available in the option management interface for the provider (see section above)

In the CLI you can set this option using:

devsy provider init <provider-name> --single-machine

Default Provider

When you add a provider, you can mark it as the default provider. Devsy then uses it for any workspace you create without specifying another.

In the desktop app, you can set a provider to be default in the option management interface for the provider (see section above)

In the CLI you can set this option using:

devsy provider use <provider-name>

Updating a Provider's Version or Source

List available versions

devsy provider versions <name>

The table shows the published tag, date, and whether it's the currently-installed version. Pass --prerelease to include pre-releases and --no-cache to bypass the version cache.

Re-fetch the current source

devsy provider set-source <name>

Re-resolves the provider's existing source. If the source is a registry entry or a GitHub repo without a pinned tag, this pulls the latest release. If the source is already pinned (e.g. github.com/org/repo@v0.1.0), it re-fetches that same version — use --version to move to a different one.

Pin to a specific version

devsy provider set-source <name> --version v0.2.0

Equivalent inline form (works for GitHub-hosted providers):

devsy provider set-source <name> github.com/my-org/my-repo@v0.2.0

Point at a different source

The set-source command also replaces the provider's source entirely — registry name, GitHub repo, URL, or local path:

devsy provider set-source <name> my-org/my-repo
devsy provider set-source <name> https://path/to/provider.yaml
devsy provider set-source <name> ../path-to/provider.yaml

Desktop

Open the Providers sidebar, select a provider, and use the ProviderSheet:

  • Select version — pick a tag from the versions dropdown to switch versions.
  • Update — jump to the latest release. The button surfaces an "Update available" banner when one is detected.
  • Initialize — re-run provider init (handy after upgrades).

Existing workspaces continue to use the version they were created with. Rebuild a workspace (devsy workspace up <name> --recreate) to pick up the new provider.

Removing a Provider

Devsy Desktop

Navigate to the 'Providers' view and click on the trash icon of the provider you want to remove.

If a workspace is currently using the provider, you'll be prompted to first remove that workspace, in order to then remove the provider.

Devsy CLI

Remove an installed provider with:

devsy provider delete <provider name>

⚠️ BE CAREFUL:⚠️ Remember first to delete any workspace related to this provider first, or move them to another provider, else you'll not be able to interact with the workspace until you re-install the provider used.

Renaming a Provider

You can rename a provider using the devsy provider rename command. All workspaces and machines using the provider continue to work under the new name. Provider configuration, options, and state are fully preserved.

CLI

devsy provider rename <current-name> <new-name>

Example

devsy provider rename my-docker local-docker

Constraints

  • The new name must be unique — it cannot match an existing provider.
  • Provider names can only contain lowercase letters, numbers, and dashes, up to 32 characters.
  • Pro providers (proxy/daemon) cannot be renamed. They are managed by the platform.
  • Workspaces bound to the provider must be stopped before renaming.

What happens

  • The provider is moved to the new name with all options and settings intact.
  • All workspaces and machines associated with the provider are updated to reference the new name.
  • If the provider was the default, the default is updated to the new name.
  • If any step fails, the entire operation is rolled back to the original state.

GUI

  1. Navigate to the Providers section.
  2. Select the provider you want to rename.
  3. In the provider's configuration page, edit the Provider Name field.
  4. Click Update Options to save.

Devsy will update the provider and all associated workspaces automatically.

Community Providers

The community maintains providers for additional services.

Install these providers with the Devsy CLI:

devsy provider add <user/repository>

On this page