From cd67187029b5b657efce2e6d836446adfe436354 Mon Sep 17 00:00:00 2001 From: Haitao Pan Date: Fri, 26 Jun 2026 17:50:04 +0800 Subject: [PATCH] fix(terraform): require tf state region for backend rendering --- .../vultr-vps/scripts/render_backend_tf.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/terraform-hcl-standard/vultr-vps/scripts/render_backend_tf.py b/terraform-hcl-standard/vultr-vps/scripts/render_backend_tf.py index c7e91230..f3b14321 100755 --- a/terraform-hcl-standard/vultr-vps/scripts/render_backend_tf.py +++ b/terraform-hcl-standard/vultr-vps/scripts/render_backend_tf.py @@ -3,7 +3,7 @@ 渲染 Terraform S3 backend 配置文件(backend.tf)。 用法: - TF_STATE_ENDPOINT=https://... python3 render_backend_tf.py [output_path] + TF_STATE_ENDPOINT=https://... TF_STATE_REGION=us-east-1 python3 render_backend_tf.py [output_path] 默认输出到当前目录的 backend.tf(在 terraform working-directory 里执行)。 """ @@ -15,18 +15,24 @@ if not endpoint: print("ERROR: TF_STATE_ENDPOINT is not set", file=sys.stderr) sys.exit(1) +region = os.environ.get("TF_STATE_REGION", "") +if not region: + print("ERROR: TF_STATE_REGION is not set", file=sys.stderr) + sys.exit(1) + output = sys.argv[1] if len(sys.argv) > 1 else "backend.tf" content = f"""\ terraform {{ backend "s3" {{ endpoints = {{ s3 = "{endpoint}" }} + region = "{region}" skip_credentials_validation = true skip_region_validation = true skip_requesting_account_id = true skip_metadata_api_check = true skip_s3_checksum = true - use_path_style = true + force_path_style = true }} }} """ @@ -36,3 +42,4 @@ with open(output, "w") as f: print(f"backend.tf written to {output}") print(f" endpoint = {endpoint[:40]}...") +print(f" region = {region}")