Per https://github.com/coder/terraform-provider-coder/releases/tag/v0.23.0 Performs a mechanical rename of existing usage deprecated fields in the latest version of the coder/coder provider. Closes #13382
display_name, description, icon, maintainer_github, verified, tags
| display_name | description | icon | maintainer_github | verified | tags | |||
|---|---|---|---|---|---|---|---|---|
| DigitalOcean Droplet (Linux) | Provision DigitalOcean Droplets as Coder workspaces | ../../../site/static/icon/do.png | coder | true |
|
Remote Development on DigitalOcean Droplets
Provision DigitalOcean Droplets as Coder workspaces with this example template.
Prerequisites
To deploy workspaces as DigitalOcean Droplets, you'll need:
-
DigitalOcean personal access token (PAT)
-
DigitalOcean project ID (you can get your project information via the
doctlCLI by runningdoctl projects list) -
Remove the following sections from the
main.tffile if you don't want to associate your workspaces with a project:variable "step2_do_project_id"resource "digitalocean_project_resources" "project"
-
Optional: DigitalOcean SSH key ID (obtain via the
doctlCLI by runningdoctl compute ssh-key list) -
Note that this is only required for Fedora images to work.
Authentication
This template assumes that coderd is run in an environment that is authenticated
with Digital Ocean. Obtain a Digital Ocean Personal Access
Token and set the
environment variable DIGITALOCEAN_TOKEN to the access token before starting
coderd. For other ways to authenticate consult the Terraform docs.
Architecture
This template provisions the following resources:
- Azure VM (ephemeral, deleted on stop)
- Managed disk (persistent, mounted to
/home/coder)
This means, when the workspace restarts, any tools or files outside of the home directory are not persisted. To pre-bake tools into the workspace (e.g. python3), modify the VM image, or use a startup script.
Note
This template is designed to be a starting point! Edit the Terraform to extend the template to support your use case.