diff --git a/modules/backend/README.md b/modules/backend/README.md index bd6f5555..7fd910de 100644 --- a/modules/backend/README.md +++ b/modules/backend/README.md @@ -8,7 +8,7 @@ This module creates `google_compute_backend_service` resource and its dependenci |------|-------------|------|---------|:--------:| | affinity\_cookie\_ttl\_sec | Lifetime of cookies in seconds if session\_affinity is GENERATED\_COOKIE. | `number` | `null` | no | | backend\_bucket\_name | The name of GCS bucket which serves the traffic. | `string` | `""` | no | -| cdn\_policy | Cloud CDN configuration for this BackendService. |
object({
cache_mode = optional(string)
signed_url_cache_max_age_sec = optional(string)
default_ttl = optional(number)
max_ttl = optional(number)
client_ttl = optional(number)
negative_caching = optional(bool)
serve_while_stale = optional(number)
bypass_cache_on_request_headers = optional(list(string))
negative_caching_policy = optional(object({
code = optional(number)
ttl = optional(number)
}))
cache_key_policy = optional(object({
include_host = optional(bool)
include_protocol = optional(bool)
include_query_string = optional(bool)
query_string_blacklist = optional(list(string))
query_string_whitelist = optional(list(string))
include_http_headers = optional(list(string))
include_named_cookies = optional(list(string))
}))
})
| `{}` | no | +| cdn\_policy | Cloud CDN configuration for this BackendService. |
object({
cache_mode = optional(string)
signed_url_cache_max_age_sec = optional(string)
default_ttl = optional(number)
max_ttl = optional(number)
client_ttl = optional(number)
negative_caching = optional(bool)
serve_while_stale = optional(number)
bypass_cache_on_request_headers = optional(list(string))
negative_caching_policy = optional(object({
code = optional(number)
ttl = optional(number)
}))
cache_key_policy = optional(object({
include_host = optional(bool)
include_protocol = optional(bool)
include_query_string = optional(bool)
query_string_blacklist = optional(list(string))
query_string_whitelist = optional(list(string))
include_http_headers = optional(list(string))
include_named_cookies = optional(list(string))
}))
})
|
{
"cache_mode": "CACHE_ALL_STATIC",
"client_ttl": 3600,
"default_ttl": 3600,
"max_ttl": 86400,
"signed_url_cache_max_age_sec": 0
}
| no | | compression\_mode | Compress text responses using Brotli or gzip compression. | `string` | `"DISABLED"` | no | | connection\_draining\_timeout\_sec | Time for which instance will be drained (not accept new connections, but still work to finish started). | `number` | `null` | no | | custom\_request\_headers | Headers that the HTTP/S load balancer should add to proxied requests. | `list(string)` | `[]` | no | diff --git a/modules/backend/main.tf b/modules/backend/main.tf index ede11825..ebe6f035 100644 --- a/modules/backend/main.tf +++ b/modules/backend/main.tf @@ -15,7 +15,8 @@ */ locals { - is_backend_bucket = var.backend_bucket_name != null && var.backend_bucket_name != "" + is_backend_bucket = var.backend_bucket_name != null && var.backend_bucket_name != "" + serverless_neg_backends = local.is_backend_bucket ? [] : var.serverless_neg_backends } resource "google_compute_backend_service" "default" { @@ -161,7 +162,7 @@ resource "google_compute_backend_service" "default" { } resource "google_compute_region_network_endpoint_group" "serverless_negs" { - for_each = { for serverless_neg_backend in var.serverless_neg_backends : + for_each = { for serverless_neg_backend in local.serverless_neg_backends : "neg-${var.name}-${serverless_neg_backend.service_name}-${serverless_neg_backend.region}" => serverless_neg_backend } diff --git a/modules/backend/metadata.yaml b/modules/backend/metadata.yaml index 1bdd4c2b..bd890051 100644 --- a/modules/backend/metadata.yaml +++ b/modules/backend/metadata.yaml @@ -224,7 +224,12 @@ spec: include_named_cookies = optional(list(string)) })) }) - defaultValue: {} + defaultValue: + cache_mode: CACHE_ALL_STATIC + client_ttl: 3600 + default_ttl: 3600 + max_ttl: 86400 + signed_url_cache_max_age_sec: 0 - name: outlier_detection description: Settings controlling eviction of unhealthy hosts from the load balancing pool. varType: |- diff --git a/modules/backend/variables.tf b/modules/backend/variables.tf index 9c9c0b3c..0cca6482 100644 --- a/modules/backend/variables.tf +++ b/modules/backend/variables.tf @@ -188,7 +188,13 @@ variable "cdn_policy" { include_named_cookies = optional(list(string)) })) }) - default = {} + default = { + cache_mode = "CACHE_ALL_STATIC" + default_ttl = 3600 + client_ttl = 3600 + max_ttl = 86400 + signed_url_cache_max_age_sec = 0 + } } variable "outlier_detection" { diff --git a/modules/frontend/metadata.yaml b/modules/frontend/metadata.yaml index 8ad47ffb..9446c41a 100644 --- a/modules/frontend/metadata.yaml +++ b/modules/frontend/metadata.yaml @@ -116,7 +116,7 @@ spec: connections: - source: source: github.com/terraform-google-modules/terraform-google-lb-http//modules/backend - version: ^12.0 + version: ">= 12.0" spec: outputExpr: backend_service_info - name: url_map_resource_uri