← modules/envoy-gateway/kubernetes · Registry

modules/envoy-gateway/kubernetes 0.1.3

View module source code

Source: tfr.davidguerrero.fr/modules/envoy-gateway/kubernetes

module "envoy-gateway" {
  source  = "tfr.davidguerrero.fr/modules/envoy-gateway/kubernetes"
  version = "0.1.3"
}

Download: module.tar.gz


Requirements

Name Version
terraform >= 1.0
kubernetes >= 3

Providers

Name Version
kubernetes >= 3

Modules

No modules.

Resources

Name Type
kubernetes_manifest.backend_traffic_policy resource
kubernetes_manifest.client_traffic_policy resource
kubernetes_manifest.envoyproxy resource
kubernetes_manifest.gateway resource
kubernetes_manifest.gateway_class resource
kubernetes_manifest.health_check_route_filter resource
kubernetes_manifest.http_health_check resource
kubernetes_manifest.http_health_check_policy resource
kubernetes_manifest.http_route resource
kubernetes_manifest.http_to_https_redirect resource
kubernetes_manifest.secret_headers resource
kubernetes_namespace_v1.namespace resource

Inputs

Name Description Type Default Required
accept_x_forwarded_for Whether to accept the X-Forwarded-For header to determine source IP. bool false no
buffer_limit Client traffic policy buffer limit. string null no
cluster_issuer_name The cert-manager ClusterIssuer name to use for certificate generation. string "letsencrypt" no
clusterip_address Static IP address when using ClusterIP. string null no
controller_namespace The Envoy Gateway controller's namespace. string "envoy-gateway-system" no
create_namespace Whether to create the namespace. string false no
enable_http_healthcheck Whether to enable an healthcheck response on the HTTP port (used by Bunny.net DNS health checks). bool false no
external_traffic_policy External traffic policy when using LoadBalancer. string "Local" no
hostnames Gateway hostnames configuration. map(object({ allow_apex = optional(bool, true) allow_wildcard = optional(bool, false) })) {} no
http_port HTTP port. number 80 no
http_routes Map of name => HTTPRoute definition. map(object({ hostnames = list(string) rules = list(object({ matches = optional(list(object({ path = optional(object({ type = optional(string, "PathPrefix") value = optional(string, "/") })) })), [ { path = { type = "PathPrefix" value = "/" } }, ]) backendRefs = list(object({ name = string port = number namespace = optional(string) weight = optional(number, 1) })) timeouts = optional(object({ request = string })) filters = optional(list(object({ type = string requestHeaderModifier = optional(object({ add = optional(list(object({ name = string value = string })), []) set = optional(list(object({ name = string value = string })), []) remove = optional(list(string), []) })) responseHeaderModifier = optional(object({ add = optional(list(object({ name = string value = string })), []) set = optional(list(object({ name = string value = string })), []) remove = optional(list(string), []) })) requestRedirect = optional(object({ scheme = optional(string) hostname = optional(string) port = optional(number) statusCode = optional(number) path = optional(object({ type = optional(string) replaceFullPath = optional(string) })) })) urlRewrite = optional(object({ hostname = optional(string) path = optional(object({ type = string replaceFullPath = optional(string) replacePrefixMatch = optional(string) })) })) })), []) })) backend_traffic_policy = optional(object({ timeout = optional(object({ http = optional(object({ requestTimeout = optional(string) })) })) })) })) {} no
https_port HTTPS port. number 443 no
name The Envoy Gateway name. string n/a yes
namespace The Gateway's namespace. string "envoy-gateway-system" no
redirect_http_to_https Whether to redirect HTTP to HTTPS. bool false no
replicas Envoy proxy pods replicas. number 2 no
secret_headers Map of name => secret headers enforced to accept ingress traffic. map(object({ header = string values = list(string) })) {} no
service_type The Kubernetes Service type. string "LoadBalancer" no
use_daemonset Whether to deploy Envoy as DaemonSet instead of Deployment. bool false no
use_host_networking Whether to listen to the host network directly. bool false no
x_forwarded_for_trusted_hops Number of trusted hops for the X-Forwarded-For header. number 1 no

Outputs

Name Description
name The Envoy Gateway name.
namespace The Gateway's namespace.