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