46 lines
1.2 KiB
Terraform
46 lines
1.2 KiB
Terraform
|
|
variable "tag" {
|
||
|
|
description = "The version of the nginx server to install"
|
||
|
|
type = string
|
||
|
|
default = "stable-alpine"
|
||
|
|
}
|
||
|
|
|
||
|
|
variable "wireguard_config" {
|
||
|
|
description = "The Wireguard configuration file"
|
||
|
|
type = object({
|
||
|
|
private_key = string
|
||
|
|
public_key = string
|
||
|
|
pre_shared_key = string
|
||
|
|
endpoint = string
|
||
|
|
endpoint_port = number
|
||
|
|
address = string
|
||
|
|
dns = string
|
||
|
|
allowed_ips = list(string)
|
||
|
|
})
|
||
|
|
default = null
|
||
|
|
sensitive = true
|
||
|
|
}
|
||
|
|
|
||
|
|
variable "issuer_name" {
|
||
|
|
description = "The name of the issuer to use for TLS certificates, internal certificates"
|
||
|
|
type = string
|
||
|
|
default = "internal-ca"
|
||
|
|
}
|
||
|
|
|
||
|
|
variable "services" {
|
||
|
|
description = "A list of services to be deployed"
|
||
|
|
type = map(object({
|
||
|
|
fqdn = list(string)
|
||
|
|
upstream = string
|
||
|
|
default_headers = optional(map(string), {}),
|
||
|
|
http_port = optional(number, 80)
|
||
|
|
https_port = optional(number, 443)
|
||
|
|
tls = optional(bool, false)
|
||
|
|
locations = optional(list(object({
|
||
|
|
path = string,
|
||
|
|
headers = optional(map(string), {}),
|
||
|
|
})), [])
|
||
|
|
custom_snippet = optional(string, "")
|
||
|
|
config = optional(string, "")
|
||
|
|
}))
|
||
|
|
}
|