From 9f7b1b98dd521f2e6d490a6153991f9ea6b534c5 Mon Sep 17 00:00:00 2001 From: panxiao81 Date: Thu, 1 Oct 2026 17:12:49 +0000 Subject: [PATCH] =?UTF-8?q?Ayatori=20=E5=AE=B9=E5=99=A8=E9=95=9C=E5=83=8F?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E8=B7=9F=E9=9A=8F=2024.04=20cloud=20?= =?UTF-8?q?=E6=9C=80=E6=96=B0=E6=9E=84=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 固定指纹会随上游下架而无法重建(2026-10-01 已发生),同一发行版的构建之间 只差安全更新,固定它没有收益。镜像只在创建时使用,ignore_changes 避免改写 别名时触发重建现有实例。 Co-Authored-By: Claude Opus 5.5 --- infrastructure/incus/README.md | 7 +++---- infrastructure/incus/terraform/main.tf | 8 ++++---- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/infrastructure/incus/README.md b/infrastructure/incus/README.md index 6847015..678dd52 100644 --- a/infrastructure/incus/README.md +++ b/infrastructure/incus/README.md @@ -130,10 +130,9 @@ terraform -chdir=infrastructure/incus/terraform output containers terraform -chdir=infrastructure/incus/terraform plan -detailed-exitcode ``` -provider 固定 1.2.0 并保留 lockfile,镜像固定 Ubuntu 24.04 cloud 构建指纹。 -上游滚动镜像不保证永久保存:该指纹在 2026-10-01 已从 `images:` 下架,现从 `local:` -缓存创建;缓存闲置超过 `images.remote_cache_expiry`(默认 10 天)会被自动删除,重建前需确认 -本机缓存或归档可用,否则须改用新指纹。 +provider 固定 1.2.0 并保留 lockfile。镜像跟随 `images:ubuntu/24.04/cloud` 最新构建, +只在创建时使用(`ignore_changes`);不固定指纹,因为上游会下架旧构建,2026-10-01 +重建时固定指纹已无法获取。 cloud-init 用户设置主要在首次启动执行,修改声明不能替代后续用户/密钥轮换流程。 当前 state 位于 `terraform/terraform.tfstate`(Git 忽略),是本地 backend; diff --git a/infrastructure/incus/terraform/main.tf b/infrastructure/incus/terraform/main.tf index 27862db..9981bf9 100644 --- a/infrastructure/incus/terraform/main.tf +++ b/infrastructure/incus/terraform/main.tf @@ -48,10 +48,8 @@ resource "incus_instance" "ayatori" { for_each = toset(["dev", "prod"]) name = "ayatori-${each.key}" description = "Ayatori ${each.key} 基础容器;应用由独立部署流程管理" - # Ubuntu 24.04 cloud amd64,20260924_07:42;固定指纹避免重建时静默更换镜像。 - # 上游 images: 已不再提供该构建(2026-10-01 重建时 "image couldn't be found"),只能取本机缓存; - # ⚠ 缓存镜像闲置超过 images.remote_cache_expiry(默认 10 天)会被 Incus 自动删除。 - image = "local:b39d3d56c30738ad74c507066cc5d410e1c0f1647bdcdff398be1ee51d63862a" + # 跟随 24.04 cloud 最新构建:同一发行版的构建只差安全更新,固定指纹会随上游下架而无法重建。 + image = "images:ubuntu/24.04/cloud" type = "container" profiles = [] running = true @@ -114,6 +112,8 @@ resource "incus_instance" "ayatori" { nic = "eth0" } lifecycle { + # 镜像只在创建时使用;provider 按字符串比较,改写它不应触发重建现有实例。 + ignore_changes = [image] prevent_destroy = true } }