@@ -13,7 +13,7 @@ terraform {
13
13
14
14
variable "step1_do_token" {
15
15
type = string
16
- description = " Enter token (refer to docs at ... )"
16
+ description = " Enter token (see documentation at https://docs.digitalocean.com/reference/api/create-personal-access-token/ )"
17
17
sensitive = true
18
18
19
19
validation {
@@ -24,7 +24,11 @@ variable "step1_do_token" {
24
24
25
25
variable "step2_do_project_id" {
26
26
type = string
27
- description = " Enter project ID (see e.g. doctl projects list)"
27
+ description = <<- EOF
28
+ Enter project ID
29
+
30
+ $ doctl projects list
31
+ EOF
28
32
sensitive = true
29
33
30
34
validation {
@@ -33,7 +37,20 @@ variable "step2_do_project_id" {
33
37
}
34
38
}
35
39
40
+ variable "step3_do_admin_ssh_key" {
41
+ type = number
42
+ description = <<- EOF
43
+ Enter admin SSH key ID (some Droplet images require an SSH key to be set):
44
+
45
+ Note: Leaving this as zero will break Fedora images and notify root passwords via email.
46
+
47
+ $ doctl compute ssh-key list
48
+ EOF
49
+ sensitive = true
50
+ }
51
+
36
52
variable "droplet_image" {
53
+ type = string
37
54
description = " Which Droplet image would you like to use for your workspace?"
38
55
default = " ubuntu-22-04-x64"
39
56
validation {
@@ -43,7 +60,9 @@ variable "droplet_image" {
43
60
}
44
61
45
62
variable "droplet_size" {
63
+ type = string
46
64
description = " Which Droplet configuration would you like to use?"
65
+ default = " s-1vcpu-1gb"
47
66
validation {
48
67
condition = contains ([" s-1vcpu-1gb" , " s-1vcpu-2gb" , " s-2vcpu-2gb" , " s-2vcpu-4gb" , " s-4vcpu-8gb" , " s-8vcpu-16gb" ], var. droplet_size )
49
68
error_message = " Value must be s-1vcpu-1gb, s-1vcpu-2gb, s-2vcpu-2gb, s-2vcpu-4gb, s-4vcpu-8gb or s-8vcpu-16gb."
@@ -61,7 +80,9 @@ variable "home_volume_size" {
61
80
}
62
81
63
82
variable "region" {
83
+ type = string
64
84
description = " Which region would you like to use?"
85
+ default = " ams3"
65
86
validation {
66
87
condition = contains ([" nyc1" , " nyc2" , " nyc3" , " sfo1" , " sfo2" , " sfo3" , " ams2" , " ams3" , " sgp1" , " lon1" , " fra1" , " tor1" , " blr1" ], var. region )
67
88
error_message = " Value must be nyc1, nyc2, nyc3, sfo1, sfo2, sfo3, ams2, ams3, sgp1, lon1, fra1, tor1 or blr1."
@@ -101,6 +122,8 @@ resource "digitalocean_droplet" "workspace" {
101
122
init_script = base64encode (coder_agent. dev . init_script )
102
123
coder_agent_token = coder_agent.dev.token
103
124
})
125
+ # Required to provision Fedora.
126
+ ssh_keys = concat ([], var. step3_do_admin_ssh_key > 0 ? [var . step3_do_admin_ssh_key ] : [])
104
127
}
105
128
106
129
# resource "digitalocean_project_resources" "project" {
0 commit comments