github.com/filecoin-project/bacalhau@v0.3.23-0.20230228154132-45c989550ace/ops/terraform/variables.tf (about) 1 variable "bacalhau_version" { 2 type = string 3 } 4 # allows deploying bacalhau from a specific branch instead of a release 5 variable "bacalhau_branch" { 6 type = string 7 default = "" 8 } 9 variable "bacalhau_port" { 10 type = string 11 } 12 # used to quickly provision a connected cluster using the unsafe private key 13 # IMPORTANT - only use this for test clusters or stress test clusters 14 # it will result in node0 having an unsafe private key 15 variable "bacalhau_unsafe_cluster" { 16 type = bool 17 default = false 18 } 19 # these are used for long lived clusters that have already been bootstrapped 20 # and the node0, node1 and node2 ids are derived from a persisted known private key 21 variable "bacalhau_node_id_0" { 22 type = string 23 default = "" 24 } 25 variable "bacalhau_node_id_1" { 26 type = string 27 default = "" 28 } 29 variable "bacalhau_node_id_2" { 30 type = string 31 default = "" 32 } 33 variable "ipfs_version" { 34 type = string 35 } 36 variable "gcp_project" { 37 type = string 38 } 39 variable "machine_type" { 40 type = string 41 } 42 variable "instance_count" { 43 type = string 44 } 45 variable "volume_size_gb" { 46 type = number 47 } 48 variable "boot_disk_size_gb" { 49 type = number 50 default = 10 51 } 52 // should we add delete protection to public ip addresses and disks? 53 variable "protect_resources" { 54 type = bool 55 default = true 56 } 57 // should we automatically make subnets (for long lived clusters) 58 // set to false if this is a short lived cluster 59 variable "auto_subnets" { 60 type = bool 61 default = false 62 } 63 variable "restore_from_backup" { 64 type = string 65 default = "" 66 } 67 variable "region" { 68 type = string 69 } 70 variable "zone" { 71 type = string 72 } 73 variable "ingress_cidrs" { 74 type = set(string) 75 default = [] 76 } 77 variable "ssh_access_cidrs" { 78 type = set(string) 79 default = [] 80 } 81 82 // Out of a total of var.instance_count machines, how many do you want to be GPU machines? 83 // I chose this, rather than making a new pool of machines, to maintain configuration parity 84 variable "num_gpu_machines" { 85 type = number 86 default = 0 87 } 88 89 // Number of GPUs attached to each machine 90 variable "num_gpus_per_machine" { 91 type = number 92 default = 1 93 } 94 95 // The sku of the GPU 96 variable "gpu_type" { 97 type = string 98 default = "nvidia-tesla-t4" 99 } 100 101 // The machine type to attach the GPU to. Unfortunately not all machines support attaching GPUs. I suggest using the UI to figure this out. 102 variable "gpu_machine_type" { 103 type = string 104 default = "n1-standard-4" 105 } 106 107 // Grafana: you can find the /api/prom/push URL, username, and password for your metrics 108 // endpoint by clicking on Details in the Prometheus card of the Cloud Portal 109 // https://grafana.com/docs/grafana-cloud/fundamentals/cloud-portal/ 110 // Note: this is not an account-wide API key, but rather a key for Prometheus 111 variable "grafana_cloud_prometheus_api_key" { 112 type = string 113 default = "" 114 sensitive = true 115 } 116 117 variable "grafana_cloud_prometheus_user" { 118 type = string 119 default = "" 120 } 121 122 // Remote Write Endpoint 123 // e.g. https://prometheus-prod-01-eu-west-0.grafana.net/api/prom/push 124 variable "grafana_cloud_prometheus_endpoint" { 125 type = string 126 default = "" 127 } 128 129 variable "grafana_cloud_loki_user" { 130 type = string 131 default = "" 132 } 133 134 variable "grafana_cloud_loki_api_key" { 135 type = string 136 default = "" 137 sensitive = true 138 } 139 140 variable "grafana_cloud_loki_endpoint" { 141 type = string 142 default = "" 143 } 144 145 variable "loki_version" { 146 type = string 147 default = "" 148 } 149 150 variable "grafana_cloud_tempo_api_key" { 151 type = string 152 default = "" 153 sensitive = true 154 } 155 156 variable "grafana_cloud_tempo_user" { 157 type = string 158 default = "" 159 } 160 161 variable "grafana_cloud_tempo_endpoint" { 162 type = string 163 default = "" 164 } 165 166 variable "estuary_api_key" { 167 type = string 168 default = "" 169 sensitive = true 170 } 171 172 variable "internal_ip_addresses" { 173 type = list(string) 174 default = [] 175 } 176 177 variable "public_ip_addresses" { 178 type = list(string) 179 default = [] 180 } 181 182 variable "log_level" { 183 type = string 184 default = "debug" 185 } 186 187 // Version number, omit the 'v' prefix 188 variable "otel_collector_version" { 189 type = string 190 default = "" 191 } 192 193 variable "otel_collector_endpoint" { 194 type = string 195 default = "" 196 }