e6a3f3affd
- Introduced custom HTML error pages for various HTTP status codes (400, 401, 403, 404, 408, 429, 500, 502, 503, 504) in the proxy module. - Created a .gitignore file to exclude non-HTML files in the error resources directory. - Updated Nginx configuration to serve custom error pages for upstream errors. - Added new Nginx configuration templates for handling HTTP and stream protocols. - Implemented Wireguard configuration templates and associated variables for secure connections. - Established Kubernetes resources for Stunnel and Wireguard, including deployment, service accounts, and config maps. - Defined variables for the Stunnel and Wireguard modules to facilitate configuration. - Created a new Wol Proxy module with Kubernetes resources for deployment and service management.
77 lines
2.3 KiB
Terraform
77 lines
2.3 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 = optional(list(string), [])
|
|
custom_ingress_annotations = optional(map(string), {})
|
|
annotations = optional(map(string), {})
|
|
upstream = optional(string, "")
|
|
resolver = optional(string, "")
|
|
default_headers = optional(map(string), {}),
|
|
http_port = optional(number, 80)
|
|
https_port = optional(number, 443)
|
|
tls = optional(bool, false)
|
|
ingress = optional(bool, true)
|
|
service_http_port = optional(number, 80)
|
|
service_https_port = optional(number, 443)
|
|
locations = optional(list(object({
|
|
path = string,
|
|
headers = optional(map(string), {}),
|
|
private = optional(bool, false),
|
|
upstream = optional(string, ""),
|
|
resolver = optional(string, "")
|
|
rewrite = optional(string, "")
|
|
})), [])
|
|
custom_snippet = optional(string, "")
|
|
config = optional(string, "")
|
|
}))
|
|
}
|
|
|
|
variable "auth_token" {
|
|
description = "The authentication token to use for the reverse proxy"
|
|
type = string
|
|
sensitive = true
|
|
default = ""
|
|
}
|
|
|
|
variable "streams" {
|
|
description = "A list of streams to be deployed"
|
|
type = map(object({
|
|
port = number
|
|
upstream = string
|
|
custom_snippet = optional(string, "")
|
|
resolver = optional(string, "")
|
|
upstream_port = optional(number, null)
|
|
protocol = optional(string, "TCP")
|
|
host_port = optional(number, null)
|
|
}))
|
|
default = {}
|
|
}
|