open-nomad/e2e/terraform/variables.tf
Tim Gross 9d37233eaf
e2e: provision cluster entirely through Terraform (#8748)
Have Terraform run the target-specific `provision.sh`/`provision.ps1` script
rather than the test runner code which needs to be customized for each
distro. Use Terraform's detection of variable value changes so that we can
re-run the provisioning without having to re-install Nomad on those specific
hosts that need it changed.

Allow the configuration "profile" (well-known directory) to be set by a
Terraform variable. The default configurations are installed during Packer
build time, and symlinked into the live configuration directory by the
provision script. Detect changes in the file contents so that we only upload
custom configuration files that have changed between Terraform runs
2020-09-18 11:27:24 -04:00

134 lines
3.6 KiB
HCL

variable "name" {
description = "Used to name various infrastructure components"
default = "nomad-e2e"
}
variable "region" {
description = "The AWS region to deploy to."
default = "us-east-1"
}
variable "availability_zone" {
description = "The AWS availability zone to deploy to."
default = "us-east-1a"
}
variable "instance_type" {
description = "The AWS instance type to use for both clients and servers."
default = "t2.medium"
}
variable "server_count" {
description = "The number of servers to provision."
default = "3"
}
variable "client_count" {
description = "The number of clients to provision."
default = "4"
}
variable "windows_client_count" {
description = "The number of windows clients to provision."
default = "1"
}
variable "aws_assume_role_arn" {
description = "The AWS IAM role to assume (not used by human users)"
default = ""
}
variable "aws_assume_role_session_name" {
description = "The AWS IAM session name to assume (not used by human users)"
default = ""
}
variable "aws_assume_role_external_id" {
description = "The AWS IAM external ID to assume (not used by human users)"
default = ""
}
variable "profile" {
description = "A default Nomad/Consul/Vault configuration profile"
type = string
default = ""
}
# ----------------------------------------
# The specific version of Nomad deployed will default to whichever one of
# nomad_sha, nomad_version, or nomad_local_binary is set
variable "nomad_sha" {
description = "The sha of Nomad to provision"
default = ""
}
variable "nomad_version" {
description = "The release version of Nomad to provision"
default = ""
}
variable "nomad_local_binary" {
description = "The path to a local binary to provision"
default = ""
}
# ----------------------------------------
# If you want to deploy multiple versions you can use these variables to
# provide a list of builds to override the values of nomad_sha, nomad_version,
# or nomad_local_binary. Most of the time you can ignore these variables!
variable "nomad_version_server" {
description = "A list of Nomad versions to deploy to servers, to override nomad_version"
type = list(string)
default = []
}
variable "nomad_sha_server" {
description = "A list of Nomad SHAs to deploy to servers, to override nomad_sha"
type = list(string)
default = []
}
variable "nomad_local_binary_server" {
description = "A list of Nomad SHAs to deploy to servers, to override nomad_sha"
type = list(string)
default = []
}
variable "nomad_version_client_linux" {
description = "A list of Nomad versions to deploy to Linux clients, to override nomad_version"
type = list(string)
default = []
}
variable "nomad_sha_client_linux" {
description = "A list of Nomad SHAs to deploy to Linux clients, to override nomad_sha"
type = list(string)
default = []
}
variable "nomad_local_binary_client_linux" {
description = "A list of Nomad SHAs to deploy to Linux clients, to override nomad_sha"
type = list(string)
default = []
}
variable "nomad_version_client_windows" {
description = "A list of Nomad versions to deploy to Windows clients, to override nomad_version"
type = list(string)
default = []
}
variable "nomad_sha_client_windows" {
description = "A list of Nomad SHAs to deploy to Windows clients, to override nomad_sha"
type = list(string)
default = []
}
variable "nomad_local_binary_client_windows" {
description = "A list of Nomad SHAs to deploy to Windows clients, to override nomad_sha"
type = list(string)
default = []
}